class MediumExtension

Extension namespace

Public Class Methods

new(app, options_hash={}, &block) click to toggle source
Calls superclass method
# File lib/middleman-medium/extension.rb, line 9
def initialize(app, options_hash={}, &block)
  super
  require 'rss'
  require 'nokogiri'
end

Public Instance Methods

fetch_medium_posts() click to toggle source
# File lib/middleman-medium/extension.rb, line 15
def fetch_medium_posts
  medium_rss_parser(open(options.source).read)
end
medium_rss_parser(feed) click to toggle source
# File lib/middleman-medium/extension.rb, line 19
def medium_rss_parser(feed)
  posts = []
  rss = RSS::Parser.parse(feed, false).items
  rss.each do |item|
    posts.push(rss_item_to_hash(item))
  end
  posts
end
rss_item_to_hash(item) click to toggle source
# File lib/middleman-medium/extension.rb, line 28
def rss_item_to_hash(item)
  document = Nokogiri::HTML.fragment(item.content_encoded)
  {
    title: item.title,
    date: item.pubDate,
    url: item.link,
    category: item&.category&.content,
    img: document&.search('img')&.first['src']
  }
end