diff --git a/notes2web b/notes2web index 0a48371..69bc4b1 100755 --- a/notes2web +++ b/notes2web @@ -2,11 +2,13 @@ [[ "$1" == "--help" ]] && echo "USAGE: $0 [NOTES_DIRECTORY_1 [NOTES_DIRECTORY_2 [...]]]" && exit 0 + for configpath in "$HOME/.notes2web.conf" "$HOME/.config/notes2web/config" ".notes2web.conf" do [[ -f "$configpath" ]] && source "$configpath" done + function _renderarticle { echo "rendering $1" pandoc\ @@ -19,12 +21,14 @@ function _renderarticle { --mathjax } + 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\ @@ -35,35 +39,43 @@ function _addarticletoindex { >> index.md } + export -f _renderarticle export -f _adddirtoindex export -f _addarticletoindex -#render each markdown file + +#render each markdown file in every folder passed in args for file in "$@" do find "$file" -name '*.md' -exec bash -c "_renderarticle '{}'" \; done + # create an intermediate markdown file of links to each article echo "---" > index.md [[ -z "$name" ]] && echo "title: notes" >> index.md || echo "title: ${name}'s notes" >> index.md echo "---" >> index.md + +# mark folders to be included in notes2web's index 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 -# add articles to index + +# add articles to index and render find -name '.2web' -exec bash -c "_adddirtoindex '{}'" \; + +echo "copying styles.css to current directory" +cp /opt/notes2web/styles.css . + + echo "rendering index.md" pandoc\ -t html\ --template /opt/notes2web/templates/index.html\ -o index.html\ "index.md" - -echo "copying styles.css to current directory" -cp /opt/notes2web/styles.css .