summaryrefslogtreecommitdiff
path: root/build_rss.py
diff options
context:
space:
mode:
Diffstat (limited to 'build_rss.py')
-rwxr-xr-xbuild_rss.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/build_rss.py b/build_rss.py
new file mode 100755
index 0000000..f8eb4ba
--- /dev/null
+++ b/build_rss.py
@@ -0,0 +1,51 @@
+#!/usr/bin/python3
+
+from feedgen.feed import FeedGenerator
+import os
+import re
+import operator
+from datetime import datetime
+
+leader='https://kenkellner.com/blog/'
+
+links = os.listdir('build')
+links.remove('index.html')
+links.remove('feed.xml')
+
+src = []
+for i in links:
+ src.append('src/'+i.replace('.html','.Rmd'))
+
+dates = []
+for i in src:
+ for line in open(i):
+ if 'date: ' in line:
+ dates.append(line.split(': ')[1].strip('\n'))
+
+titles = []
+for i in src:
+ for line in open(i):
+ if 'title: ' in line:
+ titles.append(line.split(': ')[1].strip('\n'))
+
+dates, links, titles = zip(*sorted(zip(dates, links, titles)))
+
+fg = FeedGenerator()
+fg.id(leader)
+fg.link(href=leader+'feed.xml', rel='self')
+fg.title('Ken Kellner\'s Blog')
+fg.subtitle(' ')
+fg.language('en')
+
+for i in range(len(dates)):
+ fe = fg.add_entry()
+ fe.title(titles[i])
+ fe.id(leader+links[i])
+ fe.link(href=leader+links[i])
+ fe.author({'name': 'Ken Kellner', 'email': 'contact@kenkellner.com'})
+ fe.description('')
+ date_raw = dates[i]+' -0500'
+ fe.published(datetime.strptime(date_raw, '%Y-%m-%d %z'))
+
+fg.rss_str(pretty=True)
+fg.rss_file('build/feed.xml')