@@ -191,7 +191,10 @@ func renderViewPage(ctx *context.Context) (*git.Repository, *git.TreeEntry) {
191
191
ctx .Data ["title" ] = pageName
192
192
ctx .Data ["RequireHighlightJS" ] = true
193
193
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
195
198
data , entry , pageFilename , noEntry := wikiContentsByName (ctx , commit , pageName )
196
199
if noEntry {
197
200
ctx .Redirect (ctx .Repo .RepoLink + "/wiki/?action=_pages" )
@@ -203,23 +206,33 @@ func renderViewPage(ctx *context.Context) (*git.Repository, *git.TreeEntry) {
203
206
return nil , nil
204
207
}
205
208
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
210
217
}
211
- return nil , nil
218
+ } else {
219
+ sidebarContent = data
212
220
}
213
221
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
218
230
}
219
- return nil , nil
231
+ } else {
232
+ footerContent = data
220
233
}
221
234
222
- var rctx = & markup.RenderContext {
235
+ rctx : = & markup.RenderContext {
223
236
URLPrefix : ctx .Repo .RepoLink ,
224
237
Metas : ctx .Repo .Repository .ComposeDocumentMetas (),
225
238
IsWiki : true ,
@@ -236,27 +249,35 @@ func renderViewPage(ctx *context.Context) (*git.Repository, *git.TreeEntry) {
236
249
237
250
ctx .Data ["EscapeStatus" ], ctx .Data ["content" ] = charset .EscapeControlString (buf .String ())
238
251
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
243
260
}
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
246
265
}
247
- ctx .Data ["sidebarPresent" ] = sidebarContent != nil
248
- ctx .Data ["sidebarEscapeStatus" ], ctx .Data ["sidebarContent" ] = charset .EscapeControlString (buf .String ())
249
266
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
254
275
}
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
257
280
}
258
- ctx .Data ["footerPresent" ] = footerContent != nil
259
- ctx .Data ["footerEscapeStatus" ], ctx .Data ["footerContent" ] = charset .EscapeControlString (buf .String ())
260
281
261
282
// get commit count - wiki revisions
262
283
commitsCount , _ := wikiRepo .FileCommitsCount ("master" , pageFilename )
@@ -290,7 +311,7 @@ func renderRevisionPage(ctx *context.Context) (*git.Repository, *git.TreeEntry)
290
311
ctx .Data ["Username" ] = ctx .Repo .Owner .Name
291
312
ctx .Data ["Reponame" ] = ctx .Repo .Repository .Name
292
313
293
- //lookup filename in wiki - get filecontent, gitTree entry , real filename
314
+ // lookup filename in wiki - get filecontent, gitTree entry , real filename
294
315
data , entry , pageFilename , noEntry := wikiContentsByName (ctx , commit , pageName )
295
316
if noEntry {
296
317
ctx .Redirect (ctx .Repo .RepoLink + "/wiki/?action=_pages" )
@@ -364,7 +385,7 @@ func renderEditPage(ctx *context.Context) {
364
385
ctx .Data ["title" ] = pageName
365
386
ctx .Data ["RequireHighlightJS" ] = true
366
387
367
- //lookup filename in wiki - get filecontent, gitTree entry , real filename
388
+ // lookup filename in wiki - get filecontent, gitTree entry , real filename
368
389
data , entry , _ , noEntry := wikiContentsByName (ctx , commit , pageName )
369
390
if noEntry {
370
391
ctx .Redirect (ctx .Repo .RepoLink + "/wiki/?action=_pages" )
0 commit comments