Ralfp 12 лет назад
Родитель
Сommit
699547266d
2 измененных файлов с 21 добавлено и 0 удалено
  1. 20 0
      misago/markdown/extensions/bbcodes.py
  2. 1 0
      misago/settings_base.py

+ 20 - 0
misago/markdown/extensions/bbcodes.py

@@ -0,0 +1,20 @@
+import re
+import markdown
+from markdown.inlinepatterns import SimpleTagPattern
+
+EMPHASIS_RE = r'\[i\]([^*]+)\[/i\]'
+STRONG_RE = r'\[b\]([^*]+)\[/b\]'
+STRONG_ALT_RE = r'\[u\]([^*]+)\[/u\]'
+
+class BBCodesExtension(markdown.Extension):
+    def extendMarkdown(self, md):
+        md.registerExtension(self)
+        md.inlinePatterns.add('mi_bb_bold_alt',
+                              SimpleTagPattern(STRONG_ALT_RE, 'strong'),
+                              '>strong')
+        md.inlinePatterns.add('mi_bb_bold',
+                              SimpleTagPattern(STRONG_RE, 'strong'),
+                              '>strong')
+        md.inlinePatterns.add('mi_bb_italics',
+                              SimpleTagPattern(EMPHASIS_RE, 'em'),
+                              '>emphasis')

+ 1 - 0
misago/settings_base.py

@@ -146,6 +146,7 @@ MARKDOWN_EXTENSIONS = (
     'misago.markdown.extensions.mentions.MentionsExtension',
     'misago.markdown.extensions.mentions.MentionsExtension',
     'misago.markdown.extensions.magiclinks.MagicLinksExtension',
     'misago.markdown.extensions.magiclinks.MagicLinksExtension',
     'misago.markdown.extensions.cleanlinks.CleanLinksExtension',
     'misago.markdown.extensions.cleanlinks.CleanLinksExtension',
+    'misago.markdown.extensions.bbcodes.BBCodesExtension',
 )
 )
 
 
 # Name of root urls configuration
 # Name of root urls configuration