in buildSrc/src/main/groovy/org/grails/gradle/RenderSiteTask.groovy [280:306]
static String replaceLineWithMetadata(String line, Map<String, String> metadata) {
Map<String, String> m = new HashMap<>(metadata)
if (m.containsKey('date')) {
m['date'] = formatDate(m['date'])
}
for (String metadataKey : m.keySet()) {
if (line.contains("[%${metadataKey}]".toString())) {
String value = m[metadataKey]
if ("[%${metadataKey}]".toString() == '[%author]') {
List<String> authors = value.split(",") as List<String>
value = '<span class="author">By ' + authors.join("<br/>") + '</span>'
line = line.replaceAll("\\[%${metadataKey}\\]".toString(), value)
} else if ("[%${metadataKey}]".toString() == '[%date]') {
if (line.contains('<meta')) {
line = line.replaceAll("\\[%${metadataKey}\\]".toString(), value)
} else {
value = '<span class="date">' + value + '</span>'
line = line.replaceAll("\\[%${metadataKey}\\]".toString(), value)
}
} else {
line = line.replaceAll("\\[%${metadataKey}\\]".toString(), value)
}
}
}
line
}