static String mainContent()

in buildSrc/src/main/groovy/org/grails/guides/GuidesPage.groovy [54:148]


    static String mainContent(ClassLoader classLoader,
                              List<Guide> guides,
                              Set<Tag> tags,
                              Category category = null,
                              Tag tag = null) {
        StringWriter writer = new StringWriter()
        MarkupBuilder html = new MarkupBuilder(writer)
        html.div( class:'headerbar chalicesbg') {
            div( class:'content') {
                if (tag || category) {
                    h1 {
                        a(href: "[%url]/index.html", 'Guides')
                        if (tag) {
                            mkp.yield(" → #${tag.title}")
                        } else if(category) {
                            mkp.yield(" → ${category.name}")
                        }
                    }
                } else {
                    h1 'Guides'
                }
            }
        }
        html.div(class: 'content') {
            setOmitEmptyAttributes(true)
            setOmitNullAttributes(true)
            div(class: 'twocolumns') {
                div(class: 'column') {
                    mkp.yieldUnescaped rightColumn(tag, category, guides)
                }
                div(class: 'column') {
                    mkp.yieldUnescaped leftColumn(tag, category, tags)
                    if ( tag ) {
                        mkp.yieldUnescaped guideGroupByTag(tag, guides)

                    } else if ( category ) {
                        mkp.yieldUnescaped guideGroupByCategory(category, guides.findAll { it.category == category.name }, false )

                    } else {
                        div(class: 'searchresults') {
                            mkp.yieldUnescaped('')
                        }
                    }
                }
            }
            div(class: 'twocolumns') {
                div(class: 'column') {
                    if ( !(tag || category) ) {
                        mkp.yieldUnescaped guideGroupByCategory(categories().apprentice, guides, true,'margin-top: 0;')
                        mkp.yieldUnescaped guideGroupByCategory(categories().async, guides, true, 'margin-top: 0;')
                    }
                }
                div(class: 'column') {
                    if ( !(tag || category) ) {
                        mkp.yieldUnescaped guideGroupByCategory(categories().advanced, guides, true, 'margin-top: 0;')
                    }
                }
            }

            div(class: 'twocolumns') {
                div(class: 'column') {
                    if ( !(tag || category) ) {
                        mkp.yieldUnescaped guideGroupByCategory(categories().gorm, guides, true, 'margin-top: 0;')
                    }
                }
                div(class: 'column') {
                    if ( !(tag || category) ) {
                        mkp.yieldUnescaped guideGroupByCategory(categories().testing, guides, true, 'margin-top: 0;')

                    }
                }
            }
            div(class: 'twocolumns') {
                div(class: 'column') {
                    if ( !(tag || category) ) {
                        mkp.yieldUnescaped guideGroupByCategory(categories().devops, guides, true, 'margin-top: 0;')
                        mkp.yieldUnescaped guideGroupByCategory(categories().googlecloud, guides)
                        mkp.yieldUnescaped guideGroupByCategory(categories().ios, guides)
                        mkp.yieldUnescaped guideGroupByCategory(categories().android, guides)
                        mkp.yieldUnescaped guideGroupByCategory(categories().ria, guides)
                    }
                }
                div(class: 'column') {
                    if ( !(tag || category) ) {
                        mkp.yieldUnescaped guideGroupByCategory(categories().vue, guides, true, 'margin-top: 0;')
                        mkp.yieldUnescaped guideGroupByCategory(categories().angular, guides, true, 'margin-top: 0;')
                        mkp.yieldUnescaped guideGroupByCategory(categories().angularjs, guides)
                        mkp.yieldUnescaped guideGroupByCategory(categories().react, guides)
                        mkp.yieldUnescaped guideSuggestion(classLoader)
                    }
                }
            }
        }
        writer.toString()
    }