Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

How I Built an Automated Ebook Production Platform—And You Can, Too! - Nellie McKesson - ebookcraft 2017

1,243 views

Published on


HOW I BUILT AN AUTOMATED EBOOK PRODUCTION PLATFORM—AND YOU CAN, TOO!

AUDITORIUM MARCH 23, 2017, 2:40 PM-3:25 PM
NELLIE MCKESSON

Senior Manager, Content Workflows, Macmillan
Automating ebook production can seem daunting, but there are a lot of tools already out there that can help you along. If you don’t try to build a rigid, everlasting, and unbreakable automated toolchain, but instead think about the points of change and build around them, then the task of automating becomes much less scary. Get a first-hand look at a successful case study and get some practical guidance for building functions that work smoothly and meet user needs.

March 23, 2017

Published in: Technology
  • Be the first to comment

  • Be the first to like this

How I Built an Automated Ebook Production Platform—And You Can, Too! - Nellie McKesson - ebookcraft 2017

  1. 1. How I Built an Automated Ebook Production Toolchain (and You Can Too!) Nellie McKesson, Macmillan Publishers
  2. 2. Output fileInput file Some scripts What is Automation?
  3. 3. EPUB Microsoft Word InDesign The Traditional Workflow:
  4. 4. EPUB Microsoft Word InDesign In-House External Vendor The Existing Process:
  5. 5. Make ebooks in house, minimize overhead 💰🕖👥
  6. 6. What's the larger goal? What are the initial requirements? What things might change? What things will always be the same? Is there anything already built that I can use? Who is going to be running the tool?
  7. 7. What’s the larger goal?
  8. 8. Build an automated ebook production tool that can scale
  9. 9. The Requirements
  10. 10. Output fileInput file Trans- formations
  11. 11. EPUBInput file Trans- formations
  12. 12. EPUBInput file 🔓Trans- formations
  13. 13. EPUBMarkup XML, HTML 🔓Trans- formations
  14. 14. EPUBMarkup XML, HTML Non-starter (too much overhead) 🔓Trans- formations
  15. 15. EPUBWord 🔓🔓 Trans- formations
  16. 16. What might change?
  17. 17. Design for volatility
  18. 18. EPUBWord ???Trans- formations
  19. 19. EPUBWord ?????? Trans- formations
  20. 20. EPUBWord ????????? Trans- formations
  21. 21. 🙇
  22. 22. Consistency and Predictability
  23. 23. <title>ALICE’S ADVENTURES IN WONDERLAND <author>Lewis Carroll <chapter-title>CHAPTER 1. Down the Rabbit-Hole <text-standard>Alice was beginning to get very tired of sitting by her sister on the bank, and of having nothing to do: once or twice she had peeped into the book her sister was reading, but it had no pictures or conversations in it, ‘and what is the use of a book,’ thought Alice ‘without pictures or conversations?’ Tagging, the Old Way
  24. 24. .docx = XML
  25. 25. Styles in Word
  26. 26. EPUBWord ??????Trans- formations
  27. 27. Workflow or Automation?
  28. 28. EPUBWord Trans- formations
  29. 29. EPUBWord These transformations always stay the same Trans- formations
  30. 30. Is there anything already built that I can use?
  31. 31. ?
  32. 32. Markup
  33. 33. HTML
  34. 34. HTML = XML HTML = EPUB HTML = Web HTML + CSS = Print
  35. 35. HTML = XML HTML = EPUB HTML = Web HTML + CSS = Print
  36. 36. HTML = XML HTML = EPUB HTML = Web HTML + CSS = Print
  37. 37. HTML = XML HTML = EPUB HTML = Web HTML + CSS = Print
  38. 38. HTML = XML HTML = EPUB HTML = Web HTML + CSS = Print
  39. 39. We need to standardize
  40. 40. A standard is a set of rules
  41. 41. “HTMLBook is an open, XHTML5-based standard for the authoring and production of both print and digital books.” http://oreillymedia.github.io/HTMLBook/
  42. 42. Why HTMLBook: • Familiarity • Well-tested and actively updated • Open-source
  43. 43. EPUBWord HTMLBook Scripts HTMLBook
  44. 44. EPUBWord HTMLBook
  45. 45. EPUBWord HTMLBook 🔒 🔒
  46. 46. HTMLBook Scripts EPUBWord HTMLBook 🔓
  47. 47. EPUBWord HTMLBook Scripts HTMLBook ??? ???
  48. 48. Word EPUB
  49. 49. Word ?? ?? HTMLBook HTMLBook EPUB
  50. 50. EPUB HTMLBook Scripts HTML Book HTMLWord
  51. 51. EPUB HTMLBook Scripts HTML Book HTMLWord ??? ???
  52. 52. mammoth.js
  53. 53. EPUB HTMLBook Scripts HTML Book HTMLWord mammoth.js
  54. 54. EPUB HTML Book HTMLWord Consistently styled paragraphs Word styles preserved as HTML class names
  55. 55. Rules: IF class = “ChapterTitle” THEN convert to <h1> Class name What to do with it
  56. 56. File 1: Transformations: IF class = [Read class names from other file] THEN convert to <h1> File 2: List of Class Names: Heading styles: ChapterTitle PrefaceTitle AppendixTitle …
  57. 57. EPUB HTMLBook Scripts HTML Book HTMLWord mammoth.js what to look for: list of class names what to do with what you find: trans- forms
  58. 58. Extract and Isolate
  59. 59. EPUB HTMLBook Scripts HTML Book HTMLWord mammoth.js List of class names trans- forms
  60. 60. EPUB HTMLBook Scripts HTML Book HTMLWord mammoth.js List of class names trans- forms
  61. 61. EPUB HTMLBook Scripts HTML Book HTMLWord mammoth.js List of class names trans- forms
  62. 62. Use your best judgment
  63. 63. HTMLBook Scripts HTML Book Word mammoth.js List of class names trans- forms EPUBHTML HTML Book Transform
  64. 64. HTML Book HTML Book Transform HTML Book HTML Book HTML Book Transform TransformTransform … …
  65. 65. HTMLBook Scripts HTML Book Word mammoth.js EPUBHTML HTML Book Transform List of class names trans- forms
  66. 66. HTMLBook Scripts.xsl HTML Book Word mammoth.js EPUBHTML HTML Book Transform.js JavaScript + node.js XSLRuby List of class names .json trans- forms .js
  67. 67. 📁 📁 Word file IN EPUB OUT
  68. 68. Design
  69. 69. Corrections
  70. 70. EPUB Microsoft Word InDesign Review Make changes
  71. 71. Initial Scope Limitations ✅ New imprint ✅ E-only books ✅ Egalleys ⛔ Traditional print books
  72. 72. Some lessons: You don’t always need to automate everything: sometimes workflow is the solution You don't need to build everything from scratch Build a system of interconnecting tools Solve small problems, one at a time Design for change
  73. 73. @nelliemckesson Thanks!

×