commit c8477a004f79c72afc1a7f965b169cf639d0a1f9 from: Omar Polo date: Sun Jan 23 21:11:55 2022 UTC site: add menu on the www site commit - f6a3556cd158db6aaa0937210fd9c6413fd6c8c8 commit + c8477a004f79c72afc1a7f965b169cf639d0a1f9 blob - 966812fe783e97e2aa1a1679d3c83bcfd68506c0 blob + cb5d800807a3f1b81e1ea558a365f4cb9847e5c4 --- site/Makefile +++ site/Makefile @@ -13,7 +13,7 @@ TITLE_tutorial.gmi = tutorial SUBST_GEM = ./subst MANEXT=txt EXT=gmi SUBST_WWW = ./subst MANEXT=html EXT=html -.PHONY: all dirs manpages server-www serve-gemini upload clean +.PHONY: all dirs manpages server-www serve-gemini upload clean titles all: dirs manpages pages cp style.css www/ @@ -33,6 +33,7 @@ pages: ${SUBST_GEM} $p > gemini/$p ${SUBST_WWW} TITLE=${TITLE_${p}:Q} header.html > www/${p:.gmi=.html} + ${MAKE} titles | ./menu.pl "${p:.gmi=.html}" >> www/${p:.gmi=.html} ${SUBST_WWW} $p | ./gem2html >> www/${p:.gmi=.html} cat footer.html >> www/${p:.gmi=.html} .endfor @@ -49,3 +50,8 @@ upload: clean: rm -rf gemini www + +titles: +.for p in ${PAGES} + @printf "%s %s\n" "${p:.gmi=.html}" ${TITLE_${p}:Q} +.endfor blob - /dev/null blob + 640631631833f16a211ed0206a8e1a6d557a8afe (mode 755) --- /dev/null +++ site/menu.pl @@ -0,0 +1,31 @@ +#!/usr/bin/env perl + +use v5.10; +use strict; +use warnings; + +my $page = shift or die 'missing page'; +my @pages = (); + +while (<>) { + chomp; + @pages = (@pages, $_); +} + +my $did = 0; +for (@pages) { + if (!$did) { + $did = 1; + } else { + print "| "; + } + + my ($href, $text) = m/^([^\s]*)\s*(.*)$/; + if ($href eq $page) { + print "$text "; + } else { + print "$text "; + } +} + +say "";