summaryrefslogtreecommitdiff
path: root/doc/doc.sh
diff options
context:
space:
mode:
Diffstat (limited to 'doc/doc.sh')
-rwxr-xr-xdoc/doc.sh105
1 files changed, 105 insertions, 0 deletions
diff --git a/doc/doc.sh b/doc/doc.sh
new file mode 100755
index 0000000..36528fd
--- /dev/null
+++ b/doc/doc.sh
@@ -0,0 +1,105 @@
+#! /usr/bin/env bash
+
+version=4.1.0.a11
+
+trap 'exit 1' ERR
+set -o errtrace # Trap in functions.
+
+function info () { echo "$*" 1>&2; }
+function error () { info "$*"; exit 1; }
+
+date="$(date +"%B %Y")"
+copyright="$(sed -n -re 's%^Copyright \(c\) (.+)\.$%\1%p' ../LICENSE)"
+
+while [ $# -gt 0 ]; do
+ case $1 in
+ --clean)
+ rm -f xsd.xhtml xsd.1
+ rm -f cxx/parser/guide/cxx-parser-guide.{ps,pdf}
+ rm -f cxx/tree/guide/cxx-tree-guide.{ps,pdf}
+ rm -f cxx/tree/manual/cxx-tree-manual.{ps,pdf}
+ exit 0
+ ;;
+ *)
+ error "unexpected $1"
+ ;;
+ esac
+done
+
+ops=(\
+-v project="xsd" \
+-v version="$version" \
+-v date="$date" \
+-v copyright="$copyright" \
+-I ../xsd \
+--stdout \
+--suppress-undocumented \
+--exclude-base)
+
+# XHTML
+#
+# Common options.
+#
+cli "${ops[@]}" --generate-html --class CXX::options --class options \
+--html-prologue-file xsd-prologue.xhtml \
+../xsd/cxx/options.cli >xsd.xhtml
+
+# C++/Tree options.
+#
+cli "${ops[@]}" --generate-html \
+--html-prologue-file xsd-tree-header.xhtml \
+../xsd/cxx/tree/options.cli >>xsd.xhtml
+
+# C++/Parser options.
+#
+cli "${ops[@]}" --generate-html \
+--html-prologue-file xsd-parser-header.xhtml \
+--html-epilogue-file xsd-epilogue.xhtml \
+../xsd/cxx/parser/options.cli >>xsd.xhtml
+
+# MAN
+#
+# Common options.
+#
+cli "${ops[@]}" --generate-man --class CXX::options --class options \
+--man-prologue-file xsd-prologue.1 \
+../xsd/cxx/options.cli >xsd.1
+
+# C++/Tree options.
+#
+cli "${ops[@]}" --generate-man \
+--man-prologue-file xsd-tree-header.1 \
+../xsd/cxx/tree/options.cli >>xsd.1
+
+# C++/Parser options.
+#
+cli "${ops[@]}" --generate-man \
+--man-prologue-file xsd-parser-header.1 \
+--man-epilogue-file xsd-epilogue.1 \
+../xsd/cxx/parser/options.cli >>xsd.1
+
+# PS, PDF
+#
+# C++/Parser guide.
+#
+html2ps -f cxx/parser/guide/guide.html2ps \
+-o cxx/parser/guide/cxx-parser-guide.ps cxx/parser/guide/index.xhtml
+
+ps2pdf14 -dOptimize=true -dEmbedAllFonts=true \
+cxx/parser/guide/cxx-parser-guide.ps cxx/parser/guide/cxx-parser-guide.pdf
+
+# C++/Tree guide.
+#
+html2ps -f cxx/tree/guide/guide.html2ps \
+-o cxx/tree/guide/cxx-tree-guide.ps cxx/tree/guide/index.xhtml
+
+ps2pdf14 -dOptimize=true -dEmbedAllFonts=true \
+cxx/tree/guide/cxx-tree-guide.ps cxx/tree/guide/cxx-tree-guide.pdf
+
+# C++/Tree manual.
+#
+html2ps -f cxx/tree/manual/manual.html2ps \
+-o cxx/tree/manual/cxx-tree-manual.ps cxx/tree/manual/index.xhtml
+
+ps2pdf14 -dOptimize=true -dEmbedAllFonts=true \
+cxx/tree/manual/cxx-tree-manual.ps cxx/tree/manual/cxx-tree-manual.pdf