jekyll-import 0.14.0 → 0.15.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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/lib/jekyll-import.rb +2 -0
  3. data/lib/jekyll-import/importer.rb +5 -3
  4. data/lib/jekyll-import/importers.rb +3 -0
  5. data/lib/jekyll-import/importers/behance.rb +7 -6
  6. data/lib/jekyll-import/importers/blogger.rb +23 -38
  7. data/lib/jekyll-import/importers/csv.rb +6 -5
  8. data/lib/jekyll-import/importers/drupal6.rb +7 -5
  9. data/lib/jekyll-import/importers/drupal7.rb +15 -13
  10. data/lib/jekyll-import/importers/drupal_common.rb +55 -31
  11. data/lib/jekyll-import/importers/easyblog.rb +8 -8
  12. data/lib/jekyll-import/importers/enki.rb +14 -12
  13. data/lib/jekyll-import/importers/ghost.rb +4 -1
  14. data/lib/jekyll-import/importers/google_reader.rb +4 -4
  15. data/lib/jekyll-import/importers/joomla.rb +9 -9
  16. data/lib/jekyll-import/importers/joomla3.rb +15 -15
  17. data/lib/jekyll-import/importers/jrnl.rb +11 -9
  18. data/lib/jekyll-import/importers/marley.rb +12 -10
  19. data/lib/jekyll-import/importers/mephisto.rb +15 -15
  20. data/lib/jekyll-import/importers/mt.rb +16 -13
  21. data/lib/jekyll-import/importers/posterous.rb +12 -9
  22. data/lib/jekyll-import/importers/roller.rb +277 -0
  23. data/lib/jekyll-import/importers/rss.rb +18 -6
  24. data/lib/jekyll-import/importers/s9y.rb +3 -1
  25. data/lib/jekyll-import/importers/s9y_database.rb +38 -53
  26. data/lib/jekyll-import/importers/textpattern.rb +6 -4
  27. data/lib/jekyll-import/importers/tumblr.rb +101 -107
  28. data/lib/jekyll-import/importers/typo.rb +29 -27
  29. data/lib/jekyll-import/importers/wordpress.rb +47 -59
  30. data/lib/jekyll-import/importers/wordpressdotcom.rb +27 -32
  31. data/lib/jekyll-import/util.rb +2 -1
  32. data/lib/jekyll-import/version.rb +3 -1
  33. data/lib/jekyll/commands/import.rb +4 -7
  34. metadata +40 -40
  35. data/lib/jekyll-import/importers/tmp.rb +0 -0
@@ -1,21 +1,21 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module JekyllImport
2
4
  module Importers
3
5
  class Easyblog < Importer
4
6
  def self.validate(options)
5
7
  %w(dbname user).each do |option|
6
- if options[option].nil?
7
- abort "Missing mandatory option --#{option}."
8
- end
8
+ abort "Missing mandatory option --#{option}." if options[option].nil?
9
9
  end
10
10
  end
11
11
 
12
12
  def self.specify_options(c)
13
- c.option "dbname", "--dbname", "Database name"
14
- c.option "user", "--user", "Database user name"
13
+ c.option "dbname", "--dbname", "Database name"
14
+ c.option "user", "--user", "Database user name"
15
15
  c.option "password", "--password", "Database user's password (default: '')"
16
- c.option "host", "--host", "Database host name"
17
- c.option "section", "--section", "Table prefix name"
18
- c.option "prefix", "--prefix", "Table prefix name"
16
+ c.option "host", "--host", "Database host name"
17
+ c.option "section", "--section", "Table prefix name"
18
+ c.option "prefix", "--prefix", "Table prefix name"
19
19
  end
20
20
 
21
21
  def self.require_deps
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module JekyllImport
2
4
  module Importers
3
5
  class Enki < Importer
4
- SQL = <<-EOS.freeze
6
+ SQL = <<~SQL
5
7
  SELECT p.id,
6
8
  p.title,
7
9
  p.slug,
@@ -9,21 +11,19 @@ module JekyllImport
9
11
  p.published_at as date,
10
12
  p.cached_tag_list as tags
11
13
  FROM posts p
12
- EOS
14
+ SQL
13
15
 
14
16
  def self.validate(options)
15
17
  %w(dbname user).each do |option|
