static String renderMinutesHtml()

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
    }