0

私が達成しようとしているのは、コード例を含む Confluence ページ コンテンツをアップロードすることです。これらのコード例では、ページを表示するときに構文の強調表示を提供する {code} マクロ プラグインを使用したいと考えています。

コード マクロは、Confluence に と の 2 つの形式をそれぞれ保存することがわかりましbody.storagebody.view

<ac:structured-macro ac:name="code" ac:schema-version="1" ac:macro- id="37fecf11-d435-452a-90c7-da19f3821b4c">
  <ac:parameter ac:name="language">bash</ac:parameter>
  <ac:parameter ac:name="linenumbers">true</ac:parameter>
  <ac:plain-text-body><![CDATA[ // code goes here ]]></ac:plain-text-body>
</ac:structured-macro>

<div class="code panel pdl" style="border-width: 1px;">
   <div class="codeContent panelContent pdl">
     <pre class="syntaxhighlighter-pre">
     // code goes here
     </pre>
   </div>
</div>

API を使用して両方を Confluence にアップロードしようとしましたが、毎回コード ブロックが単純な<pre/>要素としてレンダリングされ、構文の強調表示がレンダリングされません。

どんな助けでも感謝します。

注: これは、API を使用してコンテンツを更新する方法です: https://docs.atlassian.com/atlassian-confluence/REST/latest-server/#content-update 通常:

HTML = '<div class="code panel pdl" style="border-width: 1px;">
   <div class="codeContent panelContent pdl">
     <pre class="syntaxhighlighter-pre">
     $ DIST=`cat /etc/*release`
     $ echo $DIST
     </pre>
   </div>
</div>'

data = json.dumps(
    {
        'id': '%d' % PAGEID,
        'type': 'page',
        'title': TITLE,
        'space': {
            'key': SPACE
        },
        'version': {
            'number': VERSION +1
        },
        'body': {
            'storage': {
                'representation': 'storage',
                'value': HTML
            }
        }
    }   
)
rPut = requests.put(
    url,
    data = data,
    auth = (USER, PWD),
    headers = {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    }
)

どんな助けでも感謝します、

4

0 に答える 0