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 an InfoQ Mini-Book
    with Asciidoctor
    Brought to you by Matt Raible and Asciidoctor

    View full-size slide

  2. 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

    View full-size slide

  3. What is Asciidoctor?

    View full-size slide

  4. 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

    View full-size slide

  5. The Best Part?

    View full-size slide

  6. 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

    View full-size slide

  7. 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

    View full-size slide

  8. Writing Asciidoctor

    View full-size slide

  9. 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

    View full-size slide

  10. 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

    View full-size slide

  11. 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

    View full-size slide

  12. 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

    View full-size slide

  13. Start Writing →

    View full-size slide