diff options
Diffstat (limited to 'new-doc')
-rwxr-xr-x | new-doc | 67 |
1 files changed, 67 insertions, 0 deletions
@@ -0,0 +1,67 @@ +#!/bin/bash + +cd "$(dirname "$0")"/src +shopt -s extglob + +now="$(date +'%F %T')" + +docname="$1" +shift +declare -a tags +tags=("$@") + +if [[ -d "$docname" ]]; then + >&2 echo "\"$docname\" already exists" + exit 1 +fi + +docname="${docname%/}" + +mkdir -p "$docname" + +langs="${LANGS:-en it}" + +for lang in $langs; do + { + cat <<EOF +================ +.. +================ +EOF + echo ':CreationDate: '"$now" + if [[ ${#tags[@]} -gt 0 ]]; then + i=0 + for tag in "${tags[@]}"; do + if [[ $i -eq 0 ]]; then + echo -n ':tags: ' + else + echo -n ' ' + fi + echo "$tag" + i=$(( $i + 1 )) + done + fi + echo '' + } > "$docname/document.${lang}.rest.txt" +done + +ln -s "${docname//+([^\/])/..}"/../templates/du2html.xsl "$docname"/ + +for tag in "${tags[@]}"; do + if [[ ! -d "tags/$tag" ]]; then + mkdir -p "tags/$tag" + for lang in $langs; do + { + echo "$tag" + echo "${tag//?/=}" + echo ':CreationDate: '"$now" + cat <<EOF + +[% PROCESS 'document-listing.tt' %] +EOF + } > "tags/$tag/document.${lang}.rest.txt" + done + ln -s "${docname//+([^\/])/..}"/../templates/document-listing.tt "$docname"/ + ln -s "${docname//+([^\/])/..}"/../templates/du2html.xsl "$docname"/ + fi +done |