about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNgô Ngọc Đức Huy <huyngo@disroot.org>2023-07-31 10:56:54 +0700
committerNgô Ngọc Đức Huy <huyngo@disroot.org>2023-07-31 10:56:54 +0700
commitdcbadc3b6117f23107822d80e2d78a365b3970fe (patch)
tree752d8916bcac7ec727085cd86de4cd32f52378ee
parentd49f5c58de9308af15aa1665276eab92fe22ac19 (diff)
downloadvictor-dcbadc3b6117f23107822d80e2d78a365b3970fe.tar.gz
Add recursive TOC and breadcrumbs navigation
-rw-r--r--assets/css/theme.css31
-rw-r--r--layouts/_default/single.html4
-rw-r--r--layouts/partials/breadcrumbs.html14
-rw-r--r--layouts/partials/post-navigation-bottom.html1
-rw-r--r--layouts/partials/post-navigation-top.html2
5 files changed, 50 insertions, 2 deletions
diff --git a/assets/css/theme.css b/assets/css/theme.css
index e659a2d..1988b04 100644
--- a/assets/css/theme.css
+++ b/assets/css/theme.css
@@ -9,3 +9,34 @@ nav ul, nav ul li {
 footer {
 	padding-top: 1.5rem;
 }
+
+nav.breadcrumb {
+    padding: 0 .5rem;
+}
+
+.breadcrumb ol {
+    display: flex;
+    flex-wrap: wrap;
+    list-style: none;
+    text-transform: none !important;
+    margin: 0;
+    padding: 0;
+}
+
+.breadcrumb li:not(:last-child)::after {
+    display: inline-block;
+    margin: 0 .25rem;
+    content: "→";
+}
+
+a.nav-up::before {
+    content: "↑ ";
+}
+
+a.nav-prev::after {
+    content: " →"
+}
+
+a.nav-next::before {
+    content: "← "
+}
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
index d2d60dd..79b493d 100644
--- a/layouts/_default/single.html
+++ b/layouts/_default/single.html
@@ -12,7 +12,7 @@ SPDX-License-Identifier: MIT
       ({{ i18n "reading time" .ReadingTime }})
 
       {{ partial "post-language-switcher.html" . }}
-      {{ partial "post-navigation.html" . }}
+      {{ partial "post-navigation-top.html" . }}
     </header>
     {{ .Content }}
   </article>
@@ -20,6 +20,6 @@ SPDX-License-Identifier: MIT
 
   {{ partial "single-extra.html" }}
 
-  {{ partial "post-navigation.html" . }}
+  {{ partial "post-navigation-bottom.html" . }}
 
 {{ end }}
diff --git a/layouts/partials/breadcrumbs.html b/layouts/partials/breadcrumbs.html
new file mode 100644
index 0000000..3dc235b
--- /dev/null
+++ b/layouts/partials/breadcrumbs.html
@@ -0,0 +1,14 @@
+<nav aria-label="breadcrumb" class="breadcrumb">
+  <ol>
+    {{ range .Ancestors.Reverse }}
+    {{ if in .Params.categories "book" }}
+      <li>
+        <a href="{{ .Permalink }}">{{ .LinkTitle }}</a>
+      </li>
+    {{ end }}
+    {{ end }}
+    <li class="active">
+      <a aria-current="page">{{ .LinkTitle }}</a>
+    </li>
+  </ol>
+</nav>
diff --git a/layouts/partials/post-navigation-bottom.html b/layouts/partials/post-navigation-bottom.html
new file mode 100644
index 0000000..1fcdfb7
--- /dev/null
+++ b/layouts/partials/post-navigation-bottom.html
@@ -0,0 +1 @@
+{{ partial "post-navigation.html" .}}
diff --git a/layouts/partials/post-navigation-top.html b/layouts/partials/post-navigation-top.html
new file mode 100644
index 0000000..3bcc39f
--- /dev/null
+++ b/layouts/partials/post-navigation-top.html
@@ -0,0 +1,2 @@
+{{ partial "breadcrumbs.html" .}}
+{{ partial "post-navigation.html" .}}