web & mobile DEVELOPER 03 / 2015

wmd-032015

 

Bücher schreiben und publizieren mit GitBook

Wie wäre es, wenn Sie Ihr nächstes (bzw. erstes) Buch einfach mit Hilfe von Markdown schreiben und per Git verwalten würden? Zudem fügen Sie interaktive Code-Beispiele ein und exportieren es in zahlreiche E-Book Formate oder verkaufen es sogar. Ganz einfach.

Von Patrick Lobacher

Digitale Bücher inklusive Codebeispiele und interaktive Übungen für zahlreiche E-Book-Formate zu erstellen muss nicht kompliziert sein. Das beweist das Open Source Projekt GitBook. Hier werden die eigentlichen Texte in Markdown (einer einfachen Auszeichnungssprache) geschrieben und über die Versionsverwaltung Git beziehungsweise GitHub verwaltet.

Zudem können hierüber mehrere Autoren gemeinsam an den Texten arbeiten und diese anschließend über die Kommandozeile in eine statische Website oder ein E-Book in den Formaten PDF, ePub oder Mobi exportieren.

Will man das Buch sogar verkaufen, kann die Plattform GitBook dafür verwendet werden.

Die Plattform ist bereits so populär, dass es bislang 2200 Bücher in über 10 Sprachen alleine im öffentlichen Bereich gibt. Zudem ist es aber auch möglich, sogenannte private Bücher zu veröffentlichen. Auch wenn sich die Plattform besonders aufgrund der interaktiven Beispiele für Programmier-Handbücher eignet, so kann sie für alle Arten von Büchern verwendet werden.

Die Plattform ist grundsätzlich Open Source (Apache 2.0 Lizenz) und kostenfrei („Personal“) zu nutzen. Hier sind grundsätzlich beliebig viele öffentliche Bücher und ein privates Buch inklusive. Will man mehrere private Bücher erstellen, so kann man das „Plus“ Paket für 4,99 USD im Monat buchen – hier sind 5 private Bücher inklusive. Das größte Paket „Best Seller“ für 14,99 USD im Monat enthält 15 private Bücher und zudem 5 Bücher mit ISBN, die auf den Marktplätzen (Amazon Kindle, Google Play Store und iBooks Store) vertrieben werden können.

Vorteile von GitBook

Die GitBook-Plattform enthält zahlreiche Vorteile für Autoren und Leser:

  • Schreiben und Publizieren mit Markdown und Git
    Zum Schreiben kann ein eigener Editor verwendet werden. Das Publizieren erfolgt über Git oder GitHub
  • Überall verkaufen und vertreiben
    Bücher können zu jedem Preis verkauft und per GitBook auf allen Marktplätzen vertrieben werden
  • Analysieren der Leser
    Der Zugriff der Leser auf einzelne Bücher oder Kapiteln bzw. Seiten kann umfangreich getrackt und ausgewertet werden
  • Versionskontrolle
    Da GitBook auf Git basiert, reicht ein git push um eine neue Version des Buches zu publizieren
  • Markdown
    Die Bücher werden in der einfachen Markdown Syntax geschrieben. Zukünftig wird sogar TeX und AsciiDoc unterstützt werden
  • Responsive
    Die Bücher können auf allen Geräten gelesen werden – vom Laptop und Tablet über Mobiles hin zum Kindle
  • Eigene Festlegung des Preises
    Den Preis kann der Autor selbst festlegen – von 0 USD (umsonst) bis 100 USD.

Account anlegen

Um mit GitBook zu arbeiten, ist ein Account notwendig. Von der Startseite https://www.gitbook.com kann direkt ein Username, Email und Passwort gewählt werden. Weiterhin die Registrierung auch mittels der Accounts von Facebook, Twitter, Google und GitHub durchgeführt werden.

 

In den Account-Settings unter „Profile“ sollten Sie nun Ihre Daten vervollständigen und im Bereich „Plan“ den Plan auswählen, den Sie verwenden wollen. Sofern Sie bei dem kostenfreien „Free“ Plan bleiben wollen, müssen Sie nichts weiter einstellen.

Download des Editors

