summaryrefslogtreecommitdiffstats
path: root/models
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2020-05-24 09:14:26 +0100
committerGitHub <noreply@github.com>2020-05-24 09:14:26 +0100
commit814ca9ffea229f55f1f69b34d9a7f84054115669 (patch)
tree1d6fcfaaa7035a42d6d489c1c57987a645e20615 /models
parent3761bdb640f1aeb9c68b3b491640eb9b0f9f9b0e (diff)
downloadgitea-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 'models')
-rw-r--r--models/repo.go23
1 files changed, 19 insertions, 4 deletions
diff --git a/models/repo.go b/models/repo.go
index c45abdf63d..abf32360a4 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -174,9 +174,10 @@ type Repository struct {
*Mirror `xorm:"-"`
Status RepositoryStatus `xorm:"NOT NULL DEFAULT 0"`
- RenderingMetas map[string]string `xorm:"-"`
- Units []*RepoUnit `xorm:"-"`
- PrimaryLanguage *LanguageStat `xorm:"-"`
+ RenderingMetas map[string]string `xorm:"-"`
+ DocumentRenderingMetas map[string]string `xorm:"-"`
+ Units []*RepoUnit `xorm:"-"`
+ PrimaryLanguage *LanguageStat `xorm:"-"`
IsFork bool `xorm:"INDEX NOT NULL DEFAULT false"`
ForkID int64 `xorm:"INDEX"`
@@ -545,11 +546,12 @@ func (repo *Repository) mustOwner(e Engine) *User {
// ComposeMetas composes a map of metas for properly rendering issue links and external issue trackers.
func (repo *Repository) ComposeMetas() map[string]string {
- if repo.RenderingMetas == nil {
+ if len(repo.RenderingMetas) == 0 {
metas := map[string]string{
"user": repo.OwnerName,
"repo": repo.Name,
"repoPath": repo.RepoPath(),
+ "mode": "comment",
}
unit, err := repo.GetUnit(UnitTypeExternalTracker)
@@ -581,6 +583,19 @@ func (repo *Repository) ComposeMetas() map[string]string {
return repo.RenderingMetas
}
+// ComposeDocumentMetas composes a map of metas for properly rendering documents
+func (repo *Repository) ComposeDocumentMetas() map[string]string {
+ if len(repo.DocumentRenderingMetas) == 0 {
+ metas := map[string]string{}
+ for k, v := range repo.ComposeMetas() {
+ metas[k] = v
+ }
+ metas["mode"] = "document"
+ repo.DocumentRenderingMetas = metas
+ }
+ return repo.DocumentRenderingMetas
+}
+
// DeleteWiki removes the actual and local copy of repository wiki.
func (repo *Repository) DeleteWiki() error {
return repo.deleteWiki(x)