summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/.gitignore4
-rwxr-xr-xdata/pyreplace.py15
-rwxr-xr-xdata/rfc822date.py27
-rw-r--r--data/template_rss_footer.xml3
-rw-r--r--data/template_rss_header.xml11
-rw-r--r--data/template_rss_item.xml10
-rwxr-xr-xdata/update.sh31
7 files changed, 98 insertions, 3 deletions
diff --git a/data/.gitignore b/data/.gitignore
index 8c1463c..1ea768b 100644
--- a/data/.gitignore
+++ b/data/.gitignore
@@ -1,3 +1,3 @@
-*.html
INDEX.md
-index.html
+*.html
+index.xml
diff --git a/data/pyreplace.py b/data/pyreplace.py
new file mode 100755
index 0000000..71e970e
--- /dev/null
+++ b/data/pyreplace.py
@@ -0,0 +1,15 @@
+#!/bin/env python3
+
+import sys
+
+if __name__ == '__main__':
+ if len(sys.argv) < 3:
+ sys.exit()
+
+ data = []
+ with open(sys.argv[3], 'r+') as file:
+ data = file.read()
+ data = data.replace(sys.argv[1], sys.argv[2])
+ file.close()
+ with open(sys.argv[3], 'w') as filew:
+ filew.write(data)
diff --git a/data/rfc822date.py b/data/rfc822date.py
new file mode 100755
index 0000000..8ea9446
--- /dev/null
+++ b/data/rfc822date.py
@@ -0,0 +1,27 @@
+#!/bin/env python3
+
+from datetime import datetime
+import sys
+
+def help():
+ print(sys.argv[0] + " YYYY-MM-DD-HHMMSS [+XXXX]")
+
+# test
+#indate = "2022-12-22-182343"
+
+timezone = "+0000"
+
+if len(sys.argv) <= 1:
+ print("error no arg")
+ help()
+ sys.exit()
+if len(sys.argv) == 3:
+ timezone = sys.argv[2]
+if len(sys.argv) > 3:
+ print("error > 2 args")
+ help()
+ sys.exit()
+
+indate = sys.argv[1]
+d = datetime.strptime(indate, "%Y-%m-%d-%H%M%S")
+print(d.strftime("%a, %d %b %Y %H:%M:%S") + " " + timezone)
diff --git a/data/template_rss_footer.xml b/data/template_rss_footer.xml
new file mode 100644
index 0000000..a353561
--- /dev/null
+++ b/data/template_rss_footer.xml
@@ -0,0 +1,3 @@
+
+ </channel>
+</rss>
diff --git a/data/template_rss_header.xml b/data/template_rss_header.xml
new file mode 100644
index 0000000..d15dbc9
--- /dev/null
+++ b/data/template_rss_header.xml
@@ -0,0 +1,11 @@
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+ <channel>
+ <title>$TITLE$</title>
+ <link>$TITLE_LINK$</link>
+ <description>$TITLE_DESC$</description>
+ <generator></generator>
+ <language>en-us</language>
+ <lastBuildDate></lastBuildDate>
+ <atom:link href="$MY_URL$" rel="self" type="application/rss+xml" />
+
+
diff --git a/data/template_rss_item.xml b/data/template_rss_item.xml
new file mode 100644
index 0000000..5e74373
--- /dev/null
+++ b/data/template_rss_item.xml
@@ -0,0 +1,10 @@
+ <item>
+ <title>$ITEM_TITLE$</title>
+ <link>$ITEM_LINK$</link>
+ <pubDate>$ITEM_PUBDATE$</pubDate>
+ <guid>$ITEM_LINK$</guid>
+ <description>
+ $ITEM_DESC$
+ </description>
+ </item>
+
diff --git a/data/update.sh b/data/update.sh
index 687c805..e7cb139 100755
--- a/data/update.sh
+++ b/data/update.sh
@@ -1,7 +1,21 @@
-#!/bin/sh
+#!/bin/bash
+
+# RSS
+RSS_TITLE='omeckman.net pub-docs'
+RSS_TITLE_LINK='https://omeckman.net/pub-docs/'
+RSS_TITLE_DESC='omeckman.net public documents / $blog'
+RSS_MY_URL=${RSS_TITLE_LINK}
cp INDEX_template.md INDEX.md
+cp template_rss_header.xml index.xml
+
+#sed -i "s/\\\$TITLE</${RSS_TITLE}</g" index.xml
+python3 pyreplace.py '$TITLE$' "${RSS_TITLE}" index.xml
+python3 pyreplace.py '$TITLE_LINK$' "$RSS_TITLE_LINK" index.xml
+python3 pyreplace.py '$TITLE_DESC$' "${RSS_TITLE_DESC}" index.xml
+python3 pyreplace.py '$MY_URL$' "${RSS_MY_URL}" index.xml
+
for i in *.md
do
filename_wo_ext=$(echo "$i" | cut -f 1 -d '.')
@@ -12,9 +26,24 @@ do
if [ $filename_wo_ext != "INDEX" ]
then
echo "[$filename_wo_ext]($filename_wo_ext.html) " >> INDEX.md
+
+ origdate=$(echo "$filename_wo_ext" | cut -f 1 -d '_')
+ pubdaterfc822=$(python3 rfc822date.py ${origdate})
+
+ RSS_ITEM_TITLE="$filename_wo_ext"
+ RSS_ITEM_LINK=${RSS_TITLE_LINK}${filename_wo_ext}.html
+ RSS_ITEM_PUBDATE=${pubdaterfc822}
+ RSS_ITEM_DESC=$RSS_ITEM_TITLE
+ cat template_rss_item.xml >> index.xml
+ python3 pyreplace.py '$ITEM_TITLE$' "${RSS_ITEM_TITLE}" index.xml
+ python3 pyreplace.py '$ITEM_LINK$' "${RSS_ITEM_LINK}" index.xml
+ python3 pyreplace.py '$ITEM_PUBDATE$' "${RSS_ITEM_PUBDATE}" index.xml
+ python3 pyreplace.py '$ITEM_DESC$' "${RSS_ITEM_DESC}" index.xml
fi
fi
done
+cat template_rss_footer.xml >> index.xml
+
ln -s INDEX.html index.html
in each repos: see "about"-tab (if existing) for more details / README.
mailto contact at omeckman dot net
all timestamps in UTC (German winter time: UTC+01:00, summer time: UTC+02:00)
dark theme is a modded version of: https://gist.github.com/Yoplitein/f4b671a2ec70c9e743fa