Convert pages to another syntax

Last modified by Vincent Massol on 2026/06/02 17:54

cogConvert all pages in a given syntax to another syntax
Type
Category
Developed by

Vincent Massol

Rating
0 Votes
LicenseGNU Lesser General Public License 2.1

Table of contents

Description

{{async context='user'}}
{{velocity}}
#set ($originalSyntax = 'markdown/1.1')
#set ($targetSyntax = 'markdown/1.2')
#set ($items = $services.query.xwql("where doc.syntaxId=:syntax").bindValue('syntax', $originalSyntax).execute())
#foreach ($item in $items)
  * $item...
  #if ($request.confirm == '1')
    #set ($itemDoc = $xwiki.getDocument($item))
    #set ($oldContent = $itemDoc.content)
    #set ($newContent = $services.rendering.render($services.rendering.parse($oldContent, $originalSyntax), $targetSyntax))
    #set ($discard = $itemDoc.setSyntax($targetSyntax))
    #set ($discard = $itemDoc.setContent($newContent))
    #set ($discard = $itemDoc.save("Converted to $targetSyntax", true))
    Converted!
  #end
#end

#if ($items.size() > 0)
  [[Convert>>||queryString="confirm=1"]]
#else
  No pages with syntax $originalSyntax were found.
#end
{{/velocity}}
{{/async}}

Get Connected