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 <[email protected]> Authored: Fri Sep 29 15:35:53 2017 +0200 Committer: Bertrand Delacretaz <[email protected]> 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
