summaryrefslogtreecommitdiffstats
path: root/doc/updt.sh
diff options
context:
space:
mode:
authorjobol <jobol@nonadev.net>2016-05-26 18:12:12 +0200
committerjobol <jobol@nonadev.net>2016-05-26 18:12:12 +0200
commitebb9bd69a97516763d5d9203245ded592b825a86 (patch)
tree5c08595c5a3958311faab2698ece730fc18f6dc9 /doc/updt.sh
parentcfa0067c4e1df2def1660e2da31efd62df6a3d30 (diff)
update documentation
Signed-off-by: jobol <jobol@nonadev.net>
Diffstat (limited to 'doc/updt.sh')
-rwxr-xr-xdoc/updt.sh40
1 files changed, 28 insertions, 12 deletions
diff --git a/doc/updt.sh b/doc/updt.sh
index cd978e22..af64e31e 100755
--- a/doc/updt.sh
+++ b/doc/updt.sh
@@ -1,9 +1,6 @@
-#!/bin/sh
-
-subst() {
- awk -v pat="$1" -v rep="$(sed 's:\\:\\\\:g' $2)" '{gsub(pat,rep);gsub(pat,"\\&");print}'
-}
+#!/bin/bash
+# the HTML template
main='<html>
<head>
<link rel="stylesheet" type="text/css" href="doc.css">
@@ -14,18 +11,37 @@ GENERATED-MARKDOWN-HERE
</body>
</html>'
-for x in *.md; do
- t=$(git log -n 1 --format=%ct $x)
+# substitute the pattern $1 by the content of the file $2
+subst() {
+ awk -v pat="$1" -v rep="$(sed 's:\\:\\\\:g' $2)" '{gsub(pat,rep);gsub(pat,"\\&");print}'
+}
+
+# update the date field of file $1
+updadate() {
+ local x=$1
+ local t=$(git log -n 1 --format=%ct $x)
[[ -n "$t" ]] || t=$(stat -c %Y $x)
- d=$(LANG= date -d @$t +"%d %B %Y")
+ local d=$(LANG= date -d @$t +"%d %B %Y")
sed -i "s/^\( Date: *\).*/\1$d/" $x
- h=${x%%.md}.html
- markdown -f toc,autolink $x > $h.toc.no
- markdown -Tf toc,autolink $x > $h.toc.yes
+}
+
+# make the html file for $1
+mkhtml() {
+ local x=$1
+ local h=${x%%.md}.html
+ expand -i $x | sed 's: : :' > $h.pre
+ markdown -f toc,autolink $h.pre > $h.toc.no
+ markdown -Tf toc,autolink $h.pre > $h.toc.yes
head --bytes=-$(stat -c %s $h.toc.no) $h.toc.yes > $h.toc
echo "$main" |
subst GENERATED-MARKDOWN-HERE $h.toc.no |
subst TABLE-OF-CONTENT-HERE $h.toc > $h
-# rm $h.toc*
+ rm $h.*
+}
+
+# apply
+for x in *.md; do
+ updadate $x
+ mkhtml $x
done