Module: WpConversion
- Extended by:
- Methadone::CLILogging
- Defined in:
- lib/wp_conversion.rb,
lib/wp_conversion/convert.rb,
lib/wp_conversion/version.rb,
lib/wp_conversion/save_items.rb,
lib/wp_conversion/xml_to_hash.rb
Constant Summary collapse
- VERSION =
"0.1.1"
Class Method Summary collapse
- .convert(item, as) ⇒ Object
- .convert_to_markdown(item) ⇒ Object
- .convert_to_yaml(item) ⇒ Object
- .html_to_markdown(html) ⇒ Object
- .join_if_array(s) ⇒ Object
- .save_an_item(item, as = :yaml) ⇒ Object
- .save_file_name(item, ext = '') ⇒ Object
- .save_items(items, as = :yaml) ⇒ Object
- .xml_to_hash(xml) ⇒ Object
Class Method Details
.convert(item, as) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/wp_conversion/convert.rb', line 8 def convert(item,as) debug "convert: item: #{item.inspect}, as: #{as.inspect}" raise "Must specify a conversion" if as.nil? case as when :yaml convert_to_yaml(item) when :markdown convert_to_markdown(item) else raise "Unknown converstion: #{as.inspect}" end end |
.convert_to_markdown(item) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/wp_conversion/convert.rb', line 25 def convert_to_markdown(item) return '' unless %w{page post}.include? item['post_type'] markdown= <<-EOT --- layout: #{item['post_type']} author: #{item['creator']} date: #{item['post_date']} categories: [#{join_if_array(item['category']).downcase}] --- # #{item['title']} EOT markdown += html_to_markdown(item['encoded'].join) end |
.convert_to_yaml(item) ⇒ Object
21 22 23 |
# File 'lib/wp_conversion/convert.rb', line 21 def convert_to_yaml(item) item.to_yaml end |
.html_to_markdown(html) ⇒ Object
41 42 43 |
# File 'lib/wp_conversion/convert.rb', line 41 def html_to_markdown(html) HtmlMassage.markdown(html.gsub(/\n/,"<br />\n")) + "\n\n" end |
.join_if_array(s) ⇒ Object
45 46 47 48 49 50 51 52 |
# File 'lib/wp_conversion/convert.rb', line 45 def join_if_array(s) debug "#{__FILE__}:#{__LINE__}: s: #{s.inspect}" if s === Array s.join(", ") else s.to_s end end |
.save_an_item(item, as = :yaml) ⇒ Object
12 13 14 |
# File 'lib/wp_conversion/save_items.rb', line 12 def save_an_item(item,as=:yaml) File.write(save_file_name(item,as.to_s), convert(item,as)) end |
.save_file_name(item, ext = '') ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/wp_conversion/save_items.rb', line 16 def save_file_name(item, ext='') dir_name = item['post_type'].pluralize FileUtils.mkdir_p(dir_name) unless File.directory? dir_name prefix = (item['post_type'] == 'post' ? item['post_date'].split(" ").first + '-': '' ) File.join(dir_name, "#{prefix}#{item['post_name']}.#{ext}") end |
.save_items(items, as = :yaml) ⇒ Object
8 9 10 |
# File 'lib/wp_conversion/save_items.rb', line 8 def save_items(items,as=:yaml) items.each{|item| save_an_item(item,as)} end |
.xml_to_hash(xml) ⇒ Object
7 8 9 |
# File 'lib/wp_conversion/xml_to_hash.rb', line 7 def xml_to_hash(xml) Hash.from_xml(xml) end |