allow to create an issue on Linux

This commit is contained in:
Solene Rapenne 2022-07-02 15:23:07 +02:00
parent 71777e5d90
commit 61d8731a0a
3 changed files with 42 additions and 13 deletions

View File

@ -6,7 +6,7 @@ tagfirst="2021" # see https://validator.w3.org/feed/docs/error/InvalidTAG.html
# exit if no public issue found
ls ../public/issue-*.html >/dev/null 2>&1
date_updated=$(date +%Y-%m-%dT%TZ)
date_updated=$(env LC_TIME=C TZ=UTC date +%Y-%m-%dT%TZ)
cat <<EOF
<?xml version="1.0" encoding="utf-8"?>
@ -26,7 +26,12 @@ for page in ../public/issue-*.html ; do
issue=$(echo $page | grep -oE "issue\-[0-9]+")
title=$(echo $issue | awk -F '-' '{ print "Issue #"$NF }')
. ./$issue/metadata.sh
tag="$(echo -n ${issue} | sha256)"
if test -f /bsd # OpenBSD
then
tag="$(echo -n ${issue} | sha256)"
else
tag="$(echo -n ${issue} | sha256sum | cut -d ' ' -f 1)"
fi
cat <<EOF
<entry>

View File

@ -20,7 +20,24 @@ fi
DIR=$(basename $1)
DESTFILENAME=$2
CURINODE=$(stat -f "%i" current/)
if test -f /bsd # OpenBSD
then
CURINODE=$(stat -f "%i" current/metadata.sh)
if [ "$testsite" -eq 0 ] && [ "$(stat -f '%i' $DIR/metadata.sh)" -eq "$CURINODE" ]
then
DEST=dev
else
DEST=public
fi
else # assuming linux
CURINODE=$(stat --format="%i" current/metadata.sh)
if [ "$testsite" -eq 0 ] && [ "$(stat --format="%i" $DIR/metadata.sh)" -eq "$CURINODE" ]
then
DEST=dev
else
DEST=public
fi
fi
LNSFX=""
if [ -n "$LN" ]; then
@ -33,13 +50,6 @@ ls $DIR/${LNSFX}*.html 2>&1 >/dev/null || die "no ${LN} html file in $DIR"
. ./${DIR}/metadata.sh
if [ "$testsite" -eq 0 ] && [ "$(stat -f '%i' $DIR)" -eq "$CURINODE" ]
then
DEST=dev
else
DEST=public
fi
if test -z "$DESTFILENAME"
then
DESTFILENAME="../${DEST}/${LNSFX}${DIR}.html"
@ -62,8 +72,14 @@ then
sed -i "s/__TITLE__/issue #${issue}/g" $DESTFILENAME
sed -i "s/__FILENAME__/issue-${issue}.html/" $DESTFILENAME
# replace date
DATETIME="$(date -j -f "%Y-%m-%dT%H:%M:%SZ" "${PUBLISHED_DATE}" +"%Y-%m-%d %H:%M")"
HUMAN_DATE="$(date -j -f "%Y-%m-%dT%H:%M:%SZ" "${PUBLISHED_DATE}" +"%B %e, %Y")"
if test -f /bsd # on OpenBSD
then
DATETIME="$(date -j -f "%Y-%m-%dT%H:%M:%SZ" "${PUBLISHED_DATE}" +"%Y-%m-%d %H:%M")"
HUMAN_DATE="$(date -j -f "%Y-%m-%dT%H:%M:%SZ" "${PUBLISHED_DATE}" +"%B %e, %Y")"
else # assuming Linux
DATETIME="$(env LC_TIME=C TZ=UTC date --date="${PUBLISHED_DATE}" "+%Y-%m-%d %H:%M")"
HUMAN_DATE="$(env LC_TIME=C TZ=UTC date --date="${PUBLISHED_DATE}" "+%B %e, %Y")"
fi
if [ $? -ne 0 ];
then

View File

@ -22,9 +22,17 @@ EOF
cd "$2"
find . -name \*.html | cut -d'/' -f2- | while read -r page
do
if test -f /bsd
then
printf '<url><loc>%s</loc><lastmod>%s</lastmod></url>\n' \
"https://${ndd}/${page}"\
"$(date -r $(stat -f %m ${l}) +%Y-%m-%d)"
"$(date -r $(stat -f %m) +%Y-%m-%d)"
else
set -x
printf '<url><loc>%s</loc><lastmod>%s</lastmod></url>\n' \
"https://${ndd}/${page}"\
"$(env LC_TIME=C TZ=UTC date +%Y-%m-%d)"
fi
done
echo "</urlset>"