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 /models | |
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 'models')
-rw-r--r-- | models/repo.go | 23 |
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) |