I am now turning my attention to support for asciidoc.  This pag 
<https://github.com/leo-editor/leo-editor/issues?utf8=%E2%9C%93&q=is%3Aissue+milestone%3A6.1+label%3Aasciidoc+>e
 
shows the relevant issues.

This post discusses recent work, and what remains to be done.

*Three tools, one markup language, one Leo command*

asciidoc <http://asciidoc.org/>& asciidoc3 
<https://gitlab.com/asciidoc3/asciidoc3>are python tools.  Apparently, 
asciidoc is python 2 only.

asciidoctor <https://asciidoctor.org/>is a ruby tool, claiming to be 100 
times faster than asciidoc.

The asciidoc markup language is virtually identical, regardless of the tool 
used.  The asciidoc markup language is very powerful.  Users can specify 
almost any conceivable option.  For full details, see the users guide 
<https://asciidoctor.org/docs/user-manual/>. 

Leo's new *adoc command* processes one or more @adoc trees, writing .adoc 
files that can then be converted to .html files using asciidoctor or 
asciidoc3. The command's docstring shows an @button script that will 
generate .html files from the written files. I have been using asciidoctor 
in my initial tests.  Still to do: verify that asciidoc3 works.


*Syntax coloring*

Leo now has *rudimentary* support for syntax coloring when @language 
asciidoc is in effect.

This page <http://asciidoc.org/#_editor_support> lists support for asciidoc 
markup in various editors.  My present plan is to regenerate 
leo/modes/asciidoc.py from asciidoc.xml 
<https://github.com/salchint/asciidoc4jedit/blob/master/asciidoc.xml> using 
the @button jEdit2Py in scripts.leo.

Unlike markdown, it is *not* possible to embed raw html in asciidoc. This 
can reasonably be called a good thing. It greatly simplifies syntax 
coloring.


*Asciidoc markup vs markdown and rST*

Asciidoc markup is significantly better than markdown 
<https://asciidoctor.org/docs/user-manual/#compared-to-markdown>, but 
markdown is a straw man.  The real comparison must be between asciidoc and 
rST.  Imo, asciidoc is still clearly better than rST.

Furthermore, the asciidoc tool chain is likely more flexible than 
rST/docutils.  Asciidoc markup contains a *lot* of options.

*adoc command vs rst3 command*

The rst3 command is ridiculously complex.   I learned my lesson.  The adoc 
command is much, much simpler.  Users of the adoc command will use asciidoc 
(markup) options exclusively.

Like the rst3 command, the adoc command understands the structure of Leo 
outlines. That is, the adoc command will generate asciidoc markup for 
sections based on outline level.

*Using asciidoc markup without the adoc command*

It would be possible to generate .adoc files directly from Leo, but there 
is a big complication. *Asciidoc cross references look like a Leo section 
references. *So if your content contains cross references, you must use 
@asis files.

#1366 <https://github.com/leo-editor/leo-editor/issues/1366> suggests 
disabling section references within .adoc files, or possibly even when 
@nosections is in effect.  This is a low priority project, because users 
can use the adoc command applied to @adoc trees. It probably won't happen.

*Live rendering*

#333 <https://github.com/leo-editor/leo-editor/issues/333> suggests rending 
sphinx or asciidoc live in the VR pane.  I'll be investigating this item 
soon.

For now, you can use Asciidoctor.js 
<https://asciidoctor.org/docs/asciidoctor.js/>.  I use the Live Preview 
extension 
<https://addons.mozilla.org/en-US/firefox/addon/asciidoctorjs-live-preview/> 
for mozilla.  

*Summary*

Supporting asciidoc markup is the last major project before releasing Leo 
6.1 b1. This page 
<https://github.com/leo-editor/leo-editor/issues?utf8=%E2%9C%93&q=is%3Aissue+milestone%3A6.1+label%3Aasciidoc+>
 
summarizes the remaining work.

Leo now contains rudimentary support for @language asciidoc. It will soon 
be substantially improved.

The new adoc command processes one or more @adoc trees, writing .adoc 
files. @button nodes can easily convert the 
.adoc files to .html files using asciidoctor or asciidoc3.

Live rendering is possible now, using Asciidoctor.js.  It may soon be 
possible within the VR pane.

Leo 6.1 is a full month ahead of schedule.  I'll take as long as needed to 
complete all asciidoc projects scheduled for 6.1.

Edward

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/d212f810-0695-4180-991c-07e349da098e%40googlegroups.com.

Reply via email to