You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Maybe I missed it but I couldn't find program flow documentation for Asciidoctor.
I think this would help new contributors to get productive faster.
I had a go at a sequence diagram that shows how Asciidoctor, Document and the Converter interact on a high level.
If someone wants to fix errors:
@startuml
"/bin/asciidoctor" -> "CLI:Invoker": invoke!
"CLI:Invoker" --> "::Asciidoctor": convert
"::Asciidoctor" --> "::Asciidoctor": load (Parse the AsciiDoc source input into an Asciidoctor::Document)
"::Asciidoctor" --> "::Asciidoctor::Document": parse (Parse the AsciiDoc source stored in the Reader into an abstract syntax tree.)
"::Asciidoctor" --> "::Asciidoctor::Document": convert (returns either converted String or filled Converter Object e.g. PdfConverter)
"::Asciidoctor" --> "::Asciidoctor::Document": write (either writes String directly to file or delegates to Converter first)
@enduml
I think there are two experience levels and thus perhaps a need for two separate diagrams. One would be end users and should show the input document being parsed, the converter selected based on the backend keyword, and the converter making the output document. The other one would be for developers (who would be writing extensions or document analysis code), which can get into the load/parse/convert/write detail. End users don't need that level of detail.
Maybe I missed it but I couldn't find program flow documentation for Asciidoctor.
I think this would help new contributors to get productive faster.
I had a go at a sequence diagram that shows how Asciidoctor, Document and the Converter interact on a high level.
If someone wants to fix errors:
https://www.planttext.com/
The text was updated successfully, but these errors were encountered: