Fix hashtag linking and API mentions of empty
This commit is contained in:
		
							parent
							
								
									e0f1bb629c
								
							
						
					
					
						commit
						1bcdff79e7
					
				@ -179,10 +179,15 @@ class Hashtag(StatorModel):
 | 
			
		||||
        return list(hashtags)
 | 
			
		||||
 | 
			
		||||
    @classmethod
 | 
			
		||||
    def linkify_hashtags(cls, content) -> str:
 | 
			
		||||
    def linkify_hashtags(cls, content, domain=None) -> str:
 | 
			
		||||
        def replacer(match):
 | 
			
		||||
            hashtag = match.group(1)
 | 
			
		||||
            return f'<a class="hashtag" href="/tags/{hashtag.lower()}/">#{hashtag}</a>'
 | 
			
		||||
            if domain:
 | 
			
		||||
                return f'<a class="hashtag" href="https://{domain.uri_domain}/tags/{hashtag.lower()}/">#{hashtag}</a>'
 | 
			
		||||
            else:
 | 
			
		||||
                return (
 | 
			
		||||
                    f'<a class="hashtag" href="/tags/{hashtag.lower()}/">#{hashtag}</a>'
 | 
			
		||||
                )
 | 
			
		||||
 | 
			
		||||
        return mark_safe(Hashtag.hashtag_regex.sub(replacer, content))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -348,7 +348,8 @@ class Post(StatorModel):
 | 
			
		||||
        Returns the content formatted for remote consumption
 | 
			
		||||
        """
 | 
			
		||||
        return Hashtag.linkify_hashtags(
 | 
			
		||||
            self.linkify_mentions(sanitize_post(self.content))
 | 
			
		||||
            self.linkify_mentions(sanitize_post(self.content)),
 | 
			
		||||
            domain=self.author.domain,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
    def safe_content_plain(self):
 | 
			
		||||
@ -835,9 +836,9 @@ class Post(StatorModel):
 | 
			
		||||
            "mentions": [
 | 
			
		||||
                {
 | 
			
		||||
                    "id": mention.id,
 | 
			
		||||
                    "username": mention.username,
 | 
			
		||||
                    "url": mention.absolute_profile_uri(),
 | 
			
		||||
                    "acct": mention.handle,
 | 
			
		||||
                    "username": mention.username or "",
 | 
			
		||||
                    "url": mention.absolute_profile_uri() or "",
 | 
			
		||||
                    "acct": mention.handle or "",
 | 
			
		||||
                }
 | 
			
		||||
                for mention in self.mentions.all()
 | 
			
		||||
                if mention.username
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user