Changelog: Reverse Charge für einige Steuerschlüssel
[kivitendo-erp.git] / scripts / build_doc.sh
index 0db7bf3..2efa9b9 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 # Usage:
-#   cd /path/to/lx-office
+#   cd /path/to/kivitendo
 #   ./scripts/build_doc.sh
 
 set -e
@@ -11,10 +11,35 @@ if [[ ! -d doc ]]; then
   exit 1
 fi
 
+doc=${PWD}/doc
+
+html=1
+pdf=1
+images=1
+
+if [[ ! -z $1 ]] ; then
+  html=0
+  pdf=0
+  images=0
+  while [[ ! -z $1 ]] ; do
+    case $1 in
+      html)   html=1   ;;
+      pdf)    pdf=1    ;;
+      images) images=1 ;;
+      *)
+        echo "Unknown parameter $1"
+        exit 1
+        ;;
+    esac
+
+    shift
+  done
+fi
+
 dobudish=$(ls -d doc/build/dobudish* 2> /dev/null)
 
 if [[ -z $dobudish ]] || [[ ! -d ${dobudish} ]]; then
-  echo "There's no dobudish directory inside doc/build."
+  echo "There's no dobudish directory inside doc/build OR more than one file / dir starting with dobudish (hint: zip file downloaded there?)."
   exit 1
 fi
 
@@ -29,12 +54,33 @@ input=${base}/input
 output=${base}/output
 custom=${base}/custom-cfg
 
-rm -f ${input}/*.xml
-cp ../../dokumentation.xml ${input}/
+rm -rf ${input} ${custom}
+mkdir ${input} ${input}/copy_to_output ${custom}
 
-rm -f ${custom}/*
-cp -R ../custom-cfg/* ${custom}/
+cp ${doc}/dokumentation.xml ${input}/
+test -d ${doc}/images && cp -R ${doc}/images ${input}/copy_to_output/
+cp -R ${doc}/build/custom-cfg/* ${custom}/
 
-./generator.sh dokumentation pdf
+if [[ $pdf = 1 ]] ; then
+  ./generator.sh dokumentation pdf
+  cp ${output}/pdf/dokumentation.pdf ${doc}/kivitendo-Dokumentation.pdf
+fi
+
+if [[ $html = 1 ]]; then
+  ./generator.sh dokumentation html
+  rm -rf ${doc}/html
+  mkdir ${doc}/html
+  cp -R ${output}/html ${doc}/
+fi
 
-cp ${output}/pdf/dokumentation.pdf ../../
+if [[ $images = 1 ]]; then
+  # copy system images from Dobudish directory
+  image_list=$(mktemp)
+  perl -nle 'print $1 while m{ (?: \.\./ )+ ( system/ [^\"]+ ) }xg' ${doc}/html/*.html | sort | uniq > $image_list
+  if [[ -s $image_list ]]; then
+    tar -c -f - -T $image_list | tar -x -f - -C ${doc}/html
+    perl -pi -e 's{ (\.\./)+ system }{system}xg' ${doc}/html/*.html
+  fi
+
+  rm $image_list
+fi