Browse Source

Fix unexpected rendering of README when it is not in Markdown

This patch also handles case when a file name looks like README
but is not a text file (e.g. image, PDF).
pull/4060/head
Unknwon 8 years ago
parent
commit
8cb903fbbb
No known key found for this signature in database
GPG Key ID: FB9F411CDD69BEC1
  1. 2
      README.md
  2. 2
      gogs.go
  3. 4
      modules/template/highlight/highlight.go
  4. 14
      public/config.codekit
  5. 6
      public/css/gogs.css
  6. 6
      public/less/_repository.less
  7. 6
      routers/repo/view.go
  8. 2
      templates/.VERSION
  9. 4
      templates/repo/view_file.tmpl
  10. 2
      templates/repo/view_list.tmpl

2
README.md

@ -3,7 +3,7 @@ Gogs - Go Git Service [![Build Status](https://travis-ci.org/gogits/gogs.svg?bra
![](https://github.com/gogits/gogs/blob/master/public/img/gogs-large-resize.png?raw=true)
##### Current tip version: 0.9.116 (see [Releases](https://github.com/gogits/gogs/releases) for binary versions ~~or submit a task on [alpha stage automated binary building system](https://build.gogs.io/)~~)
##### Current tip version: 0.9.117 (see [Releases](https://github.com/gogits/gogs/releases) for binary versions ~~or submit a task on [alpha stage automated binary building system](https://build.gogs.io/)~~)
| Web | UI | Preview |
|:-------------:|:-------:|:-------:|

2
gogs.go

@ -16,7 +16,7 @@ import (
"github.com/gogits/gogs/modules/setting"
)
const APP_VER = "0.9.116.0124"
const APP_VER = "0.9.117.0125"
func init() {
setting.AppVer = APP_VER

4
modules/template/highlight/highlight.go

@ -61,7 +61,9 @@ var (
}
// Extensions that are not same as highlight classes.
highlightMapping = map[string]string{}
highlightMapping = map[string]string{
".txt": "nohighlight",
}
)
func NewContext() {

14
public/config.codekit

@ -20,11 +20,11 @@
"outputPathIsOutsideProject": 0,
"outputPathIsSetByUser": 0
},
"\/css\/semantic-2.2.1.min.css": {
"\/css\/semantic-2.2.7.min.css": {
"fileType": 16,
"ignore": 0,
"ignoreWasSetByUser": 0,
"inputAbbreviatedPath": "\/css\/semantic-2.2.1.min.css",
"ignore": 1,
"ignoreWasSetByUser": 1,
"inputAbbreviatedPath": "\/css\/semantic-2.2.7.min.css",
"outputAbbreviatedPath": "No Output Path",
"outputPathIsOutsideProject": 0,
"outputPathIsSetByUser": 0
@ -150,12 +150,12 @@
"outputStyle": 1,
"syntaxCheckerStyle": 1
},
"\/js\/semantic-2.2.1.min.js": {
"\/js\/semantic-2.2.7.min.js": {
"fileType": 64,
"ignore": 1,
"ignoreWasSetByUser": 1,
"inputAbbreviatedPath": "\/js\/semantic-2.2.1.min.js",
"outputAbbreviatedPath": "\/js\/min\/semantic-2.2.1.min-min.js",
"inputAbbreviatedPath": "\/js\/semantic-2.2.7.min.js",
"outputAbbreviatedPath": "\/js\/min\/semantic-2.2.7.min-min.js",
"outputPathIsOutsideProject": 0,
"outputPathIsSetByUser": 0,
"outputStyle": 1,

6
public/css/gogs.css

@ -1303,7 +1303,11 @@ footer .ui.language .menu {
max-width: 100%;
}
.repository.file.list #file-content .view-raw img {
padding: 5px 5px 0 5px;
margin-bottom: -5px;
}
.repository.file.list #file-content .plain-text {
font-size: 14px;
padding: 10px 15px;
}
.repository.file.list #file-content .code-view * {
font-size: 12px;

6
public/less/_repository.less

@ -247,10 +247,14 @@
max-width: 100%;
}
img {
padding: 5px 5px 0 5px;
margin-bottom: -5px;
}
}
.plain-text {
font-size: 14px;
padding: 10px 15px;
}
.code-view {
* {
font-size: 12px;

6
routers/repo/view.go

@ -79,9 +79,8 @@ func renderDirectory(ctx *context.Context, treeLink string) {
buf = buf[:n]
isTextFile := base.IsTextFile(buf)
ctx.Data["FileIsText"] = isTextFile
ctx.Data["IsTextFile"] = isTextFile
ctx.Data["FileName"] = readmeFile.Name()
// FIXME: what happens when README file is an image?
if isTextFile {
d, _ := ioutil.ReadAll(dataRc)
buf = append(buf, d...)
@ -156,10 +155,9 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st
isMarkdown := markdown.IsMarkdownFile(blob.Name())
ctx.Data["IsMarkdown"] = isMarkdown
readmeExist := isMarkdown || markdown.IsReadmeFile(blob.Name())
readmeExist := isMarkdown && markdown.IsReadmeFile(blob.Name())
ctx.Data["ReadmeExist"] = readmeExist
if readmeExist {
// TODO: don't need to render if it's a README but not Markdown file.
ctx.Data["FileContent"] = string(markdown.Render(buf, path.Dir(treeLink), ctx.Repo.Repository.ComposeMetas()))
} else {
// Building code view blocks with line number on server side.

2
templates/.VERSION

@ -1 +1 @@
0.9.116.0124
0.9.117.0125

4
templates/repo/view_file.tmpl

@ -36,8 +36,8 @@
{{end}}
</h4>
<div class="ui attached table segment">
<div class="file-view {{if .IsMarkdown}}markdown{{else if .IsTextFile}}code-view{{end}} has-emoji">
{{if .IsMarkdown}}
<div class="file-view {{if .IsMarkdown}}markdown{{else if .ReadmeInList}}plain-text{{else if .IsTextFile}}code-view{{end}} has-emoji">
{{if or .IsMarkdown .ReadmeInList}}
{{if .FileContent}}{{.FileContent | Str2html}}{{end}}
{{else if not .IsTextFile}}
<div class="view-raw ui center">

2
templates/repo/view_list.tmpl

@ -52,6 +52,6 @@
{{end}}
</tbody>
</table>
{{if .ReadmeExist}}
{{if and .ReadmeExist .IsTextFile}}
{{template "repo/view_file" .}}
{{end}}

Loading…
Cancel
Save