From 6cf2d5b347f2bc4d6f2143152d4f87ffbe578778 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Sun, 15 Oct 2017 09:16:05 +0800 Subject: [PATCH 1/3] fix plain readme didn't render correctly on repo home page --- routers/repo/view.go | 3 +++ templates/repo/view_file.tmpl | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/routers/repo/view.go b/routers/repo/view.go index fa1087fe09304..a9053a237a752 100644 --- a/routers/repo/view.go +++ b/routers/repo/view.go @@ -93,6 +93,7 @@ func renderDirectory(ctx *context.Context, treeLink string) { if isTextFile { d, _ := ioutil.ReadAll(dataRc) buf = append(buf, d...) + ctx.Data["IsRenderedHTML"] = true newbuf := markup.Render(readmeFile.Name(), buf, treeLink, ctx.Repo.Repository.ComposeMetas()) if newbuf != nil { ctx.Data["IsMarkup"] = true @@ -201,8 +202,10 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st readmeExist := markup.IsReadmeFile(blob.Name()) ctx.Data["ReadmeExist"] = readmeExist if isSupportedMarkup { + ctx.Data["IsRenderedHTML"] = true ctx.Data["FileContent"] = string(markup.Render(blob.Name(), buf, path.Dir(treeLink), ctx.Repo.Repository.ComposeMetas())) } else if readmeExist { + ctx.Data["IsRenderedHTML"] = true ctx.Data["FileContent"] = string(bytes.Replace(buf, []byte("\n"), []byte(`
`), -1)) } else { // Building code view blocks with line number on server side. diff --git a/templates/repo/view_file.tmpl b/templates/repo/view_file.tmpl index 898b9b5557631..c68da4fae5f08 100644 --- a/templates/repo/view_file.tmpl +++ b/templates/repo/view_file.tmpl @@ -36,8 +36,8 @@ {{end}}
-
- {{if .IsMarkup}} +
+ {{if .IsRenderedHTML}} {{if .FileContent}}{{.FileContent | Str2html}}{{end}} {{else if not .IsTextFile}}
From 32b1762fe4f6e48aedad1b0c5cbac4ed15952ff0 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Sun, 15 Oct 2017 09:33:30 +0800 Subject: [PATCH 2/3] fix missing render --- routers/repo/view.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/routers/repo/view.go b/routers/repo/view.go index a9053a237a752..87d63a2faeefa 100644 --- a/routers/repo/view.go +++ b/routers/repo/view.go @@ -201,11 +201,10 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st ctx.Data["IsMarkup"] = isSupportedMarkup readmeExist := markup.IsReadmeFile(blob.Name()) ctx.Data["ReadmeExist"] = readmeExist + ctx.Data["IsRenderedHTML"] = true if isSupportedMarkup { - ctx.Data["IsRenderedHTML"] = true ctx.Data["FileContent"] = string(markup.Render(blob.Name(), buf, path.Dir(treeLink), ctx.Repo.Repository.ComposeMetas())) } else if readmeExist { - ctx.Data["IsRenderedHTML"] = true ctx.Data["FileContent"] = string(bytes.Replace(buf, []byte("\n"), []byte(`
`), -1)) } else { // Building code view blocks with line number on server side. From dee2f54684f70d0c4c9afa0cc37c4460ff554f92 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Mon, 16 Oct 2017 09:53:36 +0800 Subject: [PATCH 3/3] remove unused template variables --- routers/repo/view.go | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/routers/repo/view.go b/routers/repo/view.go index 87d63a2faeefa..e8e1bacc4efad 100644 --- a/routers/repo/view.go +++ b/routers/repo/view.go @@ -94,16 +94,11 @@ func renderDirectory(ctx *context.Context, treeLink string) { d, _ := ioutil.ReadAll(dataRc) buf = append(buf, d...) ctx.Data["IsRenderedHTML"] = true - newbuf := markup.Render(readmeFile.Name(), buf, treeLink, ctx.Repo.Repository.ComposeMetas()) - if newbuf != nil { - ctx.Data["IsMarkup"] = true + if markup.Type(readmeFile.Name()) != "" { + ctx.Data["FileContent"] = string(markup.Render(readmeFile.Name(), buf, treeLink, ctx.Repo.Repository.ComposeMetas())) } else { - // FIXME This is the only way to show non-markdown files - // instead of a broken "View Raw" link - ctx.Data["IsMarkup"] = false - newbuf = bytes.Replace(buf, []byte("\n"), []byte(`
`), -1) + ctx.Data["FileContent"] = string(bytes.Replace(buf, []byte("\n"), []byte(`
`), -1)) } - ctx.Data["FileContent"] = string(newbuf) } } @@ -196,15 +191,13 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st d, _ := ioutil.ReadAll(dataRc) buf = append(buf, d...) - tp := markup.Type(blob.Name()) - isSupportedMarkup := tp != "" - ctx.Data["IsMarkup"] = isSupportedMarkup readmeExist := markup.IsReadmeFile(blob.Name()) ctx.Data["ReadmeExist"] = readmeExist - ctx.Data["IsRenderedHTML"] = true - if isSupportedMarkup { + if markup.Type(blob.Name()) != "" { + ctx.Data["IsRenderedHTML"] = true ctx.Data["FileContent"] = string(markup.Render(blob.Name(), buf, path.Dir(treeLink), ctx.Repo.Repository.ComposeMetas())) } else if readmeExist { + ctx.Data["IsRenderedHTML"] = true ctx.Data["FileContent"] = string(bytes.Replace(buf, []byte("\n"), []byte(`
`), -1)) } else { // Building code view blocks with line number on server side.