blob: 0237e4794209166f7c5becb14f817a9e761ed7a9 [file] [log] [blame] [raw]
#!/bin/bash
#
# Post-process filter for groff -Thtml for our wiki
# Prepare sed expression to replace known man pages refs with wiki links
for M in $MANS; do
MM=$(echo $M | sed -e 's/^/<b>/' -e 's/.\([58]\)/<\/b>(\1)/')
REPL="$REPL -e s#$MM#[[Man/$M|$MM]]#"
done
# The below code tries to:
# (first sed invocation)
# - remove everything except contents of <body>...</body>
# - remove <h1>, <hr> and section links
# - remove section anchors and closing </hN> tags
# - change <h2>TEXT to == TEXT ==
# - use wiki-style links for wiki.openvz.org
# - apply the above expression for man pages refs
# (awk)
# - combine two lines with broken third-level headings (=== ... ===)
# (second sed invocation)
# - remove the crap before/after third-level headings
# (cat -s)
# - suppress repeated empty lines
sed -e '1,/<body>/d' -e '/<\/body>/,$d' \
-e '/<h1/d' -e '/<a href=/d' -e '/<hr>/d' \
-e '/<a name=/d' -e '/<\/h[123456]>/d' \
-e 's/^<h2>\(.*$\)/== \1 ==/' \
-e 's#http://wiki.openvz.org/\([a-zA-Z0-9_:]*\)#[[\1]]#g' \
$REPL | \
awk '/====* / {
if ($0 !~ /====* .*====*/) {
printf "%s ",$0; getline; print; next}
}
{print}' | \
sed 's/.*[^=]\(====* [^=]* ====*\)[^=].*/\1/' | \
cat -s