ui: Software-Rubrik als kuratierte Landing (Werkzeuge vs. Texte)
/library/software trennt jetzt 'Werkzeuge' (Beiträge mit externem Link wie DOSSIER/RAPPORT, als Karten mit ↗ und Farbakzent) von 'Texte & Anleitungen' (chronologisch). Andere Rubriken bleiben unverändert. dist/ ignoriert. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -11,6 +11,8 @@ hugo_stats.json
|
||||
|
||||
# Node (CMS)
|
||||
node_modules/
|
||||
# Admin-SPA Build-Output (wird im Container gebaut)
|
||||
cms/admin/dist/
|
||||
|
||||
# Editors
|
||||
.vscode/
|
||||
|
||||
@@ -751,6 +751,20 @@ a.byline-author:hover, a.journal-author:hover { color: var(--accent); }
|
||||
.wiki-foot a { color: var(--color-text-muted); text-decoration: none; }
|
||||
.wiki-foot a:hover { color: var(--accent); }
|
||||
|
||||
/* ── Software-Landing: Werkzeuge getrennt von Texten ── */
|
||||
.software-h { font-family: var(--font-family-serif); margin: var(--spacing-md) 0 var(--spacing-sm); }
|
||||
.software-tools { margin-bottom: var(--spacing-lg); }
|
||||
.tool-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 0.8em; }
|
||||
.tool-item { display: flex; align-items: flex-start; gap: 0.5em; background: var(--color-bg-secondary);
|
||||
border: 1px solid var(--color-border); border-left: 4px solid var(--section-color, var(--accent)); border-radius: 12px; padding: 0.9em 1em; }
|
||||
.tool-item:hover { border-color: var(--section-color, var(--accent)); }
|
||||
.tool-main { flex: 1; text-decoration: none; color: inherit; display: flex; flex-direction: column; gap: 0.2em; min-width: 0; }
|
||||
.tool-name { font-family: var(--font-family-serif); font-weight: 600; font-size: 1.05rem; }
|
||||
.tool-item:hover .tool-name { color: var(--accent); }
|
||||
.tool-sum { font-size: var(--font-size-small); }
|
||||
.tool-ext { flex: none; color: var(--color-text-muted); text-decoration: none; font-size: 1.15em; line-height: 1; }
|
||||
.tool-ext:hover { color: var(--accent); }
|
||||
|
||||
/* ------------------------------------------------------------------------
|
||||
Journal entries — three Republik-style layouts (set in front matter
|
||||
via `layout: image|icon|text`). Every entry is a full-bleed coloured
|
||||
|
||||
@@ -36,6 +36,53 @@
|
||||
</article>
|
||||
{{ end }}
|
||||
</section>
|
||||
{{ else if eq .Path "/library/software" }}
|
||||
{{/* Software: kuratierte Landing — Werkzeuge (mit externem Link) getrennt
|
||||
von Texten & Anleitungen. */}}
|
||||
<header class="section-header" data-section="software">
|
||||
<p class="section-rubric">Library</p>
|
||||
<h1 class="section-title">{{ .Title }}</h1>
|
||||
{{ with .Params.description }}<p class="section-description">{{ . }}</p>{{ end }}
|
||||
</header>
|
||||
|
||||
{{ $tools := where .RegularPages "Params.external" "!=" nil }}
|
||||
{{ $texts := where .RegularPages "Params.external" nil }}
|
||||
|
||||
{{ with $tools }}
|
||||
<section class="software-tools">
|
||||
<h2 class="software-h">Werkzeuge</h2>
|
||||
<ul class="tool-list">
|
||||
{{ range .ByWeight }}
|
||||
<li class="tool-item"{{ with .Params.color }} data-color="{{ . }}"{{ end }}>
|
||||
<a class="tool-main" href="{{ .RelPermalink }}">
|
||||
<span class="tool-name">{{ .LinkTitle }}</span>
|
||||
{{ with .Params.summary }}<span class="tool-sum text-muted">{{ . }}</span>{{ end }}
|
||||
</a>
|
||||
{{ with .Params.external }}<a class="tool-ext" href="{{ . }}" rel="noopener" aria-label="extern öffnen">↗</a>{{ end }}
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</section>
|
||||
{{ end }}
|
||||
|
||||
<section class="software-texts">
|
||||
<h2 class="software-h">Texte & Anleitungen</h2>
|
||||
<div class="time-list" data-section="software">
|
||||
<ul>
|
||||
{{ range $texts.ByDate.Reverse }}
|
||||
<li class="list-item">
|
||||
<div class="list-title-row">
|
||||
<div class="list-title">
|
||||
<a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a>
|
||||
{{ with .Params.summary }}<div class="list-summary text-muted">{{ . }}</div>{{ end }}
|
||||
</div>
|
||||
<div class="list-meta">{{ partial "date.html" .Date }}</div>
|
||||
</div>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
{{ else }}
|
||||
{{/* Library subsection: chronologisch */}}
|
||||
{{ $section := path.Base .RelPermalink }}
|
||||
|
||||
Reference in New Issue
Block a user