|  | @@ -106,7 +106,7 @@ func (options *CustomRender) Image(out *bytes.Buffer, link []byte, title []byte,
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  var (
 | 
	
		
			
				|  |  | -	MentionPattern     = regexp.MustCompile(`((^|\s)@)[0-9a-zA-Z_]{1,}`)
 | 
	
		
			
				|  |  | +	MentionPattern     = regexp.MustCompile(`(\s|^)@[0-9a-zA-Z_]+`)
 | 
	
		
			
				|  |  |  	commitPattern      = regexp.MustCompile(`(\s|^)https?.*commit/[0-9a-zA-Z]+(#+[0-9a-zA-Z-]*)?`)
 | 
	
		
			
				|  |  |  	issueFullPattern   = regexp.MustCompile(`(\s|^)https?.*issues/[0-9]+(#+[0-9a-zA-Z-]*)?`)
 | 
	
		
			
				|  |  |  	issueIndexPattern  = regexp.MustCompile(`( |^)#[0-9]+`)
 | 
	
	
		
			
				|  | @@ -128,8 +128,9 @@ func RenderSpecialLink(rawBytes []byte, urlPrefix string) []byte {
 | 
	
		
			
				|  |  |  		if !inCodeBlock && !bytes.HasPrefix(line, tab) {
 | 
	
		
			
				|  |  |  			ms := MentionPattern.FindAll(line, -1)
 | 
	
		
			
				|  |  |  			for _, m := range ms {
 | 
	
		
			
				|  |  | +				m = bytes.TrimSpace(m)
 | 
	
		
			
				|  |  |  				line = bytes.Replace(line, m,
 | 
	
		
			
				|  |  | -					[]byte(fmt.Sprintf(`<a href="%s/%s">%s</a>`, setting.AppSubUrl, m[2:], m)), -1)
 | 
	
		
			
				|  |  | +					[]byte(fmt.Sprintf(`<a href="%s/%s">%s</a>`, setting.AppSubUrl, m[1:], m)), -1)
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 |