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

用户用是在 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

最新文章

  1. Android项目开发实战-2048游戏
  2. zencart安装第三步出现空白
  3. c# implicit explicit关键字(隐式和显式数据类型转换)
  4. Code Smell那么多,应该先改哪一个?
  5. 可视化查看MongoDB - MongoVUE
  6. 静态变量符 static
  7. Android邮件发送详解
  8. 【转】精简深拷贝ArrayList实例
  9. Session和Cookie的关系
  10. 撸一撸Spring Cloud Ribbon的原理
  11. 皮尔森相似度计算举例(R语言)
  12. iOS中 Animation 动画大全 韩俊强的博客
  13. 【Android】Android自定义属性,attr format取值类型
  14. TZOJ 4871 文化之旅(floyd预处理+dfs剪枝)
  15. Eclipse的使用与Oblect类的常用方法_DAY11
  16. NBUT 1219 Time 2010辽宁省赛
  17. CleanMyMac 4破解版-最强中文版_破解版_激活码_注册码
  18. ios sqlite的创建数据库,表,插入查看数据
  19. ShopNC B2B2C多用户商城2014商业版,带微商城
  20. HDU 4669 Mutiples on a circle 动态规划

热门文章

  1. javascript飞机大战-----005创建子弹对象2
  2. 170605、防止sql注入(二)
  3. ASP.NET网站性能优化
  4. hdu 5056 Boring count (窗体滑动)
  5. 商铺项目(使用DES加密配置信息)
  6. arc 和 非arc兼容
  7. PAT 1073 Scientific Notation[字符串处理][科学记数法]
  8. WebKit.net最简单使用方法
  9. 3.10 Templates -- Development Helpers
  10. cocos代码研究(11)ActionManager类学习笔记