www-from-model/layouts/publications/list.html
Stephan Heunis f6b8e6d434 html template, code, and styling to render a custom publications page
The markdown _index.md page is empty except for the title. Since publications is now included
as a taxonomy, the publications page will render the standard list of items on taxonomy list
pages. But since the new layout is included, that template will be rendered for the publicationbs
page. This template calls the additional publications.js script and custom css. The script reads
the publications.json data and builds filtering options from the data, and UX then allows filtering
publications based on these filter options. New options can be configured in the script.

TODO: improved styling of all aspects; mobile rendering of filter panel; linkage to internal and
external pids.
2026-03-30 15:38:25 +02:00

41 lines
No EOL
1.4 KiB
HTML

{{ define "main" }}
<header>
{{ if .Params.showBreadcrumbs | default (.Site.Params.list.showBreadcrumbs | default false) }}
{{ partial "breadcrumbs.html" . }}
{{ end }}
<h1 class="mt-0 text-4xl font-extrabold text-neutral-900 dark:text-neutral">{{ .Title }}</h1>
</header>
<article class="prose max-w-full dark:prose-invert">
<div class="pub-layout">
<!-- Sidebar -->
<aside class="filters-panel">
<div class="filter-block">
<strong>Kind</strong>
<div id="filter-kind" class="filter-group"></div>
</div>
<div class="filter-block">
<strong>Topic</strong>
<div id="filter-topic" class="filter-group"></div>
</div>
<div class="filter-block">
<strong>Year</strong>
<div id="filter-year" class="filter-group"></div>
</div>
</aside>
<!-- Main rendered content -->
<div class="results-panel">
<input type="text" id="search" placeholder="Search publications..." class="search-bar" />
<div id="results"></div>
</div>
</div>
<!-- Data -->
<script id="pub-data" type="application/json">
{{ site.Data.publications }}
</script>
<!-- JS + CSS -->
<script src="/publications.js"></script>
<link rel="stylesheet" href="/publications.css">
</article>
{{ end }}