2. WHOAMI?
Jorge Aguilera, @jagedn
muuuchos años (25) desarrollando …
y pocos documentando
incluso he publicado un libro en Amazon
https://jorge-aguilera.gitlab.io/tutoasciidoc/
https://www.amazon.es/dp/B07518QBR4
14. ESTRUCTURA
= Titulo : subtitulo
autor(es)
Version xx, dd.mm.yyyy
:atributo1: valor1
:atributo2: valor2
:atributo3: valor3
:toc:
:toclevels: 4
:toc-title: Contenido
:imagesdir: ./img
Las primeras lineas definen el preambulo de un documento.
Pueden ir seguidas hasta que haya una en blanco para delimitar el bloque
== Capitulo 1
aqui empieza el primer capitulo
16. INCLUDE
incluir otros cheros (obvio)
organizar en carpetas, cheros un documento largo o
compartido
reutilizar fragmentos, documentar código, etc
include::{una_variable}/una/ruta/fichero.ext[calificadores]
20. DIAGRAMAS
Mi favorita:
= Diagramas
.Caso de uso Registro de usuario
[plantuml]
....
left to right direction
skinparam packageStyle rect
title Registro de usuario
actor Usuario as usuario
rectangle registro{
usuario --- (registro)
(registro) .> (usuario no existe) : include
(usuario existe) <. (registro) : include
}
....
Diagramas
25. TUCÓDIGOYTUDOCU
JUNTOSFOREVER
Mismo control de versiones (SVN, Git, …)
Mismo repositorio (código y documentación en un
mismo lugar)
Incluir automáticamente código en la docu
Diferentes hojas de estilo para visualizar tu código
(coderay,pingments,…)
27. PORDONDEEMPEZAR
incluir plugins en el proyecto (maven, gradle,…)
organizar documentación (directorios y apartados
separados)
establecer puentes código-documentación (utilizar
includes)
automatizar
28. MAVEN
Incluimos el plugin en nuestro pom.xml y se añade al
pipeline automáticamente
<plugins>
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<version>1.5.3</version>
<executions>
<execution>
<id>generate-docs</id>
<phase>generate-resources</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
<configuration>
<backend>html</backend>
<doctype>book</doctype>
<sourceDocumentExtensions>adoc</sourceDocumentExte
<attributes>
29. GRADLE
Incluimos las dependencias y automaticamente
tenemos una nueva task asciidoctor .
Creamos la docu en el mismo proyecto (src/docs por
defecto) versionandola junto con el código
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.asciidoctor:asciidoctor-gradle-plugin:1.5.3'
}
}
apply plugin: 'org.asciidoctor.convert'
31. VISIBILIZARLADOCU
WAR, Spring Boot: Al ser contenido estático es muy
fácil incluirla en el WAR
Servidor corporativo: ftp o scp copiar a un servidor con
Apache/Nginx
Github Pages (o Gitlab, BitBucket, …)
35. EJEMPLO:RESTEXCEL
RestExcel aplicación Grails que ofrece un Excel
mediante REST
Código disponible en carpeta restexcel
Spring Rest Docs librería Spring para que los test
http://jorge-aguilera.gitlab.io/101-panel-tech-
asciidoctor/html5/