File: syntax.adoc

package info (click to toggle)
asciidoctor 2.0.26-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,464 kB
  • sloc: ruby: 45,298; sh: 147; xml: 53; javascript: 48; makefile: 26; ml: 1
file content (296 lines) | stat: -rw-r--r-- 6,481 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
= AsciiDoc Syntax
:icons: font
:stem:
:toc: left
:url-docs: https://asciidoctor.org/docs
:url-gem: https://rubygems.org/gems/asciidoctor

A brief reference of the most commonly used AsciiDoc syntax.
You can find the full documentation for the AsciiDoc syntax at {url-docs}.

== Paragraphs

A normal paragraph.
Line breaks are not preserved.
// line comments, which are lines that start with //, are skipped

A blank line separates paragraphs.

[%hardbreaks]
This paragraph is marked with the `hardbreaks` option.
Notice how line breaks are now preserved.

 An indented (literal) paragraph disables text formatting,
 preserves spaces and line breaks, and is displayed in a
 monospaced font.

[sidebar#id.role]
Adding a style, ID, and/or role gives a paragraph (or block) special meaning, like this sidebar.

NOTE: An admonition paragraph, like this note, grabs the reader's attention.

TIP: Convert this document using the `asciidoctor` command to see the output produced from it.

== Text Formatting
:hardbreaks-option:

.Constrained (applied at word boundaries)
*strong importance* (aka bold)
_stress emphasis_ (aka italic)
`monospaced` (aka typewriter text)
"`double`" and '`single`' typographic quotes
+passthrough text+ (substitutions disabled)
`+literal text+` (monospaced with substitutions disabled)
a #mark# to remember (highlighted for notation)

.Unconstrained (applied anywhere)
**C**reate, **R**ead, **U**pdate, and **D**elete (CRUD)
fan__freakin__tastic
``mono``culture
##mark##up your text

.Replacements
A long time ago in a galaxy far, far away...
(C) 1976 Arty Artisan
I believe I shall--no, actually I won't.

.ID and roles for phrases
[.line-through]#delete me#
the [.path]_images_ directory
a [#wibble.term]*wibble* does wobble

.Macros
// where c=specialchars, q=quotes, a=attributes, r=replacements, m=macros, p=post_replacements, etc.
The European icon:flag[role=blue] is blue & contains pass:[************] arranged in a icon:circle-o[role=yellow].
The pass:c[->] operator is often referred to as the stabby lambda.
Since `pass:[++]` has strong priority in AsciiDoc, you can rewrite pass:c,a,r[C++ => C{pp}].
// activate stem support by adding `:stem:` to the document header
stem:[sqrt(4) = 2]

:!hardbreaks-option:
== Attributes

 // define attributes in the document header; must be flush with left margin
 :name: value

You can download and install Asciidoctor {asciidoctor-version} from {url-gem}.
C{pp} is not required, only Ruby.
Use a leading backslash to output a word enclosed in curly braces, like \{name}.

== Links

[%hardbreaks]
https://example.org/page[A webpage]
link:../path/to/file.txt[A local file]
xref:document.adoc[A sibling document]
mailto:hello@example.org[Email to say hello!]

== Anchors

[[idname,reference text]]
// or written using normal block attributes as `[#idname,reftext=reference text]`
A paragraph (or any block) with an anchor (aka ID) and reftext.

See <<idname>> or <<idname,optional text of internal link>>.

xref:document.adoc#idname[Jumps to anchor in another document].

This paragraph has a footnote.footnote:[This is the text of the footnote.]

== Lists

=== Unordered

* level 1
** level 2
*** level 3
**** level 4
***** etc.
* back at level 1
+
Attach a block or paragraph to a list item using a list continuation (which you can enclose in an open block).

.Some Authors
[circle]
- Edgar Allan Poe
- Sheri S. Tepper
- Bill Bryson

=== Ordered

. Step 1
. Step 2
.. Step 2a
.. Step 2b
. Step 3

.Remember your Roman numerals?
[upperroman]
. is one
. is two
. is three

=== Checklist

* [x] checked
* [ ] not checked

=== Callout

// enable callout bubbles by adding `:icons: font` to the document header
[,ruby]
----
puts 'Hello, World!' # <1>
----
<1> Prints `Hello, World!` to the console.

=== Description

first term:: description of first term
second term::
description of second term

== Document Structure

=== Header

 // header must be flush with left margin
 = Document Title
 Author Name <author@example.org>
 v1.0, 2019-01-01

=== Sections

 // must be flush with left margin
 = Document Title (Level 0)
 == Level 1
 === Level 2
 ==== Level 3
 ===== Level 4
 ====== Level 5
 == Back at Level 1

=== Includes

 // must be flush with left margin
 include::basics.adoc[]

 // define -a allow-uri-read to allow content to be read from URI
 include::https://example.org/installation.adoc[]

== Blocks

--
open - a general-purpose content wrapper; useful for enclosing content to attach to a list item
--

// recognized types include CAUTION, IMPORTANT, NOTE, TIP, and WARNING
// enable admonition icons by setting `:icons: font` in the document header
[NOTE]
====
admonition - a notice for the reader, ranging in severity from a tip to an alert
====

====
example - a demonstration of the concept being documented
====

.Toggle Me
[%collapsible]
====
collapsible - these details are revealed by clicking the title
====

****
sidebar - auxiliary content that can be read independently of the main content
****

....
literal - an exhibit that features program output
....

----
listing - an exhibit that features program input, source code, or the contents of a file
----

[,language]
----
source - a listing that is embellished with (colorized) syntax highlighting
----

```language
fenced code - a shorthand syntax for the source block
```

[,attribution,citetitle]
____
quote - a quotation or excerpt; attribution with title of source are optional
____

[verse,attribution,citetitle]
____
verse - a literary excerpt, often a poem; attribution with title of source are optional
____

++++
pass - content passed directly to the output document; often raw HTML
++++

// activate stem support by adding `:stem:` to the document header
[stem]
++++
x = y^2
++++

////
comment - content which is not included in the output document
////

== Tables

.Table Attributes
[cols=>1h;2d,width=50%,frame=ends]
|===
| Attribute Name | Values

| options
| header,footer,autowidth

| cols
| colspec[;colspec;...]

| grid
| all \| cols \| rows \| none

| frame
| all \| sides \| ends \| none

| stripes
| all \| even \| odd \| none

| width
| (0%..100%)

| format
| psv {vbar} csv {vbar} dsv
|===

== Multimedia

image::screenshot.png[block image,800,450]

Press image:reload.svg[reload,16,opts=interactive] to reload the page.

video::movie.mp4[width=640,start=60,end=140,options=autoplay]

video::aHjpOzsQ9YI[youtube]

video::300817511[vimeo]

== Breaks

// thematic break (aka horizontal rule)
---

// page break
<<<