summaryrefslogtreecommitdiff
path: root/rss.rb
diff options
context:
space:
mode:
Diffstat (limited to 'rss.rb')
-rwxr-xr-xrss.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/rss.rb b/rss.rb
new file mode 100755
index 0000000..b700f55
--- /dev/null
+++ b/rss.rb
@@ -0,0 +1,32 @@
+#!/usr/bin/env ruby
+require "rss"
+
+ROOT = ARGV[0]
+
+rss = RSS::Maker.make("2.0") do |maker|
+ maker.channel.language = "en"
+ maker.channel.author = "pdp8"
+ maker.channel.updated = Time.now.to_s
+ maker.channel.link = "https://pdp8.info"
+ maker.channel.title = "pdp8"
+ maker.channel.description = "music, pictures and videos"
+ ["music", "videos"].each do |cat|
+ Dir[File.join(ROOT, cat, "*")].each do |dir|
+ maker.items.new_item do |item|
+ item.title = File.basename(dir).split("_")[1..-1].join(" ")
+ date = File.basename(dir).split("_")[0]
+ item.link = File.join("https://pdp8.info", cat + ".html#" + date)
+ item.updated = Time.parse(date).strftime("%Y-%m-%d")
+ item.description = File.read(File.join(dir, "README")).chomp.sub(/^\n/, '').sub("\n\n", "\n")
+ end
+ end
+ end
+ maker.items.new_item do |item|
+ item.title = "pictures"
+ item.link = "https://pdp8.info/pictures.html"
+ date = Dir[File.join(ROOT, "pictures", "*.jpeg")].last.split("_")[0]
+ item.updated = Time.parse(date).strftime("%Y%m%d")
+ end
+end
+
+File.open(File.join(ROOT, "rss.xml"), "w+") { |f| f.puts rss }