class JekyllImport::Importers::Medium

Public Class Methods

process(options) click to toggle source

Medium posts and associated metadata are exported as an RSS Feed. Hence invoke our RSS Importer to create the Jekyll source directory.

“Tags” attached to a Medium post are exported under the markup ‘<item><category>…</category></item>` in the export feed. Therefore, configure the RSS Importer to always look for tags in the `<category></category>` field of an RSS item.

# File lib/jekyll-import/importers/medium.rb, line 26
def self.process(options)
  Importers::RSS.process({
    "source"         => "https://medium.com/feed/@#{options.fetch("username")}",
    "render_audio"   => options.fetch("render_audio", false),
    "canonical_link" => options.fetch("canonical_link", false),
    "extract_tags"   => "category",
  })
end
require_deps() click to toggle source
# File lib/jekyll-import/importers/medium.rb, line 16
def self.require_deps
  Importers::RSS.require_deps
end
specify_options(c) click to toggle source
# File lib/jekyll-import/importers/medium.rb, line 6
def self.specify_options(c)
  c.option "username",       "--username NAME",  "Medium username"
  c.option "canonical_link", "--canonical_link", "Copy original link as canonical_url to post (default: false)"
  c.option "render_audio",   "--render_audio",   "Render <audio> element in posts for the enclosure URLs (default: false)"
end
validate(options) click to toggle source
# File lib/jekyll-import/importers/medium.rb, line 12
def self.validate(options)
  abort "Missing mandatory option --username." if options["username"].nil?
end