summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorUnknwon <joe2010xtmf@163.com>2014-12-09 02:18:25 -0500
committerUnknwon <joe2010xtmf@163.com>2014-12-09 02:18:25 -0500
commit9a1fe801e526ae1bc0a211d8a218aabcf985376d (patch)
treee40f92f1b34f81c60ffef084761b7d6cd4336aa2 /modules
parent6f71632e3ef6c0c818b3224e501fa66583108806 (diff)
downloadgitea-9a1fe801e526ae1bc0a211d8a218aabcf985376d.tar.gz
gitea-9a1fe801e526ae1bc0a211d8a218aabcf985376d.zip
fix #711
Diffstat (limited to 'modules')
-rw-r--r--modules/base/markdown.go4
-rw-r--r--modules/base/template.go11
2 files changed, 10 insertions, 5 deletions
diff --git a/modules/base/markdown.go b/modules/base/markdown.go
index c85bd02069..b2f94c480b 100644
--- a/modules/base/markdown.go
+++ b/modules/base/markdown.go
@@ -154,7 +154,7 @@ func RenderSpecialLink(rawBytes []byte, urlPrefix string) []byte {
rawBytes = bytes.Replace(rawBytes, m, []byte(fmt.Sprintf(
` <a href="%s">#%s</a>`, m, ShortSha(string(m[i+7:j])))), -1)
}
- rawBytes = RenderissueIndexPattern(rawBytes, urlPrefix)
+ rawBytes = RenderIssueIndexPattern(rawBytes, urlPrefix)
rawBytes = RenderSha1CurrentPattern(rawBytes, urlPrefix)
return rawBytes
}
@@ -168,7 +168,7 @@ func RenderSha1CurrentPattern(rawBytes []byte, urlPrefix string) []byte {
return rawBytes
}
-func RenderissueIndexPattern(rawBytes []byte, urlPrefix string) []byte {
+func RenderIssueIndexPattern(rawBytes []byte, urlPrefix string) []byte {
ms := issueIndexPattern.FindAll(rawBytes, -1)
for _, m := range ms {
rawBytes = bytes.Replace(rawBytes, m, []byte(fmt.Sprintf(
diff --git a/modules/base/template.go b/modules/base/template.go
index 446d01dd09..462269aa4e 100644
--- a/modules/base/template.go
+++ b/modules/base/template.go
@@ -47,18 +47,23 @@ func ShortSha(sha1 string) string {
return sha1
}
-func ToUtf8WithErr(content []byte) (error, string) {
+func DetectEncoding(content []byte) (string, error) {
detector := chardet.NewTextDetector()
result, err := detector.DetectBest(content)
+ return result.Charset, err
+}
+
+func ToUtf8WithErr(content []byte) (error, string) {
+ charset, err := DetectEncoding(content)
if err != nil {
return err, ""
}
- if result.Charset == "utf8" {
+ if charset == "utf8" {
return nil, string(content)
}
- decoder := mahonia.NewDecoder(result.Charset)
+ decoder := mahonia.NewDecoder(charset)
if decoder != nil {
return nil, decoder.ConvertString(string(content))
}