diff options
Diffstat (limited to '.zs/generate_nav')
-rwxr-xr-x | .zs/generate_nav | 27 |
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 "" + } +}' |