页面树结构
Skip to end of metadata
Go to start of metadata

你可以使用内容列表区域(Table of Content Zone)宏来在 Confluence 页面中的一个区块内显示内容标题列表。你也可以将内容列表使用平面列表格式然后将列表的链接放置到页面的顶部或者底部区块中来提供一个与网页导航菜单相似的功能。

使用内容列表区域宏

希望在页面中使用内容列表区域宏:


  1. 打开你希望编辑 Confluence 页面,然后单击 编辑(Edit)按钮。页面的编辑模式将会被打开。
  2. 下一步,在编辑工具栏中单击宏浏览器图标。这时候宏浏览器将会在屏幕的中间打开。
  3. 在宏浏览器中,在窗口的右上角的对话框中输入你希望插入的宏的名称。当找到与你输入的宏名称接近的宏后将会在中间的面板上显示。单击需要的宏然后来查看可用进行配置的宏选项,在这里你可以对需要插入的宏设置相关参数,然后单击 插入(insert来将需要的宏插入到页面中。


参数

宏参数的定义为,你可以使用这些参数在宏输出的内容和格式上进行定义。

Confluence 使用的存储格式或者 wikimarkup 格式中使用的参数和在宏浏览器中使用的标签是不同的,这些将会在下面在括号内容中列出(example)。


参数

默认值

说明

位置(location)
(location

both

指定内容列表区块宏在那个位置显示:顶部(top)底部(bottom)或者上下都显示(both)

输出类型(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 —  选择样式表 circle
  • disc — 这个样式表为圆形点。这个是标准的样式表,这个样式表被用在默认的列表中。
  • square — 选择样式表 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


设置标题缩进的样式情况。输入 10px 将会把标题缩进 10 个像素。例如,第一级的标题将会缩进 10 个像素,那么第二级的标题将会再相对第一级的标题缩进 10 个像素。

分离器(Separator)
(separator

brackets

这个参数只在屏幕显示列表的时候使用,你可以输入下面的值。

  • brackets — 所有的标题上加上: [ ]。
  • braces — 所有的标题上加上: { }。
  • parens — 所有的标题上加上: ( )。
  • pipe — 所有标题使用 | 符号分隔
  • anything — 每一个标题使用你输入的符号进行分隔。你可以输入任何文字作为分隔符。例如 "***"。如果你使用的是一个自定义分隔符,请确定的你分隔符输入的内容是你希望得到的,在分隔符直接没有空格等其他字符。

最小标题级别(Minimum Heading Level)
(minLevel

1

选择你希望列出标题的最高级别。例如,输入 2 的话,标题列表将会列出第二级标题(包括第二级)和第二级以下的所有标题列表,但是这里是不会包括第一级标题的。

最大标题级别(Max Heading Level)
(maxLevel

7

选择你希望列出标题的最低级别。例如,输入 2 的话,标题列表将会列出第二级标题(包括第二级)和第二级以上的所有标题列表,这里将会显示第一级标题和第二级标题,但是这里是不会包括第三及其以下的标题的。

包含标题(Include Headings)
(include


根据特殊的查询条件来过滤标题。你可以使用通配符字符。查看 正则表达式 中的示例来构建正则表达式。

不包含标题(Exclude Headings)
(exclude


根据特殊的查询条件来过滤标题。你可以使用通配符字符。查看 正则表达式 中的示例来构建正则表达式。

是否打印(Printable)
(printable

true

在默认情况下,TOC 是被打印出来的。如果你不对这个选择框选择的时候, TOC 将会在你打印的时候不被显示。

CSS 样式表名称(CSS Class Name)
(class


如果你在 CSS 样式表中自定义 TOC 样式,使用这个参数来讲 TOC 放置到 <div> 标签内,然后指定 CSS 样式表。


示例

下面的示例是基于内容的表格:

过滤的内容表格

这个例子过滤器的标题,包括那些包含 'Favourite',但不包括标题与 'Things' 的结束。这份名单是风格与罗马数字。

参数

列表样式(List Style)upper-roman
包含标题(Include Headings)
Favourite.*
去除标题(Exclude Headings)
.*Things

屏幕截图:过滤过的TOC '区域' 处理

平面列表

下面的示例中显示了平面列表,这个平面列表将会包含 'Unknowns' 为开始的字符,同时使用方括号包裹列表。

参数

输出类型(Output Type)
flat
最大标题级别(Maximum Heading Level)
2
包含的标题(Include Headings)
Unknown.*
Include Headings
Unknown.*

屏幕截图:过滤过的TOC '区域' 处理使用屏幕列表

注意

  • 根据已知的问题(CONF-10619),宏浏览器的属性功能将不能对参数修改后进行刷新。当前情况是,当你对宏参数进行修改后,只有在页面保存后才能看到修改的情况。
  • 内容列表宏不能处理包含有 HTML 内容的标题。小提示,如果你使用 超文本(HTML) 宏 和 包含 HTML(HTML Include) 宏 来在 Confluence 页面中处理 HTML 的标题,Confluence 的内容列表宏将不会为这些标题创建列表(有关这个问题的更多信息,请参考 TOC-93)。


    但是,如果你插入 HTML 锚点到每一个 HTML 标题中(基于下面的),内容列表宏将会把你的 HTML 标签进行合并然后显示在内容列表中。

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


    页面名字,标题名字,锚点名字是按照连字符分隔的。移除所有的空格然后将所有的文本转换为小写。转换所有的标点符号,标记符号为 URL 等价格式。


代码示例

下面的代码是提供给希望进一步编辑 Confluence 页面的高级用户使用的。

宏名称: toc-zone

宏内容: Accepts rich text.

存储格式示例

<ac:structured-macro ac:name="toc-zone">
  <ac:parameter ac:name="printable">false</ac:parameter>
  <ac:parameter ac:name="maxLevel">2</ac:parameter>
  <ac:parameter ac:name="minLevel">2</ac:parameter>
  <ac:parameter ac:name="location">top</ac:parameter>
  <ac:parameter ac:name="type">flat</ac:parameter>
  <ac:parameter ac:name="outline">true</ac:parameter>
  <ac:parameter ac:name="separator">pipe</ac:parameter>
  <ac:rich-text-body>
    <p>Only headings within this block are included in the table of contents.</p>
  </ac:rich-text-body>
</ac:structured-macro>

Wiki 标记格式示例

{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}




  • 无标签