wp_conversion 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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