sensorflo / adoc-mode Goto Github PK
View Code? Open in Web Editor NEWA major-mode for editing AsciiDoc files in Emacs
Home Page: https://github.com/sensorflo/adoc-mode/wiki
A major-mode for editing AsciiDoc files in Emacs
Home Page: https://github.com/sensorflo/adoc-mode/wiki
Function adoc-kwf-attriblist can enter an infinite loop leading to a hung emacs process.
Original report and test case: https://stackoverflow.com/questions/21787592/debugging-emacs-freezing-in-adoc-mode
Is there any chance you can add support for folding? Let's say I have the following structure:
== Title 1
Here goes some text. And some more text.
== Title 2
More text. Who would have thought?
== Last title
The end!
The idea is then to position the cursor on "== Title 2", hit the shortcut and immediately the text following the title until the next title on the same level collapses/folds.
This will make editing large documents far easier. Thanks a lot.
The highlighter doesn’t properly recognise long footnotes, even if they do not include multiple paragraphs. Excerpt from my document:
Dies nennt man die Methodenfootnote:[Passive
Fähigkeiten sind in der Objektorientierung ein Zeichen schlechten
Stils. Eine Methode »hochgehoben werden« würde als unpassend angesehen
werden.]. Im Gegensatz dazu zeugen die Attribute bloß vom
Zustand eines Objekts.
That there’s no space between the word "Methoden" and the "footnote:" macro is intentional. This is legal ASCIIDoc input and suppresses the annoying space between word and footnote. The highlighting still doesn’t work if one puts the space in, though.
Greetings
Marvin
The wiki currently looks like this:
On MacOSX there is a key state definition (such as XCompose on X11). This is useful for accentuated characters (and many other unicode ones). For example:
Alt
+e
+e
: é
Alt
+e
+ SPACE
: ´
,Alt
+u
+o
: ö
,Alt
+u
+ SPACE
: ¨
,This works fine will all emacs modes as long a you run that piece of lisp:
(eval-after-load 'ns-win
'(progn
(setq mac-command-modifier 'meta
mac-option-modifier nil)))
Un fortunately in adoc-mode
the output is like following:
Alt
+e
+e
: ´é
Alt
+e
+ SPACE
: ´´
,Alt
+u
+o
: ¨ö
,Alt
+u
+ SPACE
: ¨¨
,Like if Alt
+e
is interpreted as Alt
+e
+SPACE
+ Alt
+e
.
For info I checked with the -Q
switch when launching emacs, evaluating the above lisp snippet and loading git version of both adoc-mode.el
and markup-faces.el
.
I use "GNU Emacs 24.2.50.1 (x86_64-apple-darwin, NS apple-appkit-1187.00) of 2012-08-27".
Thank for your support.
org-mode has great support for automatically realigning tables - it'd be super if adoc-mode had it too.
Basically, if the table handling was exactly like org-mode that would be great!
Code bloc should be surrounded with ----
. Would it be possible to give a face to these characters? Org-mode calls the faces org-block-begin-line
and org-block-end-line
? This would let met improve how they look in https://github.com/NicolasPetton/zerodark-theme. Thanks
I find the humongous titles unsettling.
Running the tests with "emacs -Q -batch -l adoc-mode-test.el -f ert-run-tests-batch-and-exit, I get:
starting phase `check'
Running 44 tests (2019-11-01 15:45:45+0000)
passed 1/44 adoctest-test-adjust-title-del
passed 2/44 adoctest-test-anchors
passed 3/44 adoctest-test-attribute-list
passed 4/44 adoctest-test-block-macro
passed 5/44 adoctest-test-comments
passed 6/44 adoctest-test-delimited-blocks-simple
passed 7/44 adoctest-test-demote-title
passed 8/44 adoctest-test-footnoterefs
passed 9/44 adoctest-test-footnotes
Mark set
Mark set
Mark set
passed 10/44 adoctest-test-goto-ref-label
passed 11/44 adoctest-test-images
passed 12/44 adoctest-test-indent-by-example
passed 13/44 adoctest-test-inline-macros
passed 14/44 adoctest-test-inline-subst-boundaries
passed 15/44 adoctest-test-lists-medium
passed 16/44 adoctest-test-lists-simple
passed 17/44 adoctest-test-make-two-line-title-underline
passed 18/44 adoctest-test-meta-face-cleanup
passed 19/44 adoctest-test-open-block
passed 20/44 adoctest-test-promote-title
passed 21/44 adoctest-test-quotes-medium
passed 22/44 adoctest-test-quotes-medium-2
passed 23/44 adoctest-test-quotes-medium-3
passed 24/44 adoctest-test-quotes-medium-4
passed 25/44 adoctest-test-quotes-simple
passed 26/44 adoctest-test-references
passed 27/44 adoctest-test-repeat-string
Test adoctest-test-tempo-delimited-blocks backtrace:
signal(ert-test-failed (((should (string-equal (buffer-substring (po
ert-fail(((should (string-equal (buffer-substring (point-min) (point
(if (unwind-protect (setq value-14 (apply fn-12 args-13)) (setq form
(let (form-description-16) (if (unwind-protect (setq value-14 (apply
(let ((value-14 (quote ert-form-evaluation-aborted-15))) (let (form-
(let* ((fn-12 (function string-equal)) (args-13 (condition-case err
(progn (adoc-mode) (insert original-text) (cond ((consp pos) (goto-c
(unwind-protect (progn (adoc-mode) (insert original-text) (cond ((co
(save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn
(let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-b
(let ((not-done t) (font-lock-support-mode)) (let ((temp-buffer (gen
adoctest-trans-inner("lorem\nipsum\ndolor" "lorem\n/////////////////
(while pos-new-list (adoctest-trans-inner new-original-text expected
(let ((pos 0) (pos-old 0) (pos-in-new-region-start 0) (pos-new-list)
(if (string-match "[!<>]" original-text) (let ((pos 0) (pos-old 0) (
adoctest-trans("lorem\n<ipsum>\ndolor" "lorem\n/////////////////////
(let ((del-line (if (integerp del) (make-string 50 del) del))) (adoc
adoctest-delimited-block(47 (tempo-template-adoc-delimited-block-com
(lambda nil (adoctest-delimited-block 47 (quote (tempo-template-adoc
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name adoctest-test-tempo-delimited-blocks
ert-run-or-rerun-test(#s(ert--stats :selector t :tests [#s(ert-test
ert-run-tests(t #f(compiled-function (event-type &rest event-args) #
ert-run-tests-batch(nil)
ert-run-tests-batch-and-exit()
command-line-1(("-l" "adoc-mode-test.el" "-f" "ert-run-tests-batch-a
command-line()
normal-top-level()
Test adoctest-test-tempo-delimited-blocks condition:
(ert-test-failed
((should
(string-equal
(buffer-substring ... ...)
expected-text))
:form
(string-equal "lorem
//////////////////////////////////////////////////
//////////////////////////////////////////////////
ipsum
dolor" "lorem
//////////////////////////////////////////////////
ipsum
//////////////////////////////////////////////////
dolor")
:value nil))
FAILED 28/44 adoctest-test-tempo-delimited-blocks
passed 29/44 adoctest-test-tempo-formatting-misc
passed 30/44 adoctest-test-tempo-lists
Test adoctest-test-tempo-macros backtrace:
signal(ert-test-failed (((should (string-equal (buffer-substring (po
ert-fail(((should (string-equal (buffer-substring (point-min) (point
(if (unwind-protect (setq value-14 (apply fn-12 args-13)) (setq form
(let (form-description-16) (if (unwind-protect (setq value-14 (apply
(let ((value-14 (quote ert-form-evaluation-aborted-15))) (let (form-
(let* ((fn-12 (function string-equal)) (args-13 (condition-case err
(progn (adoc-mode) (insert original-text) (cond ((consp pos) (goto-c
(unwind-protect (progn (adoc-mode) (insert original-text) (cond ((co
(save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn
(let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-b
(let ((not-done t) (font-lock-support-mode)) (let ((temp-buffer (gen
adoctest-trans-inner("see here for" "see http://foo.com[here] for" (
(while pos-new-list (adoctest-trans-inner new-original-text expected
(let ((pos 0) (pos-old 0) (pos-in-new-region-start 0) (pos-new-list)
(if (string-match "[!<>]" original-text) (let ((pos 0) (pos-old 0) (
adoctest-trans("see <here> for" "see http://foo.com[here] for" (temp
(lambda nil (adoctest-trans "" "http://foo.com[]" (quote (tempo-temp
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name adoctest-test-tempo-macros :documenta
ert-run-or-rerun-test(#s(ert--stats :selector t :tests [#s(ert-test
ert-run-tests(t #f(compiled-function (event-type &rest event-args) #
ert-run-tests-batch(nil)
ert-run-tests-batch-and-exit()
command-line-1(("-l" "adoc-mode-test.el" "-f" "ert-run-tests-batch-a
command-line()
normal-top-level()
Test adoctest-test-tempo-macros condition:
(ert-test-failed
((should
(string-equal
(buffer-substring ... ...)
expected-text))
:form
(string-equal "see http://foo.com[]here for" "see http://foo.com[here] for")
:value nil))
FAILED 31/44 adoctest-test-tempo-macros
Test adoctest-test-tempo-paragraphs backtrace:
signal(ert-test-failed (((should (string-equal (buffer-substring (po
ert-fail(((should (string-equal (buffer-substring (point-min) (point
(if (unwind-protect (setq value-14 (apply fn-12 args-13)) (setq form
(let (form-description-16) (if (unwind-protect (setq value-14 (apply
(let ((value-14 (quote ert-form-evaluation-aborted-15))) (let (form-
(let* ((fn-12 (function string-equal)) (args-13 (condition-case err
(progn (adoc-mode) (insert original-text) (cond ((consp pos) (goto-c
(unwind-protect (progn (adoc-mode) (insert original-text) (cond ((co
(save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn
(let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-b
(let ((not-done t) (font-lock-support-mode)) (let ((temp-buffer (gen
adoctest-trans-inner("loremipsum" "lorem\n ipsum" (tempo-template-a
(while pos-new-list (adoctest-trans-inner new-original-text expected
(let ((pos 0) (pos-old 0) (pos-in-new-region-start 0) (pos-new-list)
(if (string-match "[!<>]" original-text) (let ((pos 0) (pos-old 0) (
adoctest-trans("lorem<ipsum>" "lorem\n ipsum" (tempo-template-adoc-
(lambda nil (adoctest-trans "" " " (quote (tempo-template-adoc-lite
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name adoctest-test-tempo-paragraphs :docum
ert-run-or-rerun-test(#s(ert--stats :selector t :tests [#s(ert-test
ert-run-tests(t #f(compiled-function (event-type &rest event-args) #
ert-run-tests-batch(nil)
ert-run-tests-batch-and-exit()
command-line-1(("-l" "adoc-mode-test.el" "-f" "ert-run-tests-batch-a
command-line()
normal-top-level()
Test adoctest-test-tempo-paragraphs condition:
(ert-test-failed
((should
(string-equal
(buffer-substring ... ...)
expected-text))
:form
(string-equal "lorem
ipsum" "lorem
ipsum")
:value nil))
FAILED 32/44 adoctest-test-tempo-paragraphs
Test adoctest-test-tempo-passthroug-macros backtrace:
signal(ert-test-failed (((should (string-equal (buffer-substring (po
ert-fail(((should (string-equal (buffer-substring (point-min) (point
(if (unwind-protect (setq value-14 (apply fn-12 args-13)) (setq form
(let (form-description-16) (if (unwind-protect (setq value-14 (apply
(let ((value-14 (quote ert-form-evaluation-aborted-15))) (let (form-
(let* ((fn-12 (function string-equal)) (args-13 (condition-case err
(progn (adoc-mode) (insert original-text) (cond ((consp pos) (goto-c
(unwind-protect (progn (adoc-mode) (insert original-text) (cond ((co
(save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn
(let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-b
(let ((not-done t) (font-lock-support-mode)) (let ((temp-buffer (gen
adoctest-trans-inner("lorem ipsum dolor" "lorem pass:[ipsum] dolor"
(while pos-new-list (adoctest-trans-inner new-original-text expected
(let ((pos 0) (pos-old 0) (pos-in-new-region-start 0) (pos-new-list)
(if (string-match "[!<>]" original-text) (let ((pos 0) (pos-old 0) (
adoctest-trans("lorem <ipsum> dolor" "lorem pass:[ipsum] dolor" (tem
(lambda nil (adoctest-trans "" "pass:[]" (quote (tempo-template-adoc
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name adoctest-test-tempo-passthroug-macros
ert-run-or-rerun-test(#s(ert--stats :selector t :tests [#s(ert-test
ert-run-tests(t #f(compiled-function (event-type &rest event-args) #
ert-run-tests-batch(nil)
ert-run-tests-batch-and-exit()
command-line-1(("-l" "adoc-mode-test.el" "-f" "ert-run-tests-batch-a
command-line()
normal-top-level()
Test adoctest-test-tempo-passthroug-macros condition:
(ert-test-failed
((should
(string-equal
(buffer-substring ... ...)
expected-text))
:form
(string-equal "lorem pass:[]ipsum dolor" "lorem pass:[ipsum] dolor")
:value nil))
FAILED 33/44 adoctest-test-tempo-passthroug-macros
Test adoctest-test-tempo-quotes backtrace:
signal(ert-test-failed (((should (string-equal (buffer-substring (po
ert-fail(((should (string-equal (buffer-substring (point-min) (point
(if (unwind-protect (setq value-14 (apply fn-12 args-13)) (setq form
(let (form-description-16) (if (unwind-protect (setq value-14 (apply
(let ((value-14 (quote ert-form-evaluation-aborted-15))) (let (form-
(let* ((fn-12 (function string-equal)) (args-13 (condition-case err
(progn (adoc-mode) (insert original-text) (cond ((consp pos) (goto-c
(unwind-protect (progn (adoc-mode) (insert original-text) (cond ((co
(save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn
(let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-b
(let ((not-done t) (font-lock-support-mode)) (let ((temp-buffer (gen
adoctest-trans-inner("lorem ipsum dolor" "lorem _ipsum_ dolor" (temp
(while pos-new-list (adoctest-trans-inner new-original-text expected
(let ((pos 0) (pos-old 0) (pos-in-new-region-start 0) (pos-new-list)
(if (string-match "[!<>]" original-text) (let ((pos 0) (pos-old 0) (
adoctest-trans("lorem <ipsum> dolor" "lorem _ipsum_ dolor" (tempo-te
adoctest-quotes("_" "_" (tempo-template-adoc-emphasis))
(lambda nil (adoctest-quotes "_" "_" (quote (tempo-template-adoc-emp
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name adoctest-test-tempo-quotes :documenta
ert-run-or-rerun-test(#s(ert--stats :selector t :tests [#s(ert-test
ert-run-tests(t #f(compiled-function (event-type &rest event-args) #
ert-run-tests-batch(nil)
ert-run-tests-batch-and-exit()
command-line-1(("-l" "adoc-mode-test.el" "-f" "ert-run-tests-batch-a
command-line()
normal-top-level()
Test adoctest-test-tempo-quotes condition:
(ert-test-failed
((should
(string-equal
(buffer-substring ... ...)
expected-text))
:form
(string-equal "lorem __ipsum dolor" "lorem _ipsum_ dolor")
:value nil))
FAILED 34/44 adoctest-test-tempo-quotes
passed 35/44 adoctest-test-tempo-title
passed 36/44 adoctest-test-titles-simple-block-title
passed 37/44 adoctest-test-titles-simple-one-line-before
passed 38/44 adoctest-test-titles-simple-one-line-enclosed
passed 39/44 adoctest-test-titles-simple-two-line
passed 40/44 adoctest-test-toggle-title-type
passed 41/44 adoctest-test-url
passed 42/44 adoctest-test-url-enclosing-quote
passed 43/44 adoctest-test-xref-at-point-1
passed 44/44 adoctest-test-xref-at-point-2
Ran 44 tests, 39 results as expected, 5 unexpected (2019-11-01 15:45:46+0000)
5 unexpected results:
FAILED adoctest-test-tempo-delimited-blocks
FAILED adoctest-test-tempo-macros
FAILED adoctest-test-tempo-paragraphs
FAILED adoctest-test-tempo-passthroug-macros
FAILED adoctest-test-tempo-quotes
command "emacs" "-Q" "-batch" "-l" "adoc-mode-test.el" "-f" "ert-run-tests-batch-and-exit" failed with status 1
When running M-x package-install adoc-mode
, I get the following error message:
Compiling no file at Sat Jun 11 20:13:16 2016
Leaving directory `/home/michael/.emacs.d/elpa/adoc-mode-0.6.2'
Compiling file /home/michael/.emacs.d/elpa/adoc-mode-0.6.2/adoc-mode-pkg.el at Sat Jun 11 20:13:16 2016
Entering directory `/home/michael/.emacs.d/elpa/adoc-mode-0.6.2/'
Compiling file /home/michael/.emacs.d/elpa/adoc-mode-0.6.2/adoc-mode.el at Sat Jun 11 20:13:16 2016
adoc-mode.el:177:1:Warning: cl package required at runtime
adoc-mode.el:1694:1:Error: Symbol's function definition is void: adoc-re-verbatim-paragraph-sequence
This is with GNU Emacs 24.5.2 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.29) of 2016-05-26 on machine
.
What am I doing wrong?
It the gist of asciidoc and asciidoctor I would prefer less distraction while writing. For me
changed (enlarged, other) fonts are distracting, in particular font-size.
I would welcome a variant or a switch which would allow me to turn off font locking.
It would be nice to be able to disable changing the font size and only keep the coloring and styling. A good example is the default emacs .md
highlighter.
I really like adoc-mode for editing Asciidoc files, but I was wondering if there is a feature in the mode to export these files to pdf or HTML? Seems like this would make documents a lot simpler to preview, etc.
Asciidoctor has support for Markdown including headers, quotes, and horizontal rules.
This is not yet available in adoc-mode
.
adding a text like
image:foo["bar",]
crashes emacs, the last comma triggers it.
Hi. adoc-mode is amazing.
How do I configure font sizes of markups?
I am new for asciidoc so that I want to see markups like ===
, []
.
Thank you.
I get the above error when trying to install through emacs' 'package-install'
Please consider putting adoc-mode and markup-faces on marmalade. It is easy to do so, and would make installation tons easier, especially given the dependency.
The autoload command in the installation instructions on the wiki should be as follows:
(autoload 'adoc-mode "adoc-mode" nil t)
Note the third and fourth arguments, which are missing in the instructions that are currently in the wiki.
The colours of adoc mode when using Emacs light on dark do not really work. The basic text colour is fine as is the section heads (though the section fonts are too big relative to the text size). But listing etc. annotations being very dark grey and the small red footnote font makes these things completely unreadable.
What is the official way of changing the colours on a per user basis?
Hi
I would lie to inform you of an unfortunate 'namespace' clash. The adoc prefix is also used by auto-document.el. Please consider using ascii-doc- as the prefix for adoc-mode. Maybe even renaming adoc-mode to ascii-doc-mode. If however you decide to keep using the adoc-prefix, consider adding a disclaimer to the readme (when it is written).
Hello, just wonder what is the status of this package?
It's not updated for quite some time and PRs are also not handled?
Vim's support is in a little better shape and I'd not like to go to Electron-based editors. Any hint what to use for writing a lot of AsciiDoc(tor) markup?
The package was adopted by https://github.com/emacsorphanage and the new upstream where development happens is https://github.com/emacsorphanage/adoc-mode
Contributions welcome!
Hi,
AUCTeX has a nice feature they call "folding" that basically hides stuff disturbing the main text until you place point on it. This applies mainly to LaTeX footnotes, which are hidden behind a placeholder until you move point over that one; in that case, it expands and you can edit the footnote. If you move point off the footnote, the content is hidden again and all that remains visible is the main paragraph’s text.
ASCIIDoc’s footnotes are inlined in a similar way that make following the main text difficult, this, it’d be nice if footnotes automatically collapsed like they do in AUCTeX.
Greetings
Marvin
when I run M-x adoc-mode I get:
Symbol's value as variable is void: <!DOCTYPE
This is on RHEL7 running:
GNU Emacs 24.3.1 (x86_64-redhat-linux-gnu, GTK+ Version 3.22.10)
There is no mention of DOCTYPE in the mode file itself. Its not immediately obvious what went wrong or where to start debugging this.
I ported the Asciidoctor snippets from the Atom (editor) autocomplete package to YASnippet.
My repo: https://github.com/nicorikken/adoc-mode-yasnippet
A request to get this into the yasnippet-snippets repo AndreaCrotti/yasnippet-snippets#161
The string [,]
appears to cause adoc-mode to hang. The syntax [source,lang]
is used to allow syntax highlighting of code blocks. Another user may incorrectly leave out the lang
. If this happens adoc-mode will hang indefinitely parsing the file.
adoc-mode version: 20130917.0
Reproduction steps:
[,]
Observed behavior:
Emacs hangs. This is sometimes recoverable by repeatedly hitting C-g
and backspace to delete the string.
Whenever I open an AsciiDoc-file with neotree, I get this error and adoc-mode is not invoked.
File mode specification error: (wrong-type-argument symbolp #[(&optional arg) \301 \210\302�\303\304#\207 [arg neo-global--select-window neo-buffer--execute neo-open-file #[(&rest _) \300\207 [nil] 1]] 4 nil P])
I don't have this problem with any other file types and opening the same AsciiDoc-files with C-x C-f
works as expected. If I disable adoc-mode, the error does not occur.
This is how I load adoc-mode:
(use-package adoc-mode
:mode
("\\.adoc\\'" . adoc-mode)
:custom-face
[…]
:hook
(adoc-mode . visual-line-mode))
I am probably missing something ?
Compiling file /home/.emacs.d/elpa/adoc-mode-20150102.835/adoc-mode.el at Mon Mar 2 23:38:14 2015
adoc-mode.el:178:1:Warning: cl package required at runtime
adoc-mode.el:1688:1:Error: Symbol's function definition is void: adoc-re-verbatim-paragraph-sequence
I am using GNU Emacs 24.4.1
Cheers
I'm a little confused by your word choice for adoc-promote
and adoc-denote
.
First, the opposite of promote is demote, not denote. Denote means to indicate.
Second, promote in this sense means to increase in rank. Shouldn't that take a heading and make it a more important heading? Right now, it turns a heading into a subheading.
Minor issues, I know, but I thought I'd open an issue anyway. Thanks for adoc-mode!
Code:
footnote:[Some text, probably containing a comma. Second sentence.]
Inside a footnote text, after a comma font-face returns to normal text mode (not small and in different color anymore). I believe this is because comma is a separator of attributes inside macros, but can we have a special case for footnotes? I often have footnotes a lot larger than single simple sentence, not broken by comma.
I get this error repeatedly when using adoc-mode. It wasn't clear to me what that variable was meant to be, so it wasn't clear whether the warning indicated that the variable was supposed to be set locally or not, but I fixed the issue in my local copy by appending:
(defvar adoc-reserved nil)
To the list of devars.
GNU Emacs 24.4.1 in Debian 8. I can test patches or provide any additional info if you need.
I get the following error message because of a missing quote before adoc-reserved
in adoc-kw-verbatim-paragraph-sequence
:
(jit-lock--run-functions 10093 11074) [UNPR HOST test.adoc]: Symbol’s value as variable is void: adoc-reserved
The Asciidoc(tor) syntax enables the use of source code blocks.
Currently the content is treated as a literal block, with faulty font-style rendering, and without syntax highlighting or more advanced code re-use options. More advanced features could include the evaluation of a code block.
Example from the Asciidoc manual (ref):
[source,python]
-------------------------------------------
\include::test.py[]
-------------------------------------------
Example from the Asciidoctor manual (ref). Notice the shorter block separators.
[[app-listing]]
[source,ruby]
.app.rb
----
require 'sinatra'
get '/hi' do
"Hello World!"
end
----
In the atom-language-asciidoc package the vastness of language support has been tackled by using a generator script combined with a language definition to automatically generate the needed syntax parsing. This then generates the needed static grammar for the different code languages.
As the parsing in ELisp is done differently, I would assume the implementation itself could be more straightforward. Maybe some hints can be derived from org-mode
options, maybe regarding the babel
literal programming extension.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.