override fun resolveLink()

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))
    }