#!/bin/bash rootDir='./site/' targetDir='post/' source .creds url="https://$user:$pass@neocities.org/api/upload" # auto tools should be able to fix this post() { tmp=".swap" full=".fullswap" base=`basename $1` # First build the content of the site pandoc $1 > $tmp # Title, images and tables get added/fixed here sed "s/{TITLE}/${base%.*}<\/title>/g" ./templates/post-header.html > $full cat $tmp ./templates/post-footer.html >> $full sed -i 's/<img/<img class="pure-img"/g;s/<table>/<table class="pure-table">/g' $full # Move things to proper directory and cleanup mv $full "$rootDir/$targetDir/${base%.*}.html" rm -f $tmp } upload() { cd $rootDir name='' # first the root pages find -type f | xargs 'name=basename %';curl -f "$name=@%" $url } _help() { echo 'Options: -p [postDirectory/*] -r (build root pages) -s (copy stylesheets)' } mkdir -p "$rootDir/post" if [ -z $1 ] then _help exit 0 fi while getopts ":srhup:" opt;do case "$opt" in s) cp style.css "$rootDir" # root stylesheet cp style.css "$rootDir/$targetDir" # post stylesheet exit 0 ;; r) # Fix targetDir so that it points to the root of the site output targetDir='' post './prebuild/about.md' post './prebuild/links.md' post './prebuild/index.md' exit 0 ;; p) for file in ${@:2};do #echo $file post $file done ;; u) upload;; # this needs a proper fix according to api h) _help;; esac done