Sie haben grundsätzlich drei Möglichkeiten, Ihr Buch zu erstellen – entweder Sie fühlen sich auf der Kommandozeile am wohlbsten – dann editieren Sie das Buch einfach dort.

Weiterhin gibt es aber einen Editor, der Sie bei vielen Schritten unterstützt. Diesen können Sie entweder direkt im Web in Ihrem Account verwenden oder aber als dedizierte Datei für Ihr Betriebssystem. Laden Sie hierzu den Editor unter der URL https://github.com/GitbookIO/editor/releases herunter. Für Windows verwenden Sie die Version gitbook-win.zip, entpacken diese und starten die Datei GitBook.exe. Unter Mac OS X laden Sie die Datei gitbook-mac.dmg und starten diese per Doppelklick. Für Linux können Sie unter einer 32Bit- und einer 64Bit-Version wählen. Entpacken Sie diese per tar -xvzf gitbook-linux32.tar.gz (für die 64Bit-Version entsprechend). Nun installieren Sie den Editor über cd GitBook && ./install.sh. Anschließend befindet sich ein Link auf dem Desktop, den Sie per Doppelklick starten können.

Wenn Sie den Editor das erste Mal starten, sollten Sie Ihren GitBook Account über “Preferences > Connect Account” damit verbinden.

Das erste Buch