16
- if options[option].nil?
17
- abort "Missing mandatory option --#{option}."
18
- end
18
+ abort "Missing mandatory option --#{option}." if options[option].nil?
19
19
  end
20
20
  end
21
21
 
22
22
  def self.specify_options(c)
23
- c.option "dbname", "--dbname", "Database name"
24
- c.option "user", "--user", "Database name"
23
+ c.option "dbname", "--dbname", "Database name"
24
+ c.option "user", "--user", "Database name"
25
25
  c.option "password", "--password", 'Database name (default: "")'
26
- c.option "host", "--host", "Database name"
26
+ c.option "host", "--host", "Database name"
27
27
  end
28
28
 
29
29
  def self.require_deps
@@ -52,10 +52,12 @@ EOS
52
52
  :encoding => "utf8")
53
53
 
54
54
  db[SQL].each do |post|
55
- name = [ format("%.04d", post[:date].year),
56
- format("%.02d", post[:date].month),
57
- format("%.02d", post[:date].day),
58
- post[:slug].strip, ].join("-")
55
+ name = [
56
+ format("%.04d", post[:date].year),
57
+ format("%.02d", post[:date].month),
58
+ format("%.02d", post[:date].day),
59
+ post[:slug].strip,
60
+ ].join("-")
59
61
  name += ".textile"
60
62
 
61
63
  File.open("_posts/#{name}", "w") do |f|
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module JekyllImport
2
4
  module Importers
3
5
  class Ghost < Importer
@@ -26,8 +28,9 @@ module JekyllImport
26
28
  end
27
29
  end
28
30
 
29
- private
30
31
  class << self
32
+ private
33
+
31
34
  def fetch_posts(dbfile)
32
35
  db = Sequel.sqlite(dbfile)
33
36
  query = "SELECT `title`, `slug`, `markdown`, `created_at`, `published_at`, `status`, `page` FROM posts"
@@ -1,10 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module JekyllImport
2
4
  module Importers
3
5
  class GoogleReader < Importer
4
6
  def self.validate(options)
5
- if options["source"].nil?
6
- abort "Missing mandatory option --source."
7
- end
7
+ abort "Missing mandatory option --source." if options["source"].nil?
8
8
  end
9
9
 
10
10
  def self.specify_options(c)
@@ -31,7 +31,7 @@ module JekyllImport
31
31
  def self.process(options)
32
32
  source = options.fetch("source")
33
33
 
34
- open(source) do |content|
34
+ URI.parse(source).open do |content|
35
35
  feed = RSS::Parser.parse(content)
36
36
 
37
37
  raise "There doesn't appear to be any RSS items at the source (#{source}) provided." unless feed
@@ -1,22 +1,22 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module JekyllImport
2
4
  module Importers
3
5
  class Joomla < Importer
4
6
  def self.validate(options)
5
7
  %w(dbname user).each do |option|
6
- if options[option].nil?
7
- abort "Missing mandatory option --#{option}."
8
- end
8
+ abort "Missing mandatory option --#{option}." if options[option].nil?
9
9
  end
10
10
  end
11
11
 
12
12
  def self.specify_options(c)
13
- c.option "dbname", "--dbname", "Database name"
14
- c.option "user", "--user", "Database user name"
13
+ c.option "dbname", "--dbname", "Database name"
14
+ c.option "user", "--user", "Database user name"
15
15
  c.option "password", "--password", "Database user's password (default: '')"
16
- c.option "host", "--host", "Database host name"
17
- c.option "port", "--port", "Database port"
18
- c.option "section", "--section", "Table prefix name"
19
- c.option "prefix", "--prefix", "Table prefix name"
16
+ c.option "host", "--host", "Database host name"
17
+ c.option "port", "--port", "Database port"
18
+ c.option "section", "--section", "Table prefix name"
19
+ c.option "prefix", "--prefix", "Table prefix name"
20
20
  end
21
21
 
22
22
  def self.require_deps
@@ -1,22 +1,22 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module JekyllImport
2
4
  module Importers
3
5
  class Joomla3 < Importer
4
6
  def self.validate(options)
5
7
  %w(dbname user prefix).each do |option|
6
- if options[option].nil?
7
- abort "Missing mandatory option --#{option}."
8
- end
8
+ abort "Missing mandatory option --#{option}." if options[option].nil?
9
9
  end
