New approach to extracting publication data and filtering/searching it #17

Merged
jsheunis merged 1 commit from pubs into main 2026-04-13 08:55:14 +00:00
Member

This commit introduces the process for individual publication term page generation, which includes a new jinja template and workflow. Since publications is a taxonomy, the workflow renders the term page at content/publications/<pub-pid>/_index.md. For the same reason, the (more) correct html template to use would be publications/taxonomy.html instead of publications/list.html (which is actually the fallback), hence the replacement.

Since, individual publication metadata are included in each individual term page front matter, the taxonomy page has been updated to grab that metadata instead of reading the json object from data/publications.json. This also allows the associated workflow to be dropped.

A new publication-item partial is introduced to allow better control over the rendering of individual items in the publication list on the taxonomy page. This intentionally shifts the rendering that was previously done in JS code to Hugo templating. Because hugo only runs the rendering on app build, the searching/filtering approach had to be changed so that all publications are rendered by default and required items are hidden depending on the filtering options selected or search terms entered. This is done in updated JS code, by assigning display: none when applicable. Other JS additions include:

  • adding a count of filtered items
  • a new 'Clear all' button for clearing filters
  • allowing Topic pills to be clicked in order to add filter options

TODO: customize the publications term page template for improved individual publication display.

This commit introduces the process for individual publication term page generation, which includes a new jinja template and workflow. Since `publications` is a taxonomy, the workflow renders the term page at `content/publications/<pub-pid>/_index.md`. For the same reason, the (more) correct html template to use would be `publications/taxonomy.html` instead of `publications/list.html` (which is actually the fallback), hence the replacement. Since, individual publication metadata are included in each individual term page front matter, the taxonomy page has been updated to grab that metadata instead of reading the json object from `data/publications.json`. This also allows the associated workflow to be dropped. A new `publication-item` partial is introduced to allow better control over the rendering of individual items in the publication list on the taxonomy page. This intentionally shifts the rendering that was previously done in JS code to Hugo templating. Because hugo only runs the rendering on app build, the searching/filtering approach had to be changed so that all publications are rendered by default and required items are hidden depending on the filtering options selected or search terms entered. This is done in updated JS code, by assigning `display: none` when applicable. Other JS additions include: - adding a count of filtered items - a new 'Clear all' button for clearing filters - allowing Topic pills to be clicked in order to add filter options TODO: customize the publications term page template for improved individual publication display.
New approach to extracting publication data and filtering/searching it
Some checks failed
Deploy on webserver / Build site and deploy on success (push) Failing after 1s
066c879dfe
This commit introduces the process for individual publication term page
generation, which includes a new jinja template and workflow. Since
'publications' is a taxonomy, the workflow renders the term page at
'content/publications/pub-pid/_index.md'. For the same reason, the
(more) correct html template to use would be 'publications/taxonomy.html'
instead of 'publications/list.html' (which is actually the fallback),
hence the replacement.

Since, individual publication metadata are included in each individual
term page front matter, the taxonomy page has been updated to grab that
metadata instead of reading the json object from 'data/publications.json'.
This also allows the associated workflow to be dropped.

A new 'publication-item' partial is introduced to allow better control
over the rendering of individual items in the publication list on the
taxonomy page. This intentionally shifts the rendering that was previously
done in JS code to Hugo templating. Because hugo only runs the rendering
on app build, the searching/filtering approach had to be changed so that
all publications are rendered by default and required items are hidden
depending on the filtering options selected or search terms entered.
This is done in updated JS code, by assigning 'display: none' when
applicable. Other JS additions include:
- adding a count of filtered items
- a new 'Clear all' button for clearing filters
- allowing Topic pills to be clicked in order to add filter options

TODO: customize the publications term page template for improved individual
publication display.
Author
Member

Demo:

Demo: <video src="/attachments/8077fd98-3114-4d5f-b030-829d66ff3c9b" title="publicationsnew" controls></video>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
www/www-from-model!17
No description provided.