wp_conversion 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,18 @@
1
+ Feature: My bootstrapped app kinda works
2
+ In order to get going on coding my awesome app
3
+ I want to have aruba and cucumber setup
4
+ So I don't have to do it myself
5
+
6
+ Scenario: App just runs
7
+ When I get help for "wp_conversion"
8
+ Then the exit status should be 0
9
+ And the banner should be present
10
+ And the banner should document that this app takes options
11
+ And the following options should be documented:
12
+ |--version|
13
+ |--debug |
14
+ |--verbose|
15
+ |--yaml |
16
+ And the banner should document that this app's arguments are:
17
+ | wp_xml |
18
+
@@ -0,0 +1,55 @@
1
+ require 'yaml'
2
+ require 'html_massage'
3
+
4
+ module WpConversion
5
+
6
+ module_function
7
+
8
+ def convert(item,as)
9
+ debug "convert: item: #{item.inspect}, as: #{as.inspect}"
10
+ raise "Must specify a conversion" if as.nil?
11
+ case as
12
+ when :yaml
13
+ convert_to_yaml(item)
14
+ when :markdown
15
+ convert_to_markdown(item)
16
+ else
17
+ raise "Unknown converstion: #{as.inspect}"
18
+ end
19
+ end
20
+
21
+ def convert_to_yaml(item)
22
+ item.to_yaml
23
+ end
24
+
25
+ def convert_to_markdown(item)
26
+ return '' unless %w{page post}.include? item['post_type']
27
+ markdown= <<-EOT
28
+ ---
29
+ layout: #{item['post_type']}
30
+ author: #{item['creator']}
31
+ date: #{item['post_date']}
32
+ categories: [#{join_if_array(item['category']).tap{|t| debug "#{__FILE__}:#{__LINE__}: output of join_if_array(item['category']): #{t}"}.downcase}]
33
+ ---
34
+ # #{item['title']}
35
+
36
+ EOT
37
+ markdown += html_to_markdown(item['encoded'].join)
38
+ # markdown.tap(&:display)
39
+
40
+ end
41
+
42
+ def html_to_markdown(html)
43
+ (HtmlMassage.markdown(html.gsub(/\n/,"<br />\n")) + "\n\n").tap(&:display)
44
+ end
45
+
46
+ def join_if_array(s)
47
+ debug "#{__FILE__}:#{__LINE__}: s: #{s.inspect}"
48
+ if s === Array
49
+ s.join(", ")
50
+ else
51
+ s.to_s
52
+ end
53
+ end
54
+
55
+ end
@@ -0,0 +1,27 @@
1
+ require 'active_support/core_ext/string/inflections.rb'
2
+ require 'fileutils'
3
+
4
+ module WpConversion
5
+
6
+ module_function
7
+
8
+ def save_items(items,as=:yaml)
9
+ items.each{|item| save_an_item(item,as)}
10
+ end
11
+
12
+ def save_an_item(item,as=:yaml)
13
+ File.write(save_file_name(item,as.to_s), convert(item,as))
14
+ end
15
+
16
+ def save_file_name(item, ext='')
17
+ dir_name = item['post_type'].pluralize
18
+ FileUtils.mkdir_p(dir_name) unless File.directory? dir_name
19
+
20
+ prefix = (item['post_type'] == 'post' ?
21
+ item['post_date'].split(" ").first + '-':
22
+ ''
23
+ )
24
+ File.join(dir_name, "#{prefix}#{item['post_name']}.#{ext}")
25
+ end
26
+
27
+ end
@@ -0,0 +1,3 @@
1
+ module WpConversion
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1,11 @@
1
+ require 'active_support/core_ext/hash/conversions'
2
+
3
+ module WpConversion
4
+
5
+ module_function
6
+
7
+ def xml_to_hash(xml)
8
+ Hash.from_xml(xml)
9
+ end
10
+
11
+ end
@@ -0,0 +1,7 @@
1
+ require "methadone"
2
+
3
+ Dir[File.join(File.expand_path('../', __FILE__),'**','*.rb')].each {|file| require file}
4
+
5
+ module WpConversion
6
+ extend Methadone::CLILogging
7
+ end
@@ -0,0 +1,2 @@
1
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+ require 'wp_conversion'
@@ -0,0 +1,57 @@
1
+ require 'spec_helper'
2
+ require 'yaml'
3
+
4
+ module WpConversion
5
+
6
+ describe "convert.rb" do
7
+ it {WpConversion.should respond_to(:convert)}
8
+ it {WpConversion.should respond_to(:convert_to_yaml)}
9
+ it {WpConversion.should respond_to(:convert_to_markdown)}
10
+ end
11
+
12
+ describe "conversions" do
13
+ let(:item){
14
+ {"title"=>"a problem with partial lines", "link"=>"http://stories.tamaratemple.com/pages/2010/05/28/a-problem-with-partial-lines/", "pubDate"=>"Sat, 29 May 2010 02:43:42 +0000", "creator"=>"tamouse", "guid"=>"http://stories.tamaratemple.com/pages/?p=130", "description"=>nil, "encoded"=>["I'm having a problem when I use the google fonts: when I scroll down or up through the document, some lines are only showing the top half of the line. If I click away, then come back, the screen repaints and the lines are fully shown. Anyone know what causes this?\n\nHere's a screenshot showing the problem:\n\n<a href=\"http://stories.tamaratemple.com/pages/wp-content/uploads/2010/05/sceen-cap-showing-partial-lines-in-safari.png\"><img class=\"alignnone size-thumbnail wp-image-131\" title=\"sceen cap showing partial lines in safari\" src=\"http://stories.tamaratemple.com/pages/wp-content/uploads/2010/05/sceen-cap-showing-partial-lines-in-safari-150x150.png\" alt=\"sceen cap showing partial lines in safari\" width=\"150\" height=\"150\" /></a>", ""], "post_id"=>"130", "post_date"=>"2010-05-28 21:43:42", "post_date_gmt"=>"2010-05-29 02:43:42", "comment_status"=>"open", "ping_status"=>"open", "post_name"=>"a-problem-with-partial-lines", "status"=>"publish", "post_parent"=>"0", "menu_order"=>"0", "post_type"=>"post", "post_password"=>nil, "is_sticky"=>"0", "category"=>"Uncategorized", "postmeta"=>{"meta_key"=>"_edit_last", "meta_value"=>"2"}, "comment"=>{"comment_id"=>"2", "comment_author"=>"tamouse", "comment_author_email"=>"tamouse@gmail.com", "comment_author_url"=>"http://tamaratemple.com/", "comment_author_IP"=>"71.193.74.221", "comment_date"=>"2010-05-29 02:01:26", "comment_date_gmt"=>"2010-05-29 07:01:26", "comment_content"=>"Okay, fixed that by using a different font. Cando was the culprit, now using 'OFL Sorts Mill Goudy TT'", "comment_approved"=>"1", "comment_type"=>nil, "comment_parent"=>"0", "comment_user_id"=>"2"}}
15
+ }
16
+
17
+
18
+ describe "convert" do
19
+ it "should select the right conversion for yaml" do
20
+ WpConversion.should_receive(:convert_to_yaml).and_return(true)
21
+ WpConversion.should_not_receive(:convert_to_markdown)
22
+ WpConversion.convert(item,:yaml).should be_true
23
+ end
24
+
25
+ it "should select the right conversion for markdown" do
26
+ WpConversion.should_receive(:convert_to_markdown).and_return(true)
27
+ WpConversion.should_not_receive(:convert_to_yaml)
28
+ WpConversion.convert(item,:markdown).should be_true
29
+ end
30
+
31
+ it "should throw and error when an invalid conversion is used" do
32
+ WpConversion.should_not_receive(:convert_to_yaml)
33
+ WpConversion.should_not_receive(:convert_to_markdown)
34
+ expect {WpConversion.convert(item,:junk)}.to raise_exception
35
+ end
36
+ end
37
+
38
+ describe "convert_to_yaml" do
39
+ let(:yaml) {WpConversion.convert_to_yaml(item)}
40
+ it {yaml.should be_a(String)}
41
+ it {yaml.should match /^---\ntitle: #{item['title']}\nlink: #{item['link']}/}
42
+ it "should match item when unylized" do
43
+ YAML.load(yaml).should == item
44
+ end
45
+
46
+ end
47
+
48
+ describe "convert_to_markdown" do
49
+ let(:markdown) {WpConversion.convert_to_markdown(item)}
50
+ it {markdown.should be_a(String)}
51
+ it {markdown.should match /^---\nlayout: #{item['post_type']}\nauthor: #{item['creator']}\ndate: #{item['post_date']}\ncategories: \[#{item['category'].downcase}\]\n---/}
52
+ it {markdown.should match /---\n# #{item['title']}\n\n/}
53
+ end
54
+
55
+ end
56
+
57
+ end
@@ -0,0 +1,53 @@
1
+ require 'spec_helper'
2
+ require 'tmpdir'
3
+
4
+ module WpConversion
5
+
6
+ describe "verify methods exist" do
7
+ it {WpConversion.should respond_to(:save_items)}
8
+ it {WpConversion.should respond_to(:save_file_name)}
9
+ it {WpConversion.should respond_to(:save_an_item)}
10
+ end
11
+
12
+ describe "save items" do
13
+ let(:items) do
14
+ [{"title"=>"a problem with partial lines", "link"=>"http://stories.tamaratemple.com/pages/2010/05/28/a-problem-with-partial-lines/", "pubDate"=>"Sat, 29 May 2010 02:43:42 +0000", "creator"=>"tamouse", "guid"=>"http://stories.tamaratemple.com/pages/?p=130", "description"=>nil, "encoded"=>["I'm having a problem when I use the google fonts: when I scroll down or up through the document, some lines are only showing the top half of the line. If I click away, then come back, the screen repaints and the lines are fully shown. Anyone know what causes this?\n\nHere's a screenshot showing the problem:\n\n<a href=\"http://stories.tamaratemple.com/pages/wp-content/uploads/2010/05/sceen-cap-showing-partial-lines-in-safari.png\"><img class=\"alignnone size-thumbnail wp-image-131\" title=\"sceen cap showing partial lines in safari\" src=\"http://stories.tamaratemple.com/pages/wp-content/uploads/2010/05/sceen-cap-showing-partial-lines-in-safari-150x150.png\" alt=\"sceen cap showing partial lines in safari\" width=\"150\" height=\"150\" /></a>", ""], "post_id"=>"130", "post_date"=>"2010-05-28 21:43:42", "post_date_gmt"=>"2010-05-29 02:43:42", "comment_status"=>"open", "ping_status"=>"open", "post_name"=>"a-problem-with-partial-lines", "status"=>"publish", "post_parent"=>"0", "menu_order"=>"0", "post_type"=>"post", "post_password"=>nil, "is_sticky"=>"0", "category"=>"Uncategorized", "postmeta"=>{"meta_key"=>"_edit_last", "meta_value"=>"2"}, "comment"=>{"comment_id"=>"2", "comment_author"=>"tamouse", "comment_author_email"=>"tamouse@gmail.com", "comment_author_url"=>"http://tamaratemple.com/", "comment_author_IP"=>"71.193.74.221", "comment_date"=>"2010-05-29 02:01:26", "comment_date_gmt"=>"2010-05-29 07:01:26", "comment_content"=>"Okay, fixed that by using a different font. Cando was the culprit, now using 'OFL Sorts Mill Goudy TT'", "comment_approved"=>"1", "comment_type"=>nil, "comment_parent"=>"0", "comment_user_id"=>"2"}}]
15
+ end
16
+ let(:write_contents) do
17
+ <<-EOT
18
+ ---
19
+ layout: post
20
+ title: a problem with partial lines
21
+ date: 2010-05-28 02:43
22
+ author: tamouse
23
+ ---
24
+ I'm having a problem when I use the google fonts: when I scroll down or up through the document, some lines are only showing the top half of the line. If I click away, then come back, the screen repaints and the lines are fully shown. Anyone know what causes this?
25
+
26
+ Here's a screenshot showing the problem:
27
+
28
+ ![screen cap showing partial lines in safari](http://stories.tamaratemple.com/pages/wp-content/uploads/2010/05/sceen-cap-showing-partial-lines-in-safari-150x150.png)
29
+ EOT
30
+ end
31
+
32
+ context "#save_file_name" do
33
+ it "returns a parameterized file name with no extension given the item" do
34
+ WpConversion.save_file_name(items.first).should == "posts/2010-05-28-a-problem-with-partial-lines."
35
+ end
36
+ it "returns a parameterized file name with an extension given the item" do
37
+ WpConversion.save_file_name(items.first,'markdown').should == "posts/2010-05-28-a-problem-with-partial-lines.markdown"
38
+ end
39
+ end
40
+
41
+ context "#save_an_item" do
42
+ it "saves the item" do
43
+ File.should_receive(:write).and_return(write_contents)
44
+ WpConversion.should_receive(:convert).and_return(write_contents)
45
+ output = WpConversion.save_an_item(items.first)
46
+ output.should be_a(String)
47
+ output.should == write_contents
48
+ end
49
+ end
50
+
51
+ end
52
+
53
+ end
@@ -0,0 +1,29 @@
1
+ module WpConversion
2
+
3
+ describe "#xml_to_hash method" do
4
+ it {WpConversion.should respond_to :xml_to_hash}
5
+
6
+ context "converting xml" do
7
+ let(:xml){'<?xml version="1.0"?><catalog><book id="bk001"><author>Gaiman, Neil</author><title>The Graveyard Book</title><genre>Fantasy</genre></book><book id="bk002"><author>Pratchett, Terry</author><title>The Colour of Magic</title><genre>fantasy</genre></book></catalog> '}
8
+ let(:hash){WpConversion.xml_to_hash(xml)}
9
+ it {hash.should be_a(Hash)}
10
+ it {hash.keys.count.should == 1}
11
+ it {hash.keys.should include("catalog")}
12
+ context "catalog" do
13
+ let(:books){hash['catalog']['book']}
14
+ it {books.should be_a(Array)}
15
+ it {books.size.should == 2}
16
+ context "books.first" do
17
+ let(:first_book){books.first}
18
+ it {first_book.should be_a(Hash)}
19
+ %w{id author title genre}.each do |attr|
20
+ it "first_book should have #{attr}" do
21
+ first_book.has_key?(attr).should be_true
22
+ end
23
+ end
24
+ end
25
+ end
26
+
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,7 @@
1
+ require 'spec_helper'
2
+
3
+ describe WpConversion do
4
+ it 'should have a version number' do
5
+ WpConversion::VERSION.should_not be_nil
6
+ end
7
+ end
@@ -0,0 +1,33 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'wp_conversion/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "wp_conversion"
8
+ spec.version = WpConversion::VERSION
9
+ spec.authors = ["Tamara Temple"]
10
+ spec.email = ["tamouse@gmail.com"]
11
+ spec.description = %q{Convert a Wordpress XML backup into markdown files suitable for a jekyll site}
12
+ spec.summary = %q{Convert a Wordpress XML backup into markdown files suitable for a jekyll site}
13
+ spec.homepage = "http://github.com/tamouse/wp_conversion"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.3"
22
+ spec.add_development_dependency "rake"
23
+ spec.add_development_dependency('rdoc')
24
+ spec.add_development_dependency('aruba')
25
+ spec.add_development_dependency('rake')
26
+ spec.add_dependency('methadone', '~> 1.3.0')
27
+ spec.add_dependency('activesupport')
28
+ spec.add_dependency('html_massage')
29
+ spec.add_development_dependency('rspec')
30
+ spec.add_development_dependency('guard')
31
+ spec.add_development_dependency('guard-rspec')
32
+ spec.add_development_dependency('guard-cucumber')
33
+ end
metadata ADDED
@@ -0,0 +1,254 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: wp_conversion
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Tamara Temple
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-07-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rdoc
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: aruba
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: methadone
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: 1.3.0
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: 1.3.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: activesupport
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: html_massage
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rspec
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: guard
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: guard-rspec
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: guard-cucumber
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - '>='
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ description: Convert a Wordpress XML backup into markdown files suitable for a jekyll
182
+ site
183
+ email:
184
+ - tamouse@gmail.com
185
+ executables:
186
+ - wp_conversion
187
+ extensions: []
188
+ extra_rdoc_files: []
189
+ files:
190
+ - .gitignore
191
+ - .rspec
192
+ - Gemfile
193
+ - Gemfile.lock
194
+ - Guardfile
195
+ - LICENSE.txt
196
+ - README.md
197
+ - Rakefile
198
+ - bin/wp_conversion
199
+ - features/convert.feature
200
+ - features/step_definitions/convert_steps.rb
201
+ - features/step_definitions/testing_fep.rb
202
+ - features/step_definitions/wp_conversion_steps.rb
203
+ - features/support/env.rb
204
+ - features/support/test_data/test.xml
205
+ - features/wp_conversion.feature
206
+ - lib/wp_conversion.rb
207
+ - lib/wp_conversion/convert.rb
208
+ - lib/wp_conversion/save_items.rb
209
+ - lib/wp_conversion/version.rb
210
+ - lib/wp_conversion/xml_to_hash.rb
211
+ - spec/spec_helper.rb
212
+ - spec/wp_conversion/convert_spec.rb
213
+ - spec/wp_conversion/save_items_spec.rb
214
+ - spec/wp_conversion/xml_to_hash_spec.rb
215
+ - spec/wp_conversion_spec.rb
216
+ - wp_conversion.gemspec
217
+ homepage: http://github.com/tamouse/wp_conversion
218
+ licenses:
219
+ - MIT
220
+ metadata: {}
221
+ post_install_message:
222
+ rdoc_options: []
223
+ require_paths:
224
+ - lib
225
+ required_ruby_version: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - '>='
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ required_rubygems_version: !ruby/object:Gem::Requirement
231
+ requirements:
232
+ - - '>='
233
+ - !ruby/object:Gem::Version
234
+ version: '0'
235
+ requirements: []
236
+ rubyforge_project:
237
+ rubygems_version: 2.0.3
238
+ signing_key:
239
+ specification_version: 4
240
+ summary: Convert a Wordpress XML backup into markdown files suitable for a jekyll
241
+ site
242
+ test_files:
243
+ - features/convert.feature
244
+ - features/step_definitions/convert_steps.rb
245
+ - features/step_definitions/testing_fep.rb
246
+ - features/step_definitions/wp_conversion_steps.rb
247
+ - features/support/env.rb
248
+ - features/support/test_data/test.xml
249
+ - features/wp_conversion.feature
250
+ - spec/spec_helper.rb
251
+ - spec/wp_conversion/convert_spec.rb
252
+ - spec/wp_conversion/save_items_spec.rb
253
+ - spec/wp_conversion/xml_to_hash_spec.rb
254
+ - spec/wp_conversion_spec.rb