in buildSrc/src/main/groovy/org/grails/gradle/MinutesTask.groovy [164:221]
static String renderMinutesHtml(HtmlMinutes htmlMinutes,
String templateText,
List<HtmlMinutes> minutes) {
def groupedMinutes = minutes.groupBy {
parseDate(it.metadata.date)[Calendar.YEAR]
}
StringWriter writer = new StringWriter()
MarkupBuilder mb = new MarkupBuilder(writer)
mb.div(class: 'headerbar chalicesbg') {
div(class: 'content') {
h1 {
a(href: '[%url]/foundation/index.html', 'Foundation')
}
}
}
mb.article(class: 'content container') {
mb.section(class: 'largegoldenratio align-left foundation-description') {
mb.div {
mkp.yieldUnescaped(htmlMinutes.html)
}
}
mb.section(class: 'smallgoldenratio align-left foundation-boards') {
mb.div(class: 'meeting-archive-list') {
mb.a(href: '[%url]/foundation/minutes/index.html', style: 'text-decoration: none', title: 'Meeting Minutes Archive') {
mb.h2 { mkp.yield("Meeting Minutes Archive") }
}
mb.br()
mb.div {
groupedMinutes.each { year, yearMinutes ->
mb.h3 { mkp.yield(year) }
mb.ul {
yearMinutes.each { m ->
mb.li {
mb.a(href: minutesLink(m), "${parseDate(m.metadata.date).format("MMM dd")} - ${m.metadata.title}")
}
}
}
}
}
}
}
}
String html = writer.toString()
Map<String, String> metadata = htmlMinutes.metadata.toMap()
html = RenderSiteTask.renderHtmlWithTemplateContent(html, metadata, templateText)
html = RenderSiteTask.highlightMenu(html, metadata, htmlMinutes.path)
metadata['body'] = metadata['body'] ? metadata['body'] : 'foundation minutes'
if (metadata['body']) {
html = html.replace("<body>", "<body class='${metadata['body']}'>")
}
html
}