| ... |
... |
@@ -1,12 +1,38 @@ |
| 1 |
|
-{{velocity}} |
| 2 |
|
-##set ($spaceReferenceString = 'Collabs') |
| 3 |
|
-##set ($query = $services.query.xwql("from doc.object(Apps.Collab.Code.CollabClass) as obj where doc.space like :space")) |
| 4 |
|
-##set ($query = $query.bindValue('space').literal("${spaceReferenceString}.").anyChars().query()) |
| 5 |
|
-##$query.execute() |
|
1 |
+{{groovy}} |
|
2 |
+if(request.gen && request.gen == "1") { |
|
3 |
+ content = "" |
|
4 |
+ def sitePages = [ |
|
5 |
+ // here you define the page you want in your sitemap |
|
6 |
+ // the order is: document name, priority, change frequency |
|
7 |
+ |
|
8 |
+ ["Main.WebHome","1","weekly"], |
|
9 |
+ ["About.Contact","0.8","monthly"], |
|
10 |
+ ["About.Team","0.5", "monthly"], |
|
11 |
+ // add more here... |
|
12 |
+ ]; |
| 6 |
6 |
|
| 7 |
|
-##set ($spaceReferenceString = 'Collabs') |
| 8 |
|
-#set ($query = $services.query.xwql("from doc.object(Apps.Collab.Code.CollabClass)")) |
| 9 |
|
-##set ($query = $query.bindValue('space').literal("${spaceReferenceString}.").anyChars().query()) |
| 10 |
|
-$query.execute() |
|
14 |
+ content += '' |
|
15 |
+ content += '<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">' |
| 11 |
11 |
|
| 12 |
|
-{{/velocity}} |
|
17 |
+ for(page in sitePages) { |
|
18 |
+ content += "<url>" |
|
19 |
+ content += " <loc>" + xwiki.getDocument(page[0]).getExternalURL() + "</loc>" |
|
20 |
+ content += " <lastmod>" + xwiki.formatDate(xwiki.getDocument(page[0]).contentUpdateDate, 'yyyy-MM-dd') + "</lastmod>" |
|
21 |
+ content += " <changefreq>" + page[2]+ "</changefreq>" |
|
22 |
+ content += " <priority>" + page[1] + "</priority>" |
|
23 |
+ content += "</url>" |
|
24 |
+ } |
|
25 |
+ |
|
26 |
+ content += "</urlset>" |
|
27 |
+ new File("../webapps/xwiki/sitemap.xml").withPrintWriter { w | |
|
28 |
+ w.println content |
|
29 |
+ } |
|
30 |
+ println("Done: <a href='/xwiki/sitemap.xml'>sitemap.xml</a>") |
|
31 |
+} |
|
32 |
+ |
|
33 |
+else { |
|
34 |
+ |
|
35 |
+ println("<a href='"+ doc.getURL('view', "gen=1") +"'>Generate Sitemap</a>") |
|
36 |
+ |
|
37 |
+} |
|
38 |
+{{/groovy}} |