Important
本页上的示例演示了内置HTML转换器产生的输出。在生成其他输出格式,如PDF、EPUB和DocBook时,AsciiDoc转换器预计会产生互补的输出。

段落

段落
link:text:example$text.adoc[tag=b-para]
查看段落的结果
字面段落
link:verbatim:example$literal.adoc[tag=qr-para]
查看字面段落的结果
硬换行
link:text:example$text.adoc[tag=hb-all]
查看硬换行的结果
导语
link:text:example$text.adoc[tag=qr-lead]
查看导语的结果
Tip
默认的Asciidoctor样式表会自动将序言的第一段格式化为引导段落,如果没有在该段落上指定任何角色。

文本格式化

约束的粗体、斜体和等宽字体
link:text:example$text.adoc[tag=constrained-bold-italic-mono]
查看约束的粗体、斜体和等宽字体的结果
无约束的粗体、斜体和等宽字体
link:text:example$text.adoc[tag=unconstrained-bold-italic-mono]
查看无约束的粗体、斜体和等宽字体的结果
高亮显示、下划线、删除线以及自定义角色
link:text:example$text.adoc[tag=qr-all]
查看高亮显示、下划线、删除线以及自定义角色的结果
上标和下标
link:text:example$text.adoc[tag=b-sub-sup]
查看 上标和下标 的结果
智能引号和撇号
link:text:example$text.adoc[tag=b-c-quote]
查看智能引号和撇号的结果

链接

自动链接、URL 宏和 mailto 宏
link:macros:example$url.adoc[tag=b-base]

link:macros:example$url.adoc[tag=b-scheme]
查看自动链接、URL 宏和 mailto 宏的结果
具有属性的URL宏
link:macros:example$url.adoc[tag=b-linkattrs]
查看 具有属性的URL宏 的结果
Important
当目标以URL方案(如`https:`)开头时,不需要使用`link:`宏前缀。URL方案就像一个隐式的宏前缀。
Caution
如果链接文本中包含逗号,并且文本后跟一个或多个命名属性,则必须用双引号将文本括起来。否则,文本将在逗号处被截断(剩余的文本将被拉入属性解析中)。
包含空格和特殊字符的URLs
link:macros:example$url.adoc[tag=b-spaces]
链接到相对文件
link:index.html[Docs]
使用Windows UNC路径链接
link:macros:example$url.adoc[tag=b-windows]
内联锚点
link:attributes:example$id.adoc[tag=anchor]
交叉引用
link:macros:example$xref.adoc[tag=b-base]
查看 交叉引用 的结果
文档间的交叉引用
link:macros:example$xref.adoc[tag=b-inter]

文档标题

'''文档头部是可选的。头部可能不包含任何空行,并且必须至少用一个空行与内容分开。'''

标题
link:document:example$title.adoc[tag=qr-title]
标题和作者信息
link:document:example$header.adoc[tag=qr-author]
标题,作者行和修订行
link:document:example$header.adoc[tag=qr-rev]
Important
你不能有修订线而没有作者线。
带有属性条目的文档头部
link:document:example$header.adoc[tag=qr-attributes]

章节标题

当文档类型为`article`(默认情况下),文档只能有一个0级节标题(=),这是文档标题(即文档标题)。

文章章节层次
link:sections:example$section.adoc[tag=base]
查看文章章节层次的结果

'''The book document type can have additional level 0 section titles, which are interpreted as parts. The presence of at least one part implicitly makes the document a multi-part book.''' 翻译成中文是:'''`book` 文档类型可以有额外的0级节标题,这些标题被解释为部分。至少存在一个部分隐含地使该文档成为一个多部分组成的书籍。'''

图书章节层次
link:sections:example$section.adoc[tag=book]
离散标题(不是一个章节)
离散
=== 我是一个独立的标题!

这段文字是它的兄弟,不是它的子代。
查看离散标题(不是一个章节)的结果

我是一个独立的标题!

这段文字是它的兄弟,不是它的子代。

自动生成目录

为文档激活目录
= 文档标题
Doc Writer <doc.writer@email.org> :toc:

