1
1
{{/*
2
2
Template Attributes:
3
+ * CustomInit: do not initialize the editor automatically
3
4
* ContainerId: id attribute for the container element
4
5
* ContainerClasses: additional classes for the container element
5
- * MarkdownPreviewUrl: preview url for the preview tab
6
- * MarkdownPreviewContext: preview context for the preview tab
6
+ * MarkdownPreviewInRepo: the repo to preview markdown
7
+ * MarkdownPreviewContext: preview context (the related url path when rendering) for the preview tab, eg: repo link or user home link
8
+ * MarkdownPreviewMode: content mode for the editor, eg: wiki, comment or default
7
9
* TextareaName: name attribute for the textarea
8
10
* TextareaContent: content for the textarea
11
+ * TextareaMaxLength: maxlength attribute for the textarea
9
12
* TextareaPlaceholder: placeholder attribute for the textarea
10
13
* TextareaAriaLabel: aria-label attribute for the textarea
11
14
* DropzoneParentContainer: container for file upload (leave it empty if no upload)
12
15
* DisableAutosize: whether to disable automatic height resizing
13
16
*/}}
14
- <div {{if .ContainerId}}id="{{.ContainerId}}"{{end}} class="combo-markdown-editor {{.ContainerClasses}}" data-dropzone-parent-container="{{.DropzoneParentContainer}}">
15
- {{if .MarkdownPreviewUrl}}
17
+ {{$ariaLabel := or .TextareaAriaLabel .TextareaPlaceholder}}
18
+ {{$repo := .MarkdownPreviewInRepo}}
19
+ {{$previewContext := .MarkdownPreviewContext}}
20
+ {{$previewMode := .MarkdownPreviewMode}}
21
+ {{$previewUrl := print AppSubUrl "/-/markup"}}
22
+ {{if $repo}}
23
+ {{$previewUrl = print $repo.Link "/markup"}}
24
+ {{end}}
25
+ {{$supportEasyMDE := or (eq $previewMode "comment") (eq $previewMode "wiki")}}
26
+ <div {{if .ContainerId}}id="{{.ContainerId}}"{{end}} class="combo-markdown-editor {{if .CustomInit}}custom-init{{end}} {{.ContainerClasses}}"
27
+ data-dropzone-parent-container="{{.DropzoneParentContainer}}"
28
+ data-content-mode="{{$previewMode}}"
29
+ data-support-easy-mde="{{$supportEasyMDE}}"
30
+ data-preview-url="{{$previewUrl}}"
31
+ data-preview-context="{{$previewContext}}"
32
+ >
16
33
<div class="ui top tabular menu">
17
34
<a class="active item" data-tab-for="markdown-writer">{{template "shared/misc/tabtitle" (ctx.Locale.Tr "write")}}</a>
18
- <a class="item" data-tab-for="markdown-previewer" data-preview-url="{{.MarkdownPreviewUrl}}" data-preview-context="{{.MarkdownPreviewContext}}" >{{template "shared/misc/tabtitle" (ctx.Locale.Tr "preview")}}</a>
35
+ <a class="item" data-tab-for="markdown-previewer">{{template "shared/misc/tabtitle" (ctx.Locale.Tr "preview")}}</a>
19
36
</div>
20
- {{end}}
21
37
<div class="ui tab active" data-tab-panel="markdown-writer">
22
38
<markdown-toolbar>
23
39
<div class="markdown-toolbar-group">
@@ -40,17 +56,25 @@ Template Attributes:
40
56
<md-task-list class="markdown-toolbar-button" data-tooltip-content="{{ctx.Locale.Tr "editor.buttons.list.task.tooltip"}}">{{svg "octicon-tasklist"}}</md-task-list>
41
57
<button class="markdown-toolbar-button markdown-button-table-add" data-tooltip-content="{{ctx.Locale.Tr "editor.buttons.table.add.tooltip"}}">{{svg "octicon-table"}}</button>
42
58
</div>
59
+ {{if eq $previewMode "comment"}}
43
60
<div class="markdown-toolbar-group">
44
61
<md-mention class="markdown-toolbar-button" data-tooltip-content="{{ctx.Locale.Tr "editor.buttons.mention.tooltip"}}">{{svg "octicon-mention"}}</md-mention>
45
62
<md-ref class="markdown-toolbar-button" data-tooltip-content="{{ctx.Locale.Tr "editor.buttons.ref.tooltip"}}">{{svg "octicon-cross-reference"}}</md-ref>
46
63
</div>
64
+ {{end}}
47
65
<div class="markdown-toolbar-group">
48
66
<button class="markdown-toolbar-button markdown-switch-monospace" role="switch" data-enable-text="{{ctx.Locale.Tr "editor.buttons.enable_monospace_font"}}" data-disable-text="{{ctx.Locale.Tr "editor.buttons.disable_monospace_font"}}">{{svg "octicon-typography"}}</button>
67
+ {{if $supportEasyMDE}}
49
68
<button class="markdown-toolbar-button markdown-switch-easymde" data-tooltip-content="{{ctx.Locale.Tr "editor.buttons.switch_to_legacy.tooltip"}}">{{svg "octicon-arrow-switch"}}</button>
69
+ {{end}}
50
70
</div>
51
71
</markdown-toolbar>
52
72
<text-expander keys=": @ #" multiword="#" suffix="">
53
- <textarea class="markdown-text-editor"{{if .TextareaName}} name="{{.TextareaName}}"{{end}}{{if .TextareaPlaceholder}} placeholder="{{.TextareaPlaceholder}}"{{end}}{{if .TextareaAriaLabel}} aria-label="{{.TextareaAriaLabel}}"{{end}}{{if .DisableAutosize}} data-disable-autosize="{{.DisableAutosize}}"{{end}}>{{.TextareaContent}}</textarea>
73
+ <textarea class="markdown-text-editor"
74
+ {{if .TextareaName}}name="{{.TextareaName}}"{{end}} {{if .TextareaMaxLength}}maxlength="{{.TextareaMaxLength}}"{{end}}
75
+ {{if .TextareaPlaceholder}}placeholder="{{.TextareaPlaceholder}}"{{end}} {{if $ariaLabel}}aria-label="{{$ariaLabel}}"{{end}}
76
+ {{if .DisableAutosize}}data-disable-autosize="{{.DisableAutosize}}"{{end}}
77
+ >{{.TextareaContent}}</textarea>
54
78
</text-expander>
55
79
<script>
56
80
if (localStorage?.getItem('markdown-editor-monospace') === 'true') {
0 commit comments