| author | Tomas Zeman <tzeman@volny.cz> |
| Tue, 04 Dec 2018 12:35:12 +0100 | |
| changeset 5 | de7c56ce0654 |
| parent 4 | 1a1347e8c5be |
| child 7 | 50a354e5bda4 |
| permissions | -rw-r--r-- |
|
4
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
1 |
package sqwl.cms |
|
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
2 |
|
|
5
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
3 |
import BuildInfo.versions |
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
4 |
import scalatags.Text.all |
|
4
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
5 |
import scalatags.Text.all._ |
|
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
6 |
import scalatags.Text.tags2 |
|
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
7 |
import scalatags.Text.TypedTag |
|
5
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
8 |
import sqwl.cms.layout.Navbar |
|
4
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
9 |
|
|
5
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
10 |
object Layout extends config {
|
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
11 |
|
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
12 |
lazy val bootstrapCss = s"/${http.prefix}/assets/bootstrap/${versions.bootstrap}/css/bootstrap.min.css"
|
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
13 |
lazy val bootstrapJs = s"/${http.prefix}/assets/bootstrap/${versions.bootstrap}/js/bootstrap.min.js"
|
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
14 |
lazy val fontAwesomeCss = s"/${http.prefix}/assets/font-awesome/${versions.fontAwesome}/css/all.min.css"
|
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
15 |
lazy val siteCss = s"/${http.prefix}/public/css/site.css?${BuildInfo.hgId}"
|
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
16 |
lazy val jquery = s"/${http.prefix}/assets/jquery/${versions.jquery}/jquery.min.js"
|
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
17 |
|
|
4
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
18 |
def apply(content: iContent, st: ViewState): TypedTag[String] = {
|
|
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
19 |
html( |
|
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
20 |
head( |
|
5
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
21 |
tags2.style("""
|
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
22 |
|.nav, .pagination, .carousel, .panel-title a, .panel a { cursor: pointer; }""".stripMargin),
|
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
23 |
meta(charset:="utf-8"), |
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
24 |
meta(name:="viewport", all.content:="width=device-width, initial-scale=1"), |
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
25 |
link(rel:="stylesheet", href:=bootstrapCss), |
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
26 |
link(rel:="stylesheet", href:=fontAwesomeCss), |
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
27 |
link(rel:="stylesheet", href:=siteCss), |
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
28 |
link(rel:="icon", href:="favicon.ico"), |
|
4
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
29 |
tags2.title(st match {
|
|
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
30 |
case ViewArticle(v) => v.title |
|
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
31 |
case ViewCategory(v) => v.name |
|
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
32 |
case ViewTag(v) => v.name |
|
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
33 |
case Dashboard => "SQWL" |
|
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
34 |
case News => "Novinky" |
|
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
35 |
}) |
|
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
36 |
), |
|
5
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
37 |
body(paddingTop:=120, |
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
38 |
Navbar(content, st), |
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
39 |
div(role:="main", cls:="container", |
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
40 |
st match {
|
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
41 |
case ViewArticle(article) => div( |
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
42 |
a(href:=article.pathSegment, article.title), |
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
43 |
raw(article.htmlContent) |
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
44 |
) |
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
45 |
case _ => "" |
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
46 |
} |
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
47 |
), |
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
48 |
footer(id:="footer", p(raw(" "))),
|
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
49 |
script(src:=jquery), |
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
50 |
script(src:=bootstrapJs) |
|
4
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
51 |
) |
|
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
52 |
) |
|
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
53 |
} |
|
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
54 |
|
|
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
55 |
} |