Changes for page Export To Markdown

Last modified by Tobias Wintrich on 2026/03/27 13:39

From version 4.1
edited by Tobias Wintrich
on 2026/03/27 13:23
Change comment: There is no comment for this version
To version 3.1
edited by René Vögeli
on 2026/03/25 10:32
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.twintrich
1 +XWiki.rvoegeli
Content
... ... @@ -1,30 +1,17 @@
1 1  {{groovy}}
2 +import org.xwiki.environment.*
2 2  import org.xwiki.model.reference.*
3 -import java.io.File
4 4  
5 5  if (request.confirm == '1') {
6 - // Festes Export-Verzeichnis
7 - def tmpDir = new File("/usr/local/xwiki/data/md-export")
8 - tmpDir.mkdirs()
9 -
10 - services.query.xwql(
11 - "select distinct doc.fullName from Document doc " +
12 - "where doc.space like 'HowTos' or doc.space like 'HowTos.%'"
13 - ).execute().each() {
14 -
6 + services.query.xwql("select distinct doc.fullName from Document doc where doc.space like 'HowTos' or doc.space like 'HowTos.%'").execute().each() {
15 15   print "* Converting ${it} to MD..."
16 -
17 17   def itemDoc = xwiki.getDocument(it)
18 18   def newContent = services.rendering.render(itemDoc.getXDOM(), 'markdown/1.2')
19 -
20 - def pathSerializer = services.component.getInstance(
21 - EntityReferenceSerializer.TYPE_STRING, 'fspath'
22 - )
23 -
10 + def tmpDir = new File(services.component.getInstance(Environment.class).temporaryDirectory, 'md-export')
11 + def pathSerializer = services.component.getInstance(EntityReferenceSerializer.TYPE_STRING, 'fspath')
24 24   def outputFile = new File(tmpDir, pathSerializer.serialize(itemDoc.documentReference))
25 25   outputFile.parentFile.mkdirs()
26 - outputFile.text = newContent
27 -
14 + outputFile << newContent
28 28   println "Saved in ${outputFile.toString()}"
29 29   }
30 30  }