Look: Terminal theme (panr/hugo-theme-terminal v4.2.6), adapted to the museum

Theme vendored unmodified in themes/terminal; base, head, header, footer and post templates
rewritten in its markup; museum components restyled in assets/css/museum.css. Embedded forum
threads follow the same colours.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YDRjtmAiNpo5mK5N3d7QwZ
This commit is contained in:
2026-10-13 19:03:12 +02:00
co-authored by Claude Opus 5.5
parent b1301dcafb
commit 7d3b1bec89
62 changed files with 2631 additions and 243 deletions
+21
View File
@@ -0,0 +1,21 @@
<footer class="footer">
<div class="footer__inner">
<div class="copyright copyright--user">
{{ with .Params.source }}
<p>Recovered from the <a href="{{ .url }}"{{ partial "ext.html" .url }}>Wayback Machine capture of {{ .date }}</a>.</p>
{{ end }}
<p>Content © its original authors at Old-Computers.com. Rebuilt from the Internet Archive</p>
<p><a href="{{ site.Home.RelPermalink }}members/">Members</a> ::
<a href="{{ site.Home.RelPermalink }}about/">About</a> ::
<a href="{{ site.Home.RelPermalink }}donate/">Donate!</a> ::
<a href="{{ site.Home.RelPermalink }}faq/">FAQ</a>
</p>
<p>Theme adapted from <a href="https://github.com/panr/hugo-theme-terminal"{{ partial "ext.html" "https://github.com/panr/hugo-theme-terminal" }}>Terminal</a> by panr</p>
</div>
</div>
</footer>
{{ $menu := resources.Get "js/menu.js" | js.Build }}
{{ $code := resources.Get "js/code.js" | js.Build }}
{{ with slice $menu $code | resources.Concat "js/bundle.js" | minify | fingerprint }}
<script src="{{ .RelPermalink }}"></script>
{{ end }}
+16
View File
@@ -0,0 +1,16 @@
{{/* replaces the theme's head: one stylesheet (theme files in order, then ours), relative addresses only */}}
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="{{ with .Params.description }}{{ . }}{{ else }}{{ site.Params.description }}{{ end }}">
{{ $css := slice }}
{{ range slice "fonts" "main" "buttons" "header" "menu" "footer" "post" "pagination" "terms" "code" "syntax" "terminal" "museum" }}
{{ $css = $css | append (resources.Get (printf "css/%s.css" .)) }}
{{ end }}
{{ with $css | resources.Concat "css/site.css" | minify | fingerprint }}
<link rel="stylesheet" href="{{ .RelPermalink }}">
{{ end }}
<link rel="icon" href="{{ "favicon.png" | relURL }}">
<link rel="apple-touch-icon" href="{{ "apple-touch-icon.png" | relURL }}">
{{ with resources.Get "js/sortTables.js" | minify | fingerprint }}
<script src="{{ .RelPermalink }}" defer></script>
{{ end }}
+33
View File
@@ -0,0 +1,33 @@
{{/* the theme's header, with the active section, the forum link and the search box */}}
{{ $current := . }}
<header class="header">
<div class="header__inner">
<div class="header__logo">
<a href="{{ site.Home.RelPermalink }}"><div class="logo">old-computers.com</div></a>
</div>
<ul class="menu menu--mobile">
<li class="menu__trigger">Menu&nbsp;▾</li>
<li>
<ul class="menu__dropdown">
{{ range site.Menus.main }}<li><a href="{{ .URL }}">{{ .Name }}</a></li>{{ end }}
{{ with site.Params.forum.url }}<li><a href="{{ . }}">Forum</a></li>{{ end }}
<li><a href="{{ "search/" | relURL }}">Search</a></li>
</ul>
</li>
</ul>
</div>
<nav class="navigation-menu">
<ul class="navigation-menu__inner menu--desktop">
{{ range site.Menus.main }}
<li><a href="{{ .URL }}"{{ if or ($current.IsMenuCurrent .Menu .) ($current.HasMenuCurrent .Menu .) (eq $current.Section .Page.Section) }} class="active" aria-current="true"{{ end }}>{{ .Name }}</a></li>
{{ end }}
{{ with site.Params.forum.url }}<li><a href="{{ . }}">Forum</a></li>{{ end }}
<li class="spacer"></li>
<li>
<form class="search" role="search" action="{{ "search/" | relURL }}" method="get">
<input type="search" name="q" placeholder="search…" aria-label="Search the site">
</form>
</li>
</ul>
</nav>
</header>
+1 -1
View File
@@ -7,7 +7,7 @@
{{ with $m.GetTerms "categories" }}{{ range first 1 . }} › <a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a>{{ end }}{{ end }}
{{ with $m.Params.company }}{{ with site.GetPage . }} › <a href="{{ .RelPermalink }}">{{ .Title }}</a>{{ end }}{{ end }}
</p>
<h1>{{ with $m.Params.logo }}<img class="logo" src="{{ . }}" alt="">{{ end }}{{ $m.Title }}</h1>
<h1>{{ with $m.Params.logo }}<img class="maker-logo" src="{{ . }}" alt="">{{ end }}{{ $m.Title }}</h1>
<nav class="tabs" data-pagefind-ignore>
<a href="{{ $m.RelPermalink }}"{{ if not $.tab }} class="active"{{ end }}>System info</a>
{{ range $m.Params.tabs }}
+11 -9
View File
@@ -1,12 +1,14 @@
{{/* page links for a paginator; nothing when there is a single page */}}
{{/* page links for a paginator, in the theme's markup; nothing when there is a single page */}}
{{ if gt .TotalPages 1 }}
<nav class="pager" aria-label="Pages" data-pagefind-ignore>
{{ if .HasPrev }}<a href="{{ .Prev.URL }}" rel="prev">← Newer</a>{{ end }}
{{ $current := .PageNumber }}
{{ range .Pagers }}
{{ if eq .PageNumber $current }}<span class="current" aria-current="page">{{ .PageNumber }}</span>
{{ else }}<a href="{{ .URL }}">{{ .PageNumber }}</a>{{ end }}
{{ end }}
{{ if .HasNext }}<a href="{{ .Next.URL }}" rel="next">Older →</a>{{ end }}
<nav class="pagination" aria-label="Pages" data-pagefind-ignore>
<div class="pagination__buttons">
{{ if .HasPrev }}<a href="{{ .Prev.URL }}" rel="prev" class="button inline prev">&lt; [<span class="button__text">Newer posts</span>]</a>{{ end }}
{{ $current := .PageNumber }}
{{ range .Pagers }}
{{ if eq .PageNumber $current }}<span class="current" aria-current="page">[{{ .PageNumber }}]</span>
{{ else }}<a class="button inline" href="{{ .URL }}">{{ .PageNumber }}</a>{{ end }}
{{ end }}
{{ if .HasNext }}<a href="{{ .Next.URL }}" rel="next" class="button inline next">[<span class="button__text">Older posts</span>] &gt;</a>{{ end }}
</div>
</nav>
{{ end }}
+11 -9
View File
@@ -1,11 +1,13 @@
<article class="post-summary">
{{ with partial "banner.html" (dict "page" . "width" 640) }}
<a class="post-image" href="{{ $.RelPermalink }}"><img src="{{ . }}" alt="" loading="lazy"></a>
{{ end }}
<div>
<h3><a href="{{ .RelPermalink }}">{{ .Title }}</a></h3>
<p class="meta">{{ if not .Date.IsZero }}<time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Format "2 January 2006" }}</time>{{ end }}{{ with .GetTerms "author" }}{{ if not $.Date.IsZero }} · {{ end }}{{ partial "terms.html" (dict "page" $ "taxonomy" "author") }}{{ end }}</p>
<div class="summary">{{ .Summary }}</div>
{{ if .Truncated }}<p><a href="{{ .RelPermalink }}">Read more →</a></p>{{ end }}
{{/* a post in a list, in the theme's markup */}}
<article class="post on-list">
<h2 class="post-title"><a href="{{ .RelPermalink }}">{{ .Title }}</a></h2>
<div class="post-meta">
{{- if not .Date.IsZero }}<time class="post-date" datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Format "2006-01-02" }}</time>{{ end -}}
{{- with .GetTerms "author" }}<span class="post-author">{{ partial "terms.html" (dict "page" $ "taxonomy" "author") }}</span>{{ end -}}
</div>
{{ with partial "banner.html" (dict "page" . "width" 1000) }}
<a class="post-image" href="{{ $.RelPermalink }}"><img class="post-cover" src="{{ . }}" alt="" loading="lazy"></a>
{{ end }}
<div class="post-content">{{ .Summary }}</div>
{{ if .Truncated }}<div><a class="read-more button inline" href="{{ .RelPermalink }}">[Read more]</a></div>{{ end }}
</article>