From 2ca8fcbb76c414cf99e143f56315024187cf26a7 Mon Sep 17 00:00:00 2001 From: "Dmitry.Krasilschikov" Date: Wed, 11 Apr 2018 14:18:54 +0300 Subject: [PATCH 1/3] Don't resolve bookmark links of type `#link` to absolute URL but leave them as is. --- src/org/intellij/markdown/html/GeneratingProviders.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/org/intellij/markdown/html/GeneratingProviders.kt b/src/org/intellij/markdown/html/GeneratingProviders.kt index fc4165f6..df085303 100644 --- a/src/org/intellij/markdown/html/GeneratingProviders.kt +++ b/src/org/intellij/markdown/html/GeneratingProviders.kt @@ -189,6 +189,9 @@ internal abstract class LinkGeneratingProvider(protected val baseURI: URI?) : Ge protected fun makeAbsoluteUrl(destination : CharSequence) : CharSequence { try { + if (destination.startsWith('#')) { + return destination + } return baseURI?.resolve(destination.toString())?.toString() ?: destination } catch (e : IllegalArgumentException) { From d0434360a377a1de52964453e99e912003d375d0 Mon Sep 17 00:00:00 2001 From: "Dmitry.Krasilschikov" Date: Wed, 11 Apr 2018 15:19:07 +0300 Subject: [PATCH 2/3] Tests added - Don't resolve bookmark links of type `#link` to absolute URL --- test/data/html/baseUriFile.md | 2 ++ test/data/html/baseUriFile.txt | 3 +++ 2 files changed, 5 insertions(+) diff --git a/test/data/html/baseUriFile.md b/test/data/html/baseUriFile.md index 3de1ea3d..77a73f68 100644 --- a/test/data/html/baseUriFile.md +++ b/test/data/html/baseUriFile.md @@ -24,6 +24,7 @@ + [parent directory relative link definition] + [absolute link definition] + [root link definition] ++ [bookmark link definition] [implicit current directory relative link definition]: baz.html @@ -31,3 +32,4 @@ [parent directory relative link definition]: ../quux.html [absolute link definition]: https://google.com/ [root link definition]: /root +[bookmark link definition]: #abc \ No newline at end of file diff --git a/test/data/html/baseUriFile.txt b/test/data/html/baseUriFile.txt index 1e93062e..f41a288c 100644 --- a/test/data/html/baseUriFile.txt +++ b/test/data/html/baseUriFile.txt @@ -68,5 +68,8 @@
  • root link definition
  • +
  • +bookmark link definition +
  • From 0a65fb569abbc2f4bdf668e0cfb935c8901c84df Mon Sep 17 00:00:00 2001 From: "Dmitry.Krasilschikov" Date: Fri, 9 Nov 2018 12:04:51 +0200 Subject: [PATCH 3/3] Turn back default `generateHtml(AttributesCustomizer)` parameter "DUMMY_ATTRIBUTES_CUSTOMIZER" value to preserve backward compatibility. https://github.com/valich/intellij-markdown/commit/bad1fbcf72c7e937cb4c8226d6faf69f6d748acb#r31167257 --- src/org/intellij/markdown/html/HtmlGenerator.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/intellij/markdown/html/HtmlGenerator.kt b/src/org/intellij/markdown/html/HtmlGenerator.kt index 015797f6..c069d20b 100644 --- a/src/org/intellij/markdown/html/HtmlGenerator.kt +++ b/src/org/intellij/markdown/html/HtmlGenerator.kt @@ -31,7 +31,7 @@ class HtmlGenerator(private val markdownText: String, @Deprecated("To be removed, pass custom visitor instead", ReplaceWith("generateHtml(HtmlGeneratingVisitor)")) - fun generateHtml(customizer: AttributesCustomizer): String { + fun generateHtml(customizer: AttributesCustomizer = DUMMY_ATTRIBUTES_CUSTOMIZER): String { HtmlGeneratingVisitor(DefaultTagRenderer(customizer, includeSrcPositions)).visitNode(root) return htmlString.toString() }