如果你想创建自定义的宏的话,用户宏能够帮你完成这个任务。这个可以在你系统中应用特定的操作,比如说应用自定义格式等。

用户用是在 Confluence 创建和和管理的,你需要有一定的编码基础才可以。

你需要具有系统管理员权限来创建和应用用户自定义宏。

希望创建一个新的用户宏:

  1. 进入  > 基本配置(General Configuration) > 用户宏(User Macros)
  2. 选择 创建一个用户宏(Create a User Macro)
  3. 输入宏的一些详细信息(请查看下面列表)
  4. 单击 添加(Add)
宏名称(Macro name) 宏的名字,将会出现在代码中。

可见(Visibility

这个选项控制谁可以在宏浏览器中查看这个宏或者自动完成功能。选项有:

  • 所有用户可见(Visible to all users)
  • 仅系统管理员可见(Visible only to system administrators)

请注意,如果你选择仅系统管理员可见的话,用户任然可以看到用在页面中输出的结果,宏的占位符也还是在编辑页面中出现的,这个仅仅在宏浏览器和自动完成的时候隐藏了。

所有宏的信息都是可以找到的,包括宏的标题,描述,参数名称和其他元数据。尽管宏只能被系统管理员查看到,也请不要在用户宏中定义任何敏感信和保密信息。

宏标题(Macro Title) 在宏浏览器和自动完成功能中出现的宏标题。
描述(Description) 这个描述信息将会出现在宏浏览器中。宏浏览器的查找将会对查找字段在宏标题和描述中的文字进行匹配。
分类(Categories) 为你的宏在宏浏览器中选择一个或多个分类。
图标 URL(Icon URL 如果你希望宏浏览器为你的宏显示图标的话,输入绝对地址(例如 http://mysite.com/mypath/status.png)或相对于 Confluence base URL 的相对地址(例如:/images/icons/macrobrowser/status.png) 。
文档 URL(Documentation URL) 如果你的宏有文档的话,请在这里输入文档的 URL。
宏内容处理(Macro Body Processing)

指定 Confluence 应该如何处理你的宏的内容。

宏的内容中包含了在 Confluence 页面中如何处理的信息。如果你的宏有一个内容,所有宏的内容将会在 $body 变量字段中可用。

处理宏内容字段选项包括有:

  • No macro body
    选择这个选项,如果你的宏没有任何内容的话。
  • Escaped
    Confluence 将会添加在 HTML 标记中添加转义字符。如果你希望显示 HTML 标记在生产的页面中的时候,你可以使用转义字符。例如:如果内容为 <b>Hello World</b> 那么将会在生成页面中显示   <b>Hello World</b>。
  • Unrendered
    内容中的 HTML 将会在模板输出之前进行处理。请确定模板中的 HTML 是非再生的。
  • Rendered
    Confluence 将会对 HTML 宏内容的部分进行让浏览器进行解析。例如宏内容为 <b>Hello World</b> 这个内容将会显示 Hello World。

模板(Template

这里是你写的代码去确定宏应该是什么样子的。

  • 在宏模板中使用 HTML 和 Confluence 自定义 XML 元素。
  • 你可以使用  Velocity 模板语言。这里是有关 Velocity project 项目的相关信息。
  • 如果你的宏有 body 内容,你的宏可以将 body 的文本引用为 '$body'。
  • 每个参数变量必须有一个与之对应的元数据定义。在你的宏参数中使用 @param 来定义元数据。
  • 当使用参数传递信息,请参考 $paramXXX 在 'XXX' 的参数,是你定义 @param 元数据后来引用的参数。
  • 如果你的宏不能接受参数,请使用 @noparams

请查看 Writing User Macros 要么获得更多的信息和示例。

希望使用插件完成编辑?

如果你希望将你的自定义宏按照插件进行分发的话,请参考  User Macro plugin module 页面中的内容。如果你希望使用更加复杂,更加程序化的宏的话,你需要写成 Macro plugin 宏。

https://www.cwiki.us/display/CONFLUENCEWIKI/Writing+User+Macros

Confluence 6 创建一个用户宏的更多相关文章

  1. MySQL创建一个用户,指定一个数据库 授权

    Mysql 创建一个用户 hail,密码 hail,指定一个数据库 haildb 给 hail mysql -u root -ppassworduse mysql;insert into user(h ...

  2. 转:mysql 创建一个用户,指定一个数据库

    转自:http://blog.sina.com.cn/s/blog_8c2525390101h0dv.html mysql 创建一个用户 hail,密码 hail,指定一个数据库 haildb 给 h ...

  3. mysql 创建一个用户,指定一个数据库

    mysql 创建一个用户 hail,密码 hail,指定一个数据库 haildb 给 hail mysql -u root -p password use mysql; insert into use ...

  4. new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。

    new运算符 - JavaScript | MDN https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operator ...

  5. Oracle开发:创建一个用户并分配表空间和分配权限

    -- 创建一个用户并分配表空间和分配权限 -- 以sysdba登录 oracle@sha-col-oracle-2:~> sqlplus / as sysdba SQL*Plus: Releas ...

  6. Confluence 6 在你用户宏中使用参数

    你可以为你的用户宏指定参数.这样的话,用户可以使用参数来决定 Confluence 页面的显示情况. 如何在 Confluence 页面中使用你的宏参数 当添加一个宏到 Confluence 页面中的 ...

  7. Confluence 6 创建一个空间

    在 Confluence 中并不限制你可以创建多少空间.你可以选择为你每一个小组,项目都创建一个空间,或者你也可以将这 2 者混合在一起.所有的这些都基于你的需求来决定的. 每一个 Confluenc ...

  8. 第一安装oracle数据库后,需要创建一个用户,给用户解锁并赋予权限

    1.第一次安装oracle数据库应该做的事情. 注: 1.安装oracle后需要创建用户,连接数据库,(注意数据库名,还有好像后面的 ":"也有影响) 2.解锁用户, 3.授予新登 ...

  9. Confluence 6 创建一个主题

    如果你希望创建你自己的主题,你需要写一个 Confluence 插件.请参考我们开发文档中的下面页面 开始使用 插件开发. 请参考开发者指南的页面来 写一个 Confluence 主题. 使用 主题插 ...

随机推荐

  1. load_1m

  2. python操作redis详解

    https://www.cnblogs.com/koka24/p/5841826.html

  3. Linux学习 -->解决Ubuntu系统上 No command 'crond' found

    前两天,准备在Ubuntu服务器上,定时执行Gitlab备份的命令,如下所示 编辑 vi /etc/crontab 文件,添加如下定时脚本 # edited by ouyang 2017-8-11 添 ...

  4. C++循环的内存释放问题?

    针对http://wenku.baidu.com/view/56d732ee856a561252d36ff2.html的内容测试一下. #include "A.h" #includ ...

  5. JS获取客户端系统当前时区

    <script> function getClientTimezone(){ var oDate = new Date(); var nTimezone = -oDate.getTimez ...

  6. scikit-learn 中常用的评估模型

    一,scikit-learn中常用的评估模型 1.评估分类模型: ​ 2.评估回归模型: ​ 二.常见模型评估解析: •对于二分类问题,可将样例根据其真实类别和分类器预测类别划分为:(T,F表示预测的 ...

  7. svn命令行使用

    1.将文件checkout到本地目录    svn checkout path(path是服务器上的目录)    例如:svn checkout svn://192.168.1.1/pro/domai ...

  8. LCS 最长公共子序列

    区别最长公共子串(连续) ''' LCS 最长公共子序列 ''' def LCS_len(x, y): m = len(x) n = len(y) dp = [[0] * (n + 1) for i ...

  9. acdream1174 合并同类项

    这题说的是 给出N,a[1]... a[N],还有M,b[1]... b[M]long long ans = 0;for(int i = 1; i <= N; i ++)    for(int ...

  10. C++ Primer 5th Edition自学笔记(1)

    好吧,第一次写东西...如何下手呢...(请无视) -------------------------------------------------------------- Chapter 1. ...