10
10
  end
11
11
 
12
12
  def self.specify_options(c)
13
- c.option "dbname", "--dbname", "Database name"
14
- c.option "user", "--user", "Database user name"
13
+ c.option "dbname", "--dbname", "Database name"
14
+ c.option "user", "--user", "Database user name"
15
15
  c.option "password", "--password", "Database user's password (default: '')"
16
- c.option "host", "--host", "Database host name"
17
- c.option "port", "--port", "Database port"
16
+ c.option "host", "--host", "Database host name"
17
+ c.option "port", "--port", "Database port"
18
18
  c.option "category", "--category", "ID of the category"
19
- c.option "prefix", "--prefix", "Table prefix name"
19
+ c.option "prefix", "--prefix", "Table prefix name"
20
20
  end
21
21
 
22
22
  def self.require_deps
@@ -30,12 +30,12 @@ module JekyllImport
30
30
  end
31
31
 
32
32
  def self.process(options)
33
- dbname = options.fetch("dbname")
34
- user = options.fetch("user")
35
- pass = options.fetch("password", "")
36
- host = options.fetch("host", "localhost")
37
- port = options.fetch("port", 3306).to_i
38
- cid = options.fetch("category", 0)
33
+ dbname = options.fetch("dbname")
34
+ user = options.fetch("user")
35
+ pass = options.fetch("password", "")
36
+ host = options.fetch("host", "localhost")
37
+ port = options.fetch("port", 3306).to_i
38
+ cid = options.fetch("category", 0)
39
39
  table_prefix = options.fetch("prefix", "jos_")
40
40
 
41
41
  db = Sequel.mysql2(dbname, :user => user, :password => pass, :host => host, :port => port, :encoding => "utf8")
@@ -50,7 +50,7 @@ module JekyllImport
50
50
  query << "JOIN `#{table_prefix}users` AS `u` ON `cn`.`created_by` = `u`.`id` "
51
51
  query << "WHERE (`cn`.`state` = '1' OR `cn`.`state` = '2') " # Only published and archived content items to be imported
52
52
 
53
- query << if cid > 0
53
+ query << if cid.positive?
54
54
  " AND `cn`.`catid` = '#{cid}' "
55
55
  else
56
56
  " AND `cn`.`catid` != '2' " # Filter out uncategorized content
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module JekyllImport
2
4
  module Importers
3
5
  class Jrnl < Importer
@@ -10,10 +12,10 @@ module JekyllImport
10
12
  end
11
13
 
12
14
  def self.specify_options(c)
13
- c.option "file", "--file FILENAME", 'Journal file (default: "~/journal.txt")'
15
+ c.option "file", "--file FILENAME", 'Journal file (default: "~/journal.txt")'
14
16
  c.option "time_format", "--time_format FORMAT", 'Time format of your journal (default: "%Y-%m-%d %H:%M")'
15
- c.option "extension", "--extension EXT", 'Output extension (default: "md")'
16
- c.option "layout", "--layout NAME", 'Output post layout (default: "post")'
17
+ c.option "extension", "--extension EXT", 'Output extension (default: "md")'
18
+ c.option "layout", "--layout NAME", 'Output post layout (default: "post")'
17
19
  end
18
20
 
19
21
  # Reads a jrnl file and creates a new post for each entry
@@ -57,27 +59,27 @@ module JekyllImport
57
59
 
58
60
  # strip body from jrnl entry
59
61
  def self.get_post_content(content)
60
- return content[1]
62
+ content[1]
61
63
  end
62
64
 
63
65
  # strip timestamp from the dateline
64
66
  def self.get_date(content, offset)
65
- return content[0, offset]
67
+ content[0, offset]
66
68
  end
67
69
 
68
70
  # strip title from the dateline
69
71
  def self.get_title(content, offset)
70
- return content[offset + 1, content.length]
72
+ content[offset + 1, content.length]
71
73
  end
72
74
 
73
75
  # generate slug
74
76
  def self.create_slug(title)
75
- return title.downcase.strip.tr(" ", "-").gsub(%r![^\w-]!, "")
77
+ title.downcase.strip.tr(" ", "-").gsub(%r![^\w-]!, "")
76
78
  end
77
79
 
78
80
  # generate filename
