summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xwebgen29
1 files changed, 26 insertions, 3 deletions
diff --git a/webgen b/webgen
index 92b19c9..206b6b8 100755
--- a/webgen
+++ b/webgen
@@ -45,6 +45,7 @@ END=end
PAGE_SUFFIX='.html'
DEFAULT_MENU='-menu-none'
PREPROCESSOR='none'
+POSTPROCESSOR='none'
LANGUAGE=''
TEMPLATES=''
@@ -214,7 +215,7 @@ list_dependencies() {
}
show_help() {
- echo "Usage: webgen [--preprocessor PP] [--language LANG] [{+|~|=}][TPL]"
+ echo "Usage: webgen [--preprocessor PP] [--postprocessor OP] [--language LANG] [{+|~|=}][TPL]"
echo " or: webgen [--language LANG] --list-dependencies [{+|~|=}]TPL"
echo " or: webgen --setup"
echo " or: webgen --list"
@@ -228,6 +229,10 @@ do
PREPROCESSOR="$2"
shift
;;
+ '--postprocessor')
+ POSTPROCESSOR="$2"
+ shift
+ ;;
'--language')
if [ "$2" = 'default' ]
then
@@ -292,6 +297,24 @@ cat_file() {
esac
}
+postprocessor() {
+ _of="$1"
+ case "$POSTPROCESSOR" in
+ none)
+ cat - > "$_of"
+ ;;
+ xmllint)
+ xmllint -o "$_of" --format -
+ ;;
+ xmllint-html)
+ xmllint -o "$_of" --format --html -
+ ;;
+ *)
+ echo "Error: Unknown postprocessor: $POSTPROCESSOR" >&2
+ ;;
+ esac
+}
+
gen_news() {
if [ ! -d NEWS/ ]
then
@@ -383,7 +406,7 @@ proc_page() {
} | \
sed "$SECTIONS_REGEX" | \
sed "$TRANSLATE_REGEX" | \
- sed 's#href="[+~]\([^"\#(]*\)(same-language)\(\#*[^"]*\)"#href="\1'"$LANGUAGE_SUFFIX""$PAGE_SUFFIX"'\2"#g; s#href="(same-page)\([^"\#(]*\)\(\#*[^"]*\)"#href="'"$CLEANTPLNAME"'\1'"$PAGE_SUFFIX"'\2"#g; s#href="[+~]\([^"\#]*\)\(\#*[^"]*\)"#href="\1'"$PAGE_SUFFIX"'\2"#g; s#href="=\([^"]*\)"#href="\1"#g' > "$OF"
+ sed 's#href="[+~]\([^"\#(]*\)(same-language)\(\#*[^"]*\)"#href="\1'"$LANGUAGE_SUFFIX""$PAGE_SUFFIX"'\2"#g; s#href="(same-page)\([^"\#(]*\)\(\#*[^"]*\)"#href="'"$CLEANTPLNAME"'\1'"$PAGE_SUFFIX"'\2"#g; s#href="[+~]\([^"\#]*\)\(\#*[^"]*\)"#href="\1'"$PAGE_SUFFIX"'\2"#g; s#href="=\([^"]*\)"#href="\1"#g' | postprocessor "$OF"
}
proc_raw() {
@@ -391,7 +414,7 @@ proc_raw() {
CLEANTPLNAME=$(echo "$_tpl" | sed 's/^=//')
OF="$OUT"/"$CLEANTPLNAME"
echo "Compiling $CLEANTPLNAME -> $OF"
- cat_file "$_tpl" > "$OF"
+ cat_file "$_tpl" | postprocessor "$OF"
}
proc() {