@@ -191,6 +191,9 @@ func renderViewPage(ctx *context.Context) (*git.Repository, *git.TreeEntry) {
191
191
ctx .Data ["title" ] = pageName
192
192
ctx .Data ["RequireHighlightJS" ] = true
193
193
194
+ isSideBar := pageName == "_Sidebar"
195
+ isFooter := pageName == "_Footer"
196
+
194
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 {
@@ -203,20 +206,30 @@ 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
235
rctx := & markup.RenderContext {
@@ -237,27 +250,35 @@ func renderViewPage(ctx *context.Context) (*git.Repository, *git.TreeEntry) {
237
250
238
251
ctx .Data ["EscapeStatus" ], ctx .Data ["content" ] = charset .EscapeControlString (buf .String ())
239
252
240
- buf .Reset ()
241
- if err := markdown .Render (rctx , bytes .NewReader (sidebarContent ), & buf ); err != nil {
242
- if wikiRepo != nil {
243
- wikiRepo .Close ()
253
+ if ! isSideBar {
254
+ buf .Reset ()
255
+ if err := markdown .Render (rctx , bytes .NewReader (sidebarContent ), & buf ); err != nil {
256
+ if wikiRepo != nil {
257
+ wikiRepo .Close ()
258
+ }
259
+ ctx .ServerError ("Render" , err )
260
+ return nil , nil
244
261
}
245
- ctx .ServerError ("Render" , err )
246
- return nil , nil
262
+ ctx .Data ["sidebarPresent" ] = sidebarContent != nil
263
+ ctx .Data ["sidebarEscapeStatus" ], ctx .Data ["sidebarContent" ] = charset .EscapeControlString (buf .String ())
264
+ } else {
265
+ ctx .Data ["sidebarPresent" ] = false
247
266
}
248
- ctx .Data ["sidebarPresent" ] = sidebarContent != nil
249
- ctx .Data ["sidebarEscapeStatus" ], ctx .Data ["sidebarContent" ] = charset .EscapeControlString (buf .String ())
250
267
251
- buf .Reset ()
252
- if err := markdown .Render (rctx , bytes .NewReader (footerContent ), & buf ); err != nil {
253
- if wikiRepo != nil {
254
- wikiRepo .Close ()
268
+ if ! isFooter {
269
+ buf .Reset ()
270
+ if err := markdown .Render (rctx , bytes .NewReader (footerContent ), & buf ); err != nil {
271
+ if wikiRepo != nil {
272
+ wikiRepo .Close ()
273
+ }
274
+ ctx .ServerError ("Render" , err )
275
+ return nil , nil
255
276
}
256
- ctx .ServerError ("Render" , err )
257
- return nil , nil
277
+ ctx .Data ["footerPresent" ] = footerContent != nil
278
+ ctx .Data ["footerEscapeStatus" ], ctx .Data ["footerContent" ] = charset .EscapeControlString (buf .String ())
279
+ } else {
280
+ ctx .Data ["footerPresent" ] = false
258
281
}
259
- ctx .Data ["footerPresent" ] = footerContent != nil
260
- ctx .Data ["footerEscapeStatus" ], ctx .Data ["footerContent" ] = charset .EscapeControlString (buf .String ())
261
282
262
283
// get commit count - wiki revisions
263
284
commitsCount , _ := wikiRepo .FileCommitsCount ("master" , pageFilename )
0 commit comments