#!/usr/bin/env bash [[ "$1" == "--help" ]] && 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 _adddirtoindex { dir="$(dirname "$1")" echo "

$(basename "$dir") notes

" >> index.md find "$dir" -name '*.md' -exec bash -c "_addarticletoindex '{}'" \; } function _addarticletoindex { 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 _adddirtoindex export -f _addarticletoindex #render each markdown file for file in "$@" do find "$file" -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 file in "$@" do [[ ! -f "$file" ]] && echo "the presence of this files tells notes2web that it should be added to the notes2web index" > "$file/.2web" done find -name '.2web' -exec bash -c "_adddirtoindex '{}'" \; _renderindex index.md echo "copying styles.css to current directory" cp /opt/notes2web/styles.css .