Template:UI/publications library/entry

From Miniscope
Jump to: navigation, search

Row partial for Template:UI/publications_library. Called by the library's format=filtered ask in positional mode — args come in the order printouts are declared on the #ask call (SRF's filtered list view doesn't shuffle filtered columns to the front).

Positional args:

  • {{{1}}} — page name (from mainlabel=page)
  • {{{2}}} — Has title
  • {{{3}}} — Has publication year (raw, no locale comma)
  • {{{4}}} — Has publication type
  • {{{5}}} — Has paper type
  • {{{6}}} — Has journal
  • {{{7}}} — Has volume
  • {{{8}}} — Has issue
  • {{{9}}} — Has pages
  • {{{10}}} — Has DOI
  • {{{11}}} — Has keyword (sidebar-facet only; not rendered)
  • {{{12}}} — Has project (sidebar-facet only; not rendered)

Args 11 and 12 are passed by the parent #ask so that Keyword and Project surface as facets in the SRF filter sidebar, but the row template currently ignores them — keywords and projects show up only via the sidebar, not as per-entry chips. If you want them rendered per row, add a .publications-library-entry-tags block here and a matching style; the data is already on hand.

Renders a compact card with the title (linked), byline (via the Publication/byline subtemplate), citation line, and a paper-type chip. Reuses Template:Category/Publication/byline so a paper's author list is identical between its own page and any feed listing.

Why positional, not named

SRF's filtered list view, with list view named args=yes, prefixes param names with a literal ? — the partial ends up needing to read etc., which is ugly and fragile if SRF ever changes that convention. Dropping list view named args=yes on the #ask side makes args positional 1..N, in the order printouts are declared. See the library template's noinclude for the full reasoning.