From 05f33a6e1059e84c309c5f674e094ed3b1105134 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Sat, 18 Apr 2026 20:54:50 +0200 Subject: feat: add prev/next article navigation with shell prompt style Add top and bottom navigation between sequential articles with hacker aesthetic: - Top nav: [visitor@danix.xyz articles]$ cd - Bottom nav: [visitor@danix.xyz articles]$ ls ../ - Missing link shows dimmed placeholder (beginning/end) - Only renders on articles, not static pages - New partial: article-nav.html - Styling: monospace prompt in accent color, hover links with transition Co-Authored-By: Claude Haiku 4.5 --- .../danix-xyz-hacker/layouts/_default/single.html | 10 +++++ .../danix-xyz-hacker/layouts/articles/single.html | 6 +++ .../layouts/partials/article-nav.html | 46 ++++++++++++++++++++++ 3 files changed, 62 insertions(+) create mode 100644 themes/danix-xyz-hacker/layouts/partials/article-nav.html (limited to 'themes/danix-xyz-hacker/layouts') diff --git a/themes/danix-xyz-hacker/layouts/_default/single.html b/themes/danix-xyz-hacker/layouts/_default/single.html index 0d3c6fa..62e4a64 100644 --- a/themes/danix-xyz-hacker/layouts/_default/single.html +++ b/themes/danix-xyz-hacker/layouts/_default/single.html @@ -3,6 +3,11 @@
+ + {{ if eq .Section "articles" }} + {{ partial "article-nav.html" (dict "page" . "variant" "top") }} + {{ end }} + {{ partial "breadcrumb.html" . }} @@ -35,6 +40,11 @@
{{ end }} + + + {{ if eq .Section "articles" }} + {{ partial "article-nav.html" (dict "page" . "variant" "bottom") }} + {{ end }} diff --git a/themes/danix-xyz-hacker/layouts/articles/single.html b/themes/danix-xyz-hacker/layouts/articles/single.html index 4e97fb3..e646639 100644 --- a/themes/danix-xyz-hacker/layouts/articles/single.html +++ b/themes/danix-xyz-hacker/layouts/articles/single.html @@ -5,6 +5,9 @@
+ + {{ partial "article-nav.html" (dict "page" . "variant" "top") }} + {{ partial "breadcrumb.html" . }} @@ -35,6 +38,9 @@
{{ end }} + + + {{ partial "article-nav.html" (dict "page" . "variant" "bottom") }} diff --git a/themes/danix-xyz-hacker/layouts/partials/article-nav.html b/themes/danix-xyz-hacker/layouts/partials/article-nav.html new file mode 100644 index 0000000..d7f8ca3 --- /dev/null +++ b/themes/danix-xyz-hacker/layouts/partials/article-nav.html @@ -0,0 +1,46 @@ +{{ $page := .page }} +{{ $variant := .variant | default "bottom" }} +{{ $prev := $page.PrevInSection }} +{{ $next := $page.NextInSection }} + +{{/* Shell prompt command varies by position */}} +{{ $cmd := "ls ../" }} +{{ if eq $variant "top" }} + {{ $cmd = "cd" }} +{{ end }} + + -- cgit v1.2.3