目录的标题显示的章节深度,以及位置可以被自定义。

包括

包含文档部分
link:directives:example$include.adoc[tag=base]
通过标签区域或行包含内容
link:directives:example$include.adoc[tag=include-with-tag]

link:directives:example$include.adoc[tag=line]
包含来自URL的内容
link:directives:example$include.adoc[tag=uri]
Warning
从URL包含内容可能存在安全风险,因此如果安全模式设置为SECURE或更高级别,则该功能将被禁用。假设安全模式低于SECURE,在此情况下你还必须设置`allow-uri-read`属性,以允许AsciiDoc处理器读取URL中的内容。

列表

无序列表
link:lists:example$unordered.adoc[tag=qr-base]
查看无序列表的结果
Tip
在列表前后需要一个空行将其与其他块分开。您可以通过在第二个列表上方添加一个空属性列表(即 [])或在第一个列表后插入一个空行然后跟一个行注释来强制两个相邻列表分开。如果您使用行注释,惯例是使用 //- 向其他作者提示它作为列表分隔符。
无序列表的最大层级嵌套
link:lists:example$unordered.adoc[tag=max]
查看 无序列表的最大层级嵌套 的结果

The 无序列表标记可以使用列表样式(例如,square)进行更改。

有序列表
link:lists:example$ordered.adoc[tag=nest]
查看有序列表的结果
有序列表最大级别嵌套
link:lists:example$ordered.adoc[tag=max]
查看有序列表最大级别嵌套的结果

有序列表支持 numeration styles,例如 lowergreekdecimal-leading-zero

清单
link:lists:example$checklist.adoc[tag=check]
查看清单的结果
描述列表
link:lists:example$description.adoc[tag=qr-base]
查看描述列表的结果
问题和答案列表
link:lists:example$description.adoc[tag=qa]
查看问题和答案列表的结果
混合
link:lists:example$description.adoc[tag=3-mix]
查看混合的结果
Tip
列表可以缩进。前导空白字符并不重要。
大纲列表中的复杂内容
link:lists:example$complex.adoc[tag=b-complex]
查看大纲列表中的复杂内容的结果

图片

您可以使用 imagesdir 属性来避免在每个图像宏中硬编码通往您的图像的公共路径。这个属性的值可以是一个绝对路径、相对路径,或基础 URL。如果图像目标是一个相对路径,那么属性的值会被前置(即,它是相对于 imagesdir 属性的值解析的)。如果图像目标是一个 URL 或绝对路径,那么属性的值就_不会_被前置。

屏蔽图像宏
link:macros:example$image.adoc[tag=base]

link:macros:example$image.adoc[tag=alt]

link:macros:example$image.adoc[tag=qr-attr]

link:macros:example$image.adoc[tag=ab-url]
查看屏蔽图像宏的结果

在宏中,image:: 后面跟着两个冒号表示一个块状图像(即图表),而 image: 后面跟着一个冒号表示内联图像。(所有宏都遵循这一模式)。当您需要将图像放置在一行文本中时,您会使用内联图像。否则,您应该优先选择块状形式。

内联图像宏
link:macros:example$image.adoc[tag=inline]
查看内联图像宏的结果
带有定位角色的内联图像宏
link:macros:example$image.adoc[tag=in-role]
查看带有定位角色的内联图像宏的结果
嵌入式
link:macros:example$image.adoc[tag=data]

当设置了`data-uri`属性时,文档中的所有图片——包括警告图标——都会被嵌入到文档中作为https://developer.mozilla.org/en-US/docs/data_URIs[数据URI]。你也可以使用`-a data-uri`作为命令行参数来传递它。

音频

屏蔽音频宏
link:macros:example$audio.adoc[tag=basic]

link:macros:example$audio.adoc[tag=attrs]

您可以使用宏上的[附加属性和选项]来控制音频设置。在宏引用:macros:audio-and-video.adoc中。

视频

屏蔽视频宏
link:macros:example$video.adoc[tag=base]

