mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 03:18:24 +00:00 
			
		
		
		
	Merge pull request #1662 from SergioBenitez/develop
Commit messages now rendered with line breaks and prefix spacing.
This commit is contained in:
		| @@ -96,9 +96,42 @@ func ToUtf8(content string) string { | ||||
| 	return res | ||||
| } | ||||
|  | ||||
| // Replaces all prefixes 'old' in 's' with 'new'. | ||||
| func ReplaceLeft(s, old, new string) string { | ||||
| 	old_len, new_len, i, n := len(old), len(new), 0, 0 | ||||
| 	for ; i < len(s) && strings.HasPrefix(s[i:], old); n += 1 { | ||||
| 		i += old_len | ||||
| 	} | ||||
|  | ||||
| 	// simple optimization | ||||
| 	if n == 0 { | ||||
| 		return s | ||||
| 	} | ||||
|  | ||||
| 	// allocating space for the new string | ||||
| 	newLen := n*new_len + len(s[i:]) | ||||
| 	replacement := make([]byte, newLen, newLen) | ||||
|  | ||||
| 	j := 0 | ||||
| 	for ; j < n*new_len; j += new_len { | ||||
| 		copy(replacement[j:j+new_len], new) | ||||
| 	} | ||||
|  | ||||
| 	copy(replacement[j:], s[i:]) | ||||
| 	return string(replacement) | ||||
| } | ||||
|  | ||||
| // RenderCommitMessage renders commit message with XSS-safe and special links. | ||||
| func RenderCommitMessage(msg, urlPrefix string) template.HTML { | ||||
| 	return template.HTML(string(RenderIssueIndexPattern([]byte(template.HTMLEscapeString(msg)), urlPrefix))) | ||||
| 	cleanMsg := template.HTMLEscapeString(msg) | ||||
| 	fullMessage := string(RenderIssueIndexPattern([]byte(cleanMsg), urlPrefix)) | ||||
| 	msgLines := strings.Split(strings.TrimSpace(fullMessage), "\n") | ||||
| 	for i := range msgLines { | ||||
| 		msgLines[i] = ReplaceLeft(msgLines[i], " ", " ") | ||||
| 	} | ||||
|  | ||||
| 	fullMessage = strings.Join(msgLines, "<br>") | ||||
| 	return template.HTML(fullMessage) | ||||
| } | ||||
|  | ||||
| var TemplateFuncs template.FuncMap = map[string]interface{}{ | ||||
|   | ||||
| @@ -6,12 +6,12 @@ | ||||
|     {{template "repo/commits_table" .}} | ||||
|     {{else}} | ||||
|     <h4 class="ui top attached info header"> | ||||
|       {{RenderCommitMessage .Commit.Message $.RepoLink}} | ||||
|       <div class="ui right"> | ||||
|         <a class="ui blue tiny button" href="{{EscapePound .SourcePath}}"> | ||||
|           {{.i18n.Tr "repo.diff.browse_source"}} | ||||
|         </a> | ||||
|       </div> | ||||
|       {{RenderCommitMessage .Commit.Message $.RepoLink}} | ||||
|     </h4> | ||||
|     <div class="ui attached info segment"> | ||||
|       {{if .Author}} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user