in buildSrc/src/main/groovy/org/grails/gradle/BlogTask.groovy [569:592]
static String wrapTags(Map<String, String> metadata, @Nonnull String html) {
html.split("\n")
.collect { line ->
if (line.startsWith("<p>") && line.endsWith("</p>")) {
String lineWithoutParagraphs = line.replaceAll("<p>", "")
.replaceAll("</p>", "")
String[] words = lineWithoutParagraphs.split(" ")
lineWithoutParagraphs = words.collect { word ->
if (isTag(word)) {
String tag = word
if (word.contains("<")) {
tag = word.substring(0, word.indexOf("<"))
}
return "<a href=\"${metadata['url']}/${BLOG}/${TAG}/${tag.replaceAll("#", "")}.html\"><span class=\"hashtag\">${tag}</span></a>".toString()
} else {
return word
}
}.join(" ")
return "<p>${lineWithoutParagraphs}</p>".toString()
} else {
line
}
}.join('\n')
}