Created
September 11, 2017 07:08
-
-
Save jphager2/815b70d296ab3402c1a81b94bc216047 to your computer and use it in GitHub Desktop.
Example of using PagesToEpub with Ember Igniter
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'open-uri' | |
require 'nokogiri' | |
require_relative '../pages_to_epub/lib/pages_to_epub' | |
pages = [] | |
DOMAIN = 'https://emberigniter.com/'.freeze | |
def path(url_path) | |
url = URI.parse(DOMAIN) | |
url.path = url_path | |
url.to_s | |
end | |
doc = Nokogiri::HTML(open(path('/articles')).read) | |
articles = doc.css('article .wrapper ul li a').map { |a| path(a[:href]) } | |
pages = articles.map do |url| | |
doc = Nokogiri::HTML(open((url)).read) | |
post = doc.css('#post') | |
title = post.css('h1').first.text | |
post.css('h1').remove | |
post.css('#disqus').remove | |
post.css('.notice').remove | |
post.css('form').remove | |
body = post.inner_html | |
{ title: title, body: body } | |
end | |
writer = PagesToEpub.new(pages) | |
writer.to_epub( | |
title: 'Ember Igniter', | |
author: 'Frank Treacy', | |
language: 'en', | |
creator: 'Frank Treacy', | |
publisher: 'jphager2', | |
subject: 'web development, frontend development, emberjs', | |
rights: 'All rights to the author, Frank Treacy', | |
description: 'ebook of the wonderful articles written by Frank Treacy on Ember Igniter', | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment