# Build everything then deploy # default: site (docs "pdf") (docs "epub") (docs "txt") images deploy default: site images deploy # Deploy website deploy: # Deploying website ... rsync -qavmzz public/ hel1:/var/www/secluded/ # Website deployed # Build website site: # Building website ... hugo --quiet ## Build documents of filetype ext #docs ext: # #!/usr/bin/env bash # # echo -e '\033[1m# Checking whether there are new {{uppercase(ext)}}s to generate ...\033[0m' # # export WEBROOT=public # # published=$(grep -ilr --include \*.md "draft: false" content) # # todo="" # # # Iterate through all non-drafts # for path in $published # do # filename=$(basename "$path") # name=$(echo "${filename%.*}") # # Check whether target doc is newer than Markdown file # if [ "$path" -nt "public/$name/$name.{{ext}}" ] # then # todo+="$path " # fi # done # # if [ -z "$todo" ] # then # echo "No {{uppercase(ext)}}s to generate" # exit 0 # else # for path in $todo # do # filename=$(basename "$path") # name=$(echo "${filename%.*}") # echo "Generating $name.{{ext}}" # # if [ "{{ext}}" == "pdf" ] # then # pandoc --quiet -f markdown -t pdf --lua-filter=pandoc_config/images.lua --pdf-engine=xelatex -V 'linkcolor:blue' --listings -H pandoc_config/styles.tex $path -o public/$name/$name.pdf # elif [ "{{ext}}" == "epub" ] # then # pandoc --quiet -f markdown -t epub3 --lua-filter=pandoc_config/images.lua --pdf-engine=xelatex -V 'linkcolor:blue' --listings -H pandoc_config/styles.tex $path -o public/$name/$name.epub # elif [ "{{ext}}" == "txt" ] # then # pandoc --quiet -f markdown -t plain --lua-filter=pandoc_config/images.lua $path -o public/$name/$name.txt # fi # done # fi # Generate cover images images: #!/usr/bin/env bash echo -e '\033[1m# Checking whether there are cover images to generate ...\033[0m' published=$(grep -ilr --include \*.md "draft: false" content) todo="" # Iterate through all non-drafts for path in $published do filename=$(basename "$path") name=$(echo "${filename%.*}") # Check whether target doc is newer than Markdown file if [ "$path" -nt "public/$name/cover.png" ] then todo+="$path " fi done if [ "content/_index.md" -nt "public/cover.png" ] then p2c -o public/cover.png -t "A Secluded Home" -s "Personal corner of the web for a musician, developer, sysadmin, podcaster, and small business owner" fi if [ -z "$todo" ] then echo "No covers to generate" exit 0 else for path in $todo do filename=$(basename "$path") name=$(echo "${filename%.*}") echo "Generating cover for $name" p2c -i $path -o public/$name/cover.png done fi # Generate feeds post from OPML file in /tmp/subscriptions.opml opml: go install git.sr.ht/~amolith/opml2md@latest opml2md -i /tmp/subscriptions.opml -o content/feeds.md -x static/feeds.opml -t opml.tmpl -g "Software Updates,Newsletters" # Run development server serve: hugo server # Run development server served: hugo server -D