in buildSrc/src/main/groovy/org/grails/gradle/BlogTask.groovy [213:250]
static String renderPostHtml(HtmlPost htmlPost,
String templateText,
List<HtmlPost> posts) {
StringWriter writer = new StringWriter()
MarkupBuilder mb = new MarkupBuilder(writer)
mb.div(class: 'headerbar chalicesbg') {
div(class: 'content') {
h1 {
a(href: '[%url]/blog/index.html','Grails Blog')
}
}
}
mb.div(class: 'content container') {
div(class: 'light padded blogpost') {
mkp.yieldUnescaped(htmlPost.html)
h2 (class: 'space-above') {
span "You might also like ..."
}
div(class: 'threecolumns') {
for (HtmlPost post : relatedPosts(htmlPost, posts)) {
div(class: 'column') {
mkp.yieldUnescaped(postCard(post))
}
}
}
}
}
String html = writer.toString()
Map<String, String> metadata = htmlPost.metadata.toMap()
html = RenderSiteTask.renderHtmlWithTemplateContent(html, metadata, templateText)
html = RenderSiteTask.highlightMenu(html, metadata, htmlPost.path)
metadata['body'] = metadata['body'] ? metadata['body'] : ''
if (metadata['body']) {
html = html.replace("<body>", "<body class='${metadata['body']}'>")
}
html
}