summaryrefslogtreecommitdiff
path: root/.zs/generate_nav
diff options
context:
space:
mode:
authordelta <darkussdelta@gmail.com>2025-02-03 22:58:46 +0100
committerdelta <darkussdelta@gmail.com>2025-02-03 22:58:46 +0100
commit41a6d16ef6a356bc286b0eafe267d04aeed174f3 (patch)
tree86fe71416dc5f802bacec930f9afadd453824423 /.zs/generate_nav
initial commit
Diffstat (limited to '.zs/generate_nav')
-rwxr-xr-x.zs/generate_nav27
1 files changed, 27 insertions, 0 deletions
diff --git a/.zs/generate_nav b/.zs/generate_nav
new file mode 100755
index 0000000..28289af
--- /dev/null
+++ b/.zs/generate_nav
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+echo "/:home /projects.html:projects /posts.html:ramblings" | awk '
+function normalize(file) {
+ sub(".[^.]*$", "", file)
+ sub(".*/", "", file)
+ return file
+}
+
+{
+ for (i=1; i<=NF; i++) {
+ match($i, /:.+/)
+ name = substr($i, RSTART+1, RLENGTH)
+
+ match($i, /.+:/)
+ file = substr($i, RSTART, RLENGTH-1)
+
+ parsed_file = ENVIRON["ZS_FILE"]
+
+ if (normalize(file) == normalize(parsed_file) || (normalize(parsed_file) == "index" && file == "/")) {
+ name = sprintf("[%s]", name)
+ }
+
+ printf "<li><a href=\"%s\">%s</a></li>", file, name
+ if (i<NF) print ""
+ }
+}'