79
81
  def self.create_filename(date, slug, extension)
80
- return "#{Time.parse(date).strftime("%Y-%m-%d")}-#{slug}.#{extension}"
82
+ "#{Time.parse(date).strftime("%Y-%m-%d")}-#{slug}.#{extension}"
81
83
  end
82
84
 
83
85
  # Prepare YAML meta data
@@ -98,7 +100,7 @@ module JekyllImport
98
100
  "title" => title,
99
101
  "date" => Time.parse(date).strftime("%Y-%m-%d %H:%M %z"),
100
102
  }.to_yaml
101
- return data
103
+ data
102
104
  end
103
105
 
104
106
  # Writes given data to file
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module JekyllImport
2
4
  module Importers
3
5
  class Marley < Importer
@@ -42,13 +44,13 @@ module JekyllImport
42
44
 
43
45
  # copied over from marley's app/lib/post.rb
44
46
  file_content = File.read(f)
45
- meta_content = file_content.slice!(self.regexp[:meta])
46
- body = file_content.sub(self.regexp[:title], "").sub(self.regexp[:perex], "").strip
47
+ meta_content = file_content.slice!(regexp[:meta])
48
+ body = file_content.sub(regexp[:title], "").sub(regexp[:perex], "").strip
47
49
 
48
- title = file_content.scan(self.regexp[:title]).first.to_s.strip
49
- prerex = file_content.scan(self.regexp[:perex]).first.to_s.strip
50
+ title = file_content.scan(regexp[:title]).first.to_s.strip
51
+ prerex = file_content.scan(regexp[:perex]).first.to_s.strip
50
52
  published_on = DateTime.parse(post[:published_on]) rescue File.mtime(File.dirname(f))
51
- meta = meta_content ? YAML.safe_load(meta_content.scan(self.regexp[:meta]).to_s) : {}
53
+ meta = meta_content ? YAML.safe_load(meta_content.scan(regexp[:meta]).to_s) : {}
52
54
  meta["title"] = title
53
55
  meta["layout"] = "post"
54
56
 
@@ -56,11 +58,11 @@ module JekyllImport
56
58
  post_name = File.dirname(f).split(%r!/!).last.gsub(%r!\A\d+-!, "")
57
59
 
58
60
  name = "#{formatted_date}-#{post_name}"
59
- File.open("_posts/#{name}.markdown", "w") do |f|
60
- f.puts meta.to_yaml
61
- f.puts "---\n"
62
- f.puts "\n#{prerex}\n\n" if prerex
63
- f.puts body
61
+ File.open("_posts/#{name}.markdown", "w") do |post|
62
+ post.puts meta.to_yaml
63
+ post.puts "---\n"
64
+ post.puts "\n#{prerex}\n\n" if prerex
65
+ post.puts body
64
66
  end
65
67
  posts += 1
66
68
  end
@@ -1,28 +1,28 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module JekyllImport
2
4
  module Importers
3
5
  class Mephisto < Importer
4
6
  # Accepts a hash with database config variables, exports mephisto posts into a csv
5
7
  # export PGPASSWORD if you must
6
8
  def self.postgres(c)
7
- sql = <<-SQL
8
- BEGIN;
9
- CREATE TEMP TABLE jekyll AS
10
- SELECT title, permalink, body, published_at, filter FROM contents
11
- WHERE user_id = 1 AND type = 'Article' ORDER BY published_at;
12
- COPY jekyll TO STDOUT WITH CSV HEADER;
13
- ROLLBACK;
9
+ sql = <<~SQL
10
+ BEGIN;
11
+ CREATE TEMP TABLE jekyll AS
12
+ SELECT title, permalink, body, published_at, filter FROM contents
13
+ WHERE user_id = 1 AND type = 'Article' ORDER BY published_at;
14
+ COPY jekyll TO STDOUT WITH CSV HEADER;
15
+ ROLLBACK;
14
16
  SQL
