2021-09-26 19:27:49 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
usage() {
|
2021-10-01 00:26:50 +00:00
|
|
|
echo "$0 directory"
|
2021-09-26 19:27:49 +00:00
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
die() {
|
|
|
|
echo "$1"
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
2021-09-29 11:16:12 +00:00
|
|
|
testsite=0
|
|
|
|
if [ "$1" = "-t" ]
|
|
|
|
then
|
|
|
|
testsite=1
|
|
|
|
shift
|
|
|
|
fi
|
|
|
|
|
2021-09-26 19:27:49 +00:00
|
|
|
DIR=$(basename $1)
|
2021-09-27 12:06:08 +00:00
|
|
|
DESTFILENAME=$2
|
2021-09-26 19:27:49 +00:00
|
|
|
CURINODE=$(stat -f "%i" current/)
|
|
|
|
|
|
|
|
test -d "$DIR" || usage
|
|
|
|
test -d ../public/ || die "You must run this from openbsd-webzine/current"
|
|
|
|
ls $DIR/*.html 2>&1 >/dev/null || die "no html file in $DIR"
|
|
|
|
|
2021-09-29 16:44:26 +00:00
|
|
|
. ./${DIR}/metadata.sh
|
|
|
|
|
2021-09-29 16:59:03 +00:00
|
|
|
if [ "$testsite" -eq 0 ] && [ "$(stat -f '%i' $DIR)" -eq "$CURINODE" ]
|
2021-09-26 19:27:49 +00:00
|
|
|
then
|
|
|
|
DEST=dev
|
|
|
|
else
|
|
|
|
DEST=public
|
|
|
|
fi
|
|
|
|
|
2021-09-27 12:06:08 +00:00
|
|
|
if test -z "$DESTFILENAME"
|
|
|
|
then
|
|
|
|
DESTFILENAME="../${DEST}/${DIR}.html"
|
|
|
|
fi
|
|
|
|
|
|
|
|
cat _common/header $DIR/*html _common/footer > $DESTFILENAME
|
2021-09-26 21:53:43 +00:00
|
|
|
|
2021-09-30 20:29:18 +00:00
|
|
|
if ! [ "$DIR" = "_index" ]
|
|
|
|
then
|
2021-10-04 18:05:05 +00:00
|
|
|
set -e
|
2021-09-30 20:29:18 +00:00
|
|
|
# replace with issue number
|
|
|
|
issue="${1#issue-}"
|
|
|
|
sed -i "s/__ISSUE__/${issue}/g" $DESTFILENAME
|
2021-10-01 21:27:20 +00:00
|
|
|
sed -i "s/__TITLE__/issue #${issue}/g" $DESTFILENAME
|
|
|
|
sed -i "s/__FILENAME__/issue-${issue}.html/" $DESTFILENAME
|
2021-10-03 09:43:16 +00:00
|
|
|
# replace date
|
2021-10-04 18:05:05 +00:00
|
|
|
DATETIME="$(date -j -f "%Y-%m-%dT%H:%M:%SZ" "${PUBLISHED_DATE}" +"%Y-%m-%d %H:%M")" 2>/dev/null
|
2021-10-03 09:43:16 +00:00
|
|
|
HUMAN_DATE="$(date -j -f "%Y-%m-%dT%H:%M:%SZ" "${PUBLISHED_DATE}" +"%B %e, %Y")" 2>/dev/null
|
|
|
|
|
2021-10-04 18:05:05 +00:00
|
|
|
if [ $? -ne 0 ];
|
|
|
|
then
|
2021-10-03 09:43:16 +00:00
|
|
|
echo "err: Please fill ${DIR}/metadata.sh with ISO-8601 valid date"
|
|
|
|
exit 1
|
|
|
|
fi
|
2021-10-04 18:05:05 +00:00
|
|
|
sed -i "s,__DATETIME__,${DATETIME}," $DESTFILENAME
|
|
|
|
sed -i "s/__HUMAN_DATE__/${HUMAN_DATE}/" $DESTFILENAME
|
2021-09-30 20:29:18 +00:00
|
|
|
else
|
2021-10-03 09:43:16 +00:00
|
|
|
# index.html changes
|
2021-10-04 18:05:05 +00:00
|
|
|
sed -i "s/ #__ISSUE__//g" $DESTFILENAME
|
2021-10-01 21:27:20 +00:00
|
|
|
sed -i "s/__TITLE__/homepage/g" $DESTFILENAME
|
|
|
|
sed -i "s/__FILENAME__/index.html/" $DESTFILENAME
|
2021-09-30 20:29:18 +00:00
|
|
|
fi
|
2021-09-26 21:53:43 +00:00
|
|
|
|