Script

E-book in PDF, EPUB en MOBI maken met Markdown en Pandoc

Samen met Frank Meeuwsen en Oskar van Rijswijk schreef ik het e-book “Lifehacking met Evernote”. Evernote is een digitaal notitieboekje wat je op iedere computer, tablet of smartphone kunt gebruiken. Aan de notities die je maakt kun je bijlagen toevoegen. Bijvoorbeeld documenten, maar ook foto’s die je maakt met de camera van je computer of smartphone en geluidsopnames via de microfoon. Dankzij de synchronisatie tussen al je apparaten heb je je notities in het vervolg altijd doorzoekbaar bij de hand. Met Evernote kun je overal aantekeningen vastleggen en weer terugvinden.

We zijn begonnen met een inventarisatie van wat we wilden vertellen. Daar hebben we een hoofdstukindeling uit gedestilleerd waarna we de hoofdstukken onderling hebben verdeeld. Het grootste deel van het werk is vervolgens met Evernote zelf uitgevoerd. Door per hoofdstuk een tekstbestand aan te maken en dat via Evernote te synchroniseren. Na de review van elkaars teksten bleek het samenvoegen van alle tekstbestanden en afbeeldingen tot een net e-book een dag werk te zijn. Ook bleken sommige tekens zoals aanhalingstekens en quotes problemen op te leveren waardoor we daar steeds rekening mee moesten houden. Dit waren voor mij genoeg redenen om het samenstellen van het boek te automatiseren.

Uiteindelijk hebben we met onderstaande tools gewerkt:

  • Markdown
    Markdown is een opmaaktaal die je gemakkelijk kunt lezen én schrijven. Het idee van bedenker John Gruber is dat je aan platte tekst opmaak mee kunt geven zonder de leesbaarheid van de platte tekst te verstoren.
  • Evernote
    In Evernote zelf hebben we drie notitieboeken gedeeld: een met tientallen notities (een notitie per hoofdstuk), een voor de organisatie met schrijfafspraken, ideeën, input van lezers en to-do’s, en een als collectie van interessante artikelen. In de notities van de hoofdstukken hebben we elkaar ook tips en feedback gegeven.
  • Asana
    Na de lancering van het boek zijn we voor ideeën, to-do’s, tips en feedback overgestapt op Asana. Zo staat alles wat we nog willen doen op één plek en raakt niets ondergesneeuwd in e-mailberichten of tweets. In Asana delen we een workspace waarin de taken zijn onderverdeeld in projecten per update of los te benoemen onderdeel.
  • Dropbox
    Bestanden die je in je Dropbox plaatst zijn via internet (“the cloud”) toegankelijk op al je computers. Je kunt de bestanden ook delen met anderen.
  • Pandoc
    Pandoc van John MacFarlane is een zwitsers zakmes om bestanden naar een andere opmaaktaal om te zetten. Bijvoorbeeld van Markdown naar HTML, EPUB, docx (Microsoft Office), MediaWiki of PDF (via LaTeX). Je kunt met Pandoc artikelen of boeken schrijven en slides voor een presentatie genereren. Met Calibre zou je ook een eind moeten komen alleen kreeg ik de afbeeldingen al niet voor elkaar.
  • KindleGen
    Kindlegen is een officiële tool van Amazon om (X)HTML en EPUB-bestanden naar KF8/MOBI te converteren – om te gebruiken op de Kindle. Pandoc converteert niet rechtstreeks naar MOBI dus daar is deze extra tool voor nodig.
  • Script
    Om de tientallen Markdown-bestanden met een druk op de knop binnen 15 seconden om te zetten naar e-books in PDF, EPUB en MOBI heb ik een script geschreven. Geïnspireerd door het principe van Daily Builds van Joel Spolsky. Zo kunnen we snel kleine wijzigingen doorvoeren. Bovendien leveren we het boek een aantal keren op – steeds met extra hoofdstukken – en denken we aan een reeks boeken in de serie “Lifehacking met …”.

In het vorige artikel lichtte ik toe hoe je kunt samenwerken met meerdere auteurs aan een e-book met Markdown en Dropbox, in dit artikel Pandoc en het script. Het steekt wat technisch in elkaar want Pandoc heeft geen interface met knopjes waar je op kunt klikken. Je voert commando’s op een zogenaamde command-line uit – of via een script dus.

Lees verder…