mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 00:20:25 +08:00 
			
		
		
		
	Rewrite reference processing code in preparation for opening/closing from comment references (#8261)
* Add a markdown stripper for mentions and xrefs * Improve comments * Small code simplification * Move reference code to modules/references * Fix typo * Make MarkdownStripper return [][]byte * Implement preliminary keywords parsing * Add FIXME comment * Fix comment * make fmt * Fix permissions check * Fix text assumptions * Fix imports * Fix lint, fmt * Fix unused import * Add missing export comment * Bypass revive on implemented interface * Move mdstripper into its own package * Support alphanumeric patterns * Refactor FindAllMentions * Move mentions test to references * Parse mentions from reference package * Refactor code to implement renderizable references * Fix typo * Move patterns and tests to the references package * Fix nil reference * Preliminary rendering attempt of closing keywords * Normalize names, comments, general tidy-up * Add CSS style for action keywords * Fix permission for admin and owner * Fix golangci-lint * Fix golangci-lint
This commit is contained in:
		@@ -9,7 +9,7 @@ import (
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/modules/log"
 | 
			
		||||
	"code.gitea.io/gitea/modules/markup"
 | 
			
		||||
	"code.gitea.io/gitea/modules/references"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// MailParticipantsComment sends new comment emails to repository watchers
 | 
			
		||||
@@ -19,7 +19,7 @@ func MailParticipantsComment(c *models.Comment, opType models.ActionType, issue
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func mailParticipantsComment(ctx models.DBContext, c *models.Comment, opType models.ActionType, issue *models.Issue) (err error) {
 | 
			
		||||
	rawMentions := markup.FindAllMentions(c.Content)
 | 
			
		||||
	rawMentions := references.FindAllMentionsMarkdown(c.Content)
 | 
			
		||||
	userMentions, err := issue.ResolveMentionsByVisibility(ctx, c.Poster, rawMentions)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return fmt.Errorf("ResolveMentionsByVisibility [%d]: %v", c.IssueID, err)
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@ import (
 | 
			
		||||
 | 
			
		||||
	"code.gitea.io/gitea/models"
 | 
			
		||||
	"code.gitea.io/gitea/modules/log"
 | 
			
		||||
	"code.gitea.io/gitea/modules/markup"
 | 
			
		||||
	"code.gitea.io/gitea/modules/references"
 | 
			
		||||
	"code.gitea.io/gitea/modules/setting"
 | 
			
		||||
 | 
			
		||||
	"github.com/unknwon/com"
 | 
			
		||||
@@ -123,7 +123,7 @@ func MailParticipants(issue *models.Issue, doer *models.User, opType models.Acti
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func mailParticipants(ctx models.DBContext, issue *models.Issue, doer *models.User, opType models.ActionType) (err error) {
 | 
			
		||||
	rawMentions := markup.FindAllMentions(issue.Content)
 | 
			
		||||
	rawMentions := references.FindAllMentionsMarkdown(issue.Content)
 | 
			
		||||
	userMentions, err := issue.ResolveMentionsByVisibility(ctx, doer, rawMentions)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return fmt.Errorf("ResolveMentionsByVisibility [%d]: %v", issue.ID, err)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user