static Map siteMeta()

in buildSrc/src/main/groovy/org/grails/gradle/RenderSiteTask.groovy [86:117]


    static Map<String, String> siteMeta(String title,
                                        String about,
                                        String url,
                                        List<String> keywords,
                                        String robots,
                                        String latest,
                                        String versionsBeforeGrails6
    ) {
        String eventsHtml = ""
        if (System.getenv("AIRTABLE_API_KEY") != null && System.getenv("AIRTABLE_BASE_ID") != null) {
            Map<String, Object> configuration = [:]
            configuration['airtable.api-key'] = System.getenv("AIRTABLE_API_KEY")
            configuration['airtable.bases.2022.id'] =  System.getenv("AIRTABLE_BASE_ID")
            ApplicationContext applicationContext = ApplicationContext.run(configuration)
            AirtableBaseApi api = applicationContext.getBean(AirtableBaseApi, Qualifiers.byName("2022"))
            GrailsAirtable airtable = new GrailsAirtable(api)
            List<Event> events = airtable.fetchGrailsByPracticeName('2GM')
            eventsHtml = EventsPage.eventsTable(events)
            applicationContext.close()
        }
        [
                title: title,
                description: about,
                url: url,
                latest: latest,
                events: eventsHtml,
                versions: versionsBeforeGrails6,
                versionAfterGrails6: versionsBeforeGrails6,
                keywords: keywords.join(','),
                robots: robots,
        ] as Map<String, String>
    }