2016-10-12 05:38:46 +00:00
|
|
|
#!/bin/bash
|
2015-05-31 02:30:33 +00:00
|
|
|
# Regenerate html files.
|
2021-03-24 00:31:08 +00:00
|
|
|
# If given a single argument, try to regenerate just that file. Not supported everywhere.
|
2015-05-31 02:30:33 +00:00
|
|
|
|
2016-12-27 19:14:12 +00:00
|
|
|
set -e
|
|
|
|
|
2019-12-08 00:19:38 +00:00
|
|
|
( cd tools; c++ -g linkify.cc -o linkify; )
|
2017-11-05 19:17:34 +00:00
|
|
|
|
|
|
|
# generate html/$1.html using /tmp/tags
|
2015-09-07 17:37:27 +00:00
|
|
|
process() {
|
2021-03-24 00:34:07 +00:00
|
|
|
mkdir -p html/$(dirname $1)
|
2017-11-06 09:28:53 +00:00
|
|
|
rm -f html/$1.html
|
2017-11-05 19:17:34 +00:00
|
|
|
convert_html $1
|
2021-03-24 00:41:31 +00:00
|
|
|
tools/linkify /tmp/tags $1.html
|
|
|
|
mv $1.html.out html/$1.html
|
|
|
|
rm $1.html
|
2017-11-05 19:17:34 +00:00
|
|
|
}
|
|
|
|
|
2020-12-30 17:37:50 +00:00
|
|
|
URL_BASE='https://github.com/akkartik/mu/blob/main'
|
2018-12-01 22:13:33 +00:00
|
|
|
|
2017-11-05 19:17:34 +00:00
|
|
|
convert_html() {
|
2016-12-26 09:17:01 +00:00
|
|
|
vim -c "set number" -c TOhtml -c write -c qall $1
|
2015-09-07 17:37:27 +00:00
|
|
|
|
2018-05-12 17:22:26 +00:00
|
|
|
sed -i 's,<title>.*/mu/,<title>Mu - ,' $1.html
|
2015-09-07 17:37:27 +00:00
|
|
|
sed -i 's,\.html</title>,</title>,' $1.html
|
2018-12-01 22:13:33 +00:00
|
|
|
|
|
|
|
sed -i "/^<body/a <a href='$URL_BASE/$1'>$URL_BASE/$1</a>" $1.html
|
|
|
|
|
2018-11-30 22:19:59 +00:00
|
|
|
sed -i 's/^\* { \(.*\) }/* { font-size:12pt; \1 }/g' $1.html
|
|
|
|
sed -i 's/^body { \(.*\) }/body { font-size:12pt; \1 }/g' $1.html
|
2015-09-07 17:37:27 +00:00
|
|
|
|
2018-12-30 08:02:42 +00:00
|
|
|
sed -i '/^body {/a a { color:inherit; }' $1.html
|
|
|
|
|
2016-11-25 19:04:14 +00:00
|
|
|
# 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
|
2015-09-07 17:37:27 +00:00
|
|
|
}
|
|
|
|
|
2021-03-24 05:27:46 +00:00
|
|
|
ctags -x boot.subx [0-9]*.subx [0-9]*.mu > /tmp/tags
|
|
|
|
for f in boot.subx [0-9]*.subx [0-9]*.mu
|
2020-12-27 18:57:44 +00:00
|
|
|
do
|
|
|
|
test $# -gt 0 && test $1 != $f && continue
|
|
|
|
process $f
|
|
|
|
done
|
|
|
|
|
2021-03-24 00:31:08 +00:00
|
|
|
for f in [^0-9]*.subx [^0-9]*.mu
|
2020-12-27 18:57:44 +00:00
|
|
|
do
|
|
|
|
test $# -gt 0 && test $1 != $f && continue
|
2021-03-24 05:27:46 +00:00
|
|
|
test $f = "boot.subx" && continue
|
2021-03-24 00:31:08 +00:00
|
|
|
ctags -x [0-9]*.subx [0-9]*.mu $f > /tmp/tags
|
2020-12-27 18:57:44 +00:00
|
|
|
process $f
|
|
|
|
done
|
|
|
|
|
2021-03-24 00:31:08 +00:00
|
|
|
( cd shell
|
|
|
|
ctags -x ../[0-9]*.subx ../[0-9]*.mu *.mu > /tmp/tags
|
|
|
|
)
|
|
|
|
for f in shell/*.mu
|
2020-12-27 18:57:44 +00:00
|
|
|
do
|
2021-03-24 00:31:08 +00:00
|
|
|
test $# -gt 0 && test $1 != shell/$f && continue
|
2020-12-27 18:57:44 +00:00
|
|
|
process $f
|
|
|
|
done
|
|
|
|
|
2021-03-24 00:31:08 +00:00
|
|
|
( cd linux
|
|
|
|
ctags -x [0-9]*.subx [0-9]*.mu > /tmp/tags
|
|
|
|
)
|
|
|
|
for f in linux/[0-9]*.subx linux/[0-9]*.mu
|
2020-12-27 18:57:44 +00:00
|
|
|
do
|
|
|
|
process $f
|
|
|
|
done
|
2020-12-26 22:29:02 +00:00
|
|
|
|
2021-03-24 00:31:08 +00:00
|
|
|
for f in linux/[^0-9]*.subx linux/[^0-9]*.mu
|
2020-01-20 01:53:06 +00:00
|
|
|
do
|
2021-03-24 00:31:08 +00:00
|
|
|
( cd $(dirname $f)
|
|
|
|
ctags -x [0-9]*.subx [0-9]*.mu $(basename $f) > /tmp/tags
|
2020-09-11 07:59:56 +00:00
|
|
|
)
|
|
|
|
process $f
|
|
|
|
done
|
|
|
|
|
2021-03-24 00:31:08 +00:00
|
|
|
for f in linux/advent2020/*.mu
|
2020-12-30 03:28:56 +00:00
|
|
|
do
|
2021-03-24 00:31:08 +00:00
|
|
|
( cd $(dirname $f)
|
|
|
|
ctags -x ../[0-9]*.subx ../[0-9]*.mu $(basename $f) > /tmp/tags
|
2020-12-30 03:28:56 +00:00
|
|
|
)
|
|
|
|
process $f
|
|
|
|
done
|
|
|
|
|
2021-03-24 00:31:08 +00:00
|
|
|
for dir in linux/raytracing linux/tile
|
2020-12-30 05:20:36 +00:00
|
|
|
do
|
2021-03-24 00:31:08 +00:00
|
|
|
( cd $dir
|
|
|
|
ctags -x ../[0-9]*.subx ../[0-9]*.mu *.mu > /tmp/tags
|
2020-12-30 05:20:36 +00:00
|
|
|
)
|
2021-03-24 00:31:08 +00:00
|
|
|
for f in $dir/*.mu
|
|
|
|
do
|
|
|
|
process $f
|
|
|
|
done
|
2020-12-30 05:20:36 +00:00
|
|
|
done
|
|
|
|
|
2021-03-24 00:31:08 +00:00
|
|
|
( cd linux/bootstrap
|
|
|
|
ctags -x *.cc |grep -v '^. ' > /tmp/tags # don't hyperlink every 'i' to the integer register variant
|
|
|
|
)
|
|
|
|
for f in linux/bootstrap/*.cc
|
2021-02-15 00:12:47 +00:00
|
|
|
do
|
|
|
|
process $f
|
|
|
|
done
|
|
|
|
|
2018-09-08 05:42:23 +00:00
|
|
|
rm /tmp/tags
|