diff --git a/pkg/mark/markdown.go b/pkg/mark/markdown.go index 2f057d3..b1c58cd 100644 --- a/pkg/mark/markdown.go +++ b/pkg/mark/markdown.go @@ -58,6 +58,7 @@ func (c *ConfluenceExtension) Extend(m goldmark.Markdown) { util.Prioritized(crenderer.NewConfluenceHTMLBlockRenderer(c.Stdlib), 100), util.Prioritized(crenderer.NewConfluenceHeadingRenderer(c.DropFirstH1), 100), util.Prioritized(crenderer.NewConfluenceImageRenderer(c.Stdlib, c, c.Path), 100), + util.Prioritized(crenderer.NewConfluenceParagraphRenderer(), 100), util.Prioritized(crenderer.NewConfluenceLinkRenderer(), 100), )) diff --git a/pkg/mark/renderer/paragraph.go b/pkg/mark/renderer/paragraph.go new file mode 100644 index 0000000..df9bc49 --- /dev/null +++ b/pkg/mark/renderer/paragraph.go @@ -0,0 +1,31 @@ +package renderer + +import ( + "github.com/yuin/goldmark/ast" + "github.com/yuin/goldmark/renderer" + "github.com/yuin/goldmark/renderer/html" + "github.com/yuin/goldmark/util" +) + +type ConfluenceParagraphRenderer struct { + html.Config +} + +// NewConfluenceRenderer creates a new instance of the ConfluenceRenderer +func NewConfluenceParagraphRenderer(opts ...html.Option) renderer.NodeRenderer { + return &ConfluenceParagraphRenderer{ + Config: html.NewConfig(), + } +} + +// RegisterFuncs implements NodeRenderer.RegisterFuncs . +func (r *ConfluenceParagraphRenderer) RegisterFuncs(reg renderer.NodeRendererFuncRegisterer) { + reg.Register(ast.KindParagraph, r.renderParagraph) +} + +func (r *ConfluenceParagraphRenderer) renderParagraph(w util.BufWriter, source []byte, n ast.Node, entering bool) (ast.WalkStatus, error) { + if !entering { + _, _ = w.WriteString("\n") + } + return ast.WalkContinue, nil +} diff --git a/pkg/mark/testdata/codes-droph1.html b/pkg/mark/testdata/codes-droph1.html index 733410b..bcf5be7 100644 --- a/pkg/mark/testdata/codes-droph1.html +++ b/pkg/mark/testdata/codes-droph1.html @@ -1,7 +1,7 @@ -

inline

+inline falsebashfalsebashfalseunknownfalse

text -text 2

+]]>unknownfalsetext +text 2 unknownfalseshfalseA b cbashtrueA b cctruenestedfalsefalseinline

+inline falsebashfalsebashfalseunknownfalse

text text 2

+]]>
unknownfalsetext text 2 unknownfalseshfalseA b cbashtrueA b cctruenestedfalsefalseinline

+inline falsebashfalsebashfalseunknownfalse

text -text 2

+]]>
unknownfalsetext +text 2 unknownfalseshfalseA b cbashtrueA b cctruenestedfalsefalsev71

+v71 diff --git a/pkg/mark/testdata/issue-64-broken-link-stripnewlines.html b/pkg/mark/testdata/issue-64-broken-link-stripnewlines.html index 0d39ce8..dca9603 100644 --- a/pkg/mark/testdata/issue-64-broken-link-stripnewlines.html +++ b/pkg/mark/testdata/issue-64-broken-link-stripnewlines.html @@ -1 +1 @@ -

v71

+v71 diff --git a/pkg/mark/testdata/issue-64-broken-link.html b/pkg/mark/testdata/issue-64-broken-link.html index 0d39ce8..dca9603 100644 --- a/pkg/mark/testdata/issue-64-broken-link.html +++ b/pkg/mark/testdata/issue-64-broken-link.html @@ -1 +1 @@ -

v71

+v71 diff --git a/pkg/mark/testdata/links-droph1.html b/pkg/mark/testdata/links-droph1.html index 82fd040..b002880 100644 --- a/pkg/mark/testdata/links-droph1.html +++ b/pkg/mark/testdata/links-droph1.html @@ -1,17 +1,17 @@ -

Use https://example.com

-

Use aaa

-

Use

-

Use

-

Use

-

Use

-

-

-

Use footnotes link 1

+Use https://example.com +Use aaa +Use +Use +Use +Use + + +Use footnotes link 1

  1. -

    a footnote link ↩︎

    +a footnote link ↩︎
diff --git a/pkg/mark/testdata/links-stripnewlines.html b/pkg/mark/testdata/links-stripnewlines.html index 82fd040..b002880 100644 --- a/pkg/mark/testdata/links-stripnewlines.html +++ b/pkg/mark/testdata/links-stripnewlines.html @@ -1,17 +1,17 @@ -

Use https://example.com

-

Use aaa

-

Use

-

Use

-

Use

-

Use

-

-

-

Use footnotes link 1

+Use https://example.com +Use aaa +Use +Use +Use +Use + + +Use footnotes link 1

  1. -

    a footnote link ↩︎

    +a footnote link ↩︎
diff --git a/pkg/mark/testdata/links.html b/pkg/mark/testdata/links.html index 82fd040..b002880 100644 --- a/pkg/mark/testdata/links.html +++ b/pkg/mark/testdata/links.html @@ -1,17 +1,17 @@ -

Use https://example.com

-

Use aaa

-

Use

-

Use

-

Use

-

Use

-

-

-

Use footnotes link 1

+Use https://example.com +Use aaa +Use +Use +Use +Use + + +Use footnotes link 1

  1. -

    a footnote link ↩︎

    +a footnote link ↩︎
diff --git a/pkg/mark/testdata/lists-droph1.html b/pkg/mark/testdata/lists-droph1.html index af27c54..11aa2ca 100644 --- a/pkg/mark/testdata/lists-droph1.html +++ b/pkg/mark/testdata/lists-droph1.html @@ -13,7 +13,7 @@ -

text

+text -

text

+text -

text

+text