中文标题【写用户宏】
创建一个用户宏
希望创建一个新的用户宏:
- 进入 基本配置(General Configuration) > > 用户宏(User Macros)
- 选择 创建一个用户宏(Create a User Macro)
- 输入宏的一些详细信息(请查看下面列表)
- 单击 添加(Add)
宏详细信息字段 | 描述 |
---|---|
宏名称(Macro name) | 宏的名字,将会出现在代码中。 |
可见(Visibility) | 这个选项控制谁可以在宏浏览器中查看这个宏或者自动完成功能。选项有:
请注意,如果你选择仅系统管理员可见的话,用户任然可以看到用在页面中输出的结果,宏的占位符也还是在编辑页面中出现的,这个仅仅在宏浏览器和自动完成的时候隐藏了。 所有宏的信息都是可以找到的,包括宏的标题,描述,参数名称和其他元数据。尽管宏只能被系统管理员查看到,也请不要在用户宏中定义任何敏感信和保密信息。 |
宏标题(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 页面中如何处理的信息。如果你的宏有一个内容,所有宏的内容将会在 处理宏内容字段选项包括有:
|
模板(Template ) | 这里是你写的代码去确定宏应该是什么样子的。
请查看 Writing User Macros 要么获得更多的信息和示例。 |
希望使用插件完成编辑?
如果你希望将你的自定义宏按照插件进行分发的话,请参考 User Macro plugin module 页面中的内容。如果你希望使用更加复杂,更加程序化的宏的话,你需要写成 Macro plugin 宏。
编辑一个用户宏
希望对一个用户宏进行编辑:
- 进入 基本配置(General Configuration) > > 用户宏(User Macros)
- 在相关的宏的边上,单击 编辑(Edit)
- 更新宏的详细信息
- 单击 保存(Save)
删除一个用户宏
希望删除一个用户宏:
- 进入 基本配置(General Configuration) > > 用户宏(User Macros)
- 当前系统中定义的用户宏将会完全显示出来
- 在相关的用户宏上,单击 删除(Delete)
在删除一个用户宏之前,你应该查找使用了这个用户宏的所有页面和博客页面。如果你删除的用户宏还在页面中被引用了的话,你的用户将会在页面中看到 'unknown macro' 错误信息。
最佳实践
这个页面为你在创建用户宏的最佳实践中包含了一些小技巧和建议。
为你的宏添加一个简短的描述
我们鼓励你为你的宏在 模板(Template )添加一个备注的描述,可以参考下面的显示的内容:
## Macro title: My macro name ## Macro has a body: Y or N ## Body processing: Selected body processing option ## Output: Selected output option ## ## Developed by: My Name ## Date created: dd/mm/yyyy ## Confluence version: Version it was developed for ## Installed by: My Name ## Short description of what the macro does
在宏浏览器中展示你的参数
宏浏览器是为你用户使用配置你的宏的最简单的方式。你可以指定你的宏的分类,图标的连接定义在宏浏览器中为用户展示的信息的参数等。
为宏参数提供默认值
一般来说你不能保证用户能够完整的提供用户的参数,一个让宏进行校验是否收到了正确的参数的话,你可以在你的宏中指定参数并在后面使用。
请参考下面的示例,在这个宏中有 3 个参数,当用户不提供参数的时候,这些参数的默认值将会被使用。
#set($spacekey= $paramspacekey) #set($numthreads= $paramnumthreads) #set($numchars= $paramnumchars) ## Check for valid space key, otherwise use current #if (!$spacekey) #set ($spacekey=$space.key) #end ## Check for valid number of threads, otherwise use default of 5 #if (!$numthreads) #set ($numthreads=5) #end ## Check for valid excerpt size, otherwise use default of 35 #if (!$numchars) #set ($numchars=35) #end
考虑安全提示
我们建议你为你定义的宏进行一些权限方面的测试。例如,限制页面和空间权限来避免没有权限的用户可能的不经意间的显示。请查看 Writing User Macros 页面中的内容。