| #!/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 |