mirror of
https://github.com/jgm/pandoc.git
synced 2026-08-28 17:20:47 +08:00
Add asciidoc as an input format.
New exported module Text.Pandoc.Readers.AsciiDoc, exporting readAsciiDoc [API change]. The bulk of parsing is handled by the asciidoc library. Closes #1456.
This commit is contained in:
+9
-3
@@ -78,6 +78,14 @@ tests pandocPath =
|
||||
, s5WriterTest' "inserts" ["-s", "-H", "insert",
|
||||
"-B", "insert", "-A", "insert", "-c", "main.css"] "html4"
|
||||
]
|
||||
, testGroup "asciidoc"
|
||||
[ testGroup "writer" (writerTests' "asciidoc" ++
|
||||
writerTests' "asciidoc_legacy")
|
||||
, testGroup "reader"
|
||||
[ test' "basic" ["-f", "asciidoc", "-t", "native", "-s"]
|
||||
"asciidoc-reader.adoc" "asciidoc-reader.native"
|
||||
]
|
||||
]
|
||||
, testGroup "textile"
|
||||
[ testGroup "writer" $ writerTests' "textile"
|
||||
, test' "reader" ["-r", "textile", "-w", "native", "-s"]
|
||||
@@ -183,9 +191,7 @@ tests pandocPath =
|
||||
"tikiwiki-reader.tikiwiki" "tikiwiki-reader.native" ]
|
||||
, testGroup "other writers" $ map (\f -> testGroup f $ writerTests' f)
|
||||
[ "opendocument" , "context" , "texinfo", "icml", "tei"
|
||||
, "man" , "plain" , "asciidoc", "asciidoc_legacy"
|
||||
, "xwiki", "zimwiki"
|
||||
]
|
||||
, "man" , "plain" , "xwiki", "zimwiki" ]
|
||||
, testGroup "writers-lang-and-dir"
|
||||
[ test' "latex" ["-f", "native", "-t", "latex", "-s"]
|
||||
"writers-lang-and-dir.native" "writers-lang-and-dir.latex"
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
This is a test!
|
||||
|
||||
. one
|
||||
.. two
|
||||
@@ -0,0 +1,4 @@
|
||||
# A function
|
||||
def foo
|
||||
return 42
|
||||
end
|
||||
@@ -0,0 +1,908 @@
|
||||
// Some comment here.
|
||||
= AsciiDoc reader test
|
||||
John MacFarlane <jgm@berkeley.edu>; John Doe <doe@example.com>
|
||||
v1.0, 2025-11-24
|
||||
:custom: Foo bar \
|
||||
baz
|
||||
:flag:
|
||||
:stem: latexmath
|
||||
|
||||
[#firsty]
|
||||
== Inline markup
|
||||
|
||||
=== Characters and escapes
|
||||
|
||||
Dog's has a curved apostrophe, but dog\'s does not.
|
||||
|
||||
An escaped symbol: \*star\*.
|
||||
|
||||
Character references: ä ⋠
|
||||
|
||||
=== Line breaks
|
||||
|
||||
This is a hard +
|
||||
break.
|
||||
|
||||
Or set it for a whole paragraph
|
||||
|
||||
[%hardbreaks]
|
||||
These are
|
||||
all
|
||||
hard
|
||||
breaks.
|
||||
|
||||
=== Autolinks
|
||||
|
||||
http://example.com/foobar?a=333&b=no%20body, me@example.com
|
||||
|
||||
<http://example.com/foobar?a=333&b=no%20body>, <me@example.com>
|
||||
|
||||
=== Cross-reference
|
||||
|
||||
See <<firsty>>
|
||||
|
||||
See <<firsty,My great section on Inline markup>>
|
||||
|
||||
Go to <<anch,an inline anchor>>
|
||||
|
||||
=== Anchors
|
||||
|
||||
An [[anch]]inline anchor.
|
||||
|
||||
[[[bibanchor]]Doe, John. A Book.
|
||||
|
||||
=== Inline macros
|
||||
|
||||
kbd:[F11]
|
||||
|
||||
kbd:[Ctrl+Shift+F]
|
||||
|
||||
menu:File[Save]
|
||||
|
||||
menu:Reader[Markdown > Pandoc]
|
||||
|
||||
btn:[Cancel]
|
||||
|
||||
icon:heart[2x,role=red]
|
||||
|
||||
anchor:tiger
|
||||
|
||||
pass:[<b>*bold*</b>]
|
||||
|
||||
link:downloads/report.pdf[Get Report]
|
||||
|
||||
link:tools.html#editors[]
|
||||
|
||||
link:file:///home/username[Your files]
|
||||
|
||||
Tricky cases:
|
||||
|
||||
link:pass:[My Documents/report.pdf][Get Report]
|
||||
|
||||
link:My Documents/report.pdf[Get Report]
|
||||
|
||||
link:My%20Documents/report.pdf[Get Report]
|
||||
|
||||
link:++https://example.org/now_this__link_works.html++[]
|
||||
|
||||
mailto:join@discuss.example.org[Subscribe]
|
||||
|
||||
mailto:join@discuss.example.org["Click, subscribe, and participate!",role=mail]
|
||||
|
||||
xref:link-macro-attributes[use attributes within the link macro]
|
||||
|
||||
image::sunset.jpg[Sunset]
|
||||
|
||||
image::name.png[]
|
||||
|
||||
image::sunset.jpg[Sunset,300,400]
|
||||
|
||||
image::sunset.jpg[alt=Sunset,width=300,height=400]
|
||||
|
||||
[latexmath]
|
||||
++++
|
||||
e=mc^2
|
||||
++++
|
||||
|
||||
[asciimath]
|
||||
++++
|
||||
sin n / 3
|
||||
++++
|
||||
|
||||
[stem]
|
||||
++++
|
||||
e^i
|
||||
++++
|
||||
|
||||
=== Attribute substitutions
|
||||
|
||||
{custom}
|
||||
|
||||
{nonexistent}
|
||||
|
||||
Built in: x{blank}y{empty}z{sp}a{nbsp}b{zwsp}c{apos}d{lsquo}
|
||||
|
||||
=== Bold and italic
|
||||
|
||||
Constrained: *this is bold _and italic_*.
|
||||
|
||||
Unconstrained: wild**content__with italic__stuff**.
|
||||
|
||||
=== Monospace
|
||||
|
||||
`simple`
|
||||
|
||||
`complex *with bold* text and a link:foo.html[]`
|
||||
|
||||
unconstrained``wwow``okay
|
||||
|
||||
=== Span and inline attributes
|
||||
|
||||
[.red]#Bonjour *monsieur*#
|
||||
|
||||
Un[.red]##constrained##content
|
||||
|
||||
With #no attribute# it's highlighted.
|
||||
|
||||
=== Sub and superscript
|
||||
|
||||
H~2~O
|
||||
|
||||
H~a{sp}b~O
|
||||
|
||||
Not subscript: H~a b~O.
|
||||
|
||||
H^2&O
|
||||
|
||||
H^a{sp}b^O
|
||||
|
||||
Not subscript: H^a b^O.
|
||||
|
||||
=== Passthrough
|
||||
|
||||
Here the special characters just come through as literal:
|
||||
|
||||
+<b>*test*</b>+
|
||||
|
||||
xx++<b>*test*</b>++xx
|
||||
|
||||
But here they are passed through:
|
||||
|
||||
xx+++<b>*test*</b>+++xx
|
||||
|
||||
=== Quoted
|
||||
|
||||
"`double quoted`"
|
||||
|
||||
'`single quoted`'
|
||||
|
||||
=== Footnotes
|
||||
|
||||
Doublefootnote:[The double hail-and-rainbow level makes my toes tingle.]
|
||||
|
||||
A bold statement!footnote:disclaimer[Opinions are my own.]
|
||||
Another outrageous statement.footnote:disclaimer[]
|
||||
|
||||
== Block markup
|
||||
|
||||
=== Sections
|
||||
|
||||
==== Another level
|
||||
|
||||
===== Level 5
|
||||
|
||||
#### Markdown style
|
||||
|
||||
##### Level 5
|
||||
|
||||
=== Discrete heading
|
||||
|
||||
[discrete]
|
||||
==== A discrete heading, not a section
|
||||
|
||||
=== Paragraph
|
||||
|
||||
This is a paragraph
|
||||
whose source fits on two lines.
|
||||
|
||||
{.This is my title}
|
||||
A paragraph with a title.
|
||||
|
||||
=== Example block
|
||||
|
||||
.Optional title
|
||||
[example]
|
||||
This is an example of an example block.
|
||||
|
||||
.Optional title
|
||||
====
|
||||
Paragraph *one*.
|
||||
|
||||
Paragraph *two*.
|
||||
====
|
||||
|
||||
=== Admonition
|
||||
|
||||
Simple form:
|
||||
|
||||
WARNING: This is very dangerous.
|
||||
Don't do it unless you understand the risks.
|
||||
|
||||
[IMPORTANT]
|
||||
.Title of the admonition
|
||||
====
|
||||
Remember:
|
||||
|
||||
. Don't do this.
|
||||
. And don't do that.
|
||||
====
|
||||
|
||||
=== Sidebar
|
||||
|
||||
[sidebar]
|
||||
A simple sidebar.
|
||||
|
||||
.Optional Title *with strong emphasis*
|
||||
****
|
||||
Here is a sidebar.
|
||||
|
||||
TIP: It can contain any type of content.
|
||||
****
|
||||
|
||||
=== Literal block
|
||||
|
||||
Short indented code:
|
||||
|
||||
$ ls -a
|
||||
$ cat /foo/bar/baz \
|
||||
/bi/bim/bop
|
||||
|
||||
[literal]
|
||||
This is
|
||||
a literal block too.
|
||||
|
||||
....
|
||||
Fenced
|
||||
$+ *a* literal
|
||||
|
||||
****
|
||||
not a sidebar
|
||||
****
|
||||
....
|
||||
|
||||
=== Listing
|
||||
|
||||
[source,ruby]
|
||||
----
|
||||
require 'sinatra'
|
||||
|
||||
get '/hi' do
|
||||
"Hello World!"
|
||||
end
|
||||
----
|
||||
|
||||
Implied:
|
||||
|
||||
[source,ruby]
|
||||
----
|
||||
require 'sinatra'
|
||||
|
||||
get '/hi' do
|
||||
"Hello World!"
|
||||
end
|
||||
----
|
||||
|
||||
[,ruby]
|
||||
----
|
||||
include::asciidoc-reader-include.rb[]
|
||||
----
|
||||
|
||||
[#hello.haskell]
|
||||
----
|
||||
putStrLn $ unwords ["Hello", "world"]
|
||||
----
|
||||
|
||||
Line numbering:
|
||||
|
||||
[%linenums,ruby]
|
||||
----
|
||||
puts 1
|
||||
puts 2
|
||||
puts 3
|
||||
----
|
||||
|
||||
----
|
||||
This doesn't have a language.
|
||||
+="hi"
|
||||
----
|
||||
|
||||
And with a callout list:
|
||||
|
||||
[source,ruby]
|
||||
----
|
||||
require 'sinatra' <1>
|
||||
|
||||
get '/hi' do <2> <3>
|
||||
"Hello World!"
|
||||
end
|
||||
----
|
||||
<1> Library import
|
||||
<2> URL mapping
|
||||
<3> Response block
|
||||
|
||||
Markdown-style fenced:
|
||||
|
||||
```ruby
|
||||
def foo
|
||||
return 5
|
||||
end
|
||||
```
|
||||
|
||||
=== Verse
|
||||
|
||||
[verse,Carl Sandburg, two lines from the poem Fog]
|
||||
The fog comes
|
||||
on little cat feet.
|
||||
|
||||
[verse,Carl Sandburg,Fog]
|
||||
____
|
||||
The fog comes
|
||||
on little cat feet.
|
||||
It sits looking
|
||||
over harbor and city
|
||||
on silent haunches
|
||||
and then moves on.
|
||||
____
|
||||
|
||||
=== Collapsible
|
||||
|
||||
Click here for more.
|
||||
[%collapsible%open]
|
||||
====
|
||||
This is collapsible.
|
||||
|
||||
It can be hidden.
|
||||
====
|
||||
|
||||
.Click me!
|
||||
[%collapsible]
|
||||
This paragraph is
|
||||
also collapsible.
|
||||
|
||||
=== Quote
|
||||
|
||||
[quote,Captain James T. Kirk,Star Trek IV: The Voyage Home]
|
||||
Everybody remember where we parked.
|
||||
|
||||
[quote,Monty Python and the Holy Grail]
|
||||
____
|
||||
Dennis: Come and see the violence inherent in the system. Help! Help! I'm being
|
||||
repressed.
|
||||
|
||||
King Arthur: Bloody peasant!
|
||||
|
||||
Dennis: Oh, what a giveaway! Did you hear that? Did you hear that, eh? That's what I'm
|
||||
on about! Did you see him repressing me? You saw him, Didn't you?
|
||||
____
|
||||
|
||||
[quote.movie#roads,Dr. Emmett Brown]
|
||||
____
|
||||
Roads? Where we're going, we don't need roads.
|
||||
____
|
||||
|
||||
=== Pass
|
||||
|
||||
++++
|
||||
<p>pass <em>through</em>
|
||||
</p>
|
||||
++++
|
||||
|
||||
=== Open block
|
||||
|
||||
.A title.
|
||||
[key="a value"]
|
||||
--
|
||||
Any content can go here:
|
||||
|
||||
. one
|
||||
. two
|
||||
--
|
||||
|
||||
=== Anchor
|
||||
|
||||
[[goals]]
|
||||
* one
|
||||
* two
|
||||
|
||||
=== Breaks
|
||||
|
||||
Asciidoc thematic break:
|
||||
|
||||
'''
|
||||
|
||||
Markdown style:
|
||||
|
||||
---
|
||||
- - -
|
||||
***
|
||||
* * *
|
||||
|
||||
Page breaks:
|
||||
|
||||
<<<
|
||||
|
||||
[%always]
|
||||
<<<
|
||||
|
||||
=== List
|
||||
|
||||
* Edgar Allan Poe
|
||||
* Sheri S. Tepper
|
||||
* Bill Bryson
|
||||
|
||||
// titled
|
||||
|
||||
.Kizmet's Favorite Authors
|
||||
* Edgar Allan Poe
|
||||
* Sheri S. Tepper
|
||||
* Bill Bryson
|
||||
|
||||
// hyphen
|
||||
|
||||
- Edgar Allan Poe
|
||||
- Sheri S. Tepper
|
||||
- Bill Bryson
|
||||
|
||||
. Nested list
|
||||
* West wood maze
|
||||
** Maze heart
|
||||
*** Reflection pool
|
||||
** Secret exit
|
||||
* Level 1 list item
|
||||
** Level 2 list item
|
||||
*** Level 3 list item
|
||||
**** Level 4 list item
|
||||
***** Level 5 list item
|
||||
****** etc.
|
||||
* Level 1 list item
|
||||
|
||||
// attributes
|
||||
|
||||
[square]
|
||||
* one
|
||||
* two
|
||||
* three
|
||||
|
||||
// ordered with actual numbers
|
||||
|
||||
1. Protons
|
||||
2. Electrons
|
||||
3. Neutrons
|
||||
|
||||
// ordered with .
|
||||
|
||||
. Protons
|
||||
. Electrons
|
||||
. Neutrons
|
||||
|
||||
Start with 4:
|
||||
|
||||
4. Step four
|
||||
5. Step five
|
||||
6. Step six
|
||||
|
||||
or
|
||||
|
||||
[start=4]
|
||||
. Step four
|
||||
. Step five
|
||||
. Step six
|
||||
|
||||
Reversed:
|
||||
|
||||
[%reversed]
|
||||
.Parts of an atom
|
||||
. Protons
|
||||
. Electrons
|
||||
. Neutrons
|
||||
|
||||
Nested
|
||||
|
||||
. Step 1
|
||||
. Step 2
|
||||
.. Step 2a
|
||||
.. Step 2b
|
||||
. Step 3
|
||||
|
||||
Mixed nested
|
||||
|
||||
. Linux
|
||||
* Fedora
|
||||
* Ubuntu
|
||||
* Slackware
|
||||
. BSD
|
||||
* FreeBSD
|
||||
* NetBSD
|
||||
|
||||
With spacing
|
||||
|
||||
. Linux
|
||||
* Fedora
|
||||
* Ubuntu
|
||||
* Slackware
|
||||
. BSD
|
||||
* FreeBSD
|
||||
* NetBSD
|
||||
|
||||
With number styles
|
||||
|
||||
[lowerroman,start=5]
|
||||
. Five
|
||||
. Six
|
||||
[loweralpha]
|
||||
.. a
|
||||
.. b
|
||||
.. c
|
||||
. Seven
|
||||
|
||||
Checklist
|
||||
|
||||
* [*] checked
|
||||
* [x] also checked
|
||||
* [ ] not checked
|
||||
* normal list item
|
||||
|
||||
Separate lists with block attribute
|
||||
|
||||
* Apples
|
||||
* Oranges
|
||||
[]
|
||||
. Wash
|
||||
. Slice
|
||||
|
||||
Multiline items
|
||||
|
||||
* Blah blah.
|
||||
Blah blah.
|
||||
* The document header in AsciiDoc is optional.
|
||||
If present, it must start with a document title.
|
||||
|
||||
* Optional author and revision information lines
|
||||
immediately follow the document title.
|
||||
|
||||
* The document header must be separated from
|
||||
the remainder of the document by one or more
|
||||
empty lines and it cannot contain empty lines.
|
||||
|
||||
Complex item
|
||||
|
||||
* The header in AsciiDoc must start with a document title.
|
||||
+
|
||||
----
|
||||
= Document Title
|
||||
----
|
||||
+
|
||||
Keep in mind that the header is optional.
|
||||
* Optional author and revision information lines immediately follow the document
|
||||
title.
|
||||
+
|
||||
----
|
||||
= Document Title
|
||||
Doc Writer <doc.writer@asciidoc.org>
|
||||
v1.0, 2022-01-01
|
||||
----
|
||||
* Second item
|
||||
|
||||
Empty principle element:
|
||||
|
||||
. {empty}
|
||||
+
|
||||
----
|
||||
test
|
||||
----
|
||||
|
||||
=== Table
|
||||
|
||||
==== Simple with column specs
|
||||
|
||||
[cols="3,2,3"]
|
||||
|===
|
||||
|This content is placed in the first cell of column 1
|
||||
|This line starts with a vertical bar so this content is placed in a new cell in
|
||||
column 2 |When the processor encounters a whitespace followed by a vertical bar it
|
||||
ends the previous cell and starts a new cell
|
||||
|===
|
||||
|
||||
==== Repeated column in specs
|
||||
|
||||
[cols="2*"]
|
||||
|===
|
||||
>s|This cell's specifier indicates that this cell's content is right-aligned and bold.
|
||||
|The cell specifier on this cell hasn't been set explicitly, so the default
|
||||
properties are applied.
|
||||
|===
|
||||
|
||||
==== Simple without column specs
|
||||
|
||||
|===
|
||||
|Column 1, header row |Column 2, header row
|
||||
|
||||
|Cell in column 1, row 2
|
||||
|Cell in column 2, row 2
|
||||
|
||||
|Cell in column 1, row 3
|
||||
|Cell in column 2, row 3
|
||||
|===
|
||||
|
||||
==== With caption
|
||||
|
||||
.My cool table.
|
||||
|===
|
||||
|Column 1, header row |Column 2, header row
|
||||
|
||||
|Cell in column 1, row 2
|
||||
|Cell in column 2, row 2
|
||||
|
||||
|Cell in column 1, row 3
|
||||
|Cell in column 2, row 3
|
||||
|===
|
||||
|
||||
==== No header
|
||||
|
||||
By default the first line should turn into the header, but this
|
||||
can be disabled:
|
||||
|
||||
[%noheader]
|
||||
|===
|
||||
|Cell in column 1, row 1 |Cell in column 2, row 1
|
||||
|Cell in column 1, row 2 |Cell in column 2, row 2
|
||||
|===
|
||||
|
||||
And also explicitly enabled:
|
||||
|
||||
[%header%footer%autowidth,cols=2*~]
|
||||
|===
|
||||
|Cell A1 |Cell B1
|
||||
|Cell A2 |Cell B2
|
||||
|Cell A3 |Cell B3
|
||||
|===
|
||||
|
||||
==== Footer
|
||||
|
||||
[%header%footer,cols="2,2,1"]
|
||||
|===
|
||||
|Column 1, header row
|
||||
|Column 2, header row
|
||||
|Column 3, header row
|
||||
|Cell in column 1, row 2
|
||||
|Cell in column 2, row 2
|
||||
|Cell in column 3, row 2
|
||||
|Column 1, footer row
|
||||
|Column 2, footer row
|
||||
|Column 3, footer row
|
||||
|===
|
||||
|
||||
or
|
||||
|
||||
[options="footer"]
|
||||
|===
|
||||
|Column 1, header row |Column 2, header row
|
||||
|Cell in column 1, row 2
|
||||
|Cell in column 2, row 2
|
||||
|Cell in column 1, row 3
|
||||
|Cell in column 2, row 3
|
||||
|Column 1, footer row
|
||||
|Column 2, footer row
|
||||
|===
|
||||
|
||||
==== Alignment
|
||||
|
||||
|===
|
||||
|Column Name |Column Name
|
||||
2+^|This cell spans two columns, and its content is horizontally centered because the
|
||||
cell specifier includes the `+^+` operator.
|
||||
2*^|This content is duplicated in two adjacent columns.
|
||||
Its content is horizontally centered because the cell specifier
|
||||
includes the `+^+` operator.
|
||||
|===
|
||||
|
||||
==== Multiple paragraphs in cells
|
||||
|
||||
|===
|
||||
|
||||
|Single paragraph on row 1
|
||||
|
||||
|First paragraph on row 2
|
||||
|
||||
Second paragraph on row 2
|
||||
|===
|
||||
|
||||
==== Complex table
|
||||
|
||||
|===
|
||||
|
||||
2*>m|This content is duplicated across two columns.
|
||||
|
||||
It is aligned right horizontally.
|
||||
|
||||
And it is monospaced.
|
||||
|
||||
.3+^.>s|This cell spans 3 rows. The content is centered horizontally, aligned to the bottom of the cell, and strong.
|
||||
e|This content is emphasized.
|
||||
|
||||
.^l|This content is aligned to the top of the cell and literal.
|
||||
|
||||
a|
|
||||
[source]
|
||||
puts "This is a source block!"
|
||||
|
||||
|===
|
||||
|
||||
==== Column styles
|
||||
|
||||
[cols="m,m"]
|
||||
|===
|
||||
|monospace | mono
|
||||
d|default | mono
|
||||
|===
|
||||
|
||||
==== Block elements in cells
|
||||
|
||||
|===
|
||||
|Normal Style |AsciiDoc Style
|
||||
|This cell isn't prefixed with an `a`, so the processor doesn't interpret the
|
||||
following lines as an AsciiDoc list.
|
||||
|
||||
* List item 1
|
||||
* List item 2
|
||||
* List item 3
|
||||
|
||||
a|This cell is prefixed with an `a`, so the processor interprets the following lines
|
||||
as an AsciiDoc list.
|
||||
|
||||
* List item 1
|
||||
* List item 2
|
||||
* List item 3
|
||||
|
||||
|This cell isn't prefixed with an `a`, so the processor doesn't interpret the listing
|
||||
block delimiters or the `source` style.
|
||||
|
||||
[source,python]
|
||||
----
|
||||
import os
|
||||
print ("%s" %(os.uname()))
|
||||
----
|
||||
|
||||
a|This cell is prefixed with an `a`, so the listing block is processed and rendered
|
||||
according to the `source` style rules.
|
||||
|
||||
[source,python]
|
||||
----
|
||||
import os
|
||||
print "%s" %(os.uname())
|
||||
----
|
||||
|===
|
||||
|
||||
==== Col and rowspan
|
||||
|
||||
|===
|
||||
|Column 1, header row |Column 2, header row | Column 3, header row
|
||||
2.2+|This cell spans 2 cols and 2 rows
|
||||
|Cell in column 3, row 2
|
||||
|Cell in column 3, row 3
|
||||
3+|Cell in column 1-3, row 4
|
||||
|===
|
||||
|
||||
==== CSV table
|
||||
|
||||
[%header,format=csv]
|
||||
|===
|
||||
Artist,Track,Genre
|
||||
Baauer,Harlem Shake,Hip Hop
|
||||
The Lumineers,Ho Hey,Folk Rock
|
||||
|===
|
||||
|
||||
or
|
||||
|
||||
,===
|
||||
Artist,Track,Genre
|
||||
Baauer,Harlem Shake,Hip Hop
|
||||
,===
|
||||
|
||||
==== DSV table
|
||||
|
||||
[format=dsv,separator=;]
|
||||
|===
|
||||
a;b;c
|
||||
d;e;f
|
||||
|===
|
||||
|
||||
or
|
||||
|
||||
:===
|
||||
Artist:Track:Genre
|
||||
Robyn:Indestructible:Dance
|
||||
:===
|
||||
|
||||
=== Definition list
|
||||
|
||||
CPU:: The brain of the computer.
|
||||
Hard drive:: Permanent storage for operating system and/or user files.
|
||||
|
||||
Mixed
|
||||
|
||||
Dairy::
|
||||
* Milk
|
||||
* Eggs
|
||||
Bakery::
|
||||
* Bread
|
||||
Produce::
|
||||
* Bananas
|
||||
|
||||
With spaces
|
||||
|
||||
Dairy::
|
||||
|
||||
* Milk
|
||||
* Eggs
|
||||
|
||||
Bakery::
|
||||
|
||||
* Bread
|
||||
|
||||
Produce::
|
||||
|
||||
* Bananas
|
||||
|
||||
Nested
|
||||
|
||||
Operating Systems::
|
||||
Linux:::
|
||||
. Fedora
|
||||
* Desktop
|
||||
. Ubuntu
|
||||
* Desktop
|
||||
* Server
|
||||
BSD:::
|
||||
. FreeBSD
|
||||
. NetBSD
|
||||
Cloud Providers::
|
||||
PaaS:::
|
||||
. OpenShift
|
||||
. CloudBees
|
||||
IaaS:::
|
||||
. Amazon EC2
|
||||
|
||||
This just affects the output:
|
||||
|
||||
[horizontal,labelwidth=25,itemwidth=75]
|
||||
CPU:: The brain of the computer.
|
||||
RAM:: Temporarily stores information the CPU uses during operation.
|
||||
|
||||
Q&A list
|
||||
|
||||
[qanda]
|
||||
What is the answer?::
|
||||
This is the answer.
|
||||
Are cameras allowed?::
|
||||
Are backpacks allowed?::
|
||||
No.
|
||||
|
||||
Ordered description list (with numbers)
|
||||
|
||||
[ordered]
|
||||
&:: ampersand
|
||||
>:: greater than
|
||||
|
||||
=== Block macros
|
||||
|
||||
image::sunset.jpg[Sunset,300,200]
|
||||
|
||||
video::mymovie.mp4[]
|
||||
|
||||
audio::mysong.mp3[]
|
||||
|
||||
toc::[]
|
||||
|
||||
include::asciidoc-reader-include.adoc[]
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user