#!/bin/bash # Regenerate html files. set -e ( cd linkify; build; ) # generate html/$1.html using /tmp/tags process() { rm -f html/$1.html convert_html $1 linkify/linkify /tmp/tags html/$1.html mv html/$1.html.out html/$1.html } URL_BASE='https://github.com/akkartik/mu/blob/master' convert_html() { vim -c "set number" -c TOhtml -c write -c qall $1 sed -i 's,.*/mu/,<title>Mu - ,' $1.html sed -i 's,\.html,,' $1.html sed -i "/^$URL_BASE/$1" $1.html sed -i 's/^\* { \(.*\) }/* { font-size:12pt; \1 }/g' $1.html sed -i 's/^body { \(.*\) }/body { font-size:12pt; \1 }/g' $1.html sed -i '/^body {/a a { color:inherit; }' $1.html # switch unicode characters around in the rendered html # the ones we have in the source files render double-wide in html # the ones we want in the html cause iTerm2 to slow down in alt-tabbing for some reason # the following commands give us the best of both worlds sed -i -e 's/┈/╌/g' -e 's/┊/╎/g' $1.html mv -i $1.html html/`dirname $1` } ctags -x *.cc |grep -v "^operator \| member \| variable " > /tmp/tags for f in *.cc do process $f done ctags -x [0-9]*.mu > /tmp/tags for f in [0-9]*.mu do process $f done for f in [a-zA-Z]*.mu do ctags -x [0-9]*.mu $f > /tmp/tags process $f done ( cd edit ctags -x ../[0-9]*.mu *.mu > /tmp/tags ) for f in edit/*.mu do process $f done ( cd subx ctags -x *.cc |grep -v '^. ' > /tmp/tags # don't hyperlink every 'i' to the integer register variant ) for f in subx/*.cc do process $f done for f in subx/examples/*.subx do ( cd subx/examples ctags -x `basename $f` > /tmp/tags ) process $f done ( cd subx ctags -x *.subx > /tmp/tags ) for f in subx/*.subx do process $f done for f in subx/apps/*.subx do ( cd subx/apps ctags -x ../*.subx `basename $f` > /tmp/tags ) process $f done rm /tmp/tags ( cd linkify; clean; )