Skip to content

Commit

Permalink
Fix unexpected rendering of README when it is not in Markdown
Browse files Browse the repository at this point in the history
This patch also handles case when a file name looks like README
but is not a text file (e.g. image, PDF).
  • Loading branch information
unknwon committed Jan 25, 2017
1 parent d1c327d commit 8cb903f
Show file tree
Hide file tree
Showing 10 changed files with 28 additions and 20 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
|:-------------:|:-------:|:-------:|
Expand Down
2 changes: 1 addition & 1 deletion gogs.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 3 additions & 1 deletion modules/template/highlight/highlight.go
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand Down
14 changes: 7 additions & 7 deletions public/config.codekit
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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,
Expand Down
6 changes: 5 additions & 1 deletion public/css/gogs.css
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
6 changes: 5 additions & 1 deletion public/less/_repository.less
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
6 changes: 2 additions & 4 deletions routers/repo/view.go
Original file line number Diff line number Diff line change
Expand Up @@ -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...)
Expand Down Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion templates/.VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.9.116.0124
0.9.117.0125
4 changes: 2 additions & 2 deletions templates/repo/view_file.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -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">
Expand Down
2 changes: 1 addition & 1 deletion templates/repo/view_list.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,6 @@
{{end}}
</tbody>
</table>
{{if .ReadmeExist}}
{{if and .ReadmeExist .IsTextFile}}
{{template "repo/view_file" .}}
{{end}}

0 comments on commit 8cb903f

Please sign in to comment.