Lichen

docs/tools/make_pages.sh

934:2989aab1b4f7
10 months ago Paul Boddie Renamed the utf8string class to unicode, eliminating the unicode function. This means that the simple case of merely returning an object if it is already a Unicode object no longer occurs when using the unicode callable, but such behaviour might be better supported with more general customised instantiation functionality.
     1 #!/bin/sh     2      3 DIRNAME=`dirname $0`     4 PROGNAME=`basename $0`     5 OUTDIR=$1     6      7 if [ ! "$OUTDIR" ] || [ "$1" = '--help' ] ; then     8     cat 1>&2 <<EOF     9 Usage: $PROGNAME <output directory> [ <page prefix> ] [ --releases [ --sign ] ]    10 EOF    11     exit 1    12 fi    13     14 if [ -e "$OUTDIR" ]; then    15     echo "Please remove $OUTDIR before generating a new package." 1>&2    16     exit 1    17 fi    18     19 if [ "$2" = '--releases' ]; then    20     PREFIX=    21     RELEASES=$2    22     SIGN=$3    23 else    24     PREFIX=$2    25     RELEASES=$3    26     SIGN=$4    27 fi    28     29 # Generate release archives. These are held in a separate, semi-permanent    30 # place so that archives and signatures are not regenerated unnecessarily.    31     32 if [ "$RELEASES" ]; then    33     "$DIRNAME/make_releases.sh" releases    34 fi    35     36 if [ "$SIGN" ]; then    37     "$DIRNAME/sign_releases.sh" releases    38 fi    39     40 # Generate a manifest for the page package.    41     42 MANIFEST="$OUTDIR/MOIN_PACKAGE"    43     44 mkdir "$OUTDIR"    45 cat > "$MANIFEST" <<EOF    46 MoinMoinPackage|1    47 EOF    48     49 # Add the pages to the manifest.    50     51 DOCS="$DIRNAME/../wiki"    52     53 cp "$DOCS/"* "$OUTDIR"    54     55 for FILENAME in "$DOCS/"* ; do    56     BASENAME=`basename "$FILENAME"`    57     PAGENAME=`echo "$BASENAME" | sed 's/--/\//g'`    58     if [ "$PREFIX" ]; then    59         if [ "$PAGENAME" = "Lichen" ]; then    60             PAGENAME="$PREFIX"    61         else    62             PAGENAME="$PREFIX/$PAGENAME"    63         fi    64     fi    65     echo "AddRevision|$BASENAME|$PAGENAME" >> "$MANIFEST"    66 done    67     68 if [ ! -e "releases" ]; then    69     echo "No releases to add to the page package!" 1>&2    70 else    71     # Combine the releases with the pages.    72     73     ATTACHMENT="attachment_"    74     75     for FILENAME in releases/* ; do    76         BASENAME=`basename "$FILENAME"`    77         cp "$FILENAME" "$OUTDIR/$ATTACHMENT$BASENAME"    78     done    79     80     # Add the releases to the manifest.    81     82     for FILENAME in releases/* ; do    83         BASENAME=`basename "$FILENAME"`    84         PAGENAME="Downloads"    85         if [ "$PREFIX" ]; then    86             PAGENAME="$PREFIX/$PAGENAME"    87         fi    88         echo "AddAttachment|$ATTACHMENT$BASENAME|$BASENAME|$PAGENAME" >> "$MANIFEST"    89     done    90 fi    91     92 zip -j "$OUTDIR" "$OUTDIR/"*