From 69ec2870f6cb1a4d12509e732d5a4f0b34aa03b7 Mon Sep 17 00:00:00 2001 From: Nemo Date: Fri, 9 Oct 2020 15:44:15 +0530 Subject: [PATCH] Initial release --- .gitignore | 6 ++++++ Gemfile | 2 ++ Gemfile.lock | 15 ++++++++++++++ LICENSE | 7 +++++++ README.md | 17 +++++++++++++++ cover.jpg | Bin 0 -> 43526 bytes generate.rb | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++ generate.sh | 22 ++++++++++++++++++++ metadata.xml | 5 +++++ urls.txt | 20 ++++++++++++++++++ 10 files changed, 151 insertions(+) create mode 100644 .gitignore create mode 100644 Gemfile create mode 100644 Gemfile.lock create mode 100644 LICENSE create mode 100644 README.md create mode 100644 cover.jpg create mode 100644 generate.rb create mode 100755 generate.sh create mode 100644 metadata.xml create mode 100644 urls.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..381e71f --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +vendor/ +*.epub +html/* +chapters/* +*.html +*.epub \ No newline at end of file diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..bb5c917 --- /dev/null +++ b/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'nokogiri', '>=1.11.0.rc3' \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..1ab17d7 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,15 @@ +GEM + remote: https://rubygems.org/ + specs: + mini_portile2 (2.5.0) + nokogiri (1.11.0.rc3) + mini_portile2 (~> 2.5.0) + +PLATFORMS + ruby + +DEPENDENCIES + nokogiri (>= 1.11.0.rc3) + +BUNDLED WITH + 2.1.4 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..2bd1d6a --- /dev/null +++ b/LICENSE @@ -0,0 +1,7 @@ +Copyright 2020 Abhay Rana + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..fef3326 --- /dev/null +++ b/README.md @@ -0,0 +1,17 @@ +# Never Say You Can’t Survive + +![Book Cover](cover.jpg) + +“You have the power to shape worlds, and the monsters are scared of you.” + +From author Charlie Jane Anders, Never Say You Can’t Survive is a how-to book about the storytelling craft, but it’s also full of memoir, personal anecdote, and insight about how to flourish in the present emergency. + +--- + +The repository contains scripts to generate an ebook in the EPUB format from the posts at tor.com. More details at . + +The book is available for pre-order at [Amazon.com](https://www.amazon.com/Never-Say-You-Cant-Survive-ebook/dp/B08JK8XD1N) or [Indiebound](https://www.indiebound.org/book/9781250800015). + +## License + +Licensed under the [MIT License](https://nemo.mit-license.org/). See LICENSE file for details. \ No newline at end of file diff --git a/cover.jpg b/cover.jpg new file mode 100644 index 0000000000000000000000000000000000000000..83e55ed724d07980c7505d067b11cafcc135357c GIT binary patch literal 43526 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 L{?t)LGEe{6^u&19 literal 0 HcmV?d00001 diff --git a/generate.rb b/generate.rb new file mode 100644 index 0000000..4b3b572 --- /dev/null +++ b/generate.rb @@ -0,0 +1,57 @@ +require 'nokogiri' + +skip_classes = ['ebook-link-wrapper'] + +for i in Dir.glob('html/*.html') + html = "" + puts i + complete_html = Nokogiri::HTML(open(i)) + page = complete_html.css('.entry-content') + title = complete_html.css('.entry-title>a').inner_html[29..] + + started = ended = false + page.children.each do |e| + unless started + if e.class != Nokogiri::XML::Text + unless e.classes.include? 'frontmatter' + puts e.classes + started = true + end + end + end + + if started + trimmed = e.inner_text.gsub(/[[:space:]]/, '') + if trimmed == "" and not ['hr'].include? e.name + next + end + + if e.name == "h3" + if e.inner_text.strip[0..7] == "Section" or e.inner_text.strip[0..12] == "Introduction" + e.name = "h1" + else + e.name = "h2" + end + end + + skip = (e.classes & skip_classes).size > 0 + ended = true if e.matches?('.squib') + + if skip == false and ended == false + html += e.to_s + end + end + end + fn = File.basename(i) + File.write("chapters/#{fn}", html) +end + +html = "" +File.open("urls.txt").each do |url| + title = url.strip.split('/')[-1] + html += File.read("chapters/#{title}.html") + html += "\n\n" +end + +File.write("never-say-you-cant-survive.html", html) +`pandoc --metadata title="Never Say You Can’t Survive" -o never-say-you-cant-survive.epub --epub-metadata=metadata.xml --epub-cover-image=cover.jpg never-say-you-cant-survive.html` \ No newline at end of file diff --git a/generate.sh b/generate.sh new file mode 100755 index 0000000..826b610 --- /dev/null +++ b/generate.sh @@ -0,0 +1,22 @@ +#!/bin/bash +mkdir -p chapters html +INPUT_FILE="urls.txt" +function assert_installed() { + for var in "$@"; do + if ! which $var &> /dev/null; then + echo "Install $var!" + exit 1 + fi + done +} + +assert_installed wget pandoc + +while IFS= read -r line +do + echo $line + FILENAME=$(basename "$line") + wget --no-clobber --no-verbose --output-document="html/$FILENAME.html" --timeout=10 "$line" +done < "$INPUT_FILE" + +bundle exec ruby generate.rb \ No newline at end of file diff --git a/metadata.xml b/metadata.xml new file mode 100644 index 0000000..1703cc1 --- /dev/null +++ b/metadata.xml @@ -0,0 +1,5 @@ +Never Say You Can't Survive +978-1250800015 +2021-08-17 +en-US +Charlie Jane Anders \ No newline at end of file diff --git a/urls.txt b/urls.txt new file mode 100644 index 0000000..a9509b9 --- /dev/null +++ b/urls.txt @@ -0,0 +1,20 @@ +https://www.tor.com/2020/05/12/never-say-you-cant-survive-how-to-get-through-hard-times-by-making-up-stories/ +https://www.tor.com/2020/05/19/never-say-you-cant-survive-imposter-syndrome-is-just-part-of-being-a-writer/ +https://www.tor.com/2020/05/26/never-say-you-cant-survive-embrace-uncertainty-the-joy-of-making-a-giant-mess/ +https://www.tor.com/2020/06/09/never-say-you-cant-survive-everything-is-broken-what-should-i-write-about/ +https://www.tor.com/2020/06/16/never-say-you-cant-survive-dont-be-afraid-to-go-on-lots-of-first-dates-with-story-ideas/ +https://www.tor.com/2020/06/23/never-say-you-cant-survive-the-secret-to-storytelling-just-one-good-scene-and-then-another-and-another/ +https://www.tor.com/2020/06/30/never-say-you-cant-survive-the-most-powerful-thing-a-story-can-do-is-show-how-people-change/ +https://www.tor.com/2020/07/14/never-say-you-cant-survive-a-good-plot-is-made-out-of-two-things/ +https://www.tor.com/2020/07/21/never-say-you-cant-survive-how-to-tell-a-thrilling-story-without-breaking-your-own-heart/ +https://www.tor.com/2020/07/28/never-say-you-cant-survive-the-ending-is-the-beginning/ +https://www.tor.com/2020/08/04/never-say-you-cant-survive-hold-on-to-your-anger-its-a-storytelling-goldmine/ +https://www.tor.com/2020/08/11/never-say-you-cant-survive-people-are-only-as-interesting-as-their-relationships/ +https://www.tor.com/2020/08/18/never-say-you-cant-survive-one-easy-way-to-feel-better-about-the-world/ +https://www.tor.com/2020/08/25/never-say-you-cant-survive-revision-is-the-process-of-turning-fake-emotion-into-real-emotion/ +https://www.tor.com/2020/09/01/never-say-you-cant-survive-twelve-ways-to-keep-the-fun-of-writing-alive/ +https://www.tor.com/2020/09/08/never-say-you-cant-survive-how-to-write-a-political-story-without-falling-on-your-face/ +https://www.tor.com/2020/09/15/never-say-you-cant-survive-good-worldbuilding-shows-how-things-could-be-different/ +https://www.tor.com/2020/09/22/never-say-you-cant-survive-the-unexamined-story-is-not-worth-writing/ +https://www.tor.com/2020/09/29/never-say-you-cant-survive-weirdness-gives-me-the-strength-to-keep-going/ +https://www.tor.com/2020/10/06/never-say-you-cant-survive-when-is-it-okay-to-write-about-someone-elses-culture-or-experience/