X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=doc%2Fupdt.sh;fp=doc%2Fupdt.sh;h=1c9d023eb75b3af7375afee5aa3e3fa049937dca;hb=f45bd5fbf8d1fe440b1855d93b387755d63ac8f0;hp=a6292c832fbdc618b99fc5b6a0ef07729a2f3002;hpb=42888438a490f0ce28376b33b4d87c46008209bf;p=src%2Fapp-framework-main.git diff --git a/doc/updt.sh b/doc/updt.sh index a6292c8..1c9d023 100755 --- a/doc/updt.sh +++ b/doc/updt.sh @@ -1,25 +1,47 @@ -#!/bin/sh +#!/bin/bash -fmd() { -cat << EOC - +# the HTML template +main=' -$(cat) +GENERATED-MARKDOWN-HERE - -EOC +' + +# 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) + local d=$(LANG= date -d @$t +"%d %B %Y") + sed -i "s/^\( Date: *\).*/\1$d/" $x } +# 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.* +} +# apply for x in *.md; do - t=$(stat -c %Y $x) - t=$(git log -n 1 --format=%ct $x) - d=$(LANG= date -d @$t +"%d %B %Y") - sed -i "s/^\( Date: *\).*/\1$d/" $x - markdown -f toc,autolink $x | fmd > ${x%%.md}.html + updadate $x + mkhtml $x done