2023-04-03 18:06:57 +08:00
{{ / *
Template Attributes:
2024-12-04 10:11:34 +08:00
* CustomInit: do not initialize the editor automatically
2023-04-10 17:56:57 +02:00
* ContainerId: id attribute for the container element
* ContainerClasses: additional classes for the container element
2024-12-04 10:11:34 +08:00
* MarkdownPreviewInRepo: the repo to preview markdown
* MarkdownPreviewContext: preview context (the related url path when rendering) for the preview tab, eg: repo link or user home link
* MarkdownPreviewMode: content mode for the editor, eg: wiki, comment or default
2023-04-10 17:56:57 +02:00
* TextareaName: name attribute for the textarea
* TextareaContent: content for the textarea
2024-12-04 10:11:34 +08:00
* TextareaMaxLength: maxlength attribute for the textarea
2023-04-10 17:56:57 +02:00
* TextareaPlaceholder: placeholder attribute for the textarea
* TextareaAriaLabel: aria-label attribute for the textarea
* DropzoneParentContainer: container for file upload (leave it empty if no upload)
2023-07-31 00:11:15 +02:00
* DisableAutosize: whether to disable automatic height resizing
2023-04-03 18:06:57 +08:00
*/}}
2024-12-04 10:11:34 +08:00
{{ $ ariaLabel : = or .TextareaAriaLabel .TextareaPlaceholder }}
{{ $ repo : = .MarkdownPreviewInRepo }}
{{ $ previewContext : = .MarkdownPreviewContext }}
{{ $ previewMode : = .MarkdownPreviewMode }}
{{ $ previewUrl : = print AppSubUrl "/-/markup" }}
{{ if $ repo }}
{{ $ previewUrl = print $ repo .Link "/markup" }}
{{ end }}
{{ $ supportEasyMDE : = or ( eq $ previewMode "comment" ) ( eq $ previewMode "wiki" ) }}
<div {{ if .ContainerId }} id=" {{ .ContainerId }} " {{ end }} class="combo-markdown-editor {{ if .CustomInit }} custom-init {{ end }} {{ .ContainerClasses }} "
data-dropzone-parent-container=" {{ .DropzoneParentContainer }} "
data-content-mode=" {{ $ previewMode }} "
data-support-easy-mde=" {{ $ supportEasyMDE }} "
data-preview-url=" {{ $ previewUrl }} "
data-preview-context=" {{ $ previewContext }} "
>
2023-04-03 18:06:57 +08:00
<div class="ui top tabular menu">
2024-05-27 08:45:16 +02:00
<a class="active item" data-tab-for="markdown-writer"> {{ template "shared/misc/tabtitle" ( ctx .Locale .Tr "write" ) }} </a>
2024-12-04 10:11:34 +08:00
<a class="item" data-tab-for="markdown-previewer"> {{ template "shared/misc/tabtitle" ( ctx .Locale .Tr "preview" ) }} </a>
2023-04-03 18:06:57 +08:00
</div>
<div class="ui tab active" data-tab-panel="markdown-writer">
2023-07-04 19:45:45 +02:00
<markdown-toolbar>
2023-04-03 18:06:57 +08:00
<div class="markdown-toolbar-group">
2024-11-04 18:14:36 +08:00
<md-header class="markdown-toolbar-button" level="1" data-tooltip-content=" {{ ctx .Locale .Tr "editor.buttons.heading.tooltip" }} "> {{ svg "octicon-heading" }} </md-header>
<md-header class="markdown-toolbar-button" level="2" data-tooltip-content=" {{ ctx .Locale .Tr "editor.buttons.heading.tooltip" }} "> {{ svg "octicon-heading" }} </md-header>
<md-header class="markdown-toolbar-button" level="3" data-tooltip-content=" {{ ctx .Locale .Tr "editor.buttons.heading.tooltip" }} "> {{ svg "octicon-heading" }} </md-header>
</div>
<div class="markdown-toolbar-group">
2023-09-24 22:31:58 +02:00
<md-bold class="markdown-toolbar-button" data-tooltip-content=" {{ ctx .Locale .Tr "editor.buttons.bold.tooltip" }} "> {{ svg "octicon-bold" }} </md-bold>
<md-italic class="markdown-toolbar-button" data-tooltip-content=" {{ ctx .Locale .Tr "editor.buttons.italic.tooltip" }} "> {{ svg "octicon-italic" }} </md-italic>
2023-04-03 18:06:57 +08:00
</div>
<div class="markdown-toolbar-group">
2023-09-24 22:31:58 +02:00
<md-quote class="markdown-toolbar-button" data-tooltip-content=" {{ ctx .Locale .Tr "editor.buttons.quote.tooltip" }} "> {{ svg "octicon-quote" }} </md-quote>
<md-code class="markdown-toolbar-button" data-tooltip-content=" {{ ctx .Locale .Tr "editor.buttons.code.tooltip" }} "> {{ svg "octicon-code" }} </md-code>
<md-link class="markdown-toolbar-button" data-tooltip-content=" {{ ctx .Locale .Tr "editor.buttons.link.tooltip" }} "> {{ svg "octicon-link" }} </md-link>
2023-04-03 18:06:57 +08:00
</div>
<div class="markdown-toolbar-group">
2023-09-24 22:31:58 +02:00
<md-unordered-list class="markdown-toolbar-button" data-tooltip-content=" {{ ctx .Locale .Tr "editor.buttons.list.unordered.tooltip" }} "> {{ svg "octicon-list-unordered" }} </md-unordered-list>
<md-ordered-list class="markdown-toolbar-button" data-tooltip-content=" {{ ctx .Locale .Tr "editor.buttons.list.ordered.tooltip" }} "> {{ svg "octicon-list-ordered" }} </md-ordered-list>
<md-task-list class="markdown-toolbar-button" data-tooltip-content=" {{ ctx .Locale .Tr "editor.buttons.list.task.tooltip" }} "> {{ svg "octicon-tasklist" }} </md-task-list>
2024-11-04 18:14:36 +08:00
<button class="markdown-toolbar-button markdown-button-table-add" data-tooltip-content=" {{ ctx .Locale .Tr "editor.buttons.table.add.tooltip" }} "> {{ svg "octicon-table" }} </button>
2023-04-03 18:06:57 +08:00
</div>
2024-12-04 10:11:34 +08:00
{{ if eq $ previewMode "comment" }}
2023-04-03 18:06:57 +08:00
<div class="markdown-toolbar-group">
2023-09-24 22:31:58 +02:00
<md-mention class="markdown-toolbar-button" data-tooltip-content=" {{ ctx .Locale .Tr "editor.buttons.mention.tooltip" }} "> {{ svg "octicon-mention" }} </md-mention>
<md-ref class="markdown-toolbar-button" data-tooltip-content=" {{ ctx .Locale .Tr "editor.buttons.ref.tooltip" }} "> {{ svg "octicon-cross-reference" }} </md-ref>
2023-04-03 18:06:57 +08:00
</div>
2024-12-04 10:11:34 +08:00
{{ end }}
2023-04-11 16:36:18 +08:00
<div class="markdown-toolbar-group">
2023-09-24 22:31:58 +02:00
<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>
2024-12-04 10:11:34 +08:00
{{ if $ supportEasyMDE }}
2023-09-24 22:31:58 +02:00
<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>
2024-12-04 10:11:34 +08:00
{{ end }}
2023-04-03 18:06:57 +08:00
</div>
</markdown-toolbar>
2024-10-29 10:20:49 +01:00
<text-expander keys=": @ #" multiword="#" suffix="">
2024-12-04 10:11:34 +08:00
<textarea class="markdown-text-editor"
{{ if .TextareaName }} name=" {{ .TextareaName }} " {{ end }} {{ if .TextareaMaxLength }} maxlength=" {{ .TextareaMaxLength }} " {{ end }}
{{ if .TextareaPlaceholder }} placeholder=" {{ .TextareaPlaceholder }} " {{ end }} {{ if $ ariaLabel }} aria-label=" {{ $ ariaLabel }} " {{ end }}
{{ if .DisableAutosize }} data-disable-autosize=" {{ .DisableAutosize }} " {{ end }}
> {{ .TextareaContent }} </textarea>
2023-04-09 18:18:45 +02:00
</text-expander>
2023-04-13 21:05:06 +02:00
<script>
if (localStorage?.getItem('markdown-editor-monospace') === 'true') {
2024-03-28 09:31:07 +01:00
document.querySelector('.markdown-text-editor').classList.add('tw-font-mono');
2023-04-13 21:05:06 +02:00
}
</script>
2023-04-03 18:06:57 +08:00
</div>
<div class="ui tab markup" data-tab-panel="markdown-previewer">
2023-09-24 22:31:58 +02:00
{{ ctx .Locale .Tr "loading" }}
2023-04-03 18:06:57 +08:00
</div>
2024-11-04 18:14:36 +08:00
<div class="markdown-add-table-panel tippy-target">
<div class="ui form tw-p-4 flex-text-block">
<input type="number" name="rows" min="1" value="3" size="3" class="tw-w-24" data-tooltip-content=" {{ ctx .Locale .Tr "editor.buttons.table.rows" }} ">
x
<input type="number" name="cols" min="1" value="3" size="3" class="tw-w-24" data-tooltip-content=" {{ ctx .Locale .Tr "editor.buttons.table.cols" }} ">
<button class="ui button primary" type="button"> {{ ctx .Locale .Tr "editor.buttons.table.add.insert" }} </button>
</div>
</div>
2023-04-03 18:06:57 +08:00
</div>