A test CommonMark doc to exercise cljdoc formatting and features.
This document exists to compare basic features with AsciiDoctor. If you edit this doc please also edit its AsciiDoctor counterpart.
CommonMark is also supported in docstrings, have a look at cljdoc-exerciser namespace on cljdoc.org for some more examples.
I have a strong feeling that I might be headstrong.
If I use italics does that make things more gleanable?
Does this ~~strike~~ you as a ~~cross~~word?
My code
was encoded
ed.
Here we have some clojure code:
;; some sweet clojure code
(defn hello-earthling
"Greet an earthling in a believable way."
[name]
(println "Hello earthling " (uppercase name)))
If we specify Clojure-Repl
to CommonMark as our language, we can invoke special highlighting for a repl session:
user=> (require '[clojure.string :as string])
nil
user=> (string/reverse "step on no pets")
"step on no pets"
user=> (reduce + 0 [1 2 3 4 5 6 7 8 6])
42
user=>
Bulleted:
Numbered:
Mixed:
With code:
two
I am a code block
three
Quoted text.
Another paragraph in quote.
Multiline paragraphs:
Para1line1 Para1line2
Para2line1 Para2line2
This local image should work on github and cljdoc.
The same image can be referenced relative to this document:
Here's a remote image:
Local link: cljdoc asciidoc features
Local link root relative: cljdoc markdown features
SCM link: scm link
SCM link root relative: scm link
External link: GitHub Flavored Markdown Spec
Link to anchor: Anchored heading
Note: WikiLinks to api functions [[do not work here]], they only work in docstrings. To illustrate: [[cljdoc-exerciser.ns2/whatever]]
Let's try referencing our APIs via fully qualified links:
This is how a horizontal rule is rendered:
CommonMark tables are considered an extension to the CommonMark format.
Here is the most basic example:
Heading 1 | Heading 2 |
---|---|
col1, row1 | col2, row1 |
col1, row2 | col2, row2 |
col1, row3 | col2, row3 |
col1, row4 | col2, row4 |
Basic alignment support is also available:
Right aligned col | Centered col | Left aligned Col |
---|---|---|
am | is | any |
I | this | thing |
right? | centered? | left? |
Cljdoc tries to match GitHub in syntaxes supported for tables. For example, cljdoc does not support tables without headers:
|---|---| | col1 | col2|
Nor tables with multi-line headers:
| col11 | col12| | col21 | col22| |---|---| | data1 | data2|
Nor tables with captions:
col1 | col2 |
---|---|
data1 | data2 |
[Caption]
GitHub flavored markdown supports emojis.
:space_invader: :apple: :space_invader: :tangerine: :space_invader:
And here we are.
GitHub Markdown has an alert extension which is conceptually equivalent to AsciiDoc admonitions.
From most serious to least:
important
Important things are said here.
warning
Warning to the wise.
caution
Aren't you a caution?
note
Note that this note is a note.
tip
Tip the scales with a tip.
And how do alerts look with some code in them?
important
This alert has some code
in it.
(how
(does
(this "look?)))
warning
This alert has some code
in it.
(how
(does
(this "look?)))
caution
This alert has some code
in it.
(how
(does
(this "look?)))
note
This alert has some code
in it.
(how
(does
(this "look?)))
tip
This alert has some code
in it.
(how
(does
(this "look?)))
Since we wrote a flexmark extension to handle GitHub alerts, let's test out some scenarios.
These should render as a quotes because they have no content:
One line:
[!TIP]
Two line:
[!TIP]
Multi-line:
[!TIP]
These should render as alerts:
Content in first paragraph:
tip
para1line1
tip
para1line1 para1line2
Content in subsequent paragraph
tip
para1line1
tip
para1line1 para1line2
Content in subsequent paragraphs
tip
para1line1 para1line2
para2line1 para2line2
Content in first and subsequent paragraphs:
tip
para1line1 para1line2
para2line1
para3line1 para3line2
Spaces and empty:
tip
para3line1 para3line2
Too many spaces before alert type means not an alert:
[!TIP]
Not an alert
Nested alerts are not a thing:
tip
A tip
[!NOTE] not a nested alert
Looks like alerts in lists are not a thing either:
list item 1
[!TIP] A tip
Normal, non-alert text.
list item 2
A normal quote in a list
Normal, unquoted text.
list item 3
There is no support for in CommonMark for coloring or custom styling of text.
There is no support in CommonMark for drawings.
GitHub markdown renders some embedded html.
Let's try a definition list:
And some keyboard inputs: q w e r t y
What can't you do in embedded HTML?
Is there any limits to what HTML you can use? It does not seem like it. Seems to me like you can reference existing CSS classes and also specify inline styles. I can't imagine that GitHub allows such freedom though and neither does cljdoc.
1 | 2 | 3 |
Cljdoc yanks JavaScript, for example:
Original content, JavaScript inactive.
Here we tell JavaScript to popup an alert, cljdoc does not allow this:
Can you improve this documentation? These fine people already did:
lread & Lee ReadEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close