diff options
Diffstat (limited to 'new-doc')
-rwxr-xr-x | new-doc | 49 |
1 files changed, 36 insertions, 13 deletions
@@ -1,6 +1,22 @@ #!/bin/bash - cd "$(dirname "$0")"/src + +if [[ $# -eq 0 ]]; then + cat <<EOF +new-doc - create new documents for WebCoso + +Usage: + + new-doc <document path> <tag>... + +The <document path> will be taken relative to +$(pwd) + +Non-existent tags will be created +EOF +exit 1 +fi + shopt -s extglob now="$(TZ=UTC date +'%F %T')" @@ -24,12 +40,12 @@ langs="${LANGS:-en it}" for lang in $langs; do { cat <<EOF -================ -.. -================ +${docname//?/=} +$docname +${docname//?/=} +:CreationDate: $now +:Id: $docname EOF - echo ':CreationDate: '"$now" - echo ':Id: '"$docname" if [[ ${#tags[@]} -gt 0 ]]; then i=0 for tag in "${tags[@]}"; do @@ -38,7 +54,7 @@ EOF else echo -n ' ' fi - echo "$tag" + echo "- $tag" i=$(( $i + 1 )) done fi @@ -53,16 +69,23 @@ for tag in "${tags[@]}"; do mkdir -p "tags/$tag" for lang in $langs; do { - echo "$tag" - echo "${tag//?/=}" - echo ':CreationDate: '"$now" cat <<EOF +${tag//?/=} +$tag +${tag//?/=} +:CreationDate: $now [% PROCESS 'document-listing.tt' %] EOF - } > "tags/$tag/document.${lang}.rest.txt" + } > "tags/$tag/document.${lang}.rest.tt" + { + cat <<EOF +[% INCLUDE 'base-feed.tt' %] +EOF + } > "tags/$tag/feed.${lang}.tt" + done + for f in document-listing.tt du2html.xsl fillFeed.xsl base-feed.tt; do + ln -s "${tag//+([^\/])/../..}"/../templates/"$f" "tags/$tag/" done - ln -s "${docname//+([^\/])/..}"/../templates/document-listing.tt "$docname"/ - ln -s "${docname//+([^\/])/..}"/../templates/du2html.xsl "$docname"/ fi done |