| ... |
... |
@@ -1,6 +1,43 @@ |
|
1 |
+{{groovy}} |
|
2 |
+if (xcontext.action == "get") { |
|
3 |
+ response.setContentType("text/xml") |
|
4 |
+ |
|
5 |
+ def docs = services.query.xwql('where doc.space like Collabs').execute() |
|
6 |
+ |
|
7 |
+ def sitePages = [ |
|
8 |
+ // here you define the page you want in your sitemap |
|
9 |
+ // the order is: document name, priority, change frequency |
|
10 |
+ ["Main.WebHome","1","weekly"], |
|
11 |
+ ["About.Contact","0.8","monthly"], |
|
12 |
+ ["About.Team","0.5", "monthly"] |
|
13 |
+ // add more here... |
|
14 |
+ ] |
|
15 |
+ |
|
16 |
+ println('') |
|
17 |
+ println('<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">') |
|
18 |
+ |
|
19 |
+ for (doc in docs) { |
|
20 |
+ for (page in sitePages) { |
|
21 |
+ println("<url>") |
|
22 |
+ println(" <loc>" + xwiki.getDocument(page[0]).getExternalURL() + "</loc>") |
|
23 |
+ println(" <lastmod>" + xwiki.formatDate(xwiki.getDocument(page[0]).contentUpdateDate, 'yyyy-MM-dd') + "</lastmod>") |
|
24 |
+ //println(" <changefreq>" + page[2]+ "</changefreq>") |
|
25 |
+ //println(" <priority>" + page[1] + "</priority>") |
|
26 |
+ println(" <changefreq>" + page[2]+ "</changefreq>") |
|
27 |
+ println(" <priority>" + page[1] + "</priority>") |
|
28 |
+ println("</url>") |
|
29 |
+ } |
|
30 |
+ |
|
31 |
+ println("</urlset>") |
|
32 |
+} else { |
|
33 |
+ println("{{html}}<a href='"+ doc.getURL('get','outputSyntax=plain') +"'>Generate Sitemap</a>{{/html}}") |
|
34 |
+} |
|
35 |
+{{/groovy}} |
|
36 |
+ |
|
37 |
+ |
| 1 |
1 |
{{velocity}} |
| 2 |
2 |
#set ($spaceReferenceString = 'Collabs') |
| 3 |
|
-#set ($query = $services.query.xwql("from doc.object(Space.Class) as obj where doc.space like :space")) |
|
40 |
+#set ($query = $services.query.xwql("where doc.space like :space")) |
| 4 |
4 |
#set ($query = $query.bindValue('space').literal("${spaceReferenceString}.").anyChars().query()) |
| 5 |
5 |
$query.execute() |
| 6 |
6 |
{{/velocity}} |