Asciidoc

A Asciidoc é uma linguagem de marcação de texto criada para produzir documentação técnica. Em palavras leigas, é uma linguagem de programação muito simples que adicionamos a textos puros para gerarmos um outro texto formatado em outra linguagem mais complexa, como a HTML ou a DocBook.

Um exemplo

Como é melhor um exemplo do que uma montanha de explicações técnicas, considere o texto a seguir, no formato txt, com muito pouca formatação:

Meu primeiro texto em Asciidoc
Fred Lopes <contato@fredlopes.com.br>

Este é um texto de exemplo sobre a AsciiDoc.

Seção 1

Primeira seção apenas com um parágrafo.

Seção 2

Segunda seção, com uma lista

item 1
item 2

e duas subseções.

Subseção 1

Um pouco de linguagem de programação Ruby:

puts "Olá, mundo!"

Subseção 2

Um pouco de texto em itálico, negrito e monoespaçado.

Agora acrescente a ele alguns símbolos, às vezes sutis, como mostramos a seguir em vermelho:

= Meu primeiro texto em Asciidoc
Fred Lopes <contato@fredlopes.com.br>

Este é um texto de exemplo sobre a https://asciidoc.org/[AsciiDoc].

== Seção 1

Primeira seção apenas com um parágrafo.

== Seção 2

Segunda seção, com uma lista

* item 1
* item 2

e duas subseções.

=== Subseção 1

Um pouco de linguagem de programação Ruby:

[source,ruby]
puts "Olá, mundo!"

=== Subseção 2

Um pouco de texto em _itálico_, *negrito* e `monoespaçado`.

O texto se tornou ligeiramente mais legível, mais estruturado. Mas esse é só o passo intermediário.

Agora é que a mágica ocorre. Use um outro programa – em nosso caso, o AsciiDoctor – sobre esse segundo texto. Teremos a geração de uma página inteira da web, da qual fizemos s seguinte captura de tela:

Outro exemplo

Outro exemplo concreto é meu livro sobre a TikZ, em andamento.

Como aprender?

O link a seguir é fundamental:

Em verdade, o site oficial tem informações tanto sobre o compilador, chamado de AsciiDoctor, quanto a linguagem, esta chamada propriamente de AsciiDoc.

Além disso, você vai precisar instalar a Ruby e saber um pouco como operar com o Prompt de comando.