<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:atom="http://www.w3.org/2005/Atom"> <% base_url = "http://melpa.milkbox.net/" %> <channel> <title>MELPA package updates</title> <link>http://melpa.milkbox.net</link> <atom:link href="<%= base_url %>updates.rss" rel="self" type="application/rss+xml" /> <language>en-us</language> <ttl>40</ttl> <description>News about package updates</description> <% require 'json' require 'time' require 'ostruct' packages = JSON.parse(File.read("archive.json")).map do |pkgname, info| versions = info["ver"] deps = info["deps"] descr = info["desc"] pkgtype = info["type"] version = versions.join('.') package = OpenStruct.new package.name = pkgname package.version = version package.description = descr.gsub(/ \[source:.*$/, '') begin hour_portion = versions[1] ? sprintf("%04d", versions[1]) : "0000" package.build_time = Time.new(version[0..3].to_i, version[4..5].to_i, version[6..7].to_i, hour_portion[0..1].to_i, hour_portion[2..3].to_i) rescue ArgumentError package.build_time = Time.now() end package.url = "#{base_url}packages/#{pkgname}-#{version}." + (pkgtype == "single" ? "el" : "tar") package.info_url = "#{base_url}#/#{pkgname}" package end packages.sort_by { |p| p.version }.reverse[0..200].each do |package| %> <item> <title><%= package.name %> (<%= package.version %>) --- <%= ERB::Util.html_escape package.description %></title> <description>The <%= package.name %> package in MELPA has been updated to version <%= package.version %>.</description> <pubDate><%= package.build_time.rfc822 %></pubDate> <guid isPermaLink="true"><%= package.url %></guid> <link><%= package.info_url %></link> </item> <% end %> </channel> </rss>