diff --git a/boards/mdx_neboard.py b/boards/mdx_neboard.py --- a/boards/mdx_neboard.py +++ b/boards/mdx_neboard.py @@ -160,6 +160,17 @@ def render_notification(tag_name, value, reverse('notifications', kwargs={'username': username}), username) +def render_tag(tag_name, value, options, parent, context): + tag_name = value.lower() + + try: + url = boards.models.Tag.objects.get(name=tag_name).get_view() + except ObjectDoesNotExist: + url = tag_name + + return url + + formatters = [ QuotePattern, SpoilerPattern, @@ -188,6 +199,7 @@ class Parser: self.parser.add_formatter('post', render_reflink, strip=True) self.parser.add_formatter('quote', render_quote, strip=True) self.parser.add_formatter('user', render_notification, strip=True) + self.parser.add_formatter('tag', render_tag, strip=True) self.parser.add_simple_formatter( 'comment', '//%(value)s') self.parser.add_simple_formatter(