Skip to content

Commit

Permalink
fix regression after #60
Browse files Browse the repository at this point in the history
  • Loading branch information
kovetskiy committed Feb 4, 2021
1 parent 931d9f7 commit c17a3d0
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 58 deletions.
2 changes: 1 addition & 1 deletion pkg/confluence/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -647,7 +647,7 @@ func newErrorStatusNotOK(request *gopencils.Resource) error {

return fmt.Errorf(
"Confluence API returned unexpected status: %v, "+
"output: %s",
"output: %q",
request.Raw.Status, output,
)
}
8 changes: 4 additions & 4 deletions pkg/mark/markdown.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package mark
import (
"io"
"regexp"
"strconv"
"strings"

"github.com/kovetskiy/mark/pkg/mark/stdlib"
Expand Down Expand Up @@ -55,19 +54,20 @@ func (renderer ConfluenceRenderer) RenderNode(
) bf.WalkStatus {
if node.Type == bf.CodeBlock {
lang := string(node.Info)

renderer.Stdlib.Templates.ExecuteTemplate(
writer,
"ac:code",
struct {
Language string
Collapse string
Collapse bool
Title string
Text string
}{
ParseLanguage(lang),
strconv.FormatBool(strings.Contains(lang, "collapse")),
strings.Contains(lang, "collapse"),
ParseTitle(lang),
string(node.Literal),
strings.TrimSuffix(string(node.Literal), "\n"),
},
)

Expand Down
22 changes: 12 additions & 10 deletions pkg/mark/stdlib/stdlib.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,17 +105,19 @@ func templates(api *confluence.API) (*template.Template, error) {

// This template is used for rendering code in ```
`ac:code`: text(
`<ac:structured-macro ac:name="expand">{{printf "\n"}}`,
`<ac:parameter ac:name="title">{{ .Title }}</ac:parameter>{{printf "\n"}}`,
`<ac:rich-text-body>{{printf "\n"}}`,
`<ac:structured-macro ac:name="code">{{printf "\n"}}`,
`<ac:parameter ac:name="language">{{ .Language }}</ac:parameter>{{printf "\n"}}`,
`<ac:parameter ac:name="collapse">{{ .Collapse }}</ac:parameter>{{printf "\n"}}`,
`<ac:parameter ac:name="title">{{ .Title }}</ac:parameter>{{printf "\n"}}`,
`<ac:plain-text-body><![CDATA[{{ .Text | cdata }}]]></ac:plain-text-body>{{printf "\n"}}`,
`</ac:structured-macro>{{printf "\n"}}`,
`</ac:rich-text-body>{{printf "\n"}}`,
`{{ if .Collapse }}<ac:structured-macro ac:name="expand">{{printf "\n"}}`,
`{{ if .Title }}<ac:parameter ac:name="title">{{ .Title }}</ac:parameter>{{printf "\n"}}{{ end }}`,
`<ac:rich-text-body>{{printf "\n"}}{{ end }}`,

`<ac:structured-macro ac:name="code">{{printf "\n"}}`,
/**/ `<ac:parameter ac:name="language">{{ .Language }}</ac:parameter>{{printf "\n"}}`,
/**/ `<ac:parameter ac:name="collapse">{{ .Collapse }}</ac:parameter>{{printf "\n"}}`,
/**/ `{{ if .Title }}<ac:parameter ac:name="title">{{ .Title }}</ac:parameter>{{printf "\n"}}{{ end }}`,
/**/ `<ac:plain-text-body><![CDATA[{{ .Text | cdata }}]]></ac:plain-text-body>{{printf "\n"}}`,
`</ac:structured-macro>{{printf "\n"}}`,

`{{ if .Collapse }}</ac:rich-text-body>{{printf "\n"}}`,
`</ac:structured-macro>{{printf "\n"}}{{ end }}`,
),

`ac:status`: text(
Expand Down
54 changes: 11 additions & 43 deletions pkg/mark/testdata/codes.html
Original file line number Diff line number Diff line change
@@ -1,66 +1,38 @@
<p><code>inline</code></p>
<ac:structured-macro ac:name="expand">
<ac:parameter ac:name="title"></ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:name="code">
<ac:parameter ac:name="language"></ac:parameter>
<ac:parameter ac:name="collapse">false</ac:parameter>
<ac:parameter ac:name="title"></ac:parameter>
<ac:plain-text-body><![CDATA[some code
]]></ac:plain-text-body>
<ac:plain-text-body><![CDATA[some code]]></ac:plain-text-body>
</ac:structured-macro>
</ac:rich-text-body>
<ac:structured-macro ac:name="code">
<ac:parameter ac:name="language">bash</ac:parameter>
<ac:parameter ac:name="collapse">false</ac:parameter>
<ac:plain-text-body><![CDATA[code bash]]></ac:plain-text-body>
</ac:structured-macro>
<ac:structured-macro ac:name="expand">
<ac:parameter ac:name="title"></ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:name="code">
<ac:parameter ac:name="language">bash</ac:parameter>
<ac:parameter ac:name="collapse">false</ac:parameter>
<ac:parameter ac:name="title"></ac:parameter>
<ac:plain-text-body><![CDATA[code bash
<ac:plain-text-body><![CDATA[with a newline
]]></ac:plain-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:name="expand">
<ac:parameter ac:name="title"></ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:name="code">
<ac:parameter ac:name="language">unknown</ac:parameter>
<ac:parameter ac:name="collapse">false</ac:parameter>
<ac:parameter ac:name="title"></ac:parameter>
<ac:plain-text-body><![CDATA[unknown code
]]></ac:plain-text-body>
</ac:structured-macro>
</ac:rich-text-body>
<ac:plain-text-body><![CDATA[unknown code]]></ac:plain-text-body>
</ac:structured-macro>

<p>text
text 2</p>
<ac:structured-macro ac:name="expand">
<ac:parameter ac:name="title"></ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:name="code">
<ac:parameter ac:name="language">unknown</ac:parameter>
<ac:parameter ac:name="collapse">false</ac:parameter>
<ac:parameter ac:name="title"></ac:parameter>
<ac:plain-text-body><![CDATA[unknown code 2
]]></ac:plain-text-body>
<ac:plain-text-body><![CDATA[unknown code 2]]></ac:plain-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:name="expand">
<ac:parameter ac:name="title">A b c</ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:name="code">
<ac:parameter ac:name="language">sh</ac:parameter>
<ac:parameter ac:name="collapse">false</ac:parameter>
<ac:parameter ac:name="title">A b c</ac:parameter>
<ac:plain-text-body><![CDATA[no-collapse-title
]]></ac:plain-text-body>
</ac:structured-macro>
</ac:rich-text-body>
<ac:plain-text-body><![CDATA[no-collapse-title]]></ac:plain-text-body>
</ac:structured-macro>
<ac:structured-macro ac:name="expand">
<ac:parameter ac:name="title">A b c</ac:parameter>
Expand All @@ -69,20 +41,16 @@
<ac:parameter ac:name="language">bash</ac:parameter>
<ac:parameter ac:name="collapse">true</ac:parameter>
<ac:parameter ac:name="title">A b c</ac:parameter>
<ac:plain-text-body><![CDATA[collapse-and-title
]]></ac:plain-text-body>
<ac:plain-text-body><![CDATA[collapse-and-title]]></ac:plain-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:name="expand">
<ac:parameter ac:name="title"></ac:parameter>
<ac:rich-text-body>
<ac:structured-macro ac:name="code">
<ac:parameter ac:name="language">c</ac:parameter>
<ac:parameter ac:name="collapse">true</ac:parameter>
<ac:parameter ac:name="title"></ac:parameter>
<ac:plain-text-body><![CDATA[collapse-no-title
]]></ac:plain-text-body>
<ac:plain-text-body><![CDATA[collapse-no-title]]></ac:plain-text-body>
</ac:structured-macro>
</ac:rich-text-body>
</ac:structured-macro>
5 changes: 5 additions & 0 deletions pkg/mark/testdata/codes.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ some code
code bash
```

```bash
with a newline

```

```unknown
unknown code
```
Expand Down

0 comments on commit c17a3d0

Please sign in to comment.