From 31c3163716f029af822f6f17f8a114c5eacaee0a Mon Sep 17 00:00:00 2001 From: lourenco <> Date: Sat, 13 Sep 2025 17:27:37 +0200 Subject: [PATCH] added overrides to the theme --- assets/css/main.css | 585 +++++++++++++++++++++++++++++++++ layouts/_default/single.html | 36 ++ layouts/_partials/head/js.html | 16 + layouts/index.html | 24 ++ layouts/partials/header.html | 24 ++ static/favicon.ico | Bin 0 -> 21556 bytes 6 files changed, 685 insertions(+) create mode 100644 assets/css/main.css create mode 100644 layouts/_default/single.html create mode 100644 layouts/_partials/head/js.html create mode 100644 layouts/index.html create mode 100644 layouts/partials/header.html create mode 100644 static/favicon.ico diff --git a/assets/css/main.css b/assets/css/main.css new file mode 100644 index 0000000..fdbfd9c --- /dev/null +++ b/assets/css/main.css @@ -0,0 +1,585 @@ +:root { + /* Typography */ + --spacing-base: 1.5em; + --font-family-mono: monospace; + --font-size-base: 1.125em; + --font-size-small: 1em; + --font-size-code: 1.0625em; + + /* Spacing */ + --spacing-xs: calc(var(--spacing-base) * 0.25); + --spacing-sm: calc(var(--spacing-base) * 0.5); + --spacing-md: var(--spacing-base); + --spacing-lg: calc(var(--spacing-base) * 2); + + /* Colors - Light Theme */ + --color-bg-primary: hsl(0, 0%, 99%); + --color-bg-secondary: hsl(0, 0%, 97.3%); + --color-border: hsl(0, 0%, 93%); + --color-text-primary: hsl(0, 0%, 9%); + --color-text-muted: hsl(0, 0%, 43.5%); + --color-text-code: hsl(0, 0%, 20%); + --color-selection-bg: hsl(0, 0%, 85.8%); + + /* Layout */ + --container-width: 80ch; + --pre-border-radius: 0.75rem; + --inline-border-radius: 0.375rem; + --gap-base: 1em; + --gap-small: 0.5em; + + /* Breakpoints */ + --breakpoint-mobile: 600px; +} + +/* Dark Theme */ +@media (prefers-color-scheme: dark) { + :root { + /* Colors - Dark Theme */ + --color-bg-primary: hsl(0, 0%, 8%); + --color-bg-secondary: hsl(0, 0%, 12%); + --color-border: hsl(0, 0%, 20%); + --color-text-primary: hsl(0, 0%, 92%); + --color-text-muted: hsl(0, 0%, 65%); + --color-text-code: hsl(0, 0%, 85%); + --color-selection-bg: hsl(0, 0%, 25%); + } + + /* Dark theme specific adjustments */ + pre { + background: hsl(0, 0%, 15%); + } + + body { + color: var(--color-text-primary); + } + + a { + color: var(--color-text-primary); + } + + h1, h2, h3, h4, h5 { + color: var(--color-text-primary); + } + + .path-nav li.current a { + color: var(--color-text-primary); + } + + .path-nav li { + color: var(--color-text-muted); + } + + .back-link:hover { + color: var(--color-text-primary); + } +} + +/* Common component styles */ +.no-scrollbar { + scrollbar-width: none; /* Firefox */ + -ms-overflow-style: none; /* IE and Edge */ +} + +.no-scrollbar::-webkit-scrollbar { + display: none; /* Chrome, Safari, Opera */ +} + +.list-unstyled { + list-style: none; + margin-left: 0; +} + +.text-muted { + color: var(--color-text-muted); +} + +.no-underline { + text-decoration: none; + border-bottom: none; +} + +::selection { + background: var(--color-selection-bg); + color: var(--color-text-primary); +} + +* { + margin: 0; + padding: 0; + font: inherit; + color: inherit; + box-sizing: border-box; +} + +ul { + list-style-type: disc; + margin-left: 1.5rem; +} + +ol { + list-style-type: decimal; + margin-left: 1.5rem; +} + +html { + margin: 0 0 0 calc(100vw - 100%); + -webkit-text-size-adjust: 100%; + height: 100%; +} + +body { + font: var(--font-size-base) / var(--spacing-base) var(--font-family-mono); + background: var(--color-bg-primary); + min-height: 100%; + display: grid; + grid-template-rows: auto 1fr auto; + grid-template-columns: minmax(auto, var(--container-width)); + justify-content: center; + padding: var(--spacing-lg); + gap: var(--spacing-lg); + text-align: justify; +} + +a { + display: inline-block; + margin-left: -0.16666em; + text-decoration: none; + border-bottom: 1px dotted; +} + +a:hover { + border-bottom: 1px solid; +} + +p, +pre { + margin: var(--spacing-base) 0; +} + +h1, +h2, +h3, +h4, +h5 { + margin: var(--spacing-base) 0; + font-weight: bold; +} + +h2 { + counter-increment: h2; + counter-reset: h3; +} + +h3 { + counter-increment: h3; + counter-reset: h4; +} + +h4 { + counter-increment: h4; + counter-reset: h5; +} + +h5 { + counter-increment: h5; +} + +/* nested counters */ +h2::before { + content: counter(h2) ". "; +} + +h3::before { + content: counter(h2) "." counter(h3) ". "; +} + +h4::before { + content: counter(h2) "." counter(h3) "." counter(h4) ". "; +} + +h5::before { + content: counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) ". "; +} + +time { + color: var(--color-text-muted); +} + +footer { + padding: calc(var(--spacing-base) * 2) 0; + text-align: center; +} +footer p { + margin-bottom: 0; +} + +pre { + /* background: var(--color-bg-secondary); */ + border: 1px solid var(--color-border); + padding: var(--spacing-sm) var(--spacing-md); + border-radius: var(--pre-border-radius); + white-space: pre-wrap; + word-wrap: break-word; + font-family: var(--font-family-mono); + font-size: var(--font-size-code); + line-height: 1.6; + color: var(--color-text-code); + overflow-x: auto; + box-shadow: 0 1px 2px 0 var(--color-border); +} + +pre code { + background: none; + border: none; + padding: 0; + font-size: inherit; + color: inherit; +} + +p > code, +li > code, +h1 > code, +h2 > code, +h3 > code, +h4 > code, +h5 > code { + background: var(--color-bg-secondary); + border: 1px solid var(--color-border); + border-radius: var(--inline-border-radius); + padding: 0.2em 0.4em; + font-family: var(--font-family-mono); + font-size: var(--font-size-code); + color: var(--color-text-code); + white-space: nowrap; +} + +.terms-list { + padding-bottom: var(--spacing-base); +} + +.terms-list ul { + list-style-type: none; + margin-left: 0; +} + +.terms-list ul li { + display: inline-block; + font-style: italic; + font-size: var(--font-size-small); + color: var(--color-text-muted); + padding: 0 3px; +} + +/* Path navigation styles */ +.path-nav { + font-family: var(--font-family-mono); + padding: var(--spacing-base) 0; + white-space: nowrap; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + scrollbar-width: none; /* Firefox */ + -ms-overflow-style: none; /* IE and Edge */ + width: 100%; +} + +.path-nav::-webkit-scrollbar { + display: none; /* Chrome, Safari, Opera */ +} + +.path-nav ol { + display: flex; + flex-wrap: nowrap; + list-style: none; + margin: 0; + padding: 0; +} + +.path-nav li { + display: flex; + align-items: center; + color: var(--color-text-muted); + flex-shrink: 0; + max-width: 200px; /* Limit maximum width on small screens */ +} + +.path-nav li.current { + max-width: none; /* Allow full width for current page */ +} + +.path-nav li a { + text-decoration: none; + border-bottom: none; + padding: 0 0.25em; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.path-nav li.current a { + color: var(--color-text-primary); +} + +.path-nav a:hover { + text-decoration: underline; +} + +.back-nav { + margin-bottom: var(--spacing-base); +} + +.back-link { + color: var(--color-text-muted); + border-bottom: none; +} + +.back-link:hover { + color: var(--color-text-primary); + text-decoration: none; +} + +/* Time list */ +.time-list ul { + list-style: none; + margin-left: 0; +} + +.time-list li { + display: grid; + grid-template-columns: auto 1fr; + gap: var(--gap-base); + align-items: start; + padding: var(--spacing-sm) 0; +} + +@media (max-width: var(--breakpoint-mobile)) { + .time-list li { + grid-template-columns: 1fr; + gap: var(--gap-small); + } + + .time-list time { + font-size: var(--font-size-small); + } +} + +/* Main menu navigation styles */ +.terminal-nav { + font-family: var(--font-family-mono); + border-top: 1px solid var(--color-border); + padding-top: var(--spacing-base); +} + +.terminal-nav nav ul { + list-style: none; + padding: 0; + margin: 0; + display: flex; + gap: 1em; +} + +.terminal-nav nav ul li { + display: inline-block; +} + +.terminal-nav nav ul li a, +.terminal-nav .back-link { + color: var(--color-text-muted); + border-bottom: none; + text-decoration: none; +} + +.terminal-nav nav ul li a:hover, +.terminal-nav .back-link:hover { + color: var(--color-text-primary); +} + +.terminal-nav nav ul li a.active { + color: var(--color-text-primary); + font-weight: bold; +} + +.terminal-nav .back-nav { + margin: calc(var(--spacing-base) * 0.5) 0; +} + +/* Image styles */ +img { + display: block; + max-width: 100%; + height: auto; + margin: var(--spacing-base) auto; + border-radius: var(--pre-border-radius); +} + +figure { + margin: var(--spacing-base) 0; + text-align: center; +} + +figure img { + margin: 0 auto; +} + +figcaption { + color: var(--color-text-muted); + font-size: var(--font-size-small); + margin-top: calc(var(--spacing-base) / 2); +} + +/* Table styles */ +table { + width: 100%; + margin: var(--spacing-base) 0; + border-collapse: collapse; +} + +thead th, +th { + font-weight: bold; + text-align: center; + border-bottom: 2px solid var(--color-border); + padding: var(--spacing-sm); +} + +td { + padding: var(--spacing-sm); + border-bottom: 1px solid var(--color-border); +} + +/* Typography emphasis */ +strong { + font-weight: bold; +} + +em { + font-style: italic; +} + +/* Blockquote styles */ +blockquote { + margin: var(--spacing-base) 0; + padding: var(--spacing-sm) var(--spacing-base); + border: 1px solid var(--color-border); + border-radius: var(--pre-border-radius); + background: var(--color-bg-secondary); + box-shadow: 0 1px 2px 0 var(--color-border); + font-style: italic; +} + +blockquote > :first-child { + margin-top: 0; +} + +blockquote > :last-child { + margin-bottom: 0; +} + +/* Table of Contents */ +.toc { + margin: var(--spacing-base) 0; + padding: var(--spacing-sm); + border: 1px solid var(--color-border); + background: var(--color-bg-secondary); + border-radius: var(--pre-border-radius); + box-shadow: 0 1px 2px 0 var(--color-border); +} + +.toc .toc-content a { + text-decoration: none; + color: var(--color-text-primary); + font-size: var(--font-size-small) +} + +.toc .toc-content ol li { + list-style-type: disc !important; +} + +@media (max-width: 600px) { + .path-nav li { + max-width: 100px; /* More aggressive truncation on mobile */ + } + + .path-nav li:first-child { + max-width: none; /* Don't truncate site title */ + } + + .path-nav li.current { + max-width: 150px; /* Allow slightly more width for current page on mobile */ + } +} + +/* Post list styles */ +.post-preview h3::before { + content: none; +} + +/* Post meta styles */ +.post-meta { + margin: calc(var(--spacing-base) * 0.5) 0 var(--spacing-base) 0; + font-size: var(--font-size-small); + color: var(--color-text-muted); +} + +/* Post navigation styles */ +.post-nav { + margin: calc(var(--spacing-base) * 2) 0; + padding: var(--spacing-base) 0; + border-top: 1px solid var(--color-border); + display: flex; + justify-content: space-between; + gap: var(--spacing-base); +} + +.post-nav-prev { + flex: 1; + text-align: left; +} + +.post-nav-next { + flex: 1; + text-align: right; +} + +.post-nav a { + color: var(--color-text-muted); + font-size: var(--font-size-small); + border-bottom: none; + text-decoration: none; +} + +.post-nav a:hover { + color: var(--color-text-primary); +} + +/* Banner styles */ +.banner { + margin: 0 0 calc(var(--spacing-base) * 2) 0; + text-align: center; + width: 100%; +} + +.banner-image { + width: min(95ch, 100vw - 4em); + max-width: 100%; + height: auto; + border-radius: var(--pre-border-radius); + margin: 0 auto; + display: block; +} + +@media (max-width: var(--breakpoint-mobile)) { + .banner-image { + width: min(75ch, 100vw - 2em); + } +} + +@media (max-device-width: 600px) { + body { + padding-top: 2em; + } + + pre { + max-width: calc(100vw - 4em); + } +} \ No newline at end of file diff --git a/layouts/_default/single.html b/layouts/_default/single.html new file mode 100644 index 0000000..d0903d1 --- /dev/null +++ b/layouts/_default/single.html @@ -0,0 +1,36 @@ +{{ define "main" }} +

{{ .Title }}

+ +
+ {{ partial "date.html" .Date }} • {{ .WordCount }} words • {{ .ReadingTime }} min read +
+ + {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }} + + {{/* Table of Contents */}} + {{ $hasToC := .Params.toc | default true }} + {{ $headers := findRE " + Table of contents +
+ {{ .TableOfContents }} +
+ + {{ end }} + + {{ .Content }} + +
+ {{ with .PrevInSection }} +
+ +
+ {{ end }} + {{ with .NextInSection }} +
+ +
+ {{ end }} +
+{{ end }} \ No newline at end of file diff --git a/layouts/_partials/head/js.html b/layouts/_partials/head/js.html new file mode 100644 index 0000000..1711279 --- /dev/null +++ b/layouts/_partials/head/js.html @@ -0,0 +1,16 @@ +{{- with resources.Get "js/main.js" }} + {{- $opts := dict + "minify" (not hugo.IsDevelopment) + "sourceMap" (cond hugo.IsDevelopment "external" "") + "targetPath" "js/main.js" + }} + {{- with . | js.Build $opts }} + {{- if hugo.IsDevelopment }} + + {{- else }} + {{- with . | fingerprint }} + + {{- end }} + {{- end }} + {{- end }} +{{- end }} \ No newline at end of file diff --git a/layouts/index.html b/layouts/index.html new file mode 100644 index 0000000..a6198a1 --- /dev/null +++ b/layouts/index.html @@ -0,0 +1,24 @@ +{{ define "main" }} + + + {{ .Content }} + +
+ {{ range (where .Site.RegularPages "Section" "posts") }} + + {{ end }} +
+{{ end }} diff --git a/layouts/partials/header.html b/layouts/partials/header.html new file mode 100644 index 0000000..279bfde --- /dev/null +++ b/layouts/partials/header.html @@ -0,0 +1,24 @@ +
+ + +
+ {{ partial "menu.html" (dict "menuID" "main" "page" .) }} +
+
+ +{{ define "breadcrumbnav" }} + {{ if .p1.Parent }} + {{ template "breadcrumbnav" (dict "p1" .p1.Parent "p2" .p2 ) }} + {{ else if not .p1.IsHome }} + {{ template "breadcrumbnav" (dict "p1" .p1.Site.Home "p2" .p2 ) }} + {{ end }} + + {{ if .p1.IsHome }}/{{ end }} + {{ if .p1.IsHome }}{{ .p1.Site.Title }}{{ else }}{{ .p1.Title }}{{ end }} + {{ if ne .p1 .p2 }}/{{ end }} + +{{ end }} \ No newline at end of file diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..1b3196dd8adf810efb02e33957ea6204e2cc6b34 GIT binary patch literal 21556 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 literal 0 HcmV?d00001