Module: Jekyll::RSS
- Defined in:
- lib/jekyll/converters/rss.rb
Class Method Summary collapse
-
.process(source = "rss.xml") ⇒ Object
Reads posts from an RSS feed.
Class Method Details
.process(source = "rss.xml") ⇒ Object
Reads posts from an RSS feed. It creates a post file for each entry in the RSS.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/jekyll/converters/rss.rb', line 10 def self.process(source = "rss.xml") #FileUtils.mkdir_p "_posts" content = "" open(source, "r") { |f| content << f.read } doc = REXML::Document.new(content) posts = 0 doc.elements.each("rss/channel/item") do |item| link = item.elements["link"].text name = link.split("/")[-1] name = $1 if name =~ /(.*)\.html/ name = $1 if name =~ /\d+\-(.*)/ #title = item.elements["title"].text content = item.elements["content:encoded"].text = Time.parse(item.elements["pubDate"].text) filename = "_posts/#{.strftime("%Y-%m-%d")}-#{name}.html" puts "#{link} -> #{filename}" File.open(filename, "w") do |f| YAML.dump( { "layout" => "post", "name" => name, "title" => item.elements["title"].text, "time" => , }, f ) f.puts "---\n#{content}" end posts += 1 end puts "Created #{posts} posts!" end |