Skip to content

Commit 5d2b7ba

Browse files
authored
Add EasyMDE support for release content editor (#14744)
* Add easyMDE(simpleMDE) support for release content editor Signed-off-by: a1012112796 <[email protected]>
1 parent 7bf61a8 commit 5d2b7ba

File tree

3 files changed

+34
-2
lines changed

3 files changed

+34
-2
lines changed

routers/repo/release.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,8 @@ func LatestRelease(ctx *context.Context) {
210210
func NewRelease(ctx *context.Context) {
211211
ctx.Data["Title"] = ctx.Tr("repo.release.new_release")
212212
ctx.Data["PageIsReleaseList"] = true
213+
ctx.Data["RequireSimpleMDE"] = true
214+
ctx.Data["RequireTribute"] = true
213215
ctx.Data["tag_target"] = ctx.Repo.Repository.DefaultBranch
214216
if tagName := ctx.Query("tag"); len(tagName) > 0 {
215217
rel, err := models.GetRelease(ctx.Repo.Repository.ID, tagName)
@@ -235,6 +237,8 @@ func NewReleasePost(ctx *context.Context) {
235237
form := web.GetForm(ctx).(*auth.NewReleaseForm)
236238
ctx.Data["Title"] = ctx.Tr("repo.release.new_release")
237239
ctx.Data["PageIsReleaseList"] = true
240+
ctx.Data["RequireSimpleMDE"] = true
241+
ctx.Data["RequireTribute"] = true
238242

239243
if ctx.HasError() {
240244
ctx.HTML(200, tplReleaseNew)
@@ -313,6 +317,8 @@ func EditRelease(ctx *context.Context) {
313317
ctx.Data["Title"] = ctx.Tr("repo.release.edit_release")
314318
ctx.Data["PageIsReleaseList"] = true
315319
ctx.Data["PageIsEditRelease"] = true
320+
ctx.Data["RequireSimpleMDE"] = true
321+
ctx.Data["RequireTribute"] = true
316322
ctx.Data["IsAttachmentEnabled"] = setting.Attachment.Enabled
317323
upload.AddUploadContext(ctx, "release")
318324

@@ -343,6 +349,8 @@ func EditReleasePost(ctx *context.Context) {
343349
ctx.Data["Title"] = ctx.Tr("repo.release.edit_release")
344350
ctx.Data["PageIsReleaseList"] = true
345351
ctx.Data["PageIsEditRelease"] = true
352+
ctx.Data["RequireSimpleMDE"] = true
353+
ctx.Data["RequireTribute"] = true
346354

347355
tagName := ctx.Params("*")
348356
rel, err := models.GetRelease(ctx.Repo.Repository.ID, tagName)

templates/repo/release/new.tmpl

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,18 @@
4444
<label>{{.i18n.Tr "repo.release.title"}}</label>
4545
<input name="title" placeholder="{{.i18n.Tr "repo.release.title"}}" value="{{.title}}" autofocus required maxlength="255">
4646
</div>
47-
<div class="field">
47+
<div class="field content-editor">
4848
<label>{{.i18n.Tr "repo.release.content"}}</label>
49-
<textarea name="content">{{.content}}</textarea>
49+
<div class="ui top tabular menu" data-write="write" data-preview="preview">
50+
<a class="active write item" data-tab="write">{{$.i18n.Tr "write"}}</a>
51+
<a class="preview item" data-tab="preview" data-url="{{$.Repository.APIURL}}/markdown" data-context="{{$.RepoLink}}">{{$.i18n.Tr "preview"}}</a>
52+
</div>
53+
<div class="ui bottom active tab" data-tab="write">
54+
<textarea name="content">{{.content}}</textarea>
55+
</div>
56+
<div class="ui bottom tab markdown" data-tab="preview">
57+
{{$.i18n.Tr "loading"}}
58+
</div>
5059
</div>
5160
{{if .IsAttachmentEnabled}}
5261
<div class="field">

web_src/js/index.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1734,6 +1734,20 @@ async function initEditor() {
17341734
});
17351735
}
17361736

1737+
function initReleaseEditor() {
1738+
const $editor = $('.repository.new.release .content-editor');
1739+
if ($editor.length === 0) {
1740+
return false;
1741+
}
1742+
1743+
const $textarea = $editor.find('textarea');
1744+
attachTribute($textarea.get(), {mentions: false, emoji: true});
1745+
const $files = $editor.parent().find('.files');
1746+
const $simplemde = setCommentSimpleMDE($textarea);
1747+
initCommentPreviewTab($editor);
1748+
initSimpleMDEImagePaste($simplemde, $files);
1749+
}
1750+
17371751
function initOrganization() {
17381752
if ($('.organization').length === 0) {
17391753
return;
@@ -2653,6 +2667,7 @@ $(document).ready(async () => {
26532667
initTableSort();
26542668
initNotificationsTable();
26552669
initPullRequestMergeInstruction();
2670+
initReleaseEditor();
26562671

26572672
const routes = {
26582673
'div.user.settings': initUserSettings,

0 commit comments

Comments
 (0)