blog/make
2019-09-13 14:34:53 -07:00

75 lines
1.5 KiB
Bash
Executable File

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