blob: 65c5cb0ad1e1b4bf3c0f40e93c863b8a63666f86 (
plain)
- #!/bin/sh
- #
- # /usr/local/bin/localikiwikirefreshsite
- # Copyright 2008 Jonas Smedegaard <dr@jones.dk>
- #
- # $Id: localikiwikirefreshsite,v 1.2 2008-06-03 12:10:52 jonas Exp $
- #
- # Refresh multipart ikiwiki site, aggregating only main part
- #
- set -e
- PRG=$(basename "$0")
- TEMP=$(getopt -s sh -o h -l help -n "$PRG" -- "$@")
- if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
- eval set -- "$TEMP"
- showhelp() {
- cat <<EOF
- Usage: $PRG PROJECT [MAIN [ADDON ...]]
- Examples:
- $PRG wiki admin . admin.dev dev
- Above example will --refresh the wiki project using the below configurations,
- and will also --aggregate using the first of them:
- ikiwiki.admin.setup
- ikiwiki.setup
- ikiwiki.admin.dev.setup
- ikiwiki.dev.setup
- EOF
- }
- exit1() {
- echo >&2 "Error: $1"
- echo >&2 "Exiting..."
- exit 1
- }
- ikiwikirefresh() {
- part="$1"
- shift || exit1 "Internal error: part not supplied!"
- case "$part" in
- ""|.) cfgpath=$CFGDIR/ikiwiki.setup;;
- *) cfgpath=$CFGDIR/ikiwiki.$part.setup;;
- esac
- ikiwiki --setup $cfgpath "$@"
- }
- while true ; do
- case "$1" in
- -h|--help) showhelp; exit 0;;
- --) shift; break;;
- *) exit1 "Internal error!";;
- esac
- done
- project="$1"
- [ -n "$project" ] || exit1 "Project name must be supplied!"
- shift
- mainpart="$1"
- shift || exit1 "Main part must be supplied (use \"\" if unnamed)!"
- CFGDIR=~/private_webdata/$project
- ikiwikirefresh "$mainpart" --aggregate --refresh
- for part in "$@"; do
- ikiwikirefresh "$part" --refresh
- done
|