From f0e00468e94406d3c57ceb896293ba7312992a96 Mon Sep 17 00:00:00 2001 From: Egor Kovetskiy Date: Thu, 11 Nov 2021 14:45:08 +0600 Subject: [PATCH] use AutoLink rule to all links except ac: namespace --- pkg/mark/markdown.go | 7 ++++--- pkg/mark/testdata/links.html | 3 +++ pkg/mark/testdata/links.md | 3 +++ 3 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 pkg/mark/testdata/links.html create mode 100644 pkg/mark/testdata/links.md diff --git a/pkg/mark/markdown.go b/pkg/mark/markdown.go index 58287a9..e1017f4 100644 --- a/pkg/mark/markdown.go +++ b/pkg/mark/markdown.go @@ -5,9 +5,9 @@ import ( "regexp" "strings" + bf "github.com/kovetskiy/blackfriday/v2" "github.com/kovetskiy/mark/pkg/mark/stdlib" "github.com/reconquest/pkg/log" - bf "github.com/kovetskiy/blackfriday/v2" ) type ConfluenceRenderer struct { @@ -78,7 +78,8 @@ func (renderer ConfluenceRenderer) RenderNode( // compileMarkdown will replace tags like with escaped // equivalent, because bf markdown parser replaces that tags with -// ac:rich-text-body for whatever reason. +// ac:rich-text-body because of the autolink +// rule. func CompileMarkdown( markdown []byte, stdlib *stdlib.Lib, @@ -87,7 +88,7 @@ func CompileMarkdown( colon := regexp.MustCompile(`---bf-COLON---`) - tags := regexp.MustCompile(`<(/?\S+?):(\S+?)>`) + tags := regexp.MustCompile(`<(/?ac):(\S+?)>`) markdown = tags.ReplaceAll( markdown, diff --git a/pkg/mark/testdata/links.html b/pkg/mark/testdata/links.html new file mode 100644 index 0000000..295c740 --- /dev/null +++ b/pkg/mark/testdata/links.html @@ -0,0 +1,3 @@ +

Use https://example.com

+ +

Use aaa

diff --git a/pkg/mark/testdata/links.md b/pkg/mark/testdata/links.md new file mode 100644 index 0000000..7ef24fa --- /dev/null +++ b/pkg/mark/testdata/links.md @@ -0,0 +1,3 @@ +Use + +Use aaa