scala-news-reader
rss/atom news reader in scala
git clone https://9o.is/git/scala-news-reader.git
SitemapContent.scala
(946B)
1 package com.joereader.snippet
2
3 import org.joda.time._
4
5 import net.liftweb._
6 import util._, Helpers._
7 import http._
8 import rest._
9
10 import com.joereader.config._
11
12 object Sitemap extends RestHelper {
13 serve {
14 case Req("sitemap" :: Nil, _, GetRequest) =>
15 XmlResponse(
16 S.render(<lift:embed what="sitemap" />,
17 S.request.get.request).head)
18 }
19 }
20
21 class SitemapContent {
22
23 case class Post(url: String, date: DateTime)
24
25 lazy val entries = Site.siteMap.locForGroup("sitemap").
26 map(_.calcDefaultHref).map(path => Post(path, new DateTime))
27
28 val siteLastUpdated = new DateTime
29
30 def base: CssSel =
31 "loc *" #> "http://%s/".format(S.hostName) &
32 "lastmod *" #> siteLastUpdated.toString("yyyy-MM-dd'T'HH:mm:ss.SSSZZ")
33
34 def list: CssSel =
35 "url *" #> entries.map(post =>
36 "loc *" #> "http://%s%s".format(S.hostName, post.url) &
37 "lastmod *" #> post.date.toString("yyyy-MM-dd'T'HH:mm:ss.SSSZZ"))
38
39 }