Browse files

Merge pull request #1 from simensen/alagu-master

Fixed critical bug, added a few minor features
  • Loading branch information...
2 parents ddd5dbb + 840b0c1 commit 20385b54ed127f9076bbcd93040cc80677aa36d4 @alagu committed Nov 25, 2011
Showing with 13 additions and 5 deletions.
  1. +13 −5 lib/jekyll/migrators/posterous.rb
View
18 lib/jekyll/migrators/posterous.rb
@@ -6,7 +6,7 @@
require 'uri'
require "json"
-# ruby -r './lib/jekyll/migrators/posterous.rb' -e 'Jekyll::Posterous.process(email, pass, api_token, blog)'
+# ruby -r './lib/jekyll/migrators/posterous.rb' -e 'Jekyll::Posterous.process(email, pass, api_token, blog, tags_key)'
# You can find your api token in posterous api page - http://posterous.com/api . Click on any of the 'view token' links to see your token.
# blog is optional, by default it is the primary one
@@ -33,7 +33,7 @@ def self.fetch(uri_str, limit = 10)
end
end
- def self.process(email, pass, api_token, blog = 'primary')
+ def self.process(email, pass, api_token, blog = 'primary', tags_key = 'categories')
@email, @pass , @api_token = email, pass, api_token
FileUtils.mkdir_p "_posts"
@@ -43,24 +43,32 @@ def self.process(email, pass, api_token, blog = 'primary')
while posts.any?
posts.each do |post|
title = post["title"]
- slug = title.gsub(/[^[:alnum:]]+/, '-').downcase
+ slug = title.gsub(/[^[:alnum:]]+/, '-').gsub(/^-+|-+$/, '').downcase
+ posterous_slug = post["slug"]
date = Date.parse(post["display_date"])
content = post["body_html"]
published = !post["is_private"]
name = "%02d-%02d-%02d-%s.html" % [date.year, date.month, date.day, slug]
+ tags = []
+ post["tags"].each do |tag|
+ tags.push(tag["name"])
+ end
# Get the relevant fields as a hash, delete empty fields and convert
# to YAML for the header
data = {
'layout' => 'post',
'title' => title.to_s,
- 'published' => published
+ 'published' => published,
+ tags_key => tags,
+ 'posterous_url' => post["full_url"],
+ 'posterous_slug' => posterous_slug
}.delete_if { |k,v| v.nil? || v == ''}.to_yaml
# Write out the data and content to file
File.open("_posts/#{name}", "w") do |f|
puts name
- f.puts name
+ f.puts data
f.puts "---"
f.puts content
end

0 comments on commit 20385b5

Please sign in to comment.