Skip to end of metadata
Go to start of metadata

中文标题【代码块(Code Block)宏】

代码块(Code Block)宏允许你在 Confluence 页面中显示代码,并对显示的代码进行语法高亮。

代码块在页面中的显示情况如下面的例子:

public static void main(String[] args) 
{ 
  System.out.println("Hello World!");
}

使用代码块宏

如果希望在页面中使用代码块宏:

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

可以在页面编辑中的宏占位符内直接输入你的代码,或者将代码复制到这里面。

请注意,任何包含在宏占位符内的空格将不会被宏进行处理,这样能够在宏中提供更加灵活的书写特性。

参数

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

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

参数

默认值

说明

句法高亮(Syntax highlighting)
(language

java

为你在宏内的代码指定进行语法高亮的的语言。默认使用的语言是 Java,但是你可以将语言指定下面的任何一种语言来进行语法高亮。

  • actionscript3
  • bash
  • csharp (C#)
  • coldfusion
  • cpp (C++)
  • css
  • delphi
  • diff
  • erlang
  • groovy
  • html/xml
  • java
  • javafx
  • javascript
  • none (没有句法高亮)
  • perl
  • php
  • powershell
  • python
  • ruby
  • scala
  • sql
  • vb

标题(Title)

none

在代码块中添加一个标题。如果这个参数指定了,将会在代码块宏上面显示标题。

折叠(Collapsible)
(collapse

false

如果这个选项选择的话,代码块宏将会根据页面的情况对代码块进行折叠。单击 expand source 链接,将会允许你查看这个内容。

如果选择 false,代码块宏总是显示所有的内容。

显示行数(Show line numbers)
(linenumbers)

false

如果这个地方选择了,代码块宏将会在左侧显示行数量。

第一行数量(First line number)
(firstline

1

如果参数 显示行数(Show line numbers)被选择了,这个参数被用于第一行是从那一行开始的。

主题(Theme)

Default

指定代码显示块的默认主题配色。很多主题是根据开发环境的(IDEs)的不同来选择配色的。

默认的主题是 Confluence ,这个主题将会使用空白背景色,但是最字符进行着色。当然你也可以选择显示下面常用的主题:

  • DJango
  • Emacs
  • FadeToGrey
  • Midnight
  • RDark
  • Eclipse
  • Confluence

配置代码块宏

你可以通过指定默认的语言和主题来配置 Confluence 代码块宏,你也可以上传新的语言。你需要具有 Confluence 管理员 权限来修改默认的主题的语言,你需要有 Confluence 系统管理员 的权限来上传新的语言。

在你的网站中设置默认的代码块表现形式:

  1. 在屏幕的右上角单击 控制台按钮 ,然后选择 基本配置(General Configuration 链接。
  2. 选择 配置代码块宏(Configure Code Macro)
  3. 选择一个 默认主题(Default Theme)默认语言(Default Language)
  4. 选择 保存(Save).

所有新的代码块宏,将会使用你指定的语言和主题做为默认的语言和主题。如果你在代码块宏中指定了其他的语言,那么将会使用其他语言显示。已经存在的代码块宏将不会修改。 

希望添加其他语言的语法高亮:

  1. 在屏幕的右上角单击 控制台按钮 ,然后选择 基本配置(General Configuration 链接。
  2. 选择 配置代码块宏(Configure Code Macro)
  3. 选择 添加一个新语言(Add a new language)。
  4. 找到你的语言文件然后为语言输入名字(名字为你在语言选择时候显示的的内容)。
  5. 选择 增加(Add)

语言文件必须是正确格式化的 JavaScript 文件同时需要附带有自定义格式刷句法,请参考链接:http://alexgorbatchev.com/SyntaxHighlighter/manual/brushes/custom.html

你可以从 这里 找到一些语言文件的示例。

希望禁用或者删除一个用户自行安装的语言:

  1. 在屏幕的右上角单击 控制台按钮 ,然后选择 基本配置(General Configuration 链接。
  2. 选择 管理插件(Manage Add-ons)。
  3. 选择 用户自行安装的插件(User-installed Add-ons)然后找到你自己上传的语言插件,插件的名字可能有下面的字符:'Custom Code Macro Highlighting for...'
  4. 选择 卸载(Uninstall )或者 禁用(Disable)。

这个语言的语法高亮将不会在代码块宏中显示。

代码示例

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

宏名称: code

宏内容: Accepts plain text.

存储格式示例

下面的示例显示了所有的参数和内容:

<ac:structured-macro ac:name="code">
  <ac:parameter ac:name="title">This is my title</ac:parameter>
  <ac:parameter ac:name="theme">FadeToGrey</ac:parameter>
  <ac:parameter ac:name="linenumbers">true</ac:parameter>
  <ac:parameter ac:name="language">xml</ac:parameter>
  <ac:parameter ac:name="firstline">0001</ac:parameter>
  <ac:parameter ac:name="collapse">true</ac:parameter>
  <ac:plain-text-body><![CDATA[<b>This is my code</b>]]></ac:plain-text-body>
</ac:structured-macro>

下面为代码块宏示例程序显示了使用了一系列的可选参数。

有关使用参数的说明

标记结果
代码块宏内容,没有使用可选的参数。
<ac:structured-macro ac:name="code">
  <ac:plain-text-body><![CDATA[this is my code]]></ac:plain-text-body>
</ac:structured-macro>
this is my code
代码块宏内容,使用可选的参数语言
<ac:structured-macro ac:name="code">
  <ac:parameter ac:name="language">html/xml</ac:parameter>
  <ac:plain-text-body><![CDATA[this is my code]]></ac:plain-text-body>
</ac:structured-macro>
this is my code

代码块宏内容。

使用可选的参数标题,行数量和语言。

<ac:structured-macro ac:name="code">
  <ac:parameter ac:name="title">This is my title</ac:parameter>
  <ac:parameter ac:name="linenumbers">true</ac:parameter>
  <ac:parameter ac:name="language">html/xml</ac:parameter>
  <ac:plain-text-body><![CDATA[this is my code]]></ac:plain-text-body>
</ac:structured-macro>
This is my title
this is my code

Wiki 标记示例

{code:title=This is my title|theme=FadeToGrey|linenumbers=true|language=html/xml|firstline=0001|collapse=true}
This is my code
{code}





  • No labels