link:macros:example$video.adoc[tag=attr]
嵌入式YouTube视频
link:macros:example$video.adoc[tag=youtube]
嵌入式Vimeo视频
link:macros:example$video.adoc[tag=vimeo]

你可以使用宏上的额外属性和选项来控制视频设置。

键盘、按钮和菜单宏

Important
你必须在文档头部设置`experimental`属性来启用这些宏。
键盘宏
link:macros:example$ui.adoc[tag=qr-key]
查看键盘宏的结果
菜单宏
link:macros:example$ui.adoc[tag=menu]
查看菜单宏的结果
按钮宏
link:macros:example$ui.adoc[tag=button]
查看按钮宏的结果

字面量和源代码

内联字面单间距
link:pass:example$pass.adoc[tag=backtick-plus]
查看内联字面单间距的结果
字面段落
link:verbatim:example$literal.adoc[tag=b-imp-code]
查看字面段落的结果
直译块
link:verbatim:example$literal.adoc[tag=b-block]
查看直译块的结果
带标题的列表块
link:verbatim:example$listing.adoc[tag=qr-listing]
查看带标题的列表块的结果
link:verbatim:example$listing.adoc[tag=qr-listing]
带有标题和语法高亮的源代码块
.Some Ruby code
link:verbatim:example$source.adoc[tag=src-base]
查看带有标题和语法高亮的源代码块的结果
Important

你必须通过在文档头部、CLI(命令行接口)或API中设置`source-highlighter`属性来启用源代码高亮功能。

:source-highlighter: rouge

请参阅asciidoctor:syntax-highlighting:index.html了解在使用Asciidoctor时接受哪些值。

带标注的源代码块
link:verbatim:example$callout.adoc[tag=b-src]
查看带标注的源代码块的结果
让标注(Callouts)不可被选择
link:verbatim:example$callout.adoc[tag=b-nonselect]
查看让标注(Callouts)不可被选择的结果
从文件中包含的源代码块内容
link:verbatim:example$source.adoc[tag=src-inc]
源块内容包含自相对于源目录的文件
link:verbatim:example$source.adoc[tag=rel]
从部分文件内容中剥离开头的缩进
link:verbatim:example$source.adoc[tag=ind]
Note

indent attribute常在通过tagged regionlines包含源代码时使用。它可以在include指令本身或者封闭的literal、listing或source block上指定。

当缩进为0时,会去除领先的块级缩进。

当缩进大于0时,首先会去除前置的块级缩进,然后一个块会被缩进相当于这个值的列数。

源段落(没有空行)
link:verbatim:example$source.adoc[tag=src-para]
查看源段落(没有空行)的结果

警告

警告段落
link:blocks:example$admonition.adoc[tag=b-para]
查看警告段落的结果
警告区块
link:blocks:example$admonition.adoc[tag=b-bl]
查看警告区块的结果

更多分隔块

任何块都可以有标题。块标题是用块上方的一行文本定义的,该行文本以点开头。该点后面不能跟空格。对于块图片,标题显示在块的下方。对于所有其他块,标题通常显示在其上方。

侧边栏模块
link:blocks:example$sidebar.adoc[tag=delimited]
查看侧边栏模块结果
示例块
link:blocks:example$example.adoc[tag=base]
查看示例块的结果
引用块
link:blocks:example$quote.adoc[tag=bl]

link:blocks:example$quote.adoc[tag=para]

link:blocks:example$quote.adoc[tag=no-cite]

link:blocks:example$quote.adoc[tag=link-text]

link:blocks:example$quote.adoc[tag=abbr]
查看引用块的结果
打开区块
link:blocks:example$open.adoc[tag=base]

link:blocks:example$open.adoc[tag=src]
查看打开区块的结果
直通块
link:pass:example$pass.adoc[tag=b-bl]
查看直通块的结果
自定义区块替换
查看 自定义区块替换 的结果

桌子

带有标题的表格,两列,一个标题行,和两行内容
link:tables:example$table.adoc[tag=b-base-h-co]
  1. 除非指定了`cols`属性,否则列数等于第一行(非空行)上的单元格分隔符的数量。

  2. 当表格开头的非空白行后紧跟一个空白行时,第一行中的单元格会被提升为表格标题。

查看带有标题的表格,两列,一个标题行,和两行内容的结果
一个具有两列、一个表头行和两行内容的表格
link:tables:example$table.adoc[tag=b-col-h-co]
  1. cols`属性中的`*符号是重复操作符。它表示将列规格重复应用到剩余的列上。在这个例子中,我们将默认格式重复应用于2列。当表头的单元格没有在一行内定义时,你必须使用`cols`属性来设置表格的列数,并且使用%header`选项(或者`options=header`属性)来将第一行提升为表头。

查看一个具有两列、一个表头行和两行内容的表格的结果
一个带有三列、一个标题行和两行内容的表格
link:tables:example$table.adoc[tag=b-col-indv-co]
  1. 在这个例子中,cols 属性有两个功能。它指定这个表格有三列,并且设置了它们的相对宽度。

查看一个带有三列、一个标题行和两行内容的表格的结果
包含AsciiDoc内容的表格栏
link:tables:example$table.adoc[tag=b-col-a]
查看包含AsciiDoc内容的表格栏的结果
使用简写从CSV数据创建表格
link:tables:example$data.adoc[tag=s-csv]
查看使用简写从CSV数据创建表格的结果
从CSV数据生成表格
link:tables:example$data.adoc[tag=csv]
查看从CSV数据生成表格的结果
从文件中包含的CSV数据构建表格
link:tables:example$data.adoc[tag=i-csv]
使用简写从DSV数据创建表格
link:tables:example$data.adoc[tag=s-dsv]
查看使用简写从DSV数据创建表格的结果
带有格式化、对齐和合并单元格的表格
link:tables:example$cell.adoc[tag=b-spec]
查看带有格式化、对齐和合并单元格的表格的结果

身份证明、角色和选项

为分配块ID(锚点)和角色的速记方法
[#goals.incremental]
* Goal 1
* Goal 2
Tip
  • 要使用速记语法指定多个角色,请用点号分隔它们。

  • 在速记语法中,`id`和`role`值的顺序并不重要。

形式化的方法用于分配块ID(锚点)和角色。
[id="goals",role="incremental"]
* Goal 1
* Goal 2
显式章节ID(锚点)
[#null-values]
== 原始类型和空值
给内联格式文本分配ID(锚点)和角色
[#id-name.role-name]`monospace text`

[#free-world.goals]*自由世界*
为分配块选项的简写方法
|===
[%header%footer%autowidth]
|Header A |Header B
|Footer A |Footer B
|===

为分配块选项的正式方法

[options="header,footer,autowidth"]
|===
|Header A |Header B
|Footer A |Footer B
|===

// options can be shorted to opts
[opts="header,footer,autowidth"]
|===
|Header A |Header B
|Footer A |Footer B
|===

注释

行注释和块注释

// A single-line comment

////
A multi-line comment.

Notice it's a delimited block.
////

制动器

主题分割线(又称水平线)[#ex-thematic]

之前

'''''''''

之后
--

.查看<<ex-thematic>>的结果
[%collapsible.result]
====
之前

'''''''''

之后
==

.分页符
== 属性和替代

.属性声明和使用
[#ex-attributes]

请查看 Asciidoctor

摘要

请确保也阅读https://asciidoctor.org/docs[documentation]文档!

[✔] 完成了!

.查看<<ex-attributes>>的结果
[%collapsible.result]
====
// I have to use a nested doc hack here, otherwise the attributes won't resolve
[.unstyled]
|===
a|
:url-home: https://asciidoctor.org
:link-docs: https://asciidoctor.org/docs[documentation]
:summary: AsciiDoc is a mature, plain-text document format for \
writing notes, articles, documentation, books, and more. \
It's also a text processor & toolchain for translating \
documents into various output formats (i.e., backends), \
including HTML, DocBook, PDF and ePub. \

:checkedbox: pass:normal[{startsb}&#10004;{endsb}]

请查看{url-home}[Asciidoctor]!{summary} 也一定要阅读{link-docs}!{checkedbox} 完成了!
|===
====

要了解更多关于可用属性和替换组的信息,请参见:

* xref:attributes:document-attributes-ref.adoc[]
* xref:attributes:character-replacement-ref.adoc[]
* xref:subs:apply-subs-to-blocks.adoc#subs-groups[Substitution Groups]

.计数器属性
[#ex-counter]
.查看<<ex-counter>>的结果
[%collapsible.result]
====
[caption="表1."]
link:attributes:example$counter.adoc[tag=base]
====

== 文本替换

[frame=none,grid=rows]
link:subs:partial$subs-symbol-repl.adoc[]

任何命名的、数值的或十六进制的{url-char-xml}[XML字符引用^]都是受支持的。

== 逃避替代

.反斜杠
[#ex-slash]
.查看<<ex-slash>>的结果
[%collapsible.result]
====
link:subs:example$subs.adoc[tag=backslash]
====

.单个和双个加号内联穿透
[#ex-single-plus]
.查看 <<ex-single-plus>> 的结果
[%collapsible.result]
====
link:pass:example$pass.adoc[tag=plus]
====

.三重加号内联直通及内联直通宏
[#ex-inline-pass]
.查看<<ex-inline-pass>>的结果
[%collapsible.result]
====
link:pass:example$pass.adoc[tag=b-3p-macro]
====

== 参考文献

.带有入站引用的参考书目
[#ex-biblio]
.查看<<ex-biblio>>的结果
[%collapsible.result]
====
|===
a|
link:sections:example$bibliography.adoc[tag=base]
|===
====

[#section-footnotes]
== 脚注

.正常和可重用的脚注
[#ex-footnotes]
.查看<<ex-footnotes>>的结果
[%collapsible.result]
====
[.unstyled]
|===
a|
link:macros:example$footnote.adoc[tag=base]
|===
====

[#markdown-compatibility]
== Markdown 兼容性

Markdown兼容语法是AsciiDoc语言的一个可选特性,目前仅在使用Asciidoctor时可用。

.Markdown风格的标题
[#ex-md-headings]
.查看<<ex-md-headings>>的结果
[%collapsible.result]
====
link:sections:example$section.adoc[tag=b-md]
====

.具有语法高亮的围栏代码块
[#ex-fenced]
.查看<<ex-fenced>>的结果
[%collapsible.result]
====
link:verbatim:example$source.adoc[tag=fence]
====

.Markdown风格的引用区块
[#ex-md-quote]
.查看 <<ex-md-quote>> 的结果
[%collapsible.result]
====
link:blocks:example$quote.adoc[tag=md]
====

.Markdown风格的块引用内容
[#ex-md-blockquote]
.查看<<ex-md-blockquote>>的结果
[%collapsible.result]
====
link:blocks:example$quote.adoc[tag=md-alt]
====

.Markdown风格的主题分割线
[#ex-md-breaks]

破折号



.查看<<ex-md-breaks>>的结果
[%collapsible.result]
====
---

- 减号/负号

***

\* \*
=====


////
Possible change for future to `%collapsible` blocks

.Normal

Paragraphs don’t require any special markup in AsciiDoc. A paragraph is just one or more lines of consecutive text.

To begin a new paragraph, separate it by at least one empty line. Line breaks within a paragraph are not displayed.

.View Result (Normal)
[%collapsible.result]
====
Paragraphs don't require any special markup in AsciiDoc.
A paragraph is just one or more lines of consecutive text.

To begin a new paragraph, separate it by at least one empty line.
Line breaks within a paragraph are not displayed.
====

'''

.Normal
[tabs]
====
Source::
+

Paragraphs don’t require any special markup in AsciiDoc. A paragraph is just one or more lines of consecutive text.

To begin a new paragraph, separate it by at least one empty line. Line breaks within a paragraph are not displayed.

Output::
+
--
Paragraphs don't require any special markup in AsciiDoc.
A paragraph is just one or more lines of consecutive text.

To begin a new paragraph, separate it by at least one empty line.
Line breaks within a paragraph are not displayed.
--
====
////