diff --git a/Makefile b/Makefile
index df5fcc0..67b99fd 100644
--- a/Makefile
+++ b/Makefile
@@ -50,7 +50,7 @@ $(OUTDIR)/blog/index.html: $(_BLOG_PAGES) $(TPLDIR)/blog_header.md $(TPLDIR)/blo
$(OUTDIR)/blog/main.rss: $(_BLOG_PAGES)
@mkdir -p $(@D)
- ./blogrss.sh > $@
+ ./blogindex.sh -r > $@
$(OUTDIR)/text/%.txt: $(PAGEDIR)/text/%.txt
@mkdir -p $(@D)
diff --git a/blogindex.sh b/blogindex.sh
index db697ee..2a55164 100755
--- a/blogindex.sh
+++ b/blogindex.sh
@@ -1,5 +1,15 @@
#!/bin/bash
+RSSMODE=
+
+while getopts r name
+do
+ case $name in
+ r) RSSMODE=1;;
+ ?) printf "Usage: %s [-r]\n" $0; exit 1;;
+ esac
+done
+
DIRECTORY="pages/blog"
FILES=`ls $DIRECTORY/*.md -1 | sort`
@@ -12,7 +22,7 @@ function printcut {
CUT=`grep -m 1 -n '[[:space:]]*' $1`
if [ -n "$CUT" ]; then
CUTLINE=`echo "$CUT" | cut -d ':' -f 1`
- head -n $(($CUTLINE - 1)) $1 | grep -v '^%' | sed 's/^/> /'
+ head -n $(($CUTLINE - 1)) $1 | grep -v '^%'
else
return 1
fi
@@ -48,7 +58,20 @@ done
# resort by resulting times
FILES=`cat blogdates.txt | sort -nr | cut -f 2-`
-cat tpl/blog_header.md
+if [ $RSSMODE ]; then
+cat << RSSHEADER
+
+
+
+rnd's blog
+https://rnd.neocities.org/blog
+The RSS feed of articles published on the blog thingy
+RSSHEADER
+
+else
+ cat tpl/blog_header.md
+fi
+
for f in $FILES; do
@@ -61,13 +84,40 @@ for f in $FILES; do
OUTPAGE=${f%.md}.html
OUTPAGE=${OUTPAGE#pages/blog/}
- if [ $MTIME -gt 0 ]; then
- echo " * [$TITLE]($OUTPAGE) (`date -d "@$MTIME" "+%Y-%m-%d"`)"
+ if [ $RSSMODE ]; then
+ echo "- "
+ echo "$TITLE"
+ echo "https://rnd.neocities.org/blog/$OUTPAGE"
+
+ if [ $MTIME -gt 0 ]; then
+ RDATE=`date -R -u -d @$MTIME`
+ if [[ "$RDATE" == *UTC ]]; then
+ RDATE="${RDATE%UTC}+0000"
+ fi
+ echo "$RDATE"
+ fi
+ DESCRIPTION="`printcut $f`"
+ if [ $? -eq 0 ]; then
+ DESC_HTML=`echo "$DESCRIPTION" | markdown`
+ echo "$DESC_HTML"
+ fi
+ echo "
"
else
- echo " * [$TITLE]($OUTPAGE)"
+ if [ $MTIME -gt 0 ]; then
+ echo " * [$TITLE]($OUTPAGE) (`date -d "@$MTIME" "+%Y-%m-%d"`)"
+ else
+ echo " * [$TITLE]($OUTPAGE)"
+ fi
+
+ printcut $f | sed 's/^/> /'
fi
-
- printcut $f
done
+if [ $RSSMODE ]; then
+cat << RSSFOOTER
+
+
+RSSFOOTER
+else
cat tpl/blog_footer.md
+fi
diff --git a/blogrss.sh b/blogrss.sh
deleted file mode 100755
index 4a59636..0000000
--- a/blogrss.sh
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/bin/bash
-
-DIRECTORY="pages/blog"
-
-FILES=`ls $DIRECTORY/*.md -1 | sort`
-
-RETURNDATE=""
-
-function printcut {
-# argument 1: filename
-
- CUT=`grep -m 1 -n '[[:space:]]*' $1`
- if [ -n "$CUT" ]; then
- CUTLINE=`echo "$CUT" | cut -d ':' -f 1`
- head -n $(($CUTLINE - 1)) $1 | grep -v '^%'
- else
- return 1
- fi
-}
-
-# date is read from the 3rd %ed line of the document or from the git commit date
-function getdate {
-
- FILEDATE=`grep "^%" $1 | sed '3q;d' | cut -d ' ' -f 2-`
-
- if [ $? -eq 0 ]; then
- FTIME=`date -u --date="$FILEDATE" "+%s"`
- else
- RETURNDATE=0
- return 1
- fi
-
- if [ $? -eq 0 ]; then
- RETURNDATE=$FTIME
- return 0
- else
- RETURNDATE=0
- return 0
- fi
-}
-
-echo -n > blogdates.txt
-for f in $FILES; do
- getdate $f
- printf "%d\t%s\n" $RETURNDATE $f >> blogdates.txt
-done
-
-# resort by resulting times
-FILES=`cat blogdates.txt | sort -nr | cut -f 2-`
-
-cat << RSSHEADER
-
-
-
-rnd's blog
-https://rnd.neocities.org/blog
-The RSS feed of articles published on the blog thingy
-RSSHEADER
-
-for f in $FILES; do
-
- getdate $f
- MTIME=$RETURNDATE
-
- TITLE=`head -n 1 $f`
- TITLE=${TITLE#"% "}
-
- OUTPAGE=${f%.md}.html
- OUTPAGE=${OUTPAGE#pages/blog/}
-
- echo "- "
- echo "$TITLE"
- echo "https://rnd.neocities.org/blog/$OUTPAGE"
-
- if [ $MTIME -gt 0 ]; then
- RDATE=`date -R -u -d @$MTIME`
- if [[ "$RDATE" == *UTC ]]; then
- RDATE="${RDATE%UTC}+0000"
- fi
- echo "$RDATE"
- fi
- DESCRIPTION="`printcut $f`"
- if [ $? -eq 0 ]; then
- DESC_HTML=`echo "$DESCRIPTION" | markdown`
- echo "$DESC_HTML"
- fi
- echo "
"
-
-done
-
-cat << RSSFOOTER
-
-
-RSSFOOTER