1#!/bin/sh
2
3set -e
4
5test -z "$XSLTPROC" && XSLTPROC="xsltproc"
6test -z "$WGET" && WGET="wget"
7test -z "$WGET_OPTS" && WGET_OPTS="$WGET_OPTS"
8test -z "$SED" && SED="sed"
9test -z "$TR" && TR="tr"
10
11test -z "$SERVER" && SERVER="http://www.opensc-project.org"
12test -z "$PROJECT" && PROJECT="pam_pkcs11"
13
14SRCDIR=.
15OUTDIR=wiki
16test -n "$1" && SRCDIR="$1"
17test -n "$2" &&	OUTDIR="$2"
18
19WIKI="$PROJECT/wiki"
20XSL="$SRCDIR/export-wiki.xsl"
21
22test -f "$SRCDIR"/`basename $0`
23
24test -e "$OUTDIR" && rm -fr "$OUTDIR"
25
26mkdir "$OUTDIR" || exit 1
27
28$WGET $WGET_OPTS $SERVER/$WIKI/TitleIndex -O "$OUTDIR"/TitleIndex.tmp
29
30$SED -e "s#</li>#</li>\n#g" < "$OUTDIR"/TitleIndex.tmp \
31	| grep "\"/$WIKI/[^\"]*\"" \
32        |$SED -e "s#.*\"/$WIKI/\([^\"]*\)\".*#\1#g" \
33	> "$OUTDIR"/WikiWords.tmp
34$SED -e /^Trac/d -e /^Wiki/d -e /^TitleIndex/d -e /^RecentChanges/d \
35        -e /^CamelCase/d -e /^SandBox/d -e /^InterMapTxt/d -e /^InterWiki/d \
36        -e /^InterTrac/d -i "$OUTDIR"/WikiWords.tmp
37
38
39for A in WikiStart `cat "$OUTDIR"/WikiWords.tmp`
40do
41	F=`echo $A|$SED -e 's/\//_/g'`
42	$WGET $WGET_OPTS $SERVER/$WIKI/$A  -O "$OUTDIR"/$F.tmp
43	$XSLTPROC --nonet --output "$OUTDIR"/$F.html "$XSL" "$OUTDIR"/$F.tmp
44	$SED -e "s#<a href=\"/$WIKI/\([^\"]*\)\"#<a href=\"\1.html\"#g" \
45		-i "$OUTDIR"/$F.html
46done
47
48mv "$OUTDIR"/WikiStart.html "$OUTDIR"/index.html
49
50$WGET $WGET_OPTS http://www.opensc-project.org/trac/css/trac.css \
51	-O "$OUTDIR"/trac.css
52
53cat "$OUTDIR"/*.html |grep "<img src=\"/$PROJECT/attachment/wiki" \
54	|$SED -e 's/.*<img src="\/'$PROJECT'\/attachment\/wiki\/\([^"]*\)?format=raw".*/\1/g' \
55	|sort -u |while read A
56do
57	B="`echo $A |$TR / _`"
58	$WGET $WGET_OPTS "$SERVER/$PROJECT/attachment/wiki/$A?format=raw" -O "$OUTDIR"/$B
59	for C in "${OUTDIR}"/*.html
60	do
61		$SED -e 's#\/'$PROJECT'\/attachment\/wiki\/'$A'?format=raw#'$B'#g' -i "$C"
62	done
63done
64
65for A in "${OUTDIR}"/*.html
66do
67	$SED -e 's#href="/'$PROJECT'/wiki/\([^"]*\)"#href="\1.html"#g' \
68		-i $A
69done
70
71rm "$OUTDIR"/*.tmp
72exit 0
73