96 lines
2.1 KiB
Bash
96 lines
2.1 KiB
Bash
#!/bin/bash
|
|
|
|
_help() {
|
|
echo "Pass arguments to create a static version of the index, printed on stdout
|
|
Templating will replace config values config.style and config.source to null
|
|
|
|
-l [links.txt] Path to links.txt. must be passed
|
|
-c [config.js] *Path to configuration js replacing config values
|
|
-s [styles.css] *Path to extra styles
|
|
|
|
* can be left out
|
|
"
|
|
exit
|
|
}
|
|
|
|
_checkenv() {
|
|
if [[ ! -e "$LINKS" ]]; then
|
|
echo "Links file '$LINKS' not found."
|
|
_help
|
|
exit 1
|
|
fi
|
|
if [[ -n "$CONFIG" ]]; then
|
|
if [[ ! -e "$CONFIG" ]]; then
|
|
echo "Config file '$CONFIG' not found."
|
|
exit 1
|
|
fi
|
|
fi
|
|
if [[ -n "$STYLE" ]]; then
|
|
if [[ ! -e "$STYLE" ]]; then
|
|
echo "Styles file '$STYLE' not found."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
echo "
|
|
Links file: $LINKS
|
|
Config file: $CONFIG
|
|
Style file: $STYLE
|
|
" >&2
|
|
|
|
}
|
|
_replace_links() {
|
|
if [[ -e "$LINKS" ]]; then
|
|
sed \
|
|
-e '/TEMPLATED:LINKS/a config.source=null;' \
|
|
-e '/TEMPLATED:LINKS/a config.links=`' \
|
|
-e "/TEMPLATED:LINKS/r $LINKS" \
|
|
-e '/TEMPLATED:LINKS/a `;'
|
|
#-e "/TEMPLATED:LINKS/d"
|
|
else
|
|
cat -
|
|
fi
|
|
}
|
|
_replace_config() {
|
|
if [[ -e "$CONFIG" ]]; then
|
|
sed \
|
|
-e "/TEMPLATED:CONFIG/r $CONFIG" \
|
|
-e "/^.script language.*config.js.*script.*/d"
|
|
#-e "/TEMPLATED:CONFIG/d"
|
|
else
|
|
cat -
|
|
fi
|
|
}
|
|
_replace_style() {
|
|
if [[ -e "$STYLE" ]]; then
|
|
sed \
|
|
-e "/TEMPLATED:STYLE/r $STYLE" \
|
|
-e '/TEMPLATED:CONFIG/a config.style=null;' \
|
|
#-e "/TEMPLATED:STYLE/d"
|
|
else
|
|
cat -
|
|
fi
|
|
}
|
|
|
|
_replace() {
|
|
cat "$SELFDIR"/index.html | _replace_links | _replace_style | _replace_config
|
|
|
|
}
|
|
|
|
SELFDIR=$( dirname $( readlink -f "$0") )
|
|
CONFIG=
|
|
STYLE=
|
|
LINKS=
|
|
|
|
for (( i=1; i<=$#; i++ )); do
|
|
j=$(( i + 1 ))
|
|
[[ "${!i}" = "-h" ]] && _help
|
|
[[ "${!i}" = "--help" ]] && _help
|
|
[[ "${!i}" = "-l" ]] && { LINKS="${!j}"; shift 1; continue; }
|
|
[[ "${!i}" = "-c" ]] && { CONFIG="${!j}"; shift 1; continue; }
|
|
[[ "${!i}" = "-s" ]] && { STYLE="${!j}"; shift 1; continue; }
|
|
done
|
|
|
|
_checkenv
|
|
_replace
|