summaryrefslogtreecommitdiffstats
path: root/routers/repo/wiki.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2021-04-20 06:25:08 +0800
committerGitHub <noreply@github.com>2021-04-19 18:25:08 -0400
commit9d99f6ab19ac3f97af3ca126720e9075c127a652 (patch)
treeb817b4582a871f83b91ad7977fe772fc3501c1e8 /routers/repo/wiki.go
parentc9cc6698d2172625854cd063301e63602204a2a1 (diff)
downloadgitea-9d99f6ab19ac3f97af3ca126720e9075c127a652.tar.gz
gitea-9d99f6ab19ac3f97af3ca126720e9075c127a652.zip
Refactor renders (#15175)
* Refactor renders * Some performance optimization * Fix comment * Transform reader * Fix csv test * Fix test * Fix tests * Improve optimaziation * Fix test * Fix test * Detect file encoding with reader * Improve optimaziation * reduce memory usage * improve code * fix build * Fix test * Fix for go1.15 * Fix render * Fix comment * Fix lint * Fix test * Don't use NormalEOF when unnecessary * revert change on util.go * Apply suggestions from code review Co-authored-by: zeripath <art27@cantab.net> * rename function * Take NormalEOF back Co-authored-by: zeripath <art27@cantab.net>
Diffstat (limited to 'routers/repo/wiki.go')
-rw-r--r--routers/repo/wiki.go31
1 files changed, 27 insertions, 4 deletions
diff --git a/routers/repo/wiki.go b/routers/repo/wiki.go
index 290e2e8bb2..1bdd06dce5 100644
--- a/routers/repo/wiki.go
+++ b/routers/repo/wiki.go
@@ -6,6 +6,7 @@
package repo
import (
+ "bytes"
"fmt"
"io/ioutil"
"net/http"
@@ -211,12 +212,34 @@ func renderViewPage(ctx *context.Context) (*git.Repository, *git.TreeEntry) {
return nil, nil
}
- metas := ctx.Repo.Repository.ComposeDocumentMetas()
- ctx.Data["content"] = markdown.RenderWiki(data, ctx.Repo.RepoLink, metas)
+ var rctx = &markup.RenderContext{
+ URLPrefix: ctx.Repo.RepoLink,
+ Metas: ctx.Repo.Repository.ComposeDocumentMetas(),
+ IsWiki: true,
+ }
+
+ var buf strings.Builder
+ if err := markdown.Render(rctx, bytes.NewReader(data), &buf); err != nil {
+ ctx.ServerError("Render", err)
+ return nil, nil
+ }
+ ctx.Data["content"] = buf.String()
+
+ buf.Reset()
+ if err := markdown.Render(rctx, bytes.NewReader(sidebarContent), &buf); err != nil {
+ ctx.ServerError("Render", err)
+ return nil, nil
+ }
ctx.Data["sidebarPresent"] = sidebarContent != nil
- ctx.Data["sidebarContent"] = markdown.RenderWiki(sidebarContent, ctx.Repo.RepoLink, metas)
+ ctx.Data["sidebarContent"] = buf.String()
+
+ buf.Reset()
+ if err := markdown.Render(rctx, bytes.NewReader(footerContent), &buf); err != nil {
+ ctx.ServerError("Render", err)
+ return nil, nil
+ }
ctx.Data["footerPresent"] = footerContent != nil
- ctx.Data["footerContent"] = markdown.RenderWiki(footerContent, ctx.Repo.RepoLink, metas)
+ ctx.Data["footerContent"] = buf.String()
// get commit count - wiki revisions
commitsCount, _ := wikiRepo.FileCommitsCount("master", pageFilename)