jekyll-import 0.12.0 → 0.13.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/jekyll-import.rb +10 -8
- data/lib/jekyll-import/importer.rb +1 -1
- data/lib/jekyll-import/importers.rb +1 -1
- data/lib/jekyll-import/importers/behance.rb +20 -20
- data/lib/jekyll-import/importers/blogger.rb +108 -118
- data/lib/jekyll-import/importers/csv.rb +7 -7
- data/lib/jekyll-import/importers/drupal6.rb +5 -6
- data/lib/jekyll-import/importers/drupal7.rb +7 -13
- data/lib/jekyll-import/importers/drupal_common.rb +57 -59
- data/lib/jekyll-import/importers/easyblog.rb +30 -30
- data/lib/jekyll-import/importers/enki.rb +28 -29
- data/lib/jekyll-import/importers/ghost.rb +46 -33
- data/lib/jekyll-import/importers/google_reader.rb +9 -9
- data/lib/jekyll-import/importers/joomla.rb +32 -32
- data/lib/jekyll-import/importers/joomla3.rb +41 -39
- data/lib/jekyll-import/importers/jrnl.rb +16 -17
- data/lib/jekyll-import/importers/marley.rb +25 -26
- data/lib/jekyll-import/importers/mephisto.rb +26 -26
- data/lib/jekyll-import/importers/mt.rb +76 -75
- data/lib/jekyll-import/importers/posterous.rb +30 -29
- data/lib/jekyll-import/importers/rss.rb +13 -10
- data/lib/jekyll-import/importers/s9y.rb +16 -17
- data/lib/jekyll-import/importers/s9y_database.rb +98 -89
- data/lib/jekyll-import/importers/textpattern.rb +18 -17
- data/lib/jekyll-import/importers/tmp.rb +0 -0
- data/lib/jekyll-import/importers/tumblr.rb +146 -143
- data/lib/jekyll-import/importers/typo.rb +31 -31
- data/lib/jekyll-import/importers/wordpress.rb +100 -100
- data/lib/jekyll-import/importers/wordpressdotcom.rb +70 -60
- data/lib/jekyll-import/util.rb +24 -24
- data/lib/jekyll-import/version.rb +1 -1
- data/lib/jekyll/commands/import.rb +32 -35
- metadata +14 -13
@@ -4,7 +4,7 @@ module JekyllImport
|
|
4
4
|
module Importers
|
5
5
|
class WordpressDotCom < Importer
|
6
6
|
def self.require_deps
|
7
|
-
JekyllImport.require_with_fallback(%w
|
7
|
+
JekyllImport.require_with_fallback(%w(
|
8
8
|
rubygems
|
9
9
|
fileutils
|
10
10
|
safe_yaml
|
@@ -12,26 +12,26 @@ module JekyllImport
|
|
12
12
|
time
|
13
13
|
open-uri
|
14
14
|
open_uri_redirections
|
15
|
-
|
15
|
+
))
|
16
16
|
end
|
17
17
|
|
18
18
|
def self.specify_options(c)
|
19
|
-
c.option
|
20
|
-
c.option
|
21
|
-
c.option
|
19
|
+
c.option "source", "--source FILE", 'WordPress export XML file (default: "wordpress.xml")'
|
20
|
+
c.option "no_fetch_images", "--no-fetch-images", "Do not fetch the images referenced in the posts"
|
21
|
+
c.option "assets_folder", "--assets_folder FOLDER", "Folder where assets such as images will be downloaded to (default: assets)"
|
22
22
|
end
|
23
23
|
|
24
24
|
# Will modify post DOM tree
|
25
25
|
def self.download_images(title, post_hpricot, assets_folder)
|
26
|
-
images = (post_hpricot/"img")
|
27
|
-
if images.
|
26
|
+
images = (post_hpricot / "img")
|
27
|
+
if images.empty?
|
28
28
|
return
|
29
29
|
end
|
30
30
|
puts "Downloading images for " + title
|
31
31
|
images.each do |i|
|
32
32
|
uri = i["src"]
|
33
33
|
|
34
|
-
i["src"] = "{{ site.baseurl }}/%s/%s"
|
34
|
+
i["src"] = format("{{ site.baseurl }}/%s/%s", assets_folder, File.basename(uri))
|
35
35
|
dst = File.join(assets_folder, File.basename(uri))
|
36
36
|
puts " " + uri
|
37
37
|
if File.exist?(dst)
|
@@ -39,11 +39,11 @@ module JekyllImport
|
|
39
39
|
next
|
40
40
|
end
|
41
41
|
begin
|
42
|
-
open(uri, allow_redirections
|
42
|
+
open(uri, :allow_redirections => :safe) do |f|
|
43
43
|
File.open(dst, "wb") do |out|
|
44
44
|
out.puts f.read
|
45
45
|
end
|
46
|
-
|
46
|
+
end
|
47
47
|
puts " OK!"
|
48
48
|
rescue => e
|
49
49
|
puts " Error: #{e.message}"
|
@@ -66,52 +66,60 @@ module JekyllImport
|
|
66
66
|
end
|
67
67
|
|
68
68
|
def permalink_title
|
69
|
-
post_name = text_for(
|
69
|
+
post_name = text_for("wp:post_name")
|
70
70
|
# Fallback to "prettified" title if post_name is empty (can happen)
|
71
71
|
@permalink_title ||= if post_name.empty?
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
72
|
+
WordpressDotCom.sluggify(title)
|
73
|
+
else
|
74
|
+
post_name
|
75
|
+
end
|
76
76
|
end
|
77
77
|
|
78
78
|
def published_at
|
79
79
|
if published?
|
80
|
-
@published_at ||= Time.parse(text_for(
|
80
|
+
@published_at ||= Time.parse(text_for("wp:post_date"))
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
84
84
|
def status
|
85
|
-
@status ||= text_for(
|
85
|
+
@status ||= text_for("wp:status")
|
86
|
+
end
|
87
|
+
|
88
|
+
def password
|
89
|
+
@post_password ||= text_for('wp:post_password')
|
86
90
|
end
|
87
91
|
|
88
92
|
def post_type
|
89
|
-
@post_type ||= text_for(
|
93
|
+
@post_type ||= text_for("wp:post_type")
|
94
|
+
end
|
95
|
+
|
96
|
+
def parent_id
|
97
|
+
@parent_id ||= text_for("wp:post_parent")
|
90
98
|
end
|
91
99
|
|
92
100
|
def file_name
|
93
101
|
@file_name ||= if published?
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
102
|
+
"#{published_at.strftime("%Y-%m-%d")}-#{permalink_title}.html"
|
103
|
+
else
|
104
|
+
"#{permalink_title}.html"
|
105
|
+
end
|
98
106
|
end
|
99
107
|
|
100
108
|
def directory_name
|
101
|
-
@directory_name ||= if !published? && post_type ==
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
109
|
+
@directory_name ||= if !published? && post_type == "post"
|
110
|
+
"_drafts"
|
111
|
+
else
|
112
|
+
"_#{post_type}s"
|
113
|
+
end
|
106
114
|
end
|
107
115
|
|
108
116
|
def published?
|
109
|
-
@published ||= (status ==
|
117
|
+
@published ||= (status == "publish")
|
110
118
|
end
|
111
119
|
|
112
120
|
def excerpt
|
113
121
|
@excerpt ||= begin
|
114
|
-
text = Hpricot(text_for(
|
122
|
+
text = Hpricot(text_for("excerpt:encoded")).inner_text
|
115
123
|
if text.empty?
|
116
124
|
nil
|
117
125
|
else
|
@@ -122,56 +130,58 @@ module JekyllImport
|
|
122
130
|
end
|
123
131
|
|
124
132
|
def self.process(options)
|
125
|
-
source = options.fetch(
|
126
|
-
fetch = !options.fetch(
|
127
|
-
assets_folder = options.fetch(
|
133
|
+
source = options.fetch("source", "wordpress.xml")
|
134
|
+
fetch = !options.fetch("no_fetch_images", false)
|
135
|
+
assets_folder = options.fetch("assets_folder", "assets")
|
128
136
|
FileUtils.mkdir_p(assets_folder)
|
129
137
|
|
130
138
|
import_count = Hash.new(0)
|
131
139
|
doc = Hpricot::XML(File.read(source))
|
132
140
|
# Fetch authors data from header
|
133
141
|
authors = Hash[
|
134
|
-
(doc
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
+
(doc / :channel / "wp:author").map do |author|
|
143
|
+
[author.at("wp:author_login").inner_text.strip, {
|
144
|
+
"login" => author.at("wp:author_login").inner_text.strip,
|
145
|
+
"email" => author.at("wp:author_email").inner_text,
|
146
|
+
"display_name" => author.at("wp:author_display_name").inner_text,
|
147
|
+
"first_name" => author.at("wp:author_first_name").inner_text,
|
148
|
+
"last_name" => author.at("wp:author_last_name").inner_text,
|
149
|
+
},]
|
142
150
|
end
|
143
151
|
] rescue {}
|
144
152
|
|
145
|
-
(doc
|
153
|
+
(doc / :channel / :item).each do |node|
|
146
154
|
item = Item.new(node)
|
147
|
-
categories = node.search('category[@domain="category"]').map(&:inner_text).reject{|c| c ==
|
155
|
+
categories = node.search('category[@domain="category"]').map(&:inner_text).reject { |c| c == "Uncategorized" }.uniq
|
148
156
|
tags = node.search('category[@domain="post_tag"]').map(&:inner_text).uniq
|
149
157
|
|
150
|
-
metas =
|
158
|
+
metas = {}
|
151
159
|
node.search("wp:postmeta").each do |meta|
|
152
|
-
key = meta.at(
|
153
|
-
value = meta.at(
|
160
|
+
key = meta.at("wp:meta_key").inner_text
|
161
|
+
value = meta.at("wp:meta_value").inner_text
|
154
162
|
metas[key] = value
|
155
163
|
end
|
156
164
|
|
157
|
-
author_login = item.text_for(
|
165
|
+
author_login = item.text_for("dc:creator").strip
|
158
166
|
|
159
167
|
header = {
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
168
|
+
"layout" => item.post_type,
|
169
|
+
"title" => item.title,
|
170
|
+
"date" => item.published_at,
|
171
|
+
"type" => item.post_type,
|
172
|
+
"parent_id" => item.parent_id,
|
173
|
+
"published" => item.published?,
|
174
|
+
"password" => item.password,
|
175
|
+
"status" => item.status,
|
176
|
+
"categories" => categories,
|
177
|
+
"tags" => tags,
|
178
|
+
"meta" => metas,
|
179
|
+
"author" => authors[author_login],
|
170
180
|
}
|
171
181
|
|
172
182
|
begin
|
173
|
-
content = Hpricot(item.text_for(
|
174
|
-
header[
|
183
|
+
content = Hpricot(item.text_for("content:encoded"))
|
184
|
+
header["excerpt"] = item.excerpt if item.excerpt
|
175
185
|
|
176
186
|
if fetch
|
177
187
|
download_images(item.title, content, assets_folder)
|
@@ -180,7 +190,7 @@ module JekyllImport
|
|
180
190
|
FileUtils.mkdir_p item.directory_name
|
181
191
|
File.open(File.join(item.directory_name, item.file_name), "w") do |f|
|
182
192
|
f.puts header.to_yaml
|
183
|
-
f.puts
|
193
|
+
f.puts "---"
|
184
194
|
f.puts Util.wpautop(content.to_html)
|
185
195
|
end
|
186
196
|
rescue => e
|
@@ -200,7 +210,7 @@ module JekyllImport
|
|
200
210
|
end
|
201
211
|
|
202
212
|
def self.sluggify(title)
|
203
|
-
title.gsub(
|
213
|
+
title.gsub(%r![^[:alnum:]]+!, "-").downcase
|
204
214
|
end
|
205
215
|
end
|
206
216
|
end
|
data/lib/jekyll-import/util.rb
CHANGED
@@ -12,18 +12,18 @@ module JekyllImport
|
|
12
12
|
# @return string Text which has been converted into correct paragraph tags.
|
13
13
|
#
|
14
14
|
def self.wpautop(pee, br = true)
|
15
|
-
return
|
15
|
+
return "" if pee.strip == ""
|
16
16
|
|
17
|
-
allblocks =
|
17
|
+
allblocks = "(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|option|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|noscript|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary)"
|
18
18
|
pre_tags = {}
|
19
|
-
pee
|
19
|
+
pee += "\n"
|
20
20
|
|
21
|
-
if pee.include?(
|
22
|
-
pee_parts = pee.split(
|
21
|
+
if pee.include?("<pre")
|
22
|
+
pee_parts = pee.split("</pre>")
|
23
23
|
last_pee = pee_parts.pop
|
24
|
-
pee =
|
24
|
+
pee = ""
|
25
25
|
pee_parts.each_with_index do |pee_part, i|
|
26
|
-
start = pee_part.index(
|
26
|
+
start = pee_part.index("<pre")
|
27
27
|
|
28
28
|
unless start
|
29
29
|
pee += pee_part
|
@@ -31,7 +31,7 @@ module JekyllImport
|
|
31
31
|
end
|
32
32
|
|
33
33
|
name = "<pre wp-pre-tag-#{i}></pre>"
|
34
|
-
pre_tags[name] = pee_part[start..-1] +
|
34
|
+
pre_tags[name] = pee_part[start..-1] + "</pre>"
|
35
35
|
|
36
36
|
pee += pee_part[0, start] + name
|
37
37
|
end
|
@@ -41,31 +41,31 @@ module JekyllImport
|
|
41
41
|
pee = pee.gsub(Regexp.new('<br />\s*<br />'), "\n\n")
|
42
42
|
pee = pee.gsub(Regexp.new("(<" + allblocks + "[^>]*>)"), "\n\\1")
|
43
43
|
pee = pee.gsub(Regexp.new("(</" + allblocks + ">)"), "\\1\n\n")
|
44
|
-
pee = pee.gsub("\r\n", "\n").
|
45
|
-
if pee.include?
|
44
|
+
pee = pee.gsub("\r\n", "\n").tr("\r", "\n")
|
45
|
+
if pee.include? "<object"
|
46
46
|
pee = pee.gsub(Regexp.new('\s*<param([^>]*)>\s*'), "<param\\1>")
|
47
|
-
pee = pee.gsub(Regexp.new('\s*</embed>\s*'),
|
47
|
+
pee = pee.gsub(Regexp.new('\s*</embed>\s*'), "</embed>")
|
48
48
|
end
|
49
49
|
|
50
|
-
pees = pee.split(
|
51
|
-
pee =
|
52
|
-
pees.each { |tinkle| pee +=
|
53
|
-
pee = pee.gsub(Regexp.new('<p>\s*</p>'),
|
54
|
-
pee = pee.gsub(Regexp.new(
|
50
|
+
pees = pee.split(%r!\n\s*\n!).compact
|
51
|
+
pee = ""
|
52
|
+
pees.each { |tinkle| pee += "<p>" + tinkle.chomp("\n") + "</p>\n" }
|
53
|
+
pee = pee.gsub(Regexp.new('<p>\s*</p>'), "")
|
54
|
+
pee = pee.gsub(Regexp.new("<p>([^<]+)</(div|address|form)>"), "<p>\\1</p></\\2>")
|
55
55
|
pee = pee.gsub(Regexp.new('<p>\s*(</?' + allblocks + '[^>]*>)\s*</p>'), "\\1")
|
56
|
-
pee = pee.gsub(Regexp.new(
|
57
|
-
pee = pee.gsub(Regexp.new(
|
58
|
-
pee = pee.gsub(
|
59
|
-
pee = pee.gsub(Regexp.new('<p>\s*(</?' + allblocks +
|
60
|
-
pee = pee.gsub(Regexp.new(
|
56
|
+
pee = pee.gsub(Regexp.new("<p>(<li.+?)</p>"), "\\1")
|
57
|
+
pee = pee.gsub(Regexp.new("<p><blockquote([^>]*)>", "i"), "<blockquote\\1><p>")
|
58
|
+
pee = pee.gsub("</blockquote></p>", "</p></blockquote>")
|
59
|
+
pee = pee.gsub(Regexp.new('<p>\s*(</?' + allblocks + "[^>]*>)"), "\\1")
|
60
|
+
pee = pee.gsub(Regexp.new("(</?" + allblocks + '[^>]*>)\s*</p>'), "\\1")
|
61
61
|
if br
|
62
62
|
pee = pee.gsub(Regexp.new('<(script|style).*?</\1>')) { |match| match.gsub("\n", "<WPPreserveNewline />") }
|
63
63
|
pee = pee.gsub(Regexp.new('(?<!<br />)\s*\n'), "<br />\n")
|
64
|
-
pee = pee.gsub(
|
64
|
+
pee = pee.gsub("<WPPreserveNewline />", "\n")
|
65
65
|
end
|
66
|
-
pee = pee.gsub(Regexp.new(
|
66
|
+
pee = pee.gsub(Regexp.new("(</?" + allblocks + '[^>]*>)\s*<br />'), "\\1")
|
67
67
|
pee = pee.gsub(Regexp.new('<br />(\s*</?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)[^>]*>)'), "\\1")
|
68
|
-
pee = pee.gsub(Regexp.new('\n</p>$'),
|
68
|
+
pee = pee.gsub(Regexp.new('\n</p>$'), "</p>")
|
69
69
|
|
70
70
|
pre_tags.each do |name, value|
|
71
71
|
pee.gsub!(name, value)
|
@@ -1,49 +1,48 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require
|
1
|
+
# load from jekyll-import/lib
|
2
|
+
$LOAD_PATH.unshift File.expand_path("../", __dir__)
|
3
|
+
require "jekyll/command"
|
4
|
+
require "jekyll-import"
|
4
5
|
|
5
6
|
module Jekyll
|
6
7
|
module Commands
|
7
8
|
class Import < Command
|
8
|
-
|
9
9
|
IMPORTERS = {
|
10
|
-
:blogger
|
11
|
-
:behance
|
12
|
-
:csv
|
13
|
-
:drupal6
|
14
|
-
:drupal7
|
15
|
-
:enki
|
16
|
-
:joomla
|
17
|
-
:joomla3
|
18
|
-
:jrnl
|
19
|
-
:ghost
|
20
|
-
:google_reader
|
21
|
-
:marley
|
22
|
-
:mephisto
|
23
|
-
:mt
|
24
|
-
:posterous
|
25
|
-
:rss
|
26
|
-
:s9y
|
27
|
-
:textpattern
|
28
|
-
:tumblr
|
29
|
-
:typo
|
30
|
-
:wordpress
|
31
|
-
:wordpressdotcom =>
|
32
|
-
}
|
10
|
+
:blogger => "Blogger",
|
11
|
+
:behance => "Behance",
|
12
|
+
:csv => "CSV",
|
13
|
+
:drupal6 => "Drupal6",
|
14
|
+
:drupal7 => "Drupal7",
|
15
|
+
:enki => "Enki",
|
16
|
+
:joomla => "Joomla",
|
17
|
+
:joomla3 => "Joomla3",
|
18
|
+
:jrnl => "Jrnl",
|
19
|
+
:ghost => "Ghost",
|
20
|
+
:google_reader => "GoogleReader",
|
21
|
+
:marley => "Marley",
|
22
|
+
:mephisto => "Mephisto",
|
23
|
+
:mt => "MT",
|
24
|
+
:posterous => "Posterous",
|
25
|
+
:rss => "RSS",
|
26
|
+
:s9y => "S9Y",
|
27
|
+
:textpattern => "TextPattern",
|
28
|
+
:tumblr => "Tumblr",
|
29
|
+
:typo => "Typo",
|
30
|
+
:wordpress => "WordPress",
|
31
|
+
:wordpressdotcom => "WordpressDotCom",
|
32
|
+
}.freeze
|
33
33
|
|
34
34
|
class << self
|
35
|
-
|
36
35
|
def init_with_program(prog)
|
37
36
|
prog.command(:import) do |c|
|
38
|
-
c.syntax
|
39
|
-
c.description
|
37
|
+
c.syntax "import <platform> [options]"
|
38
|
+
c.description "Import your old blog to Jekyll"
|
40
39
|
importers = JekyllImport.add_importer_commands(c)
|
41
40
|
|
42
|
-
c.action do |args,
|
41
|
+
c.action do |args, _options|
|
43
42
|
if args.empty?
|
44
43
|
Jekyll.logger.warn "You must specify an importer."
|
45
44
|
Jekyll.logger.info "Valid options are:"
|
46
|
-
importers.each { |i| Jekyll.logger.info "*",
|
45
|
+
importers.each { |i| Jekyll.logger.info "*", i.to_s }
|
47
46
|
end
|
48
47
|
end
|
49
48
|
end
|
@@ -69,11 +68,9 @@ module Jekyll
|
|
69
68
|
def abort_on_invalid_migrator(migrator)
|
70
69
|
$stderr.puts "Sorry, '#{migrator}' isn't a valid migrator. Valid choices:"
|
71
70
|
IMPORTERS.keys.each { |k| $stderr.puts "* #{k}" }
|
72
|
-
raise
|
71
|
+
raise "'#{migrator}' is not a valid migrator."
|
73
72
|
end
|
74
|
-
|
75
73
|
end
|
76
|
-
|
77
74
|
end
|
78
75
|
end
|
79
76
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-import
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Preston-Werner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-11-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -221,47 +221,47 @@ dependencies:
|
|
221
221
|
- !ruby/object:Gem::Version
|
222
222
|
version: '0.8'
|
223
223
|
- !ruby/object:Gem::Dependency
|
224
|
-
name:
|
224
|
+
name: pg
|
225
225
|
requirement: !ruby/object:Gem::Requirement
|
226
226
|
requirements:
|
227
227
|
- - "~>"
|
228
228
|
- !ruby/object:Gem::Version
|
229
|
-
version: '
|
229
|
+
version: '0.12'
|
230
230
|
type: :development
|
231
231
|
prerelease: false
|
232
232
|
version_requirements: !ruby/object:Gem::Requirement
|
233
233
|
requirements:
|
234
234
|
- - "~>"
|
235
235
|
- !ruby/object:Gem::Version
|
236
|
-
version: '
|
236
|
+
version: '0.12'
|
237
237
|
- !ruby/object:Gem::Dependency
|
238
|
-
name:
|
238
|
+
name: mysql2
|
239
239
|
requirement: !ruby/object:Gem::Requirement
|
240
240
|
requirements:
|
241
241
|
- - "~>"
|
242
242
|
- !ruby/object:Gem::Version
|
243
|
-
version: '0.
|
243
|
+
version: '0.3'
|
244
244
|
type: :development
|
245
245
|
prerelease: false
|
246
246
|
version_requirements: !ruby/object:Gem::Requirement
|
247
247
|
requirements:
|
248
248
|
- - "~>"
|
249
249
|
- !ruby/object:Gem::Version
|
250
|
-
version: '0.
|
250
|
+
version: '0.3'
|
251
251
|
- !ruby/object:Gem::Dependency
|
252
|
-
name:
|
252
|
+
name: sqlite3
|
253
253
|
requirement: !ruby/object:Gem::Requirement
|
254
254
|
requirements:
|
255
255
|
- - "~>"
|
256
256
|
- !ruby/object:Gem::Version
|
257
|
-
version:
|
257
|
+
version: 1.3.13
|
258
258
|
type: :development
|
259
259
|
prerelease: false
|
260
260
|
version_requirements: !ruby/object:Gem::Requirement
|
261
261
|
requirements:
|
262
262
|
- - "~>"
|
263
263
|
- !ruby/object:Gem::Version
|
264
|
-
version:
|
264
|
+
version: 1.3.13
|
265
265
|
- !ruby/object:Gem::Dependency
|
266
266
|
name: behance
|
267
267
|
requirement: !ruby/object:Gem::Requirement
|
@@ -366,6 +366,7 @@ files:
|
|
366
366
|
- lib/jekyll-import/importers/s9y.rb
|
367
367
|
- lib/jekyll-import/importers/s9y_database.rb
|
368
368
|
- lib/jekyll-import/importers/textpattern.rb
|
369
|
+
- lib/jekyll-import/importers/tmp.rb
|
369
370
|
- lib/jekyll-import/importers/tumblr.rb
|
370
371
|
- lib/jekyll-import/importers/typo.rb
|
371
372
|
- lib/jekyll-import/importers/wordpress.rb
|
@@ -386,7 +387,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
386
387
|
requirements:
|
387
388
|
- - ">="
|
388
389
|
- !ruby/object:Gem::Version
|
389
|
-
version: 1
|
390
|
+
version: '2.1'
|
390
391
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
391
392
|
requirements:
|
392
393
|
- - ">="
|
@@ -394,7 +395,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
394
395
|
version: '0'
|
395
396
|
requirements: []
|
396
397
|
rubyforge_project:
|
397
|
-
rubygems_version: 2.
|
398
|
+
rubygems_version: 2.6.13
|
398
399
|
signing_key:
|
399
400
|
specification_version: 2
|
400
401
|
summary: Import command for Jekyll (static site generator).
|