@@ -252,7 +252,7 @@ func renderViewPage(ctx *context.Context) (*git.Repository, *git.TreeEntry) {
252252
253253 rctx := renderhelper .NewRenderContextRepoWiki (ctx , ctx .Repo .Repository )
254254
255- renderFn := func (data []byte ) (escaped * charset.EscapeStatus , output template.HTML , err error ) {
255+ renderFn := func (data []byte , filename string ) (escaped * charset.EscapeStatus , output template.HTML , err error ) {
256256 buf := & strings.Builder {}
257257 markupRd , markupWr := io .Pipe ()
258258 defer markupWr .Close ()
@@ -265,13 +265,21 @@ func renderViewPage(ctx *context.Context) (*git.Repository, *git.TreeEntry) {
265265 close (done )
266266 }()
267267
268- err = markdown .Render (rctx , bytes .NewReader (data ), markupWr )
268+ // Detect markup type from filename and use the appropriate renderer
269+ // (.md -> markdown, .org -> orgmode)
270+ markupType := markup .DetectMarkupTypeByFileName (filename )
271+ if markupType == "" {
272+ // Default to markdown if detection fails
273+ markupType = markdown .MarkupName
274+ }
275+ fileRctx := rctx .WithMarkupType (markupType ).WithRelativePath (filename )
276+ err = markup .Render (fileRctx , bytes .NewReader (data ), markupWr )
269277 _ = markupWr .CloseWithError (err )
270278 <- done
271279 return escaped , output , err
272280 }
273281
274- ctx .Data ["EscapeStatus" ], ctx .Data ["WikiContentHTML" ], err = renderFn (data )
282+ ctx .Data ["EscapeStatus" ], ctx .Data ["WikiContentHTML" ], err = renderFn (data , pageFilename )
275283 if err != nil {
276284 ctx .ServerError ("Render" , err )
277285 return nil , nil
0 commit comments