mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	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>     </details> --------- Co-authored-by: silverwind <me@silverwind.io>
This commit is contained in:
		
							
								
								
									
										47
									
								
								templates/shared/combomarkdowneditor.tmpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								templates/shared/combomarkdowneditor.tmpl
									
									
									
									
									
										Normal file
									
								
							@@ -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>
 | 
			
		||||
		Reference in New Issue
	
	Block a user