diff options
author | zeripath <art27@cantab.net> | 2020-05-24 09:14:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-24 09:14:26 +0100 |
commit | 814ca9ffea229f55f1f69b34d9a7f84054115669 (patch) | |
tree | 1d6fcfaaa7035a42d6d489c1c57987a645e20615 /routers/api/v1 | |
parent | 3761bdb640f1aeb9c68b3b491640eb9b0f9f9b0e (diff) | |
download | gitea-814ca9ffea229f55f1f69b34d9a7f84054115669.tar.gz gitea-814ca9ffea229f55f1f69b34d9a7f84054115669.zip |
Allow different HardBreaks settings for documents and comments (#11515)
GH has different HardBreaks behaviour for markdown comments and documents.
Comments have hard breaks and documents have soft breaks - therefore Gitea's rendering will always be different from GH's if we only provide one setting.
Here we split the setting in to two - one for documents and one for comments and other things.
Signed-off-by: Andrew Thornton art27@cantab.net
Changes to index.js as per @silverwind
Co-authored-by: silverwind <me@silverwind.io>
Changes to docs as per @guillep2k
Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com>
Diffstat (limited to 'routers/api/v1')
-rw-r--r-- | routers/api/v1/misc/markdown.go | 14 | ||||
-rw-r--r-- | routers/api/v1/misc/markdown_test.go | 2 |
2 files changed, 13 insertions, 3 deletions
diff --git a/routers/api/v1/misc/markdown.go b/routers/api/v1/misc/markdown.go index 5a44db5e8b..a10c288df4 100644 --- a/routers/api/v1/misc/markdown.go +++ b/routers/api/v1/misc/markdown.go @@ -48,10 +48,12 @@ func Markdown(ctx *context.APIContext, form api.MarkdownOption) { } switch form.Mode { + case "comment": + fallthrough case "gfm": md := []byte(form.Text) urlPrefix := form.Context - var meta map[string]string + meta := map[string]string{} if !strings.HasPrefix(setting.AppSubURL+"/", urlPrefix) { // check if urlPrefix is already set to a URL linkRegex, _ := xurls.StrictMatchingScheme("https?://") @@ -61,7 +63,15 @@ func Markdown(ctx *context.APIContext, form api.MarkdownOption) { } } if ctx.Repo != nil && ctx.Repo.Repository != nil { - meta = ctx.Repo.Repository.ComposeMetas() + // "gfm" = Github Flavored Markdown - set this to render as a document + if form.Mode == "gfm" { + meta = ctx.Repo.Repository.ComposeDocumentMetas() + } else { + meta = ctx.Repo.Repository.ComposeMetas() + } + } + if form.Mode == "gfm" { + meta["mode"] = "document" } if form.Wiki { _, err := ctx.Write([]byte(markdown.RenderWiki(md, urlPrefix, meta))) diff --git a/routers/api/v1/misc/markdown_test.go b/routers/api/v1/misc/markdown_test.go index 264a6010f9..6c81ec8eb4 100644 --- a/routers/api/v1/misc/markdown_test.go +++ b/routers/api/v1/misc/markdown_test.go @@ -94,7 +94,7 @@ Here are some links to the most important topics. You can find the full list of <p><strong>Wine Staging</strong> on website <a href="http://wine-staging.com" rel="nofollow">wine-staging.com</a>.</p> <h2 id="user-content-quick-links">Quick Links</h2> <p>Here are some links to the most important topics. You can find the full list of pages at the sidebar.</p> -<p><a href="` + AppSubURL + `wiki/Configuration" rel="nofollow">Configuration</a><br/> +<p><a href="` + AppSubURL + `wiki/Configuration" rel="nofollow">Configuration</a> <a href="` + AppSubURL + `wiki/raw/images/icon-bug.png" rel="nofollow"><img src="` + AppSubURL + `wiki/raw/images/icon-bug.png" title="icon-bug.png" alt="images/icon-bug.png"/></a></p> `, // Guard wiki sidebar: special syntax |