1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
#!/bin/bash
LIBFOLDER="libraries"
DOCFOLDER="documentation"
PLATFORM=$(uname)
for p in $@; do
if [ $p = "-help" ] || [ $p = "-h" ]; then
echo "Just run it! It will automatically look for all the .lib files and generate the corresponding documentation in /doc."
exit 1
fi
done
FILES="analyzer.lib basic.lib compressor.lib delay.lib demo.lib envelope.lib filter.lib hoa.lib math.lib misceffect.lib miscoscillator.lib noise.lib phafla.lib pm.lib reverb.lib route.lib signal.lib spat.lib synth.lib vaeffect.lib"
mkdir tmp
mkdir tmp/title
echo "% Faust Standard Libraries" > tmp/title/title.md
for p in $FILES; do
(faust2md "$LIBFOLDER/$p" > tmp/${p%.lib}.md) || exit
done
# Generate the raw html version of the doc
(pandoc --toc --standalone "$LIBFOLDER/README.md" "$LIBFOLDER/doc/standardFunctions.md" tmp/*.md -o "$DOCFOLDER/library.html") || exit
# Generate the PDF doc
(pandoc --toc tmp/title/title.md "$LIBFOLDER/README.md" "$LIBFOLDER/doc/standardFunctions.md" tmp/*.md -s -o "$DOCFOLDER/library.pdf") || exit
# Reformatting the html file with the right template
if [ $PLATFORM = "Darwin" ]; then
(sed -i "" "s/<title>/<title>Faust Libraries Documentation/g" "$DOCFOLDER/library.html") || exit
(sed -i "" "s/<style type=\"text\/css\">code{white-space: pre;}<\/style>/<\/style><link rel=\"stylesheet\" href=\"http:\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.3.7\/css\/bootstrap.min.css\"><script src=\"https:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/1.12.4\/jquery.min.js\">\n<\/script><script src=\"http:\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.3.7\/js\/bootstrap.min.js\"><\/script>/g" "$DOCFOLDER/library.html") || exit
(sed -i "" "s/<body>/<div class=\"container\"><div class=\"row\" style=\"height: 100vh;\">/g" "$DOCFOLDER/library.html") || exit
(sed -i "" "s/<\/body>/<\/div><\/div><\/body>/g" "$DOCFOLDER/library.html") || exit
(sed -i "" "s/<div id=\"TOC\">/<div class=\"col-sm-4\" id=\"TOC\" style=\"height: 100%;overflow: scroll;\">/g" "$DOCFOLDER/library.html") || exit
(sed -i "" "s/<h1 id=\"faust-libraries\">Faust Libraries<\/h1>/<div class=\"col-sm-8\" style=\"height: 100%;overflow-y: scroll\"><h1 id=\"faust-libraries\">Faust Libraries<\/h1>/g" "$DOCFOLDER/library.html") || exit
else
(sed -i 's/<title>/<title>Faust Libraries Documentation/g' "$DOCFOLDER/library.html") || exit
(sed -i 's/<style type=\"text\/css\">code{white-space: pre;}<\/style>/<\/style><link rel=\"stylesheet\" href=\"http:\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.3.7\/css\/bootstrap.min.css\"><script src=\"https:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/1.12.4\/jquery.min.js\">\n<\/script><script src=\"http:\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.3.7\/js\/bootstrap.min.js\"><\/script>/g' "$DOCFOLDER/library.html") || exit
(sed -i 's/<body>/<div class=\"container\"><div class=\"row\" style=\"height: 100vh;\">/g' "$DOCFOLDER/library.html") || exit
(sed -i 's/<\/body>/<\/div><\/div><\/body>/g' "$DOCFOLDER/library.html") || exit
(sed -i 's/<div id=\"TOC\">/<div class=\"col-sm-4\" id=\"TOC\" style=\"height: 100%;overflow: scroll;\">/g' "$DOCFOLDER/library.html") || exit
(sed -i 's/<h1 id=\"faust-libraries\">Faust Libraries<\/h1>/<div class=\"col-sm-8\" style=\"height: 100%;overflow-y: scroll\"><h1 id=\"faust-libraries\">Faust Libraries<\/h1>/g' "$DOCFOLDER/library.html") || exit
fi
rm -r tmp
|