15
17
  command = %(psql -h #{c[:host] || "localhost"} -c "#{sql.strip}" #{c[:database]} #{c[:username]} -o #{c[:filename] || "posts.csv"})
16
- puts command
18
+ Jekyll.logger.info "Executing:", command
17
19
  `#{command}`
18
20
  CSV.process
19
21
  end
20
22
 
21
23
  def self.validate(options)
22
24
  %w(dbname user).each do |option|
23
- if options[option].nil?
24
- abort "Missing mandatory option --#{option}."
25
- end
25
+ abort "Missing mandatory option --#{option}." if options[option].nil?
26
26
  end
27
27
  end
28
28
 
@@ -37,10 +37,10 @@ module JekyllImport
37
37
  end
38
38
 
39
39
  def self.specify_options(c)
40
- c.option "dbname", "--dbname DB", "Database name"
41
- c.option "user", "--user USER", "Database user name"
40
+ c.option "dbname", "--dbname DB", "Database name"
41
+ c.option "user", "--user USER", "Database user name"
42
42
  c.option "password", "--password PW", "Database user's password (default: '')"
43
- c.option "host", "--host HOST", 'Database host name (default: "localhost")'
43
+ c.option "host", "--host HOST", 'Database host name (default: "localhost")'
44
44
  end
45
45
 
46
46
  # This query will pull blog posts from all entries across all blogs. If
@@ -55,7 +55,7 @@ module JekyllImport
55
55
  WHERE user_id = 1 AND \
56
56
  type = 'Article' AND \
57
57
  published_at IS NOT NULL \
58
- ORDER BY published_at".freeze
58
+ ORDER BY published_at"
59
59
 
60
60
  def self.process(options)
61
61
  dbname = options.fetch("dbname")
@@ -1,11 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module JekyllImport
2
4
  module Importers
3
5
  class MT < Importer
4
- SUPPORTED_ENGINES = %(mysql postgres sqlite).freeze
6
+ SUPPORTED_ENGINES = %w(mysql postgres sqlite).freeze
5
7
 
6
8
  STATUS_DRAFT = 1
7
9
  STATUS_PUBLISHED = 2
8
- MORE_CONTENT_SEPARATOR = "<!--more-->".freeze
10
+ MORE_CONTENT_SEPARATOR = "<!--more-->"
9
11
 
10
12
  def self.default_options
11
13
  {
@@ -30,17 +32,17 @@ module JekyllImport
30
32
  end
31
33
 
32
34
  def self.specify_options(c)
33
- c.option "engine", "--engine ENGINE", "Database engine, (default: 'mysql', postgres also supported)"
34
- c.option "dbname", "--dbname DB", "Database name"
35
- c.option "user", "--user USER", "Database user name"
36
- c.option "password", "--password PW", "Database user's password, (default: '')"
37
- c.option "host", "--host HOST", 'Database host name (default: "localhost")'
38
- c.option "port", "--port PORT", "Custom database port connect to (optional)"
39
- c.option "blog_id", "--blog_id ID", "Specify a single Movable Type blog ID to import (default: all blogs)"
40
- c.option "categories", "--categories", "If true, save post's categories in its YAML front matter. (default: true)"
41
- c.option "src_encoding", "--src_encoding ENCODING", "Encoding of strings from database. (default: UTF-8)"
35
+ c.option "engine", "--engine ENGINE", "Database engine, (default: 'mysql', postgres also supported)"
36
+ c.option "dbname", "--dbname DB", "Database name"
37
+ c.option "user", "--user USER", "Database user name"
38
+ c.option "password", "--password PW", "Database user's password, (default: '')"
39
+ c.option "host", "--host HOST", 'Database host name (default: "localhost")'
40
+ c.option "port", "--port PORT", "Custom database port connect to (optional)"
41
+ c.option "blog_id", "--blog_id ID", "Specify a single Movable Type blog ID to import (default: all blogs)"
42
+ c.option "categories", "--categories", "If true, save post's categories in its YAML front matter. (default: true)"
43
+ c.option "src_encoding", "--src_encoding ENCODING", "Encoding of strings from database. (default: UTF-8)"
42
44
  c.option "dest_encoding", "--dest_encoding ENCODING", "Encoding of output strings. (default: UTF-8)"
43
- c.option "comments", "--comments", "If true, output comments in _comments directory (default: false)"
45
+ c.option "comments", "--comments", "If true, output comments in _comments directory (default: false)"
44
46
  end
45
47
 
46
48
  # By default this migrator will include posts for all your MovableType blogs.
@@ -82,7 +84,7 @@ module JekyllImport
82
84
  posts = posts.filter(:entry_blog_id => options["blog_id"]) if options["blog_id"]
83
85
  posts.each do |post|
84
86
  categories = post_categories.filter(
85
- :mt_placement__placement_entry_id => post[:entry_id]
87
+ :placement_entry_id => post[:entry_id]
86
88
  ).map { |ea| encode(ea[:category_basename], options) }
87
89
 
88
90
  file_name = post_file_name(post, options)
@@ -110,6 +112,7 @@ module JekyllImport
110
112
  comments = db[:mt_comment]
111
113
  comments.each do |comment|
112
114
  next unless posts_name_by_id.key?(comment[:comment_entry_id]) # if the entry exists
115
+
113
116
  dir_name, base_name = comment_file_dir_and_base_name(posts_name_by_id, comment, options)
114
117
  FileUtils.mkdir_p "_comments/#{dir_name}"
115
118
 
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module JekyllImport
2
4
  module Importers
3
5
  class Posterous < Importer
4
6
  def self.specify_options(c)
5
- c.option "email", "--email EMAIL", "Posterous email address"
6
- c.option "password", "--password PW", "Posterous password"
7
+ c.option "email", "--email EMAIL", "Posterous email address"
8
+ c.option "password", "--password PW", "Posterous password"
7
9
  c.option "api_token", "--token TOKEN", "Posterous API Token"
8
10
  end
9
11
 
@@ -39,10 +41,11 @@ module JekyllImport
39
41
  def self.fetch_images(directory, imgs)
40
42
  def self.fetch_one(url, limit = 10)
41
43
  raise ArgumentError, "HTTP redirect too deep" if limit.zero?
44
+
42
45
  response = Net::HTTP.get_response(URI.parse(url))
43
46
  case response
44
47
  when Net::HTTPSuccess then response.body
45
- when Net::HTTPRedirection then self.fetch_one(response["location"], limit - 1)
48
+ when Net::HTTPRedirection then fetch_one(response["location"], limit - 1)
46
49
  else
47
50
  response.error!
48
51
  end
@@ -54,14 +57,14 @@ module JekyllImport
54
57
  fullurl = img["full"]["url"]
55
58
  uri = URI.parse(fullurl)
56
59
  imgname = uri.path.split("/")[-1]
57
- imgdata = self.fetch_one(fullurl)
58
- open(directory + "/" + imgname, "wb") do |file|
60
+ imgdata = fetch_one(fullurl)
61
+ File.open(directory + "/" + imgname, "wb") do |file|
59
62
  file.write imgdata
60
63
  end
61
64
  urls.push(directory + "/" + imgname)
62
65
  end
63
66
 
64
- return urls
67
+ urls
65
68
  end
66
69
 
67
70
  def self.process(options)
@@ -76,7 +79,7 @@ module JekyllImport
76
79
  opts = defaults.merge(opts)
77
80
  FileUtils.mkdir_p "_posts"
78
81
 
79
- posts = JSON.parse(self.fetch("/api/v2/users/me/sites/#{opts[:blog]}/posts?api_token=#{@api_token}").body)
82
+ posts = JSON.parse(fetch("/api/v2/users/me/sites/#{opts[:blog]}/posts?api_token=#{@api_token}").body)
80
83
  page = 1
81
84
 
82
85
  while posts.any?
@@ -94,7 +97,7 @@ module JekyllImport
94
97
  post_imgs = post["media"]["images"]
95
98
  if post_imgs.any?
96
99
  img_dir = format("imgs/%s", basename)
97
- img_urls = self.fetch_images(img_dir, post_imgs)
100
+ img_urls = fetch_images(img_dir, post_imgs)
98
101
 
99
102
  img_urls.map! do |url|
100
103
  '<li><img src="' + opts[:base_path] + url + '"></li>'
@@ -123,7 +126,7 @@ module JekyllImport
123
126
  end
124
127
 
125
128
  page += 1
126
- posts = JSON.parse(self.fetch("/api/v2/users/me/sites/#{opts[:blog]}/posts?api_token=#{@api_token}&page=#{page}").body)
129
+ posts = JSON.parse(fetch("/api/v2/users/me/sites/#{opts[:blog]}/posts?api_token=#{@api_token}&page=#{page}").body)
127
130
  end
128
131
  end
129
132
  end