jekyll-import 0.14.0 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
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