diff --git a/pkg/confluence/api.go b/pkg/confluence/api.go index a97fc09..a48f204 100644 --- a/pkg/confluence/api.go +++ b/pkg/confluence/api.go @@ -89,7 +89,10 @@ func (tracer *tracer) Printf(format string, args ...interface{}) { func NewAPI(baseURL string, username string, password string) *API { var auth *gopencils.BasicAuth if username != "" { - auth = &gopencils.BasicAuth{username, password} + auth = &gopencils.BasicAuth{ + Username: username, + Password: password, + } } rest := gopencils.Api(baseURL+"/rest/api", auth) if username == "" { diff --git a/pkg/mark/link.go b/pkg/mark/link.go index 805d305..b38baed 100644 --- a/pkg/mark/link.go +++ b/pkg/mark/link.go @@ -149,7 +149,7 @@ func SubstituteLinks(markdown []byte, links []LinkSubstitution) []byte { } func parseLinks(markdown string) []markdownLink { - re := regexp.MustCompile("\\[[^\\]]+\\]\\((([^\\)#]+)?#?([^\\)]+)?)\\)") + re := regexp.MustCompile(`\[[^\]]+\]\((([^\)#]+)?#?([^\)]+)?)\)`) matches := re.FindAllStringSubmatch(markdown, -1) links := make([]markdownLink, len(matches)) diff --git a/pkg/mark/markdown.go b/pkg/mark/markdown.go index 679a1fb..98576c0 100644 --- a/pkg/mark/markdown.go +++ b/pkg/mark/markdown.go @@ -176,7 +176,7 @@ func (renderer ConfluenceRenderer) RenderNode( theme = option } } - renderer.Stdlib.Templates.ExecuteTemplate( + err := renderer.Stdlib.Templates.ExecuteTemplate( writer, "ac:code", struct { @@ -197,20 +197,46 @@ func (renderer ConfluenceRenderer) RenderNode( strings.TrimSuffix(string(node.Literal), "\n"), }, ) + if err != nil { + panic(err) + } return bf.GoToNext } if node.Type == bf.Link && string(node.Destination[0:3]) == "ac:" { if entering { - writer.Write([]byte("")) + + if len(node.Destination) < 4 { + _, err := writer.Write(node.FirstChild.Literal) + if err != nil { + panic(err) + } + } else { + _, err := writer.Write(node.Destination[3:]) + if err != nil { + panic(err) + } + + } + _, err = writer.Write([]byte("\"/>")) + if err != nil { + panic(err) + } + return bf.SkipChildren } return bf.GoToNext diff --git a/pkg/mark/markdown_test.go b/pkg/mark/markdown_test.go index 7bc8c04..9819386 100644 --- a/pkg/mark/markdown_test.go +++ b/pkg/mark/markdown_test.go @@ -14,10 +14,6 @@ const ( NL = "\n" ) -func text(lines ...string) string { - return strings.Join(lines, "\n") -} - func TestCompileMarkdown(t *testing.T) { test := assert.New(t)