base/src/sqwl/cms/layout/PrimaryView.scala
author Tomas Zeman <tzeman@volny.cz>
Thu, 13 Dec 2018 15:15:13 +0100
changeset 19 83fb90bdd15b
parent 13 216da61215db
child 33 fa0f19a74283
permissions -rw-r--r--
Rendering of tags and lists of articles
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12
e7512f9dc903 Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     1
package sqwl.cms.layout
e7512f9dc903 Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     2
e7512f9dc903 Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     3
import scalatags.Text.all._
e7512f9dc903 Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     4
import scalatags.Text.{TypedTag, tags2}
e7512f9dc903 Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     5
import sqwl.cms._
e7512f9dc903 Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     6
13
216da61215db Implemented tags
Tomas Zeman <tzeman@volny.cz>
parents: 12
diff changeset
     7
object PrimaryView extends config with UrlScheme {
12
e7512f9dc903 Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     8
  def apply(cnt: iContent, st: ViewState): Option[TypedTag[String]] =
e7512f9dc903 Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     9
    st match {
e7512f9dc903 Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    10
      case ViewArticle(art) => Some(tags2.section(
e7512f9dc903 Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    11
        h1(a(href:=s"/${http.prefix}/${art.pathSegment}", art.title)),
19
83fb90bdd15b Rendering of tags and lists of articles
Tomas Zeman <tzeman@volny.cz>
parents: 13
diff changeset
    12
        div(cls:="row", div(cls:="col-md-12", art.tags.map(t =>
83fb90bdd15b Rendering of tags and lists of articles
Tomas Zeman <tzeman@volny.cz>
parents: 13
diff changeset
    13
          a(href:=s"/${http.prefix}/$TAG/${t.pathSegment}", cls:="tag",
83fb90bdd15b Rendering of tags and lists of articles
Tomas Zeman <tzeman@volny.cz>
parents: 13
diff changeset
    14
            t.name)))),
12
e7512f9dc903 Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    15
        raw(art.htmlContent)
e7512f9dc903 Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    16
      ))
e7512f9dc903 Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    17
      case _ => None
e7512f9dc903 Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    18
    }
e7512f9dc903 Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    19
e7512f9dc903 Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    20
}