AsciiDoc : Create and publish everywhere from anywhere

mgreau profile
Notes
SLIDE 1 : Introduction
  • Hi, thanks for coming.
  • It’s an honor to be here. Thank you to the DevNation team.
  • My name is Maxime Gréau.
  • I’m French, and I will do my best so you can understand me.
  • I’m here to speak about AsciiDoc, Asciidoctor and the tooling around.
  • As a writer, as a developer, as speaker, as a team, I will show you how Asciidoctor can help you.
SLIDE 2 : Overview
  • So what about me.
  • I work for eXo Platform as Software Factory Manager
  • I’m a Book Author, I wrote a book about Apache Maven 3.
  • I reviewed a book about WildFly and Java EE 7.

Yes, we will write docs!

swear

Where the hell are the docs?!?

read the doc

Why

DOCS = CODE !

AsciiDoc is…​

user cool

 

AsciiDoc is…​

a text-based writing format
for
authoring content

AsciiDoc sample

= Getting Started with Java
Author Name <author@example.org>

Here's your first Java application.

.HelloWorld.java
[source,java]
----
public class HelloWorld {
  public static void main(String args[]) {
    System.out.println("Hello, world!"); <1>
  }
}
----
<1> Prints "Hello, world!" to the console.

Compile this source to a class file using `javac`.
Finally, run the compiled class file using `java`.

AsciiDoc sample

AsciiDoc

Asciidoctor is…​

user cool

 

Asciidoctor is…​

a text processor
and
publishing toolchain for AsciiDoc

Asciidoctor Overview 2015

Overview

AsciiDoc vs. Asciidoctor

AsciiDoc vs. Asciidoctor

AsciiDoc

Asciidoctor

syntax

parser + tools

Authors Asciidoctor

 

Now that Asciidoctor is around, I can do truly amazing things with my AsciiDoc source.

author of Pro Git
Scott Chacon
user cool

As a Writer you want…​

as a

!

tools
Tools

Chrome extension

Chrome

Atom preview

Atom

Tools

tools

!

containers
Containers

Containers

containers

PDF output

PDF sample

!

repository brand
Repositories

Repositories

Dan GitHub

!

blog brand
Blog Posts

HubPress

Hubpress

!

publisher brand
Publishers

Published Books written with AsciiDoc

Pro Git 2 Web Book

As a Developer, you want…​

as a

!

api brand
Cool APIs

AsciidoctorJ API (Java)

import static org.asciidoctor.Asciidoctor.Factory.create;
import org.asciidoctor.Asciidoctor; (1)

public class MyConverter {

  public void convertToHTML() {

     Asciidoctor asciidoctor = create(); (2)
     String html = asciidoctor.convert(   (3)
          "Writing AsciiDoc is _easy_!",
         new HashMap<String, Object>());
     System.out.println(html);
  }
}
1Import required classes
2Create the instance
3Convert this AsciiDoc String to HTML

Asciidoctor.js (Javascript)

Include asciidoctor.js file
<script src="bower_components/asciidoctor.js/dist/asciidoctor-all.min.js"/>
Configure and convert
var content = "http://asciidoctor.org[*Asciidoctor*] " +
    "running on http://opalrb.org[_Opal_] " +
    "brings AsciiDoc to the browser!";

var options = Opal.hash({doctype: 'inline', attributes: ['showtitle']}); (1)
var html = Opal.Asciidoctor.$convert(content, options); (2)

console.log(html);
1Define attributes
2Convert your AsciiDoc to HTML

!

build brand
Build integration

Build integration

    ├── docs                          ├── docs
    │   ├── examples.adoc             │   ├── examples.html
    │   └── examples            =>    │   └── examples
    │       ├── html.adoc             │       ├── html.html
    └── index.adoc                    └── index.html

As a Team, you want…​

as a

!

collaborate brand
Collaborate anywhere

adoc-editor.io

adoc-editor.io

adoc-editor.io

adoc editor

As a Speaker, you want…​

as a

!

slides
Slides in HTML5

As a speaker

As a Product Manager, you want

Integrate Asciidoctor in your project

eXo Platform Asciidoctor eXo Platform Asciidoctor

Asciidoctor

Publier partout !

Publier

!

support asciidoctor
We need your support

AsciiDoc:
Create & Publish Everywhere from Anywhere