#!/bin/bash
rootDir='./site/'
targetDir='post/'
if [ -f .creds ] 
then
	source .creds
	url="https://$user:$pass@neocities.org/api/upload"
fi

# 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}/<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