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 }