scala-news-reader
rss/atom news reader in scala
git clone https://9o.is/git/scala-news-reader.git
BlogSnipView.scala
(1239B)
1 package com.joereader.snippet
2
3 import net.liftweb._
4 import util._, Helpers._
5 import common._, Box._
6
7 import com.joereader._
8 import config._
9 import lib.rss._
10 import snippet.SnipHelpers._
11 import model._
12
13 import scala.xml._
14 import dispatch._, Defaults._
15
16 /**
17 * Snippets for the public to view Blog model information.
18 */
19 trait BlogSnipView extends BlogSnip with BackgroundSnip {
20
21 // true so anyone can view blog snippets
22 // must be kept private so it won't be overridden by subclasses
23 private def test = true
24
25 def name = serve {
26 blog => Text(blog.name.get)
27 }(test, NodeSeq.Empty)
28
29 def blogname = serve {
30 user => Text(user.blogname.get)
31 }(test, NodeSeq.Empty)
32
33 def url(html: NodeSeq) = serve(html) {
34 blog =>
35 "a *" #> blog.urlHtml.get &
36 "a [href]" #> Site.blogProfileLoc.calcHref(blog)
37 }(test, NodeSeq.Empty)
38
39 def description = serve {
40 blog => Text(blog.description.get)
41 }(test, NodeSeq.Empty)
42
43 def img(html: NodeSeq) = serve(html) {
44 blog =>
45 "* [id]" #> imgProfileId &
46 "* [src]" #> imageUrl(blog)
47 }(test, NodeSeq.Empty)
48
49 def bgImg(html: NodeSeq) = serve(html) {
50 blog =>
51 "* [id]" #> imgBgId &
52 "* [src]" #> imageBgUrl(blog)
53 }(test, NodeSeq.Empty)
54 }