# frozen_string_literal: true require 'date' require 'fileutils' require 'nokogiri' require_relative './methods' FileUtils.mkdir_p('mythwalker') BASE = 'https://brandonsanderson.com' links = [ "/warbreaker-prime-mythwalker-prologue/", "/warbreaker-prime-mythwalker-chapter-one/", "/warbreaker-prime-mythwalker-chapter-two/", "/warbreaker-prime-mythwalker-chapter-three/", "/warbreaker-prime-mythwalker-chapter-four/", "/warbreaker-prime-mythwalker-chapter-five/", "/warbreaker-prime-mythwalker-chapter-six/", "/warbreaker-prime-mythwalker-chapter-seven/", "/warbreaker-prime-mythwalker-chapter-eight/", "/warbreaker-prime-mythwalker-chapter-nine/", "/warbreaker-prime-mythwalker-chapter-ten/", "/warbreaker-prime-mythwalker-chapter-eleven/", "/warbreaker-prime-mythwalker-chapter-twelve/", "/warbreaker-prime-mythwalker-chapter-thirteen/", "/warbreaker-prime-mythwalker-chapter-fourteen/", "/warbreaker-prime-mythwalker-chapter-fifteen/", "/warbreaker-prime-mythwalker-chapter-sixteen/", "/warbreaker-prime-mythwalker-chapter-seventeen/", "/warbreaker-prime-mythwalker-chapter-eighteen/", "/warbreaker-prime-mythwalker-chapter-nineteen/", "/warbreaker-prime-mythwalker-chapter-twenty/", "/warbreaker-prime-mythwalker-chapter-twenty-one/", "/warbreaker-prime-mythwalker-chapter-twenty-two/", "/warbreaker-deleted-scenes-mab-the-cook/", ] titles = ["Prologue"] + (1..22).map{|x| "Chapter #{x}"} + ["Deleted Scenes: Mab the Cook"] episode=1 links.each do |link| url = BASE + link puts "Download #{url}" unless File.exist? "mythwalker/#{episode}.html" `wget --no-clobber "#{url}" --output-document "mythwalker/#{episode}.html" -o /dev/null` end episode+=1 end html = 'Warbreaker Prime: Mythwalker' (1..(links.length)).each do |i| complete_html = Nokogiri::HTML(open("mythwalker/#{i}.html")) page = complete_html.css('.vc_col-sm-7 .wpb_wrapper')[0] html += "

#{titles[i - 1]}

" + page.inner_html end html += '' File.open('books/mythwalker.html', 'w') { |file| file.write(html) } puts '[html] Generated HTML file' generate('mythwalker', :all)