Skip to content

Commit 8ff542c

Browse files
lunnyzeripath
andauthored
When view _Siderbar or _Footer, just display once (#19501) (#19522)
Co-authored-by: zeripath <[email protected]>
1 parent 39a0db6 commit 8ff542c

File tree

1 file changed

+51
-30
lines changed

1 file changed

+51
-30
lines changed

routers/web/repo/wiki.go

Lines changed: 51 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,10 @@ func renderViewPage(ctx *context.Context) (*git.Repository, *git.TreeEntry) {
191191
ctx.Data["title"] = pageName
192192
ctx.Data["RequireHighlightJS"] = true
193193

194-
//lookup filename in wiki - get filecontent, gitTree entry , real filename
194+
isSideBar := pageName == "_Sidebar"
195+
isFooter := pageName == "_Footer"
196+
197+
// lookup filename in wiki - get filecontent, gitTree entry , real filename
195198
data, entry, pageFilename, noEntry := wikiContentsByName(ctx, commit, pageName)
196199
if noEntry {
197200
ctx.Redirect(ctx.Repo.RepoLink + "/wiki/?action=_pages")
@@ -203,23 +206,33 @@ func renderViewPage(ctx *context.Context) (*git.Repository, *git.TreeEntry) {
203206
return nil, nil
204207
}
205208

206-
sidebarContent, _, _, _ := wikiContentsByName(ctx, commit, "_Sidebar")
207-
if ctx.Written() {
208-
if wikiRepo != nil {
209-
wikiRepo.Close()
209+
var sidebarContent []byte
210+
if !isSideBar {
211+
sidebarContent, _, _, _ = wikiContentsByName(ctx, commit, "_Sidebar")
212+
if ctx.Written() {
213+
if wikiRepo != nil {
214+
wikiRepo.Close()
215+
}
216+
return nil, nil
210217
}
211-
return nil, nil
218+
} else {
219+
sidebarContent = data
212220
}
213221

214-
footerContent, _, _, _ := wikiContentsByName(ctx, commit, "_Footer")
215-
if ctx.Written() {
216-
if wikiRepo != nil {
217-
wikiRepo.Close()
222+
var footerContent []byte
223+
if !isFooter {
224+
footerContent, _, _, _ = wikiContentsByName(ctx, commit, "_Footer")
225+
if ctx.Written() {
226+
if wikiRepo != nil {
227+
wikiRepo.Close()
228+
}
229+
return nil, nil
218230
}
219-
return nil, nil
231+
} else {
232+
footerContent = data
220233
}
221234

222-
var rctx = &markup.RenderContext{
235+
rctx := &markup.RenderContext{
223236
URLPrefix: ctx.Repo.RepoLink,
224237
Metas: ctx.Repo.Repository.ComposeDocumentMetas(),
225238
IsWiki: true,
@@ -236,27 +249,35 @@ func renderViewPage(ctx *context.Context) (*git.Repository, *git.TreeEntry) {
236249

237250
ctx.Data["EscapeStatus"], ctx.Data["content"] = charset.EscapeControlString(buf.String())
238251

239-
buf.Reset()
240-
if err := markdown.Render(rctx, bytes.NewReader(sidebarContent), &buf); err != nil {
241-
if wikiRepo != nil {
242-
wikiRepo.Close()
252+
if !isSideBar {
253+
buf.Reset()
254+
if err := markdown.Render(rctx, bytes.NewReader(sidebarContent), &buf); err != nil {
255+
if wikiRepo != nil {
256+
wikiRepo.Close()
257+
}
258+
ctx.ServerError("Render", err)
259+
return nil, nil
243260
}
244-
ctx.ServerError("Render", err)
245-
return nil, nil
261+
ctx.Data["sidebarPresent"] = sidebarContent != nil
262+
ctx.Data["sidebarEscapeStatus"], ctx.Data["sidebarContent"] = charset.EscapeControlString(buf.String())
263+
} else {
264+
ctx.Data["sidebarPresent"] = false
246265
}
247-
ctx.Data["sidebarPresent"] = sidebarContent != nil
248-
ctx.Data["sidebarEscapeStatus"], ctx.Data["sidebarContent"] = charset.EscapeControlString(buf.String())
249266

250-
buf.Reset()
251-
if err := markdown.Render(rctx, bytes.NewReader(footerContent), &buf); err != nil {
252-
if wikiRepo != nil {
253-
wikiRepo.Close()
267+
if !isFooter {
268+
buf.Reset()
269+
if err := markdown.Render(rctx, bytes.NewReader(footerContent), &buf); err != nil {
270+
if wikiRepo != nil {
271+
wikiRepo.Close()
272+
}
273+
ctx.ServerError("Render", err)
274+
return nil, nil
254275
}
255-
ctx.ServerError("Render", err)
256-
return nil, nil
276+
ctx.Data["footerPresent"] = footerContent != nil
277+
ctx.Data["footerEscapeStatus"], ctx.Data["footerContent"] = charset.EscapeControlString(buf.String())
278+
} else {
279+
ctx.Data["footerPresent"] = false
257280
}
258-
ctx.Data["footerPresent"] = footerContent != nil
259-
ctx.Data["footerEscapeStatus"], ctx.Data["footerContent"] = charset.EscapeControlString(buf.String())
260281

261282
// get commit count - wiki revisions
262283
commitsCount, _ := wikiRepo.FileCommitsCount("master", pageFilename)
@@ -290,7 +311,7 @@ func renderRevisionPage(ctx *context.Context) (*git.Repository, *git.TreeEntry)
290311
ctx.Data["Username"] = ctx.Repo.Owner.Name
291312
ctx.Data["Reponame"] = ctx.Repo.Repository.Name
292313

293-
//lookup filename in wiki - get filecontent, gitTree entry , real filename
314+
// lookup filename in wiki - get filecontent, gitTree entry , real filename
294315
data, entry, pageFilename, noEntry := wikiContentsByName(ctx, commit, pageName)
295316
if noEntry {
296317
ctx.Redirect(ctx.Repo.RepoLink + "/wiki/?action=_pages")
@@ -364,7 +385,7 @@ func renderEditPage(ctx *context.Context) {
364385
ctx.Data["title"] = pageName
365386
ctx.Data["RequireHighlightJS"] = true
366387

367-
//lookup filename in wiki - get filecontent, gitTree entry , real filename
388+
// lookup filename in wiki - get filecontent, gitTree entry , real filename
368389
data, entry, _, noEntry := wikiContentsByName(ctx, commit, pageName)
369390
if noEntry {
370391
ctx.Redirect(ctx.Repo.RepoLink + "/wiki/?action=_pages")

0 commit comments

Comments
 (0)