1
0
mirror of https://github.com/TREX-CoE/qmckl.git synced 2024-11-19 20:42:50 +01:00
qmckl/tools/build_doc.sh

63 lines
1.4 KiB
Bash
Raw Normal View History

2021-03-23 22:23:49 +01:00
#!/bin/bash
2021-05-12 00:22:51 +02:00
# Extracts documentation from an org-mode file.
2021-03-10 12:58:38 +01:00
2021-10-28 17:52:03 +02:00
# Check required environment variables
# ------------------------------------
2021-03-10 12:58:38 +01:00
2021-10-28 17:52:03 +02:00
if [[ -z ${srcdir} ]] ; then
echo "Error: srcdir environment variable is not defined"
exit 1
fi
2021-03-23 22:23:49 +01:00
2022-02-17 23:30:16 +01:00
readonly DOCS=share/doc/qmckl/
2021-05-11 11:45:49 +02:00
readonly ORG=${srcdir}/org/
readonly HTMLIZE=${DOCS}/html/htmlize.el
readonly CONFIG_DOC=${srcdir}/tools/config_doc.el
readonly CONFIG_TANGLE=${srcdir}/tools/config_tangle.el
2021-03-23 22:23:49 +01:00
2021-03-10 12:58:38 +01:00
function extract_doc()
{
2021-05-12 00:22:51 +02:00
org=$1
local_html=${org%.org}.html
local_text=${org%.org}.txt
html=${DOCS}/html/$(basename ${org%.org}.html)
text=${DOCS}/text/$(basename ${org%.org}.txt)
2022-12-08 18:34:09 +01:00
${srcdir}/tools/missing \
emacs --no-init-file --no-site-lisp --quick --batch \
2021-10-28 17:52:03 +02:00
--load="${HTMLIZE}" \
--load="${CONFIG_DOC}" \
${org} \
2021-11-17 17:06:30 +01:00
--load="${CONFIG_TANGLE}" \
2021-10-28 17:52:03 +02:00
-f org-html-export-to-html \
2021-05-12 00:22:51 +02:00
-f org-ascii-export-to-ascii
2021-10-28 17:52:03 +02:00
rc=$?
if [ $rc -ne 0 ] ; then
return $rc
fi
2021-05-12 00:22:51 +02:00
mv ${local_html} ${html}
mv ${local_text} ${text}
2021-03-10 12:58:38 +01:00
}
2021-05-12 00:22:51 +02:00
for i in $@
do
exported=${i%.org}.exported
2022-02-17 23:30:16 +01:00
exported=${srcdir}/src/$(basename $exported)
2021-05-12 00:22:51 +02:00
NOW=$(date +"%m%d%H%M.%S")
2021-10-28 17:52:03 +02:00
extract_doc ${i} &> $exported
2021-10-14 21:39:08 +02:00
rc=$?
2021-03-10 12:58:38 +01:00
2021-05-12 00:22:51 +02:00
# Make log file older than the exported files
touch -t ${NOW} $exported
2021-10-14 21:39:08 +02:00
# Fail if tangling failed
2021-10-28 17:52:03 +02:00
if [ $rc -ne 0 ] ; then
2021-10-14 21:39:08 +02:00
cat $exported
2022-12-08 18:34:09 +01:00
rm $exported
2021-10-28 17:52:03 +02:00
exit $rc
2021-10-14 21:39:08 +02:00
fi
2021-05-12 00:22:51 +02:00
done
2021-03-10 12:58:38 +01:00
2021-03-23 22:23:49 +01:00