File: makeover

package info (click to toggle)
gitmagic 20160304-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, buster, sid, stretch
  • size: 2,280 kB
  • ctags: 20
  • sloc: makefile: 98; sh: 38
file content (50 lines) | stat: -rwxr-xr-x 1,223 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/bash

# Extract table of contents from index.html and delete preface link.
BOOKDIR=book-$1
TITLE="Git Magic"
case $1 in
    ru)
        TITLE="Волшебство Git"
        ;;
esac

gawk '
/<div class="toc">/ {
  print $0
  getline
  print $0
  print "<li><b>'"$TITLE"'</b></li>"
  getline
  while (!match($0, "</div>")) {
    gsub("pr01.html", "index.html")
    print $0
    getline
  }
  print $0
  exit
}
' < $BOOKDIR/index.html > toc.tmp

# For every file except the index...
for FILE in $BOOKDIR/*.html
do
  if [ $FILE != "$BOOKDIR/index.html" ]
  then
    # Prepend "Git Magic - " to titles of all pages.
    sed '/<title>/ s/<title>/&'"$TITLE"' - /' -i $FILE
    sed 's/pr01\.html/index.html/g' -i $FILE
    # Paste ToC into beginning and add div section with class content for CSS.
    sed '/<body/{n; r toc.tmp
a <div class="content">
}' -i $FILE
    sed '/^<\/body/i </div>' -i $FILE
  fi
done

# Originally this link was "My Homepage". Since it appears on translations of
# the guide, I changed it to my name so it doesn't have to be translated.
sed '/^<\/body/i </div><div class="footer"><a href="/~blynn/">Ben Lynn</a></div>' -i $BOOKDIR/*.html

cp $BOOKDIR/pr01.html $BOOKDIR/index.html
rm toc.tmp