From d99696640c16738a33123114db94a073ac24ad0a Mon Sep 17 00:00:00 2001
From: squibid
Date: Sat, 11 Mar 2023 15:01:56 -0500
Subject: add blog generator + rss feed/feed generator
---
blog/newblog | 8 ++++++
blog/rss.xml | 39 +++++++++++++++++++++++++
blog/state-of-the-site.html | 4 +--
blog/sup | 69 +++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 118 insertions(+), 2 deletions(-)
create mode 100755 blog/newblog
create mode 100644 blog/rss.xml
create mode 100755 blog/sup
diff --git a/blog/newblog b/blog/newblog
new file mode 100755
index 0000000..da0def9
--- /dev/null
+++ b/blog/newblog
@@ -0,0 +1,8 @@
+#!/bin/sh
+# generate a base blog file
+
+read -p "Enter name of blog: " name
+filename="$(echo $name | sed 's/ /-/g').html"
+printf "$name\n\n\n
\n
\n" > $filename
+$EDITOR $filename
+echo "Make sure to run sup to add to rss feed!"
diff --git a/blog/rss.xml b/blog/rss.xml
new file mode 100644
index 0000000..f973733
--- /dev/null
+++ b/blog/rss.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+Your RSS Feed Title
+A brief description of your RSS feed.
+en-us
+http://yourwebsite.com/rss.xml
+
+
+
+
+
+state of the site
+https://squi.bid/state-of-the-site.html
+https://squi.bid/state-of-the-site.html
+Sat, 11 Mar 2023 15:00:32 -0500
+
+Hello o/, and welcome to my website!
+As of right now I am still setting things up, I have a git server running but I am
+still working on getting cloning to work via https. On top of the git server I also
+have a cgit instance which I have gotten close to perfect (for some reason the site
+is only sometimes in darkmode).
+
+As of right now that is all I've got running but I might be setting up a SearXNG
+instance soon.
+
+However somethings that I will never put on my server are:
+ - social media frontend's eg: invious, and mastadon
+ - probably some other things that I can't think about right now
+
+]]>
+
+
+
+
+
diff --git a/blog/state-of-the-site.html b/blog/state-of-the-site.html
index fd6ba69..2abbc6a 100644
--- a/blog/state-of-the-site.html
+++ b/blog/state-of-the-site.html
@@ -1,6 +1,6 @@
state of the site
-
+
Hello o/, and welcome to my website!
As of right now I am still setting things up, I have a git server running but I am
@@ -15,4 +15,4 @@ However somethings that I will never put on my server are:
- social media frontend's eg: invious, and mastadon
- probably some other things that I can't think about right now
-
+
diff --git a/blog/sup b/blog/sup
new file mode 100755
index 0000000..8509af7
--- /dev/null
+++ b/blog/sup
@@ -0,0 +1,69 @@
+#!/bin/sh
+
+[ ! -f "$1" ] &&
+ echo "Give \`sup\` a page which has been added/updated." &&
+ exit 1
+
+# You will want to change these variables to your needs.
+website="https://squi.bid"
+rssfile="rss.xml"
+
+# In order to cleanly use sed on a multi-line file, we have to use `tr` to
+# convert newlines to a set character, then run sed, then reconvert the
+# character. Unfortunately, due to a current issue in GNU's tr, characters of
+# more than one byte are not functioning properly. It would be more ideal to
+# use a rarer character (some random Tamil character, for example), but ^ is
+# one byte.
+replchar='^'
+# So if you have a page with ^ in it, you'll have to change this to another
+# single byte character that isn't in the page like ~ or something.
+
+link="$website/$1"
+title="$(sed -n 's/\(.*\)<\/title>/\1/Ip' "$1")"
+
+# Check and see if this page has already been added to the RSS feed.
+if grep -q "$link" "$rssfile"; then
+ # Do this if it has been adding and we are updating it.
+
+ # If updating a file, we append the time/date to the GUID, as all GUIDs
+ # must be unique to validate an RSS feed. Even feed readers that follow
+ # GUIDs will still be lead to the same page with this.
+ guid="$link#$(date '+%y%m%d%H%M%S')"
+ title="$title (Updated)"
+ echo "Explain the nature of the update:"
+ read -r content
+ [ -z "$content" ] && content="New updates to $link"
+else
+ # Do this if it is a new page.
+
+ guid=$link
+ # Get the page body content, excluding the nav and footer.
+ content="$(tr '\n' $replchar < "$1" | sed "
+ s/.*//
+ s/