2

使用 Confluence 4.0 时,如何在用户宏中使用 wiki 标记(或其他产生动态输出的东西,在用户宏编辑器中完成)。在 Confluence 3.5.3 中,我有一个包含以下内容的宏,我想迁移它:

{info:title=Table of content}
{toc}
{info}
4

3 回答 3

3

要获取需要为宏编写的 XHTML,请执行以下步骤:

  1. 使用您想要的宏创建一个新页面并保存它。
  2. 如果您是Confluence 管理员或在开发模式下运行,请打开工具 >查看存储格式页面。
  3. 该页面现在将以新的存储格式显示原始输出。

如果您无权访问“查看存储格式”选项,则解决方法是:

  1. 打开页面信息(工具 > 信息),记下pageId=URL 中的 。
  2. 打开一个新的浏览器窗口并输入以下 URL,替换 confluence 根和页面 id 变量。

http://{your-confluence-root}/plugins/viewstorage/viewpagestorage.action?pageId={your-page-id}

参考:
Confluence 4.0 编辑器常见问题解答

于 2012-01-30T12:23:50.993 回答
2

好的,我发现了如何解决这个问题。您必须编写 XHTML,下面显示了上面的示例在 XHTML 中的样子:

## @noparams
<ac:macro ac:name="info">
    <ac:parameter ac:name="title">Table of content</ac:parameter>
    <ac:rich-text-body>
        <ac:macro ac:name="toc" />
    </ac:rich-text-body>
</ac:macro>

我发现的另一种肮脏方法是使用过渡标记(将来可能会过时):

## @noparams
<ac:macro ac:name="unmigrated-inline-wiki-markup">
    <ac:parameter ac:name="atlassian-macro-output-type">BLOCK</ac:parameter>
    <ac:plain-text-body><![CDATA[
        {info}Here you can write wiki markup the old way, until Atlassian removes this transition markup (unmigrated-inline-wiki-markup){info}
    ]]></ac:plain-text-body>
</ac:macro>
于 2011-09-27T08:53:44.080 回答
2

您应该只在您的用户宏中将 wiki 标记动态呈现为 xhtml!这是一些代码:

## @noparams
#set($globalHelper = $action.getHelper())
#set($renderedhtml = $globalHelper.renderConfluenceMacro("{info}test{info}"))
$renderedhtml
于 2012-04-26T18:40:03.833 回答