mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-01 05:36:19 +01:00
* Add MaxDisplayFileSize setting * Don't show files that are too large * Localized FileTooLarge * Change IsFileTooBig => IsFileTooLarge
This commit is contained in:
parent
de10387f41
commit
f4ab50501e
6 changed files with 730 additions and 934 deletions
|
@ -31,6 +31,8 @@ FEED_MAX_COMMIT_NUM = 5
|
||||||
; An invalid color like "none" or "disable" will have the default style
|
; An invalid color like "none" or "disable" will have the default style
|
||||||
; More info: https://developers.google.com/web/updates/2014/11/Support-for-theme-color-in-Chrome-39-for-Android
|
; More info: https://developers.google.com/web/updates/2014/11/Support-for-theme-color-in-Chrome-39-for-Android
|
||||||
THEME_COLOR_META_TAG = `#ff5343`
|
THEME_COLOR_META_TAG = `#ff5343`
|
||||||
|
; Max size of files to be displayed (defaults is 8MiB)
|
||||||
|
MAX_DISPLAY_FILE_SIZE = 8388608
|
||||||
|
|
||||||
[ui.admin]
|
[ui.admin]
|
||||||
; Number of users that are showed in one page
|
; Number of users that are showed in one page
|
||||||
|
|
|
@ -409,6 +409,7 @@ file_raw = Raw
|
||||||
file_history = History
|
file_history = History
|
||||||
file_view_raw = View Raw
|
file_view_raw = View Raw
|
||||||
file_permalink = Permalink
|
file_permalink = Permalink
|
||||||
|
file_too_large = This file is too large to be shown
|
||||||
|
|
||||||
commits.commits = Commits
|
commits.commits = Commits
|
||||||
commits.search = Search commits
|
commits.search = Search commits
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -123,6 +123,7 @@ var (
|
||||||
AdminNoticePagingNum int
|
AdminNoticePagingNum int
|
||||||
AdminOrgPagingNum int
|
AdminOrgPagingNum int
|
||||||
ThemeColorMetaTag string
|
ThemeColorMetaTag string
|
||||||
|
MaxDisplayFileSize int64
|
||||||
|
|
||||||
// Markdown sttings
|
// Markdown sttings
|
||||||
Markdown struct {
|
Markdown struct {
|
||||||
|
@ -441,6 +442,7 @@ func NewContext() {
|
||||||
ExplorePagingNum = sec.Key("EXPLORE_PAGING_NUM").MustInt(20)
|
ExplorePagingNum = sec.Key("EXPLORE_PAGING_NUM").MustInt(20)
|
||||||
IssuePagingNum = sec.Key("ISSUE_PAGING_NUM").MustInt(10)
|
IssuePagingNum = sec.Key("ISSUE_PAGING_NUM").MustInt(10)
|
||||||
FeedMaxCommitNum = sec.Key("FEED_MAX_COMMIT_NUM").MustInt(5)
|
FeedMaxCommitNum = sec.Key("FEED_MAX_COMMIT_NUM").MustInt(5)
|
||||||
|
MaxDisplayFileSize = sec.Key("MAX_DISPLAY_FILE_SIZE").MustInt64(8388608)
|
||||||
|
|
||||||
sec = Cfg.Section("ui.admin")
|
sec = Cfg.Section("ui.admin")
|
||||||
AdminUserPagingNum = sec.Key("USER_PAGING_NUM").MustInt(50)
|
AdminUserPagingNum = sec.Key("USER_PAGING_NUM").MustInt(50)
|
||||||
|
|
|
@ -19,6 +19,7 @@ import (
|
||||||
"github.com/gogits/gogs/modules/context"
|
"github.com/gogits/gogs/modules/context"
|
||||||
"github.com/gogits/gogs/modules/log"
|
"github.com/gogits/gogs/modules/log"
|
||||||
"github.com/gogits/gogs/modules/markdown"
|
"github.com/gogits/gogs/modules/markdown"
|
||||||
|
"github.com/gogits/gogs/modules/setting"
|
||||||
"github.com/gogits/gogs/modules/template"
|
"github.com/gogits/gogs/modules/template"
|
||||||
"github.com/gogits/gogs/modules/template/highlight"
|
"github.com/gogits/gogs/modules/template/highlight"
|
||||||
)
|
)
|
||||||
|
@ -104,20 +105,25 @@ func Home(ctx *context.Context) {
|
||||||
case isImageFile:
|
case isImageFile:
|
||||||
ctx.Data["IsImageFile"] = true
|
ctx.Data["IsImageFile"] = true
|
||||||
case isTextFile:
|
case isTextFile:
|
||||||
d, _ := ioutil.ReadAll(dataRc)
|
if blob.Size() >= setting.MaxDisplayFileSize {
|
||||||
buf = append(buf, d...)
|
ctx.Data["IsFileTooLarge"] = true
|
||||||
readmeExist := markdown.IsMarkdownFile(blob.Name()) || markdown.IsReadmeFile(blob.Name())
|
|
||||||
ctx.Data["ReadmeExist"] = readmeExist
|
|
||||||
if readmeExist {
|
|
||||||
ctx.Data["FileContent"] = string(markdown.Render(buf, path.Dir(treeLink), ctx.Repo.Repository.ComposeMetas()))
|
|
||||||
} else {
|
} else {
|
||||||
if err, content := template.ToUtf8WithErr(buf); err != nil {
|
ctx.Data["IsFileTooLarge"] = false
|
||||||
if err != nil {
|
d, _ := ioutil.ReadAll(dataRc)
|
||||||
log.Error(4, "Convert content encoding: %s", err)
|
buf = append(buf, d...)
|
||||||
}
|
readmeExist := markdown.IsMarkdownFile(blob.Name()) || markdown.IsReadmeFile(blob.Name())
|
||||||
ctx.Data["FileContent"] = string(buf)
|
ctx.Data["ReadmeExist"] = readmeExist
|
||||||
|
if readmeExist {
|
||||||
|
ctx.Data["FileContent"] = string(markdown.Render(buf, path.Dir(treeLink), ctx.Repo.Repository.ComposeMetas()))
|
||||||
} else {
|
} else {
|
||||||
ctx.Data["FileContent"] = content
|
if err, content := template.ToUtf8WithErr(buf); err != nil {
|
||||||
|
if err != nil {
|
||||||
|
log.Error(4, "Convert content encoding: %s", err)
|
||||||
|
}
|
||||||
|
ctx.Data["FileContent"] = string(buf)
|
||||||
|
} else {
|
||||||
|
ctx.Data["FileContent"] = content
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,8 +41,12 @@
|
||||||
<table>
|
<table>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
|
{{if .IsFileTooLarge}}
|
||||||
|
<td><strong>{{.i18n.Tr "repo.file_too_large"}}</strong></td>
|
||||||
|
{{else}}
|
||||||
<td class="lines-num"></td>
|
<td class="lines-num"></td>
|
||||||
<td class="lines-code"><pre><code class="{{.HighlightClass}}"><ol class="linenums">{{.FileContent}}</ol></code></pre></td>
|
<td class="lines-code"><pre><code class="{{.HighlightClass}}"><ol class="linenums">{{.FileContent}}</ol></code></pre></td>
|
||||||
|
{{end}}
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
Loading…
Reference in a new issue