@ -56,7 +56,7 @@ var (
// Sha1CurrentPattern matches string that represents a commit SHA, e.g. d8a994ef243349f321568f9e36d5c3f444b99cae
// Sha1CurrentPattern matches string that represents a commit SHA, e.g. d8a994ef243349f321568f9e36d5c3f444b99cae
// FIXME: this pattern matches pure numbers as well, right now we do a hack to check in renderSha1CurrentPattern
// FIXME: this pattern matches pure numbers as well, right now we do a hack to check in renderSha1CurrentPattern
// by converting string to a number.
// by converting string to a number.
Sha1CurrentPattern = regexp . MustCompile ( ` (?:^|\s|\()[0-9a-f] { 40}\b ` )
Sha1CurrentPattern = regexp . MustCompile ( ` (?:^|\s|\()( [0-9a-f] { 40}) \b ` )
// ShortLinkPattern matches short but difficult to parse [[name|link|arg=test]] syntax
// ShortLinkPattern matches short but difficult to parse [[name|link|arg=test]] syntax
ShortLinkPattern = regexp . MustCompile ( ` (\[\[.*\]\]\w*) ` )
ShortLinkPattern = regexp . MustCompile ( ` (\[\[.*\]\]\w*) ` )
@ -542,12 +542,12 @@ func RenderCrossReferenceIssueIndexPattern(rawBytes []byte, urlPrefix string, me
func renderSha1CurrentPattern ( rawBytes [ ] byte , urlPrefix string ) [ ] byte {
func renderSha1CurrentPattern ( rawBytes [ ] byte , urlPrefix string ) [ ] byte {
ms := Sha1CurrentPattern . FindAllSubmatch ( rawBytes , - 1 )
ms := Sha1CurrentPattern . FindAllSubmatch ( rawBytes , - 1 )
for _ , m := range ms {
for _ , m := range ms {
all := m [ 0 ]
if com . StrTo ( all ) . MustInt ( ) > 0 {
hash := m [ 1 ]
if com . StrTo ( hash ) . MustInt ( ) > 0 {
continue
continue
}
}
rawBytes = bytes . Replace ( rawBytes , all , [ ] byte ( fmt . Sprintf (
` <a href="%s">%s</a> ` , URLJoin ( urlPrefix , "commit" , string ( all ) ) , base . ShortSha ( string ( all ) ) ) ) , - 1 )
rawBytes = bytes . Replace ( rawBytes , hash , [ ] byte ( fmt . Sprintf (
` <a href="%s">%s</a> ` , URLJoin ( urlPrefix , "commit" , string ( hash ) ) , base . ShortSha ( string ( hash ) ) ) ) , - 1 )
}
}
return rawBytes
return rawBytes
}
}