Browse Source

fix image display

tags/v0.9.99
slene 10 years ago
parent
commit
346db02d89
3 changed files with 26 additions and 9 deletions
  1. 8
    0
      modules/base/markdown.go
  2. 12
    7
      routers/repo/repo.go
  3. 6
    2
      templates/repo/single_file.tmpl

+ 8
- 0
modules/base/markdown.go View File

@@ -51,6 +51,14 @@ func IsTextFile(data []byte) (string, bool) {
return contentType, false
}

func IsImageFile(data []byte) (string, bool) {
contentType := http.DetectContentType(data)
if strings.Index(contentType, "img/") != -1 {
return contentType, true
}
return contentType, false
}

func IsReadmeFile(name string) bool {
name = strings.ToLower(name)
if len(name) < 6 {

+ 12
- 7
routers/repo/repo.go View File

@@ -120,15 +120,20 @@ func Single(ctx *middleware.Context, params martini.Params) {

data := blob.Contents()
_, isTextFile := base.IsTextFile(data)
_, isImageFile := base.IsImageFile(data)
ctx.Data["FileIsText"] = isTextFile

readmeExist := base.IsMarkdownFile(repoFile.Name) || base.IsReadmeFile(repoFile.Name)
ctx.Data["ReadmeExist"] = readmeExist
if readmeExist {
ctx.Data["FileContent"] = string(base.RenderMarkdown(data, ""))
if isImageFile {
ctx.Data["IsImageFile"] = true
} else {
if isTextFile {
ctx.Data["FileContent"] = string(data)
readmeExist := base.IsMarkdownFile(repoFile.Name) || base.IsReadmeFile(repoFile.Name)
ctx.Data["ReadmeExist"] = readmeExist
if readmeExist {
ctx.Data["FileContent"] = string(base.RenderMarkdown(data, ""))
} else {
if isTextFile {
ctx.Data["FileContent"] = string(data)
}
}
}
}
@@ -236,9 +241,9 @@ func SingleDownload(ctx *middleware.Context, params martini.Params) {

data := blob.Contents()
contentType, isTextFile := base.IsTextFile(data)
_, isImageFile := base.IsImageFile(data)
ctx.Res.Header().Set("Content-Type", contentType)
if !isTextFile {
ctx.Res.Header().Set("Content-Type", contentType)
ctx.Res.Header().Set("Content-Disposition", "attachment; filename="+filepath.Base(treename))
ctx.Res.Header().Set("Content-Transfer-Encoding", "binary")
}

+ 6
- 2
templates/repo/single_file.tmpl View File

@@ -23,7 +23,11 @@
</div>
{{if not .FileIsText}}
<div class="panel-footer text-center">
<a href="{{.FileLink}}" class="btn btn-default">View Raw</a>
{{if .IsImageFile}}
<img src="{{.FileLink}}">
{{else}}
<a href="{{.FileLink}}" class="btn btn-default">View Raw</a>
{{end}}
</div>
{{else}}
{{if .ReadmeExist}}
@@ -43,4 +47,4 @@
</div>
{{end}}
{{end}}
</div>
</div>

Loading…
Cancel
Save