2019-02-16 09:53:32 +01:00
|
|
|
#!/bin/bash
|
2015-05-21 16:31:43 +00:00
|
|
|
|
|
|
|
inc_processor=true
|
2015-05-31 21:09:48 +00:00
|
|
|
[ -z "$inc_filenames" ] && . "$basedir/build/filenames.sh"
|
|
|
|
[ -z "$inc_scaffold" ] && . "$basedir/build/scaffold.sh"
|
2015-05-21 16:31:43 +00:00
|
|
|
|
|
|
|
process_file(){
|
|
|
|
infile="$1"
|
|
|
|
processor="$2"
|
|
|
|
|
|
|
|
shortname=$(get_shortname "$infile")
|
|
|
|
lang=$(get_language "$infile")
|
|
|
|
[ -z "$processor" ] && processor="$(get_processor "$shortname")"
|
|
|
|
|
2019-02-16 09:53:32 +01:00
|
|
|
# Make sure that the following pipe exits with a nonzero exit code if *any*
|
|
|
|
# of the commands fails.
|
|
|
|
set -o pipefail
|
|
|
|
|
2019-03-10 15:39:23 +01:00
|
|
|
build_xmlstream "$shortname" "$lang" \
|
2015-05-21 16:31:43 +00:00
|
|
|
| xsltproc "$processor" - \
|
2016-05-09 20:45:56 +00:00
|
|
|
| sed -r ':X; N; $!bX;
|
2017-01-18 19:29:15 +00:00
|
|
|
s;<[\r\n\t ]*(a|link)([\r\n\t ][^>]*)?[\r\n\t ]href="(https?:)?//'"$domain"'/([^"]*)";<\1\2 href="/\4";gI
|
|
|
|
s;<[\r\n\t ]*(a|link)([\r\n\t ][^>]*)?[\r\n\t ]href='\''(https?:)?//'"$domain"'/([^'\'']*)'\'';<\1\2 href='\''/\4'\'';gI
|
2015-05-21 16:31:43 +00:00
|
|
|
|
2017-01-18 19:29:15 +00:00
|
|
|
s;<[\r\n\t ]*(a|link)([\r\n\t ][^>]*)?[\r\n\t ]href="((https?:)?//[^"]*)";<\1\2 href="#== norewrite ==\3";gI
|
|
|
|
s;<[\r\n\t ]*(a|link)([\r\n\t ][^>]*)?[\r\n\t ]href="([^#"])([^"]*/)?([^\./"]*\.)(html|rss|ics)(#[^"]*)?";<\1\2 href="\3\4\5'"$lang"'.\6\7";gI
|
|
|
|
s;<[\r\n\t ]*(a|link)([\r\n\t ][^>]*)?[\r\n\t ]href="([^#"]*/)(#[^"]*)?";<\1\2 href="\3index.'"$lang"'.html\4";gI
|
|
|
|
s;<[\r\n\t ]*(a|link)([\r\n\t ][^>]*)?[\r\n\t ]href="#== norewrite ==((https?:)?//[^"]*)";<\1\2 href="\3";gI
|
2015-05-21 16:31:43 +00:00
|
|
|
|
2017-01-18 19:29:15 +00:00
|
|
|
s;<[\r\n\t ]*(a|link)([\r\n\t ][^>]*)?[\r\n\t ]href='\''((https?:)?//[^'\'']*)'\'';<\1\2 href='\''#== norewrite ==\3'\'';gI
|
|
|
|
s;<[\r\n\t ]*(a|link)([\r\n\t ][^>]*)?[\r\n\t ]href='\''([^#'\''])([^'\'']*/)?([^\./'\'']*\.)(html|rss|ics)(#[^'\'']*)?'\'';<\1\2 href='\''\3\4\5'"$lang"'.\6\7'\'';gI
|
|
|
|
s;<[\r\n\t ]*(a|link)([\r\n\t ][^>]*)?[\r\n\t ]href='\''([^#'\'']*/)(#[^'\'']*)?'\'';<\1\2 href='\''\3index.'"$lang"'.html\4'\'';gI
|
|
|
|
s;<[\r\n\t ]*(a|link)([\r\n\t ][^>]*)?[\r\n\t ]href='\''#== norewrite ==((https?:)?//[^'\'']*)'\'';<\1\2 href='\''\3'\'';gI
|
2015-05-21 16:31:43 +00:00
|
|
|
'
|
|
|
|
}
|