Blob


1 MANPAGES = ../kamictl/kamictl.8 \
2 ../kamid/9p.7 \
3 ../kamid/kamid.8 \
4 ../kamid/kamid.conf.5 \
5 ../kamiftp/kamiftp.1 \
6 ../kamiproxy/kamiproxy.1
8 PAGES = index.gmi install.gmi tutorial.gmi
10 TITLE_index.gmi = home
11 TITLE_install.gmi = install guide
12 TITLE_tutorial.gmi = tutorial
14 SUBST_GEM = ./subst MANEXT=txt EXT=gmi
15 SUBST_WWW = ./subst MANEXT=html EXT=html
17 .PHONY: all dirs manpages server-www serve-gemini upload clean titles
19 all: dirs manpages pages
20 cp style.css www/
22 dirs:
23 mkdir -p gemini
24 mkdir -p www
26 manpages:
27 .for m in ${MANPAGES}
28 ./mdoc2html.sh $m www/${m:T}.html
29 man -O width=65 -Tutf8 -l $m | col -b > gemini/${m:T}.txt
30 .endfor
32 pages:
33 .for p in ${PAGES}
34 ${SUBST_GEM} $p > gemini/$p
36 ${SUBST_WWW} TITLE=${TITLE_${p}:Q} header.html > www/${p:.gmi=.html}
37 ${MAKE} titles | ./menu.pl "${p:.gmi=.html}" >> www/${p:.gmi=.html}
38 ${SUBST_WWW} $p | ./gem2html >> www/${p:.gmi=.html}
39 cat footer.html >> www/${p:.gmi=.html}
40 .endfor
42 serve-www:
43 python3 -m http.server --directory www 8888
45 serve-gemini:
46 gmid -p 1966 ./gemini
48 upload:
49 rsync --delete -a www/ op:sites/kamid.omarpolo.com
50 rsync --delete -a gemini/ op:gemini/kamid.omarpolo.com
52 clean:
53 rm -rf gemini www
55 titles:
56 .for p in ${PAGES}
57 @printf "%s %s\n" "${p:.gmi=.html}" ${TITLE_${p}:Q}
58 .endfor