stevengibone.com/gengem

56 lines
1.1 KiB
Bash
Executable file

#! /usr/bin/env bash
usage () {
echo "\
Usage: gengem [options]
Options:
-h, --help show this message"
}
generate() {
DIR=~/dev/gemini-capsule/
rm articles.gmi
echo "generating articles.gmi"
ls $DIR/content/gemlog | grep -v 'index' | sort -r \
| while read fname; do
DATE=$(echo "$fname" | sed "s/_.*//")
TITLE=$(head -1 $DIR/content/gemlog/$fname | sed "s/# //")
echo "=> $fname $DATE - $TITLE" >> $DIR/articles.gmi
done
echo "generating gemlog/index.gmi"
sed -i -e "/^## logs/,//{
/^#/!d
}" -e "/^## logs/{
a
r $DIR/articles.gmi
}" $DIR/content/gemlog/index.gmi
echo "generating index.gmi"
printf '
=> tinylog.gmi tinylogs go here
=> gemlog/index.gmi full gemlogs here\n\n%s' "$(head $DIR/articles.gmi)" \
| cat $DIR/in.gmi - > $DIR/content/index.gmi
echo "DONE :)"
}
synchronise() {
DIR=~/dev/gemini-capsule/content/
TSERVER=inol@hypatia.stevengibone.com:/home/inol/gemini
rsync -aP -e "ssh -p 1312" $DIR $TSERVER
}
if [[ $# == 0 || $1 == "-h" || $1 == "--help" ]]; then
usage
exit 0
elif [[ $1 == "gen" ]]; then
generate
exit 0
elif [[ $1 == "sync" ]]; then
synchronise
exit 0
fi