documentation/helpers.sh

75 lines
2.7 KiB
Bash

# Documentation generation helpers
# Generates LaTeX book and PDF
function generateBook()
{
# Run twice because latex
pandoc -F pandoc-plot -M plot-configuration=pandoc-plot-book.conf -f markdown --top-level-division=part --number-sections --toc docs_src/00-bookindex.md docs_src/01-dedication.md docs_src/introduction/*.md docs_src/language/*.md docs_src/implementation/* \
-s -t latex --highlight-style kate
pandoc -F pandoc-plot -f markdown --top-level-division=part --number-sections --toc docs_src/00-bookindex.md docs_src/01-dedication.md docs_src/introduction/*.md docs_src/language/*.md docs_src/implementation/* \
-s -t latex --highlight-style kate | pdflatex > /dev/null
mv texput.pdf book.pdf
}
# Generates updated markdown based on sources
function generateMarkdown()
{
# Site docs
#
# Copied over
siteDocs="$(ls docs_src/*.md) $(ls docs_src/journal/*) docs_src/logo.png"
for doc in $siteDocs
do
echo "Converting markdown for doc '$doc'..."
# pandoc -F pandoc-plot -M plot-configuration=pandoc-plot.conf -f gfm -t gfm "$doc" -o "docs/$(echo $doc | cut -b 9-)"
cp -r $doc "docs/$(echo $doc | cut -b 9-)"
echo "Converting markdown for doc '$doc'... [done]"
done
# Documentation docs
#
# From markdown, filtered through pandoc-plot, to markdown
docs="$(ls docs_src/introduction/*.md) $(ls docs_src/language/*.md $(ls docs_src/implementation/*.md))"
for doc in $docs
do
echo "Converting markdown for doc '$doc'..."
outputFile="docs/$(echo $doc | cut -b 9-)"
pandoc -F pandoc-plot -M plot-configuration=pandoc-plot.conf -f markdown -t gfm "$doc" -o "$outputFile"
echo "$(cat $outputFile | sed -e s/docs\\//\\/projects\\/tlang\\//)" > "$outputFile"
cat "$outputFile"
# break
echo "Converting markdown for doc '$doc'... [done]"
done
}
# Generates a single page AsciiDoc document and converts to HTML then
function doAsciiDoc()
{
pandoc -F pandoc-plot -M plot-configuration=pandoc-plot-book.conf -f markdown --top-level-division=part --number-sections --toc docs_src/00-bookindex.md docs_src/01-dedication.md docs_src/introduction/*.md docs_src/language/*.md docs_src/implementation/* -s -t asciidoc --highlight-style kate > book.ad
asciidoc -d book book.ad
mv book.html tlang.html
}
# Generate graphs
function generateGraphs()
{
circoGraphs="$(ls docs/graphs/*.circo)"
for graph in $circoGraphs
do
cat $graph | circo -Tpng -o$graph.png
cat $graph | circo -Tsvg -o$graph.svg
done
dotGraphs="$(ls docs/graphs/*.dot)"
for graph in $dotGraphs
do
cat $graph | dot -Tpng -o$graph.png
cat $graph | dot -Tsvg -o$graph.svg
done
}