Dokumentation schreiben kann spass machen

44
AsciiDoctor Dokumentation schreiben kann Spass machen!

Transcript of Dokumentation schreiben kann spass machen

Page 1: Dokumentation schreiben kann spass machen

AsciiDoctor

Dokumentation schreibenkann Spass machen!

Page 2: Dokumentation schreiben kann spass machen

Sebastian HempelIT-Consulting Hempel

@ithempel

Page 3: Dokumentation schreiben kann spass machen

Welche Dokumenteschreiben Entwickler?

Page 4: Dokumentation schreiben kann spass machen

Warum macht dasSchreiben

keinen Spass?

Page 5: Dokumentation schreiben kann spass machen

Was muss anderswerden?

Page 6: Dokumentation schreiben kann spass machen

AsciiDoctor

Page 7: Dokumentation schreiben kann spass machen

AsciiDocleightweight markup language

erste Veröffentlichung im November 2002

Page 8: Dokumentation schreiben kann spass machen

AsciiDoctor

Implementierung von AsciiDoc in Rubyerste Veröffentlichung im Januar 2013

Page 9: Dokumentation schreiben kann spass machen

= Hello, AsciiDoc!Doc Writer <[email protected]>

An introduction to http://asciidoc.org[AsciiDoc].

== First Section

* item 1* item 2

[source,ruby]puts "Hello, World!"</[email protected]>

Page 10: Dokumentation schreiben kann spass machen

direkte Erstellungvon HTML5

Page 11: Dokumentation schreiben kann spass machen

Ausgabe imDocBook Format

Page 12: Dokumentation schreiben kann spass machen

Dan Allen@mojavelinux

Page 13: Dokumentation schreiben kann spass machen

Wer nutzt AsciiDoc(tor)

Page 14: Dokumentation schreiben kann spass machen

Formatierung*fett*_kursiv_`nicht proportional`

Page 15: Dokumentation schreiben kann spass machen

Listen* Element** nächstes Ebene* weiteres Element

Page 16: Dokumentation schreiben kann spass machen

Checklisten- [ ] noch nicht erledigt- [*] erledigt

Page 17: Dokumentation schreiben kann spass machen

Aufzählung. erstes Element. zweites Element.. erstes Unterelement

Page 18: Dokumentation schreiben kann spass machen

Labeled ListsLabel:: Beschreibungnoch ein Label:: eine weitere Beschreibung

Page 19: Dokumentation schreiben kann spass machen

Zitate[quote, Bill Gates, Microsoft]____640 KB are enough for everyone.____

Page 20: Dokumentation schreiben kann spass machen

Literal Block....Jetzt wird alles wie angegeben - ausgegeben.....

Page 21: Dokumentation schreiben kann spass machen

Code Blöcke----public class EnterpriseAbstractFactory { public doSomething(int howLong) { Thread.sleep(howLong); }}----

Page 22: Dokumentation schreiben kann spass machen

Callouts----public class EnterpriseAbstractFactory { <1> public doSomething(int howLong) { Thread.sleep(howLong); <2> }}----

<1> to shoort<2> busy waiting please

Page 23: Dokumentation schreiben kann spass machen

Codeformatierung[source,java]----public class EnterpriseAbstractFactory { public doSomething(int howLong) { Thread.sleep(howLong); }}----

Page 24: Dokumentation schreiben kann spass machen

Codeformatierung ohneZeilenumbruch

[source,java,options="nowrap"]----public class EnterpriseAbstractFactory { public doSomething(int howLong) { if (checkSomeThingThatLeadsToAVeryLongLine() == WE_EXPECT_EXACTLY_THIS) { Thread.sleep(howLong); } }}----

Page 25: Dokumentation schreiben kann spass machen

Tabellen|===| Kopfzeile | mit zweiter Spalte

| JDK | 8| Java EE | 7|===

Page 26: Dokumentation schreiben kann spass machen

Tabellen aus CSV[format="csv",options="header"]|===Operation System,Software,VersionLinux,JDK,8NoArch,WildFly,8.1|===

Page 27: Dokumentation schreiben kann spass machen

