aboutsummaryrefslogtreecommitdiffstats
path: root/templates/shared
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2023-04-03 18:06:57 +0800
committerGitHub <noreply@github.com>2023-04-03 18:06:57 +0800
commit5cc0801de90d16b4d528e62de11c9b525be5d122 (patch)
tree7deaaa2ec388cd91b6b072783d2e4524ef9be263 /templates/shared
parentd67e40684f43b0eb744cad26e0265002f033dbc3 (diff)
downloadgitea-5cc0801de90d16b4d528e62de11c9b525be5d122.tar.gz
gitea-5cc0801de90d16b4d528e62de11c9b525be5d122.zip
Introduce GitHub markdown editor, keep EasyMDE as fallback (#23876)
The first step of the plan * #23290 Thanks to @silverwind for the first try in #15394 . Close #10729 and a lot of related issues. The EasyMDE is not removed, now it works as a fallback, users can switch between these two editors. Editor list: * Issue / PR comment * Issue / PR comment edit * Issue / PR comment quote reply * PR diff view, inline comment * PR diff view, inline comment edit * PR diff view, inline comment quote reply * Release editor * Wiki editor Some editors have attached dropzone Screenshots: <details> ![image](https://user-images.githubusercontent.com/2114189/229363558-7e44dcd4-fb6d-48a0-92f8-bd12f57bb0a0.png) ![image](https://user-images.githubusercontent.com/2114189/229363566-781489c8-5306-4347-9714-d71af5d5b0b1.png) ![image](https://user-images.githubusercontent.com/2114189/229363771-1717bf5c-0f2a-4fc2-ba84-4f5b2a343a11.png) ![image](https://user-images.githubusercontent.com/2114189/229363793-ad362d0f-a045-47bd-8f9d-05a9a842bb39.png) </details> --------- Co-authored-by: silverwind <me@silverwind.io>
Diffstat (limited to 'templates/shared')
-rw-r--r--templates/shared/combomarkdowneditor.tmpl47
1 files changed, 47 insertions, 0 deletions
diff --git a/templates/shared/combomarkdowneditor.tmpl b/templates/shared/combomarkdowneditor.tmpl
new file mode 100644
index 0000000000..0027ce8427
--- /dev/null
+++ b/templates/shared/combomarkdowneditor.tmpl
@@ -0,0 +1,47 @@
+{{/*
+Template Attributes:
+* locale
+* ContainerId / ContainerClasses : for the container element
+* MarkdownPreviewUrl / MarkdownPreviewContext: for the preview tab
+* TextareaName / TextareaContent / TextareaPlaceholder: for the main textarea
+* DropzoneParentContainer: for file upload (leave it empty if no upload)
+*/}}
+<div {{if .ContainerId}}id="{{.ContainerId}}"{{end}} class="combo-markdown-editor {{.ContainerClasses}}" data-dropzone-parent-container="{{.DropzoneParentContainer}}">
+ {{if .MarkdownPreviewUrl}}
+ <div class="ui top tabular menu">
+ <a class="active item" data-tab-for="markdown-writer">{{.locale.Tr "write"}}</a>
+ <a class="item" data-tab-for="markdown-previewer" data-preview-url="{{.MarkdownPreviewUrl}}" data-preview-context="{{.MarkdownPreviewContext}}">{{.locale.Tr "preview"}}</a>
+ </div>
+ {{end}}
+ <div class="ui tab active" data-tab-panel="markdown-writer">
+ <markdown-toolbar class="gt-df">
+ <div class="markdown-toolbar-group">
+ <md-header class="markdown-toolbar-button">{{svg "octicon-heading"}}</md-header>
+ <md-bold class="markdown-toolbar-button">{{svg "octicon-bold"}}</md-bold>
+ <md-italic class="markdown-toolbar-button">{{svg "octicon-italic"}}</md-italic>
+ </div>
+ <div class="markdown-toolbar-group">
+ <md-quote class="markdown-toolbar-button">{{svg "octicon-quote"}}</md-quote>
+ <md-code class="markdown-toolbar-button">{{svg "octicon-code"}}</md-code>
+ <md-link class="markdown-toolbar-button">{{svg "octicon-link"}}</md-link>
+ </div>
+ <div class="markdown-toolbar-group">
+ <md-unordered-list class="markdown-toolbar-button">{{svg "octicon-list-unordered"}}</md-unordered-list>
+ <md-ordered-list class="markdown-toolbar-button">{{svg "octicon-list-ordered"}}</md-ordered-list>
+ <md-task-list class="markdown-toolbar-button">{{svg "octicon-tasklist"}}</md-task-list>
+ </div>
+ <div class="markdown-toolbar-group">
+ <md-mention class="markdown-toolbar-button">{{svg "octicon-mention"}}</md-mention>
+ <md-ref class="markdown-toolbar-button">{{svg "octicon-cross-reference"}}</md-ref>
+ </div>
+ <div class="markdown-toolbar-group gt-f1"></div>
+ <div class="markdown-toolbar-group">
+ <span class="markdown-toolbar-button markdown-switch-easymde">{{svg "octicon-arrow-switch"}}</span>
+ </div>
+ </markdown-toolbar>
+ <textarea class="markdown-text-editor js-quick-submit" name="{{.TextareaName}}" placeholder="{{.TextareaPlaceholder}}">{{.TextareaContent}}</textarea>
+ </div>
+ <div class="ui tab markup" data-tab-panel="markdown-previewer">
+ {{.locale.Tr "loading"}}
+ </div>
+</div>