Files
kgva/layouts/portfolio/list.html
T
kgva CMS 6b59b58082 feat: category tags (design/film/photo/text) on the portfolio index
new categories taxonomy, multi-value per project. shown inline in each ls row as [tag] after the slug, muted like the other row metadata and inverting with it on hover/select. reuses the existing shared taxonomy template, so /categories/ and /categories/<tag>/ come for free as browsable archives in the same shell style already used for schools/degrees/semesters.\n\nassigned by medium: design for anything with plans/models, film for the two video projects, photo for the trieste study trip, text alongside design for translation (collage + accompanying theoretical text).
2026-08-14 23:50:54 +00:00

32 lines
1.4 KiB
HTML

{{ define "bodyclass" }}page-portfolio{{ end }}
{{ define "main" }}
{{ $sorted := sort .Pages "Date" "desc" }}
{{ $first := index $sorted 0 }}
{{ $hasText := ne (.RawContent | strings.TrimSpace) "" }}
<div class="proj-layout">
<div class="tui filebrowser">
<p class="tui__cmd"><span class="tui__sym">$</span> ls</p>
<p class="tui__cmd tui__total">total {{ len $sorted }}</p>
<ul class="tui__ls">
<li><a href="{{ "/" | relLangURL }}" data-name="..">
<span class="tui__perm">drwxr-xr-x</span><span class="tui__date"></span><span class="tui__name">..</span>
</a></li>
{{ range $i, $p := $sorted }}
<li><a href="{{ $p.RelPermalink }}"
data-img="{{ with $p.Params.thumbnail }}{{ . | relURL }}{{ end }}"
data-name="{{ $p.Slug }}"
{{ if eq $i 0 }}class="is-selected"{{ end }}>
<span class="tui__perm">drwxr-xr-x</span><span class="tui__date">{{ $p.Date.Format "2006" }}</span><span class="tui__name">{{ $p.Slug }}/{{ with $p.Params.categories }} <span class="tui__tags">{{ range . }}[{{ . }}]{{ end }}</span>{{ end }}</span>
</a></li>
{{ end }}
</ul>
<figure class="tui__preview">
<img src="{{ $first.Params.thumbnail | relURL }}" alt="{{ $first.Slug }}">
<figcaption class="tui__status">{{ $first.Slug }}/&nbsp;&nbsp;{{ $first.Date.Format "2006" }}</figcaption>
</figure>
</div>
{{ if $hasText }}<aside class="proj-info">{{ .Content }}</aside>{{ end }}
</div>
{{ end }}