Das Plugin net.sourceforge.dita-ot.html

Bootstrapping Your DITA Teil 1 - Erstellen Sie mithilfe dieses Plugins Output, um ihn später in Ihr github-pages-Repository zu kopieren.

  1. Laden Sie das Plugin von https://github.com/dita-ot/dita-ot als ZIP herunter und entpacken Sie das Archiv. Das Plugin befindet sich im Plugin-Ordner des entpackten DITA-OTs. Kopieren Sie das Plugin in den Plugin-Ordner Ihres DITA-Open Toolkits.
  2. Integrieren Sie das Plugin im Eingabefenster des DITA-OT.
    ant -f integrator.xml
  3. Eines der Hauptaufgaben des Plugins ist es, einen sogenannten YAML-Header zu erzeugen. Dieser könnte z.B. so aussehen:
    ---
    # Generated from DITA source
    layout: base
    title: "Innovation immer mit Gewinn?"
    ---

    Jedoch die 3 Striche zu Beginn jeder Datei bereiten, zumindestens bei mir, dem DITA-OT Probleme. Carlos Evia berichtet nicht von solchen Problemen, erzeugt den Output aber auch mit Oxygen.

    Ich erhalte mit dem DITA-OT 1.8.2 folgende Fehlermeldung:

    [xslt] C:\DITA-OT1.8.2\plugins\net.sourceforge.dita-ot.html\xslt\dita2html.xsl:27: Fatal Error! When ‘standalone’ or ‘doctype-system’ is specified, the document must be well-formed; but this document contains a top-level text node

    Abhilfe verschaffte mir das Ändern der dita2html.xsl innerhalb des Plugins in folgender Weise: Vor den 3 ersten Bindestrichen eine Zeile einfügen, so dass das Template nun folgendermaßen aussieht:

    <xsl:template match= "/">
        <xsl:text>&#xA;</xsl:text>
        <xsl:text>---&#xA; </xsl:text>
        ...
    </xsl:template>
    
  4. Erzeugen Sie mit dem neuen transtype net.sourceforge.dita-ot.html für Ihre DITA-Dateien den Output. Ich habe mir dafür in meiner Buildumgebung in der build-Datei ein neues Target angelegt. Der Kürze wegen ist ${file.separator} als / geschrieben.
    <target name="dita2dita-ot.html" depends="integrate">
     <ant antfile="${dita-ot-dir}${file.separator}build.xml" target="init">
      <property name="args.input" value="${projdir}/${mapfile}"/>
      <property name="output.dir" value="${out-dir}/${pubname}/dito-ot.html"/>
      <property name="transtype" value="net.sourceforge.dita-ot.html"/>
      <property name="args.filter" value="${projdir}/filters/online.ditaval"/>
     </ant>
    </target>
    

    Innerhalb meiner Buildumgebung kann ich nun im DITA-OT-Eingabefensters Output erzeugen mit Hilfe des Aufrufs von build-beispielprojekt dita2dita-ot.html.

  5. Kopieren Sie die HTML-Ergebnisdateien in den Branch gh-pages.
Links zum Artikel
  1. DITA-OT-Quellen mit Plugin net.sourceforge.dita-ot.html, zum Link
  2. Bootstrapping Your DITA for Sweet Responsive HTML5 Help, Carlos Evia, zum Link