You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2017/09/29 14:00:13 UTC
[4/8] sling-site git commit: Add support for tags
Add support for tags
Project: http://git-wip-us.apache.org/repos/asf/sling-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/sling-site/commit/bab2e26b
Tree: http://git-wip-us.apache.org/repos/asf/sling-site/tree/bab2e26b
Diff: http://git-wip-us.apache.org/repos/asf/sling-site/diff/bab2e26b
Branch: refs/heads/master
Commit: bab2e26b503eff7a3e1a618ab980b661ab7a522f
Parents: 3239c71
Author: Bertrand Delacretaz <bd...@apache.org>
Authored: Fri Sep 29 15:35:53 2017 +0200
Committer: Bertrand Delacretaz <bd...@apache.org>
Committed: Fri Sep 29 15:35:53 2017 +0200
----------------------------------------------------------------------
src/main/jbake/assets/res/css/site.css | 23 ++++++++++++++
src/main/jbake/templates/layout/main.tpl | 7 +++--
src/main/jbake/templates/page.tpl | 12 ++++++++
src/main/jbake/templates/tags.tpl | 44 +++++++++++++++++++++++++--
4 files changed, 82 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/sling-site/blob/bab2e26b/src/main/jbake/assets/res/css/site.css
----------------------------------------------------------------------
diff --git a/src/main/jbake/assets/res/css/site.css b/src/main/jbake/assets/res/css/site.css
index 2e0bf1a..b718c19 100644
--- a/src/main/jbake/assets/res/css/site.css
+++ b/src/main/jbake/assets/res/css/site.css
@@ -292,3 +292,26 @@ pre {
.footer {
padding-top: 1em;
}
+
+.badge {
+ border-radius: 2px;
+ background-color: #EEE;
+ text-align: center;
+ padding-left: 3px;
+ padding-right: 3px;
+ margin-left: 3px;
+}
+
+.tags {
+ font-size:80%;
+}
+
+.tags a {
+ background-color: #EEE;
+ padding: 0.5em;
+ text-decoration: none;
+}
+
+.taglink {
+ margin-left:2em;
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/sling-site/blob/bab2e26b/src/main/jbake/templates/layout/main.tpl
----------------------------------------------------------------------
diff --git a/src/main/jbake/templates/layout/main.tpl b/src/main/jbake/templates/layout/main.tpl
index b7046b3..a6f9874 100644
--- a/src/main/jbake/templates/layout/main.tpl
+++ b/src/main/jbake/templates/layout/main.tpl
@@ -10,10 +10,13 @@ html(lang:'en'){
div(class:"main") {
breadcrumbs()
- h1(class:"pagetitle") {
- yield "${ content ? content.title : "<MISSING CONTENT OBJECT??>" }"
+ if(content && content.title) {
+ h1(class:"pagetitle") {
+ yield "${ content.title }"
+ }
}
+ tags()
tableOfContents()
bodyContents()
http://git-wip-us.apache.org/repos/asf/sling-site/blob/bab2e26b/src/main/jbake/templates/page.tpl
----------------------------------------------------------------------
diff --git a/src/main/jbake/templates/page.tpl b/src/main/jbake/templates/page.tpl
index 8bb6795..dd7c134 100644
--- a/src/main/jbake/templates/page.tpl
+++ b/src/main/jbake/templates/page.tpl
@@ -40,6 +40,18 @@ layout 'layout/main.tpl', true,
}
}
},
+ tags : contents {
+ div(class:"tags") {
+ if(content.tags) {
+ content.tags.each { tag ->
+ a(href:"${config.site_contextPath}tags/${tag.replace(' ', '-')}.html", class:"label"){
+ yield tag
+ }
+ yield " "
+ }
+ }
+ }
+ },
tableOfContents : contents {
// Temporary (?) ToC generation, until we get markdown support for that
// using https://github.com/nghuuphuoc/tocjs
http://git-wip-us.apache.org/repos/asf/sling-site/blob/bab2e26b/src/main/jbake/templates/tags.tpl
----------------------------------------------------------------------
diff --git a/src/main/jbake/templates/tags.tpl b/src/main/jbake/templates/tags.tpl
index 97d88d1..08bd503 100644
--- a/src/main/jbake/templates/tags.tpl
+++ b/src/main/jbake/templates/tags.tpl
@@ -1,5 +1,45 @@
layout 'layout/main.tpl', true,
projects: projects,
bodyContents: contents {
- p("TODO - blog tag rendering disabled as it failed")
- }
+
+ div(class:"row"){
+ div(class:"small-12 columns"){
+ div(class:"wrap"){
+
+ div(class:"row"){
+ div(class:"small-12 columns"){
+ div(class:"tags"){
+ alltags.sort().each { tag ->
+ tag = tag.trim()
+ def count = all_content.findAll { p -> p.tags && p.tags.contains(tag) }.size()
+ span{
+ a(href:"${config.site_contextPath}tags/${tag.replace(' ', '-')}.html", class:"label"){
+ yield "$tag"
+ span(class:"badge","${count}")
+ }
+ yield " "
+ newLine()
+ }
+ }
+ }
+ }
+ }
+ div(class:"taglinks"){
+ div(class:"small-12 columns"){
+ h2("Tagged with '${tag}'")
+ all_content.each { p ->
+ if ( p.status == 'published' && p.tags && p.tags.contains(tag) ) {
+ div(class:"taglink"){
+ a(href:"${config.site_contextPath}${p.uri}"){
+ yield p.title
+ }
+ }
+ newLine()
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
\ No newline at end of file