From 16f64b74b9251a1c26ba1729e0743bf28dee4a1f Mon Sep 17 00:00:00 2001 From: /dev/urandom Date: Wed, 19 Jan 2022 12:20:44 +0300 Subject: [PATCH] better escaping for RSS --- Makefile | 6 +++--- blogindex.sh | 16 ++++++++++------ 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 4ed9a70..e163940 100644 --- a/Makefile +++ b/Makefile @@ -40,15 +40,15 @@ all: $(OUTDIR)/blog/index.html $(OUTDIR)/dc/blog/index.html $(OUTDIR)/blog/main. upload: ./upload.sh -$(OUTDIR)/dc/blog/index.html: $(_BLOG_PAGES) $(TPLDIR)/blog_header.md $(TPLDIR)/blog_footer.md $(TPLDIR)/dreamcast.tpl +$(OUTDIR)/dc/blog/index.html: $(_BLOG_PAGES) $(TPLDIR)/blog_header.md $(TPLDIR)/blog_footer.md $(TPLDIR)/dreamcast.tpl blogindex.sh @mkdir -p $(@D) ./blogindex.sh | $(THEME) $(DC_THEME_FLAGS) -t $(TPLDIR)/dreamcast.tpl -p blog/index.html -o $@ -$(OUTDIR)/blog/index.html: $(_BLOG_PAGES) $(TPLDIR)/blog_header.md $(TPLDIR)/blog_footer.md $(TPLDIR)/default.tpl +$(OUTDIR)/blog/index.html: $(_BLOG_PAGES) $(TPLDIR)/blog_header.md $(TPLDIR)/blog_footer.md $(TPLDIR)/default.tpl blogindex.sh @mkdir -p $(@D) ./blogindex.sh | $(THEME) $(THEME_FLAGS) -t $(TPLDIR)/default.tpl -p blog/index.html -o $@ -$(OUTDIR)/blog/main.rss: $(_BLOG_PAGES) +$(OUTDIR)/blog/main.rss: $(_BLOG_PAGES) blogindex.sh @mkdir -p $(@D) ./blogindex.sh -r > $@ diff --git a/blogindex.sh b/blogindex.sh index bd36bcf..d40131a 100755 --- a/blogindex.sh +++ b/blogindex.sh @@ -16,6 +16,10 @@ FILES=`ls $DIRECTORY/*.md -1 | sort` RETURNDATE="" +function rss_escape { + echo "$1" | sed 's/&/\&/g; s//\>/g; s/"/\"/g; s/'"'"'/\'/g' +} + function printcut { # argument 1: filename @@ -64,9 +68,9 @@ cat << RSSHEADER -rnd's blog -https://devurandom.xyz/blog -The RSS feed of articles published on the blog thingy +$(rss_escape "${RSSTITLE}") +$(rss_escape "${BASEURL}/blog") +$(rss_escape "${RSSDESC}") RSSHEADER else cat tpl/blog_header.md @@ -86,7 +90,7 @@ for f in $FILES; do if [ $RSSMODE ]; then echo "" - echo "$TITLE" + echo "$(rss_escape "$TITLE")" echo "https://devurandom.xyz/blog/$OUTPAGE" echo "https://devurandom.xyz/blog/$OUTPAGE" if [ $MTIME -gt 0 ]; then @@ -96,9 +100,9 @@ for f in $FILES; do fi echo "$RDATE" fi - DESCRIPTION="`printcut $f`" + DESCRIPTION="$(printcut $f)" if [ $? -eq 0 ]; then - echo "$DESCRIPTION" + echo "$(rss_escape "$DESCRIPTION")" fi echo "" else