Einbinden von Bildernimage::filename.png[A Picture,200,100]

Page 28: Dokumentation schreiben kann spass machen

Festlegung desBilderverzeichnisses

:imagesdir: ./img

Page 29: Dokumentation schreiben kann spass machen

Inhaltsverzeichnis:toc::toclevels: 3:toc-title: Inhaltsverzeichnis:toc-placement!::sectanchors::numbered:

toc::[]

Page 30: Dokumentation schreiben kann spass machen

Integration in Build-Tool

Page 31: Dokumentation schreiben kann spass machen

Integration des Plugins...<plugins> <plugin> <groupid>org.asciidoctor</groupid> <artifactid>asciidoctor-maven-plugin</artifactid> <version>0.1.4</version> ... </plugin></plugins>...

Page 32: Dokumentation schreiben kann spass machen

Konfiguration des Plugins<plugin> ... <configuration> <sourcedirectory>${basedir}/src/main/doc</sourcedirectory> <outputdirectory>${basedir}/target/docs</outputdirectory> <backend>html</backend> <doctype>book</doctype> </configuration> ...</plugin>...

Page 33: Dokumentation schreiben kann spass machen

Aufruf des Plugins... <plugin> ... <executions> <execution> <id>output-html</id> <phase>generate-resources</phase> <goals> <goal>process-asciidoc</goal> </goals> </execution> </executions> ... </plugin>...

Page 34: Dokumentation schreiben kann spass machen

Integration in JavaDocAsciiDoc statt HTML

Page 35: Dokumentation schreiben kann spass machen

Integration inJavaDoc-Erstellung

<plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-javadoc-plugin</artifactid> <version>2.9</version> <configuration> <source>1.7 <doclet>org.asciidoctor.Asciidoclet</doclet> <docletartifact> <groupid>org.asciidoctor</groupid> <artifactid>asciidoclet</artifactid> <version>0.1.4</version> </docletartifact> </configuration></plugin>

Page 36: Dokumentation schreiben kann spass machen

Kommentar mit AsciiDoc/** = Example Class * * This ist an example class. * * * This is a List * * This is *bold* or _italic_. */public class Example {

private String attribute; /** * Get some attribute. * * null:: The value might be null. * other:: The name of the attribute. */ public String getAttribute() { }

}

Page 37: Dokumentation schreiben kann spass machen

AsciiDoctor Plugins

Page 38: Dokumentation schreiben kann spass machen

BeispielAsciiDoctor-Diagram

GraphvizPlantUMLDitaa

Page 39: Dokumentation schreiben kann spass machen

Installationgem install asciidoctor-diagram

Page 40: Dokumentation schreiben kann spass machen

Integration#!/usr/bin/ruby

require 'asciidoctor'require 'asciidoctor-diagram/plantuml'

Asciidoctor.render_file('sample.adoc', :in_place => true, :safe => 'unsafe')

Page 41: Dokumentation schreiben kann spass machen

Integration ab 1.5.xVorraussetzung: Java (JAVA_HOME)

asciidoctor -r asciidoctor-diagram sample.adoc

Page 42: Dokumentation schreiben kann spass machen

Beispiel["plantuml", "asciidoctor-diagram-classes", "png"]----interface BlockProcessorclass DiagramBlockclass DitaaBlockclass PlantUmlBlockclass GraphvizBlock

BlockProcessor <|-- DiagramBlockDiagramBlock <|-- DitaaBlockDiagramBlock <|-- PlantUmlBlockDiagramBlock <|-- GraphvizBlock----

Page 43: Dokumentation schreiben kann spass machen

Bildnachweis(1) Sebastian Hempel / Sebastian Hempel / CC-BY SA

(2) document folders / John Keogh / CC-BY NC(3)frustration / Sybren Stüvel / CC-BY NC

(4) There are years that ask questions and years that answer. /theunquietlibrarian / CC-BY NC(5) Day 9 / Jay Reed / CC-BY SA

(8) Dan Allen / Dan Allen(18) puzzle / Olga Berrios / CC-BY

Page 44: Dokumentation schreiben kann spass machen

Creative CommonsCC-BY SA