Вики-разметка в пользовательском макросе с Confluence 4.0 - PullRequest
2 голосов
/ 20 сентября 2011

как я могу использовать вики-разметку в пользовательском макросе (или что-то еще, что создает динамический вывод, сделанный в редакторе пользовательских макросов), при использовании Confluence 4.0.В Confluence 3.5.3 у меня был макрос со следующим содержимым, которое я хочу перенести:

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

Ответы [ 3 ]

3 голосов
/ 30 января 2012

Чтобы получить XHTML, который вам нужно написать для макроса, выполните следующие действия:

  1. Создайте новую страницу с нужным макросом и сохраните его.
  2. Если вы являетесь администратором Confluence или работаете в режиме разработки , откройте Инструменты> Просмотр формата хранения .
  3. На странице теперь будет отображаться необработанный вывод в новом формате хранения.

Если у вас нет доступа к параметру Просмотр формата хранения , то обходной путь:

  1. Откройте страницу Информация (Инструменты> Информация), обратите внимание на pageId= в URL.
  2. Откройте новое окно браузера и введите следующий URL, заменив переменные корня и идентификатора страницы.

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

Ссылки:
Часто задаваемые вопросы по редактору Confluence 4.0

2 голосов
/ 26 апреля 2012

Вы должны просто визуализировать вики-разметку в xhtml динамически в вашем пользовательском макросе!Вот некоторый код:

## @noparams
#set($globalHelper = $action.getHelper())
#set($renderedhtml = $globalHelper.renderConfluenceMacro("{info}test{info}"))
$renderedhtml
2 голосов
/ 27 сентября 2011

Хорошо, я узнал, как решить эту проблему.Вы должны написать 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>
...