Oben am Bildschirmrand der Weboberfläche können Sie mit Klick auf das Pluszeichen (oder über die URL https://www.gitbook.com/new) ein neues Buch anlegen. Allerdings können Sie dies auch direkt im Editor durchführen – hier unter „File > New Book“.

Nun müssen Sie sich für ein Template entscheiden. Starten Sie mit „Basic“, die drei anderen Templates werden lediglich mit einigen Beispielen vorab gefüllt.

Grundsätzlich benötigt jedes Buch mindestens zwei Dateien – README.md und SUMMARY.md. Während erstere Datei die Einleitung für das Buch darstellt und angezeigt wird, sobald das Buch gelesen wird, stellt die zweite Datei das Inhaltsverzeichnis dar.

Man kann die einzelnen Kapitel über eine Ebene hinweg mittels Tab einrücken. Mehrere Ebenen sieht GitBook zur Zeit nicht vor. Die Kapitel werden in eigene Dateien ausgelagert, die sich auch in eigenen Verzeichnissen befinden können. Dabei wird zunächst in eckigen Klammern der Kapitelname und anschließend in runden Klammern der Pfad angegeben.

Im Editor können Sie nun einfach auf die Struktur links doppelt klicken, um die zugehörige Datei anzulegen.

Um ein Buch mehrsprachig anzulegen, können Sie eine Datei LANGS.md in das Root-Verzeichnis legen, das folgenden Inhalt und Aufbau besitzt:

Um ein Glossar anzulegen, benötigen Sie eine Datei GLOSSARY.md, welche den folgenden Aufbau hat:

Will man bestimmte Dateien und/oder Ordner von GitBook ignorieren lassen, so kann man diese in eine  Datei .gitignore (oder .bookignore) aufnehmen.

Um ein Cover für das Buch zu hinterlegen, genügt es, eine Datei cover.jpg (Größe 1800×2360 Pixel) und eine Datei cover_small.jpg (Größe 200×262 Pixel) in das Root-Verzeichnis zu legen. Über das Plugin „autocover“ (welches bei gehosteten Büchern bereits aktiviert ist), kann die Generierung der beiden Dateien automatisiert werden.

Markdown Syntax

Zur Auszeichnung kann die folgenden Markdown Syntax verwendet werden:

((Aufzählung))

  • # H1
    ## H2

    ###### H6
    Hiermit werden Überschriften der Ordnung H1-H6 definiert
  • *italics* oder _italics_
    Schräg gestellter Text
  • **bold** oder __bold__
    Fett gedruckter Text
  • ~~durchgestrichen~~
    Durchgestrichener Text
  • 1. oder *
    Geordnete Listen beginnen mit der Nummer und einem Punkt, ungeordnete mit einem *, + oder – Symbol. Weitere Ebenen werden durch zwei Leerzeichen eingerückt.
  • [Link mit Titel](https://www.google.com „Google’s Homepage“)
    Innerhalb der eckigen Klammer wir der Link des Titels notiert, innerhalb der runden Klammer der Link und in Anführungszeichen ein eventueller Link-Title.

  • Horizontale Linien können Sie mit drei oder mehr -, * oder _ erreichen
  • > Blockquotes
    Blockquotes werden mit > eingeleitet
  • Fußnote[^1]
    [^1]: Definition der Fußnote
    Fußnoten

 

Selbst Tabellen können in Markdown angelegt werden, hier ein Beispiel, in welchem über den Doppelpunkt die Ausrichtung der Zellen angegeben wurde:

Bilder wiederum werden wie folgt notiert:

Nun fehlt nur noch die Auszeichnung von Quellcode – dies kann wie folgt erreicht werden: Entweder „inline“ indem Backticks um den Code notiert werden oder aber mit einer eigenen Zeile von drei Backticks, die sowohl einleitend, wie auch ausleitend notiert wird. Am Anfang kann auch das Syntax-Highlighting angegeben werden:

Übungen und Quiz

Um Übungen und ein Quiz zu inkludieren, muss man entweder die Plugins „exercises“ und „quizzes“ im Editor rechts oben einfügen oder aber eine Datei book.json im Root-Verzeichnis um den Eintrag {„plugins“: [ „exercises“, „quizzes“ ]} ergänzen.

Um nun eine Übung einzufügen, benötigt man nun vier Abschnitte: Eine Nachricht, die dem User präsentiert wird, den initialen Code, den gewünschten Code und die Validierung. Als fünftes Element kann man eine “versteckte” Funktion hinterlegen, die dem User nicht gezeigt wird, die aber trotzdem z.B. für Validierungen verwendet warden kann:

Ein Quiz wird analog eingefügt. Durch die drei Striche wird das Element spezifiziert. Das Quiz wird durch eine Nachricht eingeleitet und jede Frage wird anschließend gleich aufgebaut: Die Frage wird mit Doppelpunkt abgetrennt, dann folgen alle Antwort-Möglichkeiten, von denen die richtigen bereits ein “x” enthalten. Über “>” wird eine Hilfe-Nachricht spezifiziert, die in dem Fall ausgegeben wird, wenn die Beantwortung der Frage fehl geschlagen ist.

Direktzugang via Git

Sobald man ein Buch angelegt hat, besitzt dieses automatisch eine Git-URL: https://git.gitbook.com/{{UserName}}/{{Book}}.git

Nun ist es einfach möglich ein neues Repository auf der Kommandozeile anzulegen, bzw. ein existierendes Repository zu pushen:

 

Formate erzeugen

Über das Dashboard (https://www.gitbook.com/book/{{UserName}}/{{Book}}/dashboard) kann man nun das Buch über „View Book“ ansehen. Gleichzeitig werden aber auch die anderen Formate „ePUB“, „MOBI“ und „PDF“ erzeugt und sind per Link zugänglich.

Zusätzlich kann man die GitBook Toolchain aber auch auf dem eigenen Rechner verwenden:

Für die Installation der Toolchain unter Windows & Linux finden Sie entsprechende Links in der Linkliste.

Fazit

Die Möglichkeiten sind hier noch lange nicht erschöpft – so gibt es beispielsweise Plugins für mathematische Formeln, Disqus Integration, Inifinite Scrolling, Google Analytics Integration u.v.a.m. Schneller und einfacher kann man nicht an ein hochwertiges E-Book bzw. an eine moderne Dokumentation kommen – jetzt müssen Sie es nur noch schreiben…

 

Links zum Thema

GitBook Website
https://www.gitbook.com

GitBook Toolchain
https://github.com/GitbookIO/gitbook

Explore
https://www.gitbook.com/explore

GitBook Dokumentation
http://help.gitbook.io

GitBook Twitter Account
https://twitter.com/GitBookIO

GitBook Toolchain auf Linux installieren
http://blog.hostilefork.com/mobi-pdf-epub-softcover-ubuntu/

GitBook Toolchain auf Windows installieren
http://codeblog.vurdalakov.net/2014/11/how-to-install-gitbook-toolchain-on-windows.html

 

Leave a Comment.