| author | Tomas Zeman <tzeman@volny.cz> |
| Thu, 06 Dec 2018 16:18:26 +0100 | |
| changeset 13 | 216da61215db |
| parent 12 | e7512f9dc903 |
| 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 |
|
12
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
8
diff
changeset
|
8 |
import sqwl.cms.layout._ |
|
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 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
|
16 |
|
|
4
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
17 |
def apply(content: iContent, st: ViewState): TypedTag[String] = {
|
| 7 | 18 |
val siteCss = s"/${http.prefix}/public/${content.styleSheet._1}"
|
|
4
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), |
|
4
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
28 |
tags2.title(st match {
|
|
8
8e0809dad9f7
Fixed links to category, article
Tomas Zeman <tzeman@volny.cz>
parents:
7
diff
changeset
|
29 |
case ViewArticle(v) => s"${v.title} | ${content.appTitleShort}"
|
| 13 | 30 |
case ViewCategory(v) => s"${v.name} | ${content.appTitleShort}"
|
31 |
case ViewTag(v) => s"${v.name} | ${content.appTitleShort}"
|
|
|
8
8e0809dad9f7
Fixed links to category, article
Tomas Zeman <tzeman@volny.cz>
parents:
7
diff
changeset
|
32 |
case Dashboard => content.appTitle |
|
4
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
33 |
case News => "Novinky" |
|
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
34 |
}) |
|
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
35 |
), |
|
5
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
36 |
body(paddingTop:=120, |
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
37 |
Navbar(content, st), |
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
38 |
div(role:="main", cls:="container", |
|
12
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
8
diff
changeset
|
39 |
Categories(content, st), |
|
e7512f9dc903
Layout: categories, articles, primary view
Tomas Zeman <tzeman@volny.cz>
parents:
8
diff
changeset
|
40 |
ArticlesInCategory(content, st), |
| 13 | 41 |
ArticlesByTag(content, st), |
42 |
PrimaryView(content, st), |
|
43 |
TagCloud(content, st) |
|
|
5
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 |
footer(id:="footer", p(raw(" "))),
|
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
46 |
script(src:=jquery), |
|
de7c56ce0654
Base layout, build info, UI libs
Tomas Zeman <tzeman@volny.cz>
parents:
4
diff
changeset
|
47 |
script(src:=bootstrapJs) |
|
4
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
48 |
) |
|
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
49 |
) |
|
1a1347e8c5be
Build modules: base, content, app; example content, minimal layout
Tomas Zeman <tzeman@volny.cz>
parents:
diff
changeset
|
50 |
} |
|
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 |
} |