in src/main/kotlin/circlet/cli/confluence/HtmlToMarkdownConverter.kt [69:90]
override fun resolveLink(node: Node, context: HtmlNodeConverterContext, link: ResolvedLink): ResolvedLink {
val path = when {
link.url.startsWith("http") -> {
val parsedUrl = URL(link.url)
if (parsedUrl.host != confluenceHost) return link
parsedUrl.path
}
link.url.startsWith("/") -> link.url.substringBefore("?").substringBefore("#")
else -> return link
}
if (path == "/pages/viewpage.action") return resolveViewPageLink(link)
if (path.startsWith("/display/~")) return runBlocking { resolveUserLink(link) }
if (link.linkType == LinkType.IMAGE) return resolveImageLink(link)
val pathParts = path.removePrefix("/").removeSuffix("/").split("/")
if (pathParts.size < 3) return link
if (pathParts[0] != "display") return link
if (pathParts[1] != confluenceSpaceKey) return link
val spaceDocumentAlias = aliasMapping[pathParts[2]] ?: return link
return link.withUrl(spaceDocumentUrl(spaceDocumentAlias))
}