mirror of
https://github.com/kovetskiy/mark.git
synced 2025-09-10 06:40:43 +08:00
Drop cloudscript support for mermaid
This commit is contained in:
parent
68f84bedbd
commit
5e2b7b64e8
@ -724,11 +724,6 @@ graph TD;
|
|||||||
A-->B;
|
A-->B;
|
||||||
```
|
```
|
||||||
|
|
||||||
In order to properly render mermaid, you can choose between the following mermaid providers:
|
|
||||||
|
|
||||||
* "mermaid-go" via [mermaid.go](https://github.com/dreampuf/mermaid.go)
|
|
||||||
* "cloudscript" via [cloudscript-io-mermaid-addon](https://marketplace.atlassian.com/apps/1219878/cloudscript-io-mermaid-addon) (deprecated)
|
|
||||||
|
|
||||||
### Render D2 Diagram
|
### Render D2 Diagram
|
||||||
|
|
||||||
Optionally you can enable [D2](https://github.com/terrastruct/d2) rendering via `--features="d2"`.
|
Optionally you can enable [D2](https://github.com/terrastruct/d2) rendering via `--features="d2"`.
|
||||||
@ -829,7 +824,6 @@ GLOBAL OPTIONS:
|
|||||||
--space string use specified space key. If the space key is not specified, it must be set in the page metadata. [$MARK_SPACE]
|
--space string use specified space key. If the space key is not specified, it must be set in the page metadata. [$MARK_SPACE]
|
||||||
--parents string A list containing the parents of the document separated by parents-delimiter (default: '/'). These will be prepended to the ones defined in the document itself. [$MARK_PARENTS]
|
--parents string A list containing the parents of the document separated by parents-delimiter (default: '/'). These will be prepended to the ones defined in the document itself. [$MARK_PARENTS]
|
||||||
--parents-delimiter string The delimiter used for the parents list (default: "/") [$MARK_PARENTS_DELIMITER]
|
--parents-delimiter string The delimiter used for the parents list (default: "/") [$MARK_PARENTS_DELIMITER]
|
||||||
--mermaid-provider string defines the mermaid provider to use. Supported options are: cloudscript, mermaid-go. (default: "cloudscript") [$MARK_MERMAID_PROVIDER]
|
|
||||||
--mermaid-scale float defines the scaling factor for mermaid renderings. (default: 1) [$MARK_MERMAID_SCALE]
|
--mermaid-scale float defines the scaling factor for mermaid renderings. (default: 1) [$MARK_MERMAID_SCALE]
|
||||||
--include-path string Path for shared includes, used as a fallback if the include doesn't exist in the current directory. [$MARK_INCLUDE_PATH]
|
--include-path string Path for shared includes, used as a fallback if the include doesn't exist in the current directory. [$MARK_INCLUDE_PATH]
|
||||||
--changes-only Avoids re-uploading pages that haven't changed since the last run. (default: false) [$MARK_CHANGES_ONLY]
|
--changes-only Avoids re-uploading pages that haven't changed since the last run. (default: false) [$MARK_CHANGES_ONLY]
|
||||||
|
@ -58,7 +58,6 @@ func TestCompileMarkdown(t *testing.T) {
|
|||||||
markdown, htmlname, html := loadData(t, filename, "")
|
markdown, htmlname, html := loadData(t, filename, "")
|
||||||
|
|
||||||
cfg := types.MarkConfig{
|
cfg := types.MarkConfig{
|
||||||
MermaidProvider: "",
|
|
||||||
MermaidScale: 1.0,
|
MermaidScale: 1.0,
|
||||||
D2Scale: 1.0,
|
D2Scale: 1.0,
|
||||||
DropFirstH1: false,
|
DropFirstH1: false,
|
||||||
@ -101,7 +100,6 @@ func TestCompileMarkdownDropH1(t *testing.T) {
|
|||||||
markdown, htmlname, html := loadData(t, filename, variant)
|
markdown, htmlname, html := loadData(t, filename, variant)
|
||||||
|
|
||||||
cfg := types.MarkConfig{
|
cfg := types.MarkConfig{
|
||||||
MermaidProvider: "",
|
|
||||||
MermaidScale: 1.0,
|
MermaidScale: 1.0,
|
||||||
D2Scale: 1.0,
|
D2Scale: 1.0,
|
||||||
DropFirstH1: true,
|
DropFirstH1: true,
|
||||||
@ -146,7 +144,6 @@ func TestCompileMarkdownStripNewlines(t *testing.T) {
|
|||||||
markdown, htmlname, html := loadData(t, filename, variant)
|
markdown, htmlname, html := loadData(t, filename, variant)
|
||||||
|
|
||||||
cfg := types.MarkConfig{
|
cfg := types.MarkConfig{
|
||||||
MermaidProvider: "",
|
|
||||||
MermaidScale: 1.0,
|
MermaidScale: 1.0,
|
||||||
D2Scale: 1.0,
|
D2Scale: 1.0,
|
||||||
DropFirstH1: false,
|
DropFirstH1: false,
|
||||||
|
@ -108,6 +108,7 @@ func (r *ConfluenceFencedCodeBlockRenderer) renderFencedCodeBlock(writer util.Bu
|
|||||||
collapse = false
|
collapse = false
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
var i int
|
var i int
|
||||||
if _, err := fmt.Sscanf(option, "%d", &i); err == nil {
|
if _, err := fmt.Sscanf(option, "%d", &i); err == nil {
|
||||||
linenumbers = i > 0
|
linenumbers = i > 0
|
||||||
@ -158,7 +159,7 @@ func (r *ConfluenceFencedCodeBlockRenderer) renderFencedCodeBlock(writer util.Bu
|
|||||||
return ast.WalkStop, err
|
return ast.WalkStop, err
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if lang == "mermaid" && slices.Contains(r.MarkConfig.Features, "mermaid") && r.MarkConfig.MermaidProvider == "mermaid-go" {
|
} else if lang == "mermaid" && slices.Contains(r.MarkConfig.Features, "mermaid") {
|
||||||
attachment, err := mermaid.ProcessMermaidLocally(title, lval, r.MarkConfig.MermaidScale)
|
attachment, err := mermaid.ProcessMermaidLocally(title, lval, r.MarkConfig.MermaidScale)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debugf(nil, "error: %v", err)
|
log.Debugf(nil, "error: %v", err)
|
||||||
|
@ -114,9 +114,8 @@ func templates(api *confluence.API) (*template.Template, error) {
|
|||||||
|
|
||||||
// This template is used for rendering code in ```
|
// This template is used for rendering code in ```
|
||||||
`ac:code`: text(
|
`ac:code`: text(
|
||||||
`<ac:structured-macro ac:name="{{ if eq .Language "mermaid" }}cloudscript-confluence-mermaid{{ else }}code{{ end }}">`,
|
`<ac:structured-macro ac:name="code">`,
|
||||||
/**/ `{{ if eq .Language "mermaid" }}<ac:parameter ac:name="showSource">true</ac:parameter>{{ else }}`,
|
/**/ `<ac:parameter ac:name="language">{{ .Language }}</ac:parameter>`,
|
||||||
/**/ `<ac:parameter ac:name="language">{{ .Language }}</ac:parameter>{{ end }}`,
|
|
||||||
/**/ `<ac:parameter ac:name="collapse">{{ .Collapse }}</ac:parameter>`,
|
/**/ `<ac:parameter ac:name="collapse">{{ .Collapse }}</ac:parameter>`,
|
||||||
/**/ `{{ if .Theme }}<ac:parameter ac:name="theme">{{ .Theme }}</ac:parameter>{{ end }}`,
|
/**/ `{{ if .Theme }}<ac:parameter ac:name="theme">{{ .Theme }}</ac:parameter>{{ end }}`,
|
||||||
/**/ `{{ if .Linenumbers }}<ac:parameter ac:name="linenumbers">{{ .Linenumbers }}</ac:parameter>{{ end }}`,
|
/**/ `{{ if .Linenumbers }}<ac:parameter ac:name="linenumbers">{{ .Linenumbers }}</ac:parameter>{{ end }}`,
|
||||||
|
6
testdata/codes-stripnewlines.html
vendored
6
testdata/codes-stripnewlines.html
vendored
@ -4,15 +4,15 @@
|
|||||||
<ac:structured-macro ac:name="code"><ac:parameter ac:name="language">unknown</ac:parameter><ac:parameter ac:name="collapse">false</ac:parameter><ac:plain-text-body><![CDATA[unknown code 2]]></ac:plain-text-body></ac:structured-macro><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:structured-macro ac:name="code"><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:structured-macro><ac:structured-macro ac:name="code"><ac:parameter ac:name="language">c</ac:parameter><ac:parameter ac:name="collapse">true</ac:parameter><ac:plain-text-body><![CDATA[collapse-no-title]]></ac:plain-text-body></ac:structured-macro><ac:structured-macro ac:name="code"><ac:parameter ac:name="language">nested</ac:parameter><ac:parameter ac:name="collapse">false</ac:parameter><ac:plain-text-body><![CDATA[code
|
<ac:structured-macro ac:name="code"><ac:parameter ac:name="language">unknown</ac:parameter><ac:parameter ac:name="collapse">false</ac:parameter><ac:plain-text-body><![CDATA[unknown code 2]]></ac:plain-text-body></ac:structured-macro><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:structured-macro ac:name="code"><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:structured-macro><ac:structured-macro ac:name="code"><ac:parameter ac:name="language">c</ac:parameter><ac:parameter ac:name="collapse">true</ac:parameter><ac:plain-text-body><![CDATA[collapse-no-title]]></ac:plain-text-body></ac:structured-macro><ac:structured-macro ac:name="code"><ac:parameter ac:name="language">nested</ac:parameter><ac:parameter ac:name="collapse">false</ac:parameter><ac:plain-text-body><![CDATA[code
|
||||||
``` more code ```
|
``` more code ```
|
||||||
even more code]]></ac:plain-text-body></ac:structured-macro><ac:structured-macro ac:name="code"><ac:parameter ac:name="language"></ac:parameter><ac:parameter ac:name="collapse">false</ac:parameter><ac:plain-text-body><![CDATA[indented code block
|
even more code]]></ac:plain-text-body></ac:structured-macro><ac:structured-macro ac:name="code"><ac:parameter ac:name="language"></ac:parameter><ac:parameter ac:name="collapse">false</ac:parameter><ac:plain-text-body><![CDATA[indented code block
|
||||||
with multiple lines]]></ac:plain-text-body></ac:structured-macro><ac:structured-macro ac:name="cloudscript-confluence-mermaid"><ac:parameter ac:name="showSource">true</ac:parameter><ac:parameter ac:name="collapse">false</ac:parameter><ac:plain-text-body><![CDATA[graph TD;
|
with multiple lines]]></ac:plain-text-body></ac:structured-macro><ac:structured-macro ac:name="code"><ac:parameter ac:name="language">mermaid</ac:parameter><ac:parameter ac:name="collapse">false</ac:parameter><ac:plain-text-body><![CDATA[graph TD;
|
||||||
A-->B;
|
A-->B;
|
||||||
A-->C;
|
A-->C;
|
||||||
B-->D;
|
B-->D;
|
||||||
C-->D;]]></ac:plain-text-body></ac:structured-macro><ac:structured-macro ac:name="cloudscript-confluence-mermaid"><ac:parameter ac:name="showSource">true</ac:parameter><ac:parameter ac:name="collapse">true</ac:parameter><ac:parameter ac:name="title">my mermaid graph</ac:parameter><ac:plain-text-body><![CDATA[graph TD;
|
C-->D;]]></ac:plain-text-body></ac:structured-macro><ac:structured-macro ac:name="code"><ac:parameter ac:name="language">mermaid</ac:parameter><ac:parameter ac:name="collapse">true</ac:parameter><ac:parameter ac:name="title">my mermaid graph</ac:parameter><ac:plain-text-body><![CDATA[graph TD;
|
||||||
A-->B;
|
A-->B;
|
||||||
A-->C;
|
A-->C;
|
||||||
B-->D;
|
B-->D;
|
||||||
C-->D;]]></ac:plain-text-body></ac:structured-macro><ac:structured-macro ac:name="cloudscript-confluence-mermaid"><ac:parameter ac:name="showSource">true</ac:parameter><ac:parameter ac:name="collapse">false</ac:parameter><ac:parameter ac:name="title">my mermaid graph</ac:parameter><ac:plain-text-body><![CDATA[graph TD;
|
C-->D;]]></ac:plain-text-body></ac:structured-macro><ac:structured-macro ac:name="code"><ac:parameter ac:name="language">mermaid</ac:parameter><ac:parameter ac:name="collapse">false</ac:parameter><ac:parameter ac:name="title">my mermaid graph</ac:parameter><ac:plain-text-body><![CDATA[graph TD;
|
||||||
A-->B;
|
A-->B;
|
||||||
A-->C;
|
A-->C;
|
||||||
B-->D;
|
B-->D;
|
||||||
|
6
testdata/codes.html
vendored
6
testdata/codes.html
vendored
@ -5,15 +5,15 @@ text 2</p>
|
|||||||
<ac:structured-macro ac:name="code"><ac:parameter ac:name="language">unknown</ac:parameter><ac:parameter ac:name="collapse">false</ac:parameter><ac:plain-text-body><![CDATA[unknown code 2]]></ac:plain-text-body></ac:structured-macro><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:structured-macro ac:name="code"><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:structured-macro><ac:structured-macro ac:name="code"><ac:parameter ac:name="language">c</ac:parameter><ac:parameter ac:name="collapse">true</ac:parameter><ac:plain-text-body><![CDATA[collapse-no-title]]></ac:plain-text-body></ac:structured-macro><ac:structured-macro ac:name="code"><ac:parameter ac:name="language">nested</ac:parameter><ac:parameter ac:name="collapse">false</ac:parameter><ac:plain-text-body><![CDATA[code
|
<ac:structured-macro ac:name="code"><ac:parameter ac:name="language">unknown</ac:parameter><ac:parameter ac:name="collapse">false</ac:parameter><ac:plain-text-body><![CDATA[unknown code 2]]></ac:plain-text-body></ac:structured-macro><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:structured-macro ac:name="code"><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:structured-macro><ac:structured-macro ac:name="code"><ac:parameter ac:name="language">c</ac:parameter><ac:parameter ac:name="collapse">true</ac:parameter><ac:plain-text-body><![CDATA[collapse-no-title]]></ac:plain-text-body></ac:structured-macro><ac:structured-macro ac:name="code"><ac:parameter ac:name="language">nested</ac:parameter><ac:parameter ac:name="collapse">false</ac:parameter><ac:plain-text-body><![CDATA[code
|
||||||
``` more code ```
|
``` more code ```
|
||||||
even more code]]></ac:plain-text-body></ac:structured-macro><ac:structured-macro ac:name="code"><ac:parameter ac:name="language"></ac:parameter><ac:parameter ac:name="collapse">false</ac:parameter><ac:plain-text-body><![CDATA[indented code block
|
even more code]]></ac:plain-text-body></ac:structured-macro><ac:structured-macro ac:name="code"><ac:parameter ac:name="language"></ac:parameter><ac:parameter ac:name="collapse">false</ac:parameter><ac:plain-text-body><![CDATA[indented code block
|
||||||
with multiple lines]]></ac:plain-text-body></ac:structured-macro><ac:structured-macro ac:name="cloudscript-confluence-mermaid"><ac:parameter ac:name="showSource">true</ac:parameter><ac:parameter ac:name="collapse">false</ac:parameter><ac:plain-text-body><![CDATA[graph TD;
|
with multiple lines]]></ac:plain-text-body></ac:structured-macro><ac:structured-macro ac:name="code"><ac:parameter ac:name="language">mermaid</ac:parameter><ac:parameter ac:name="collapse">false</ac:parameter><ac:plain-text-body><![CDATA[graph TD;
|
||||||
A-->B;
|
A-->B;
|
||||||
A-->C;
|
A-->C;
|
||||||
B-->D;
|
B-->D;
|
||||||
C-->D;]]></ac:plain-text-body></ac:structured-macro><ac:structured-macro ac:name="cloudscript-confluence-mermaid"><ac:parameter ac:name="showSource">true</ac:parameter><ac:parameter ac:name="collapse">true</ac:parameter><ac:parameter ac:name="title">my mermaid graph</ac:parameter><ac:plain-text-body><![CDATA[graph TD;
|
C-->D;]]></ac:plain-text-body></ac:structured-macro><ac:structured-macro ac:name="code"><ac:parameter ac:name="language">mermaid</ac:parameter><ac:parameter ac:name="collapse">true</ac:parameter><ac:parameter ac:name="title">my mermaid graph</ac:parameter><ac:plain-text-body><![CDATA[graph TD;
|
||||||
A-->B;
|
A-->B;
|
||||||
A-->C;
|
A-->C;
|
||||||
B-->D;
|
B-->D;
|
||||||
C-->D;]]></ac:plain-text-body></ac:structured-macro><ac:structured-macro ac:name="cloudscript-confluence-mermaid"><ac:parameter ac:name="showSource">true</ac:parameter><ac:parameter ac:name="collapse">false</ac:parameter><ac:parameter ac:name="title">my mermaid graph</ac:parameter><ac:plain-text-body><![CDATA[graph TD;
|
C-->D;]]></ac:plain-text-body></ac:structured-macro><ac:structured-macro ac:name="code"><ac:parameter ac:name="language">mermaid</ac:parameter><ac:parameter ac:name="collapse">false</ac:parameter><ac:parameter ac:name="title">my mermaid graph</ac:parameter><ac:plain-text-body><![CDATA[graph TD;
|
||||||
A-->B;
|
A-->B;
|
||||||
A-->C;
|
A-->C;
|
||||||
B-->D;
|
B-->D;
|
||||||
|
1
testdata/codes.md
vendored
1
testdata/codes.md
vendored
@ -42,6 +42,7 @@ even more code
|
|||||||
indented code block
|
indented code block
|
||||||
with multiple lines
|
with multiple lines
|
||||||
|
|
||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
graph TD;
|
graph TD;
|
||||||
A-->B;
|
A-->B;
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package types
|
package types
|
||||||
|
|
||||||
type MarkConfig struct {
|
type MarkConfig struct {
|
||||||
MermaidProvider string
|
|
||||||
MermaidScale float64
|
MermaidScale float64
|
||||||
D2Scale float64
|
D2Scale float64
|
||||||
DropFirstH1 bool
|
DropFirstH1 bool
|
||||||
|
@ -220,7 +220,6 @@ func processFile(
|
|||||||
}
|
}
|
||||||
|
|
||||||
cfg := types.MarkConfig{
|
cfg := types.MarkConfig{
|
||||||
MermaidProvider: cmd.String("mermaid-provider"),
|
|
||||||
MermaidScale: cmd.Float("mermaid-scale"),
|
MermaidScale: cmd.Float("mermaid-scale"),
|
||||||
D2Scale: cmd.Float("d2-scale"),
|
D2Scale: cmd.Float("d2-scale"),
|
||||||
DropFirstH1: cmd.Bool("drop-h1"),
|
DropFirstH1: cmd.Bool("drop-h1"),
|
||||||
@ -300,7 +299,6 @@ func processFile(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
cfg := types.MarkConfig{
|
cfg := types.MarkConfig{
|
||||||
MermaidProvider: cmd.String("mermaid-provider"),
|
|
||||||
MermaidScale: cmd.Float("mermaid-scale"),
|
MermaidScale: cmd.Float("mermaid-scale"),
|
||||||
D2Scale: cmd.Float("d2-scale"),
|
D2Scale: cmd.Float("d2-scale"),
|
||||||
DropFirstH1: cmd.Bool("drop-h1"),
|
DropFirstH1: cmd.Bool("drop-h1"),
|
||||||
|
@ -155,12 +155,6 @@ var Flags = []cli.Flag{
|
|||||||
Usage: "The delimiter used for the parents list",
|
Usage: "The delimiter used for the parents list",
|
||||||
Sources: cli.NewValueSourceChain(cli.EnvVar("MARK_PARENTS_DELIMITER"), altsrctoml.TOML("parents-delimiter", altsrc.NewStringPtrSourcer(&filename))),
|
Sources: cli.NewValueSourceChain(cli.EnvVar("MARK_PARENTS_DELIMITER"), altsrctoml.TOML("parents-delimiter", altsrc.NewStringPtrSourcer(&filename))),
|
||||||
},
|
},
|
||||||
&cli.StringFlag{
|
|
||||||
Name: "mermaid-provider",
|
|
||||||
Value: "cloudscript",
|
|
||||||
Usage: "defines the mermaid provider to use. Supported options are: cloudscript, mermaid-go.",
|
|
||||||
Sources: cli.NewValueSourceChain(cli.EnvVar("MARK_MERMAID_PROVIDER"), altsrctoml.TOML("mermaid-provider", altsrc.NewStringPtrSourcer(&filename))),
|
|
||||||
},
|
|
||||||
&cli.FloatFlag{
|
&cli.FloatFlag{
|
||||||
Name: "mermaid-scale",
|
Name: "mermaid-scale",
|
||||||
Value: 1.0,
|
Value: 1.0,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user