Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Writing an InfoQ Mini-Book with Asciidoctor - Devoxx US 2017

Writing an InfoQ Mini-Book with Asciidoctor - Devoxx US 2017

YouTube: https://youtu.be/_1QzrojHnic

Learn how to use Asciidoctor and Gradle to write a book that can be published as HTML, PDF, EPUB and MOBI. This session leverages my "infoq-mini-book" project on GitHub and shows how you can easily write a short technical book and have it published by InfoQ.

Source code: https://github.com/mraible/infoq-mini-book

Matt Raible

March 21, 2017
Tweet

More Decks by Matt Raible

Other Decks in Technology

Transcript

  1. Writing a book is hard • It’s easy enough coming

    up with an idea, but writing is hard • It’s easy enough to write it in Word (or Google Docs), right? • Copying and pasting code and images into Google Docs is easy • Updating them is not • As writers, we’re often limited by our tools • Asciidoctor to the rescue! 2
  2. Asciidoctor • An open source implementation of AsciiDoc in Ruby

    • A fast text processor & publishing toolchain for converting AsciiDoc to HTML5, DocBook & more • Write in plain text, import your code and images • Code review and copy edit using Git • Publish as HTML, PDF, EBUB, MOBI and printed books 4
  3. My Asciidoctor Experience • End of 2015: Had a goal

    to write a JHipster Mini-Book for InfoQ • Chose AsciiDoc because I wanted it to be like an open source project • Used asciidoctor-to-all-example as a starting point • Used JIRA Cloud to create tasks, organize sprints and track progress • Used Bitbucket to host the book’s source control in Git • Used IntelliJ IDEA to write, and Browsersync to see changes immediately 6
  4. Asciidoctor @ InfoQ • InfoQ recommended I use Word or

    Google Docs • Agreed to AsciiDoc, but expect it be most expensive mini-book • Figured it out, with a great team • Extracted template to infoq-mini-book • Dan Allen and AsciidocFX were a big help 7
  5. Developing an InfoQ Mini-Book • git clone https://github.com/mraible/infoq-mini- book •

    Run gradlew followed by gradlew watch • Install Node.js and run npm install • Run gulp • Use IntelliJ IDEA, Atom, Sublime Text or AsciidocFX to edit 9
  6. InfoQ Editing Process • Share your Git repository with your

    editor • Editor creates pull requests by section • Add comments and collaborate on changes • Accept pull request and merge 10
  7. InfoQ Publishing Process • Install KindleGen for MOBI • Create

    HTML, PDF, EPUB and MOBI by running build.sh • asciidoctor-pdf-extensions.rb customizes PDF output • Recent improvements by Dan Allen allow for Lulu printing 11
  8. Interested in Writing? • Talk to us! [email protected] or [email protected]

    • Review Author Guidelines for InfoQ Mini-books • You will retain the copyright for any content produced • You grant InfoQ an exclusive right to publish the free online version • InfoQ will remove mini-book if the author requests 12