将内容区目录宏添加到页面以显示页面某个部分的目录。

这个宏非常适用于:

  • 在页面的某个部分创建目录
  • 在一个很长的页面中有多个目录

您将为宏正文中的标题创建一个目录。 

截图:使用平铺输出类型配置的内容区目录宏

在页面中添加宏

在页面中添加Table of Content Zone宏:

  1. 从编辑器工具栏中,选择插入(Insert) > 其它宏(Other Macros)
  2. Confluence content类别中选择Table of Content Zone
  3. 输入参数。
  4. 点击Insert
  5. 将您的内容添加或粘贴到宏正文中。宏正文中的标题将包含在目录中。

然后,您可以发布您的页面以查看宏的效果。

截图:在Table of Content Zone宏的正文中输入标题。

修改宏参数

宏参数用于设置宏的行为。

要更改宏参数:

  1. 在编辑器中,点击宏占位符并选择“编辑(Edit)”。
  2. 根据需要设置参数,然后选择“插入(Insert)”。

这是此宏中可用的参数列表。 

参数

默认值

描述

location
(location

both

指定输出列表在区域中的显示位置:top,bottomboth

Output Type
(type

list

指定目录的布局:

  • list – 生成垂直列表。
  • flat – 生成平铺的链接列表,例如:[Heading 1] [Heading 2] [Heading 3]。

Display Section Numbering
(outline

false

对标题进行编号,例如:1.1、1.2、1.3。

List Style
(style

none

指定每个列表项的符号样式。您可以使用任何有效的CSS样式。 例如:

  • none — 无样式
  • circle —  样式是圆形
  • disc — 样式是实心圆。这是典型的项目符号列表,用于此示例中的列表。
  • square — 样式是方形
  • decimal — 按编号 (1, 2, 3, 4, 5)
  • lower-alpha — 按小写字母顺序排列 (a, b, c, d, e)
  • lower-roman — 按小写罗马数字 (i, ii, iii, iv, v, vi)
  • upper-roman — 按大写罗马数字(I、II、III、IV、V、VI)

Heading Indent
(indent


根据CSS设置缩进列表。输入10px,将依次缩进每级标题10px。例如,1级标题将缩进10像素,2级标题将再缩进10像素。

Separator
(separator

brackets

此参数仅适用于flat列表。指定链接的显示样式您可以输入以下任何值:

  • brackets — 每一项都用方括号括起来:[ ]。
  • braces — 每一项都用大括号括起来:{}。
  • parens — 每项都用括号括起来: ( )。
  • pipe — 每一项都由管道符分隔:|。
  • anything — 每一项都由您输入的值来分隔。您可以输入任何文本作为分隔符,例如“***”。如果使用自定义分隔符,请注意文本显示与输入的内容完全连接,没有额外的空格来进一步分隔字符。

Minimum Heading Level
(minLevel

1

选择最高的标题级别以开始您的目录列表。例如,输入2将包括级别2和更低的标题,但不包括级别1的标题。

Max Heading Level
(maxLevel

7

选择要包括的最低标题级别。例如,输入2将包括级别1和2,但不包括级别3及以下的标题。

Include Headings
(include


根据特定条件过滤要包括的标题。您可以使用通配符。有关构建正则表达式字符串的示例,请参阅Sun's Regex documentation

Exclude Headings
(exclude


根据特定条件过滤要排除的标题。您可以使用通配符。有关构造正则表达式字符串的示例,请参阅Sun's Regex documentation

Printable
(printable

true

默认情况下,目录设置为可打印。如果清除该复选框,则打印页面时目录将不可见。

CSS Class Name
(class


如果您的CSS样式表中有自定义目录,则可以使用此参数输出具有指定“class”属性的目录。

如果Confluence存储格式或wiki标记中使用的参数名称与浏览器中使用的参数名称不同,则会在参数名下方用括号列出,例如(example)。

例子

这些示例基于具有以下标题的页面:

过滤后的目录

此示例过滤标题以包括包含“Favourite”的标题,但排除以“Things”结尾的标题。该列表采用大写罗马数字样式。

ParameterValue
Output Typelist
List Styleupper-roman
Include Headings

Favourite.*

Exclude Headings.*Things

目录的显示效果如下:

平铺目录

此示例过滤呈现方括号中包含“Unknown”的平铺目录(默认是list列表)。

ParameterValue
Output Typeflat
Separatorbrackets
Max Heading Level2
Include Headings
Unknown.*

目录的显示效果如下:

 

其它添加方式

用键盘输入添加宏

输入左大括号{,然后输入宏名称的几个起始字符,就可以看到一个相关的宏列表。

通过wiki标记添加宏

当您想在编辑器之外添加宏时,这非常有用。例如作为侧边栏、空间页眉或页脚中的自定义内容。

Macro name: toc-zone

Macro body: Accepts rich text.

{toc-zone:printable=false|maxLevel=2|minLevel=2|location=top|type=flat|outline=true|separator=pipe}Only headings within this block are included in the table of contents.{toc-zone}
CODE

故障排除

将HTML标题标记与内容区目录宏一起使用 - 内容区目录宏无法自行处理HTML标题标记。因此,如果您使用HTML和HTML Include宏在Confluence页面中呈现HTML标题标记,则内容区目录宏将不会从这些标题中创建内容列表。

但是,如果您在页面上的每个HTML标题中插入一个HTML 锚点(基于以下语法),则内容区目录宏会将这些标题合并到您的内容列表中。

<h2><a name="pagename-headingname"></a>Heading Name</h2>
CODE

锚点名称的语法是用连字符分隔的页面名称和标题名称。删除所有空格并将所有文本转换为小写。将所有标点符号转换为其URL编码的等效符号。