From 98e672ff5b6c38324c6bb63688047af9ea3db0b1 Mon Sep 17 00:00:00 2001 From: Boris Berenberg Date: Fri, 16 Nov 2018 14:50:35 -0500 Subject: [PATCH] fixes anchors in headings, updated flexmark version, sane settings for tables --- README.md | 2 +- pom.xml | 18 +++++++++--------- .../markdown/MarkdownFromURLMacro.java | 13 ++++++++++++- .../confluence/markdown/MarkdownMacro.java | 14 ++++++++++++-- 4 files changed, 34 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 491345b..498b35d 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ It can be accessed via: * Macro Browser * {markdown} tags -* SOAP API using /ac:macro> +* SOAP API using This macro supports the following languages: diff --git a/pom.xml b/pom.xml index 2a27901..3a57c42 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ com.atlassian.plugins.confluence.markdown confluence-markdown-macro - 1.3.4 + 1.4.1 Atlassian http://www.atlassian.com/ @@ -51,27 +51,27 @@ com.vladsch.flexmark flexmark-all - 0.32.24 + 0.34.53 com.vladsch.flexmark flexmark-ext-anchorlink - 0.32.24 + 0.34.53 com.vladsch.flexmark flexmark-ext-autolink - 0.32.24 + 0.34.53 com.vladsch.flexmark flexmark-ext-superscript - 0.32.24 + 0.34.53 com.vladsch.flexmark flexmark-ext-youtube-embedded - 0.32.24 + 0.34.53 com.atlassian.plugin @@ -90,8 +90,8 @@ ${confluence.version} ${confluence.data.version} - true - false + true + false @@ -106,7 +106,7 @@ 6.9.0 6.9.0 - 6.3.0 + 6.3.21 1.1 2.1.7 diff --git a/src/main/java/com/atlassian/plugins/confluence/markdown/MarkdownFromURLMacro.java b/src/main/java/com/atlassian/plugins/confluence/markdown/MarkdownFromURLMacro.java index 0b6a390..14cc997 100644 --- a/src/main/java/com/atlassian/plugins/confluence/markdown/MarkdownFromURLMacro.java +++ b/src/main/java/com/atlassian/plugins/confluence/markdown/MarkdownFromURLMacro.java @@ -83,7 +83,18 @@ public class MarkdownFromURLMacro extends BaseMacro implements Macro if (bodyContent != null) { pageBuilderService.assembler().resources().requireWebResource("com.atlassian.plugins.confluence.markdown.confluence-markdown-macro:highlightjs"); - MutableDataSet options = new MutableDataSet(); + MutableDataSet options = new MutableDataSet() + .set(HtmlRenderer.GENERATE_HEADER_ID, true) + .set(HtmlRenderer.INDENT_SIZE, 2) + .set(HtmlRenderer.PERCENT_ENCODE_URLS, true) + // for full GFM table compatibility add the following table extension options: + + .set(TablesExtension.COLUMN_SPANS, false) + .set(TablesExtension.APPEND_MISSING_COLUMNS, true) + .set(TablesExtension.DISCARD_EXTRA_COLUMNS, true) + .set(TablesExtension.HEADER_SEPARATOR_COLUMN_MATCH, true) + .set(Parser.EXTENSIONS, Arrays.asList(TablesExtension.create())) + ; options.set(Parser.EXTENSIONS, Arrays.asList( TablesExtension.create(), diff --git a/src/main/java/com/atlassian/plugins/confluence/markdown/MarkdownMacro.java b/src/main/java/com/atlassian/plugins/confluence/markdown/MarkdownMacro.java index 3681dbe..65df23e 100644 --- a/src/main/java/com/atlassian/plugins/confluence/markdown/MarkdownMacro.java +++ b/src/main/java/com/atlassian/plugins/confluence/markdown/MarkdownMacro.java @@ -79,7 +79,17 @@ public class MarkdownMacro extends BaseMacro implements Macro pageBuilderService.assembler().resources().requireWebResource("com.atlassian.plugins.confluence.markdown.confluence-markdown-macro:highlightjs"); - MutableDataSet options = new MutableDataSet(); + MutableDataSet options = new MutableDataSet() + .set(HtmlRenderer.GENERATE_HEADER_ID, true) + .set(HtmlRenderer.INDENT_SIZE, 2) + .set(HtmlRenderer.PERCENT_ENCODE_URLS, true) + // for full GFM table compatibility add the following table extension options: + + .set(TablesExtension.COLUMN_SPANS, false) + .set(TablesExtension.APPEND_MISSING_COLUMNS, true) + .set(TablesExtension.DISCARD_EXTRA_COLUMNS, true) + .set(TablesExtension.HEADER_SEPARATOR_COLUMN_MATCH, true) + .set(Parser.EXTENSIONS, Arrays.asList(TablesExtension.create())); options.set(Parser.EXTENSIONS, Arrays.asList( TablesExtension.create(), @@ -89,7 +99,7 @@ public class MarkdownMacro extends BaseMacro implements Macro FootnoteExtension.create(), WikiLinkExtension.create(), DefinitionExtension.create(), - //AnchorLinkExtension.create(), + AnchorLinkExtension.create(), AutolinkExtension.create(), SuperscriptExtension.create(), YouTubeLinkExtension.create()