From 481c66a91f01ebbc3ebecab1c010791e232bb2ca Mon Sep 17 00:00:00 2001 From: George Harvey <11440490+HarvsG@users.noreply.github.com> Date: Mon, 21 Oct 2019 07:54:18 +0100 Subject: [PATCH] Allows external rendering of other filetypes 2 (#8300) * allow external rendering of other filetypes fixes #4996 and #7614 allows rendering of non-tex files, or otherwise accounted for filetypes * Moves flie-size check before read() And performs gofmt -s * Only reads if markType is detected --- routers/repo/view.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/routers/repo/view.go b/routers/repo/view.go index c4e6a6922..a2e431e43 100644 --- a/routers/repo/view.go +++ b/routers/repo/view.go @@ -346,6 +346,20 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st ctx.Data["IsAudioFile"] = true case base.IsImageFile(buf): ctx.Data["IsImageFile"] = true + default: + if fileSize >= setting.UI.MaxDisplayFileSize { + ctx.Data["IsFileTooLarge"] = true + break + } + + if markupType := markup.Type(blob.Name()); markupType != "" { + d, _ := ioutil.ReadAll(dataRc) + buf = append(buf, d...) + ctx.Data["IsMarkup"] = true + ctx.Data["MarkupType"] = markupType + ctx.Data["FileContent"] = string(markup.Render(blob.Name(), buf, path.Dir(treeLink), ctx.Repo.Repository.ComposeMetas())) + } + } if ctx.Repo.CanEnableEditor() {