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