gronk/notes2web
2021-04-30 22:08:15 +01:00

61 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
[[ -z "$1" ]] && echo "USAGE: $0 NOTES_DIRECTORY_1 [NOTES_DIRECTORY_2 [...]]" && exit 0
function _render {
echo "rendering $1"
pandoc\
--toc\
--standalone\
-t html\
--template /opt/notes2web/templates/article.html\
-o "$(dirname "$1")/index.html"\
"$1"\
--mathjax
}
function _renderindex {
echo "rendering $1"
pandoc\
-t html\
--template /opt/notes2web/templates/index.html\
-o index.html\
"$1"
}
function _addtolist {
echo "adding $1 to list of notes"
pandoc\
-t html\
-V "filepath=$(dirname "$1")"\
--template /opt/notes2web/templates/listitem.html\
"$1"\
>> index.md
}
export -f _render
export -f _addtolist
#render each markdown file
for var in "$@"
do
find "$var" -name '*.md' -exec bash -c "_render '{}'" \;
done
# create an intermediate markdown file of links to each article
echo "---
title: alv's notes
---" > index.md
for var in "$@"
do
echo "<h1>$var notes</h1>" >> index.md
find "$var" -name '*.md' -exec bash -c "_addtolist '{}'" \;
done
_renderindex index.md
echo "copying styles.css to current directory"
cp /opt/notes2web/styles.css .