bbcodes.py 795 B

1234567891011121314151617181920
  1. import re
  2. import markdown
  3. from markdown.inlinepatterns import SimpleTagPattern
  4. EMPHASIS_RE = r'\[i\]([^*]+)\[/i\]'
  5. STRONG_RE = r'\[b\]([^*]+)\[/b\]'
  6. STRONG_ALT_RE = r'\[u\]([^*]+)\[/u\]'
  7. class BBCodesExtension(markdown.Extension):
  8. def extendMarkdown(self, md):
  9. md.registerExtension(self)
  10. md.inlinePatterns.add('mi_bb_bold_alt',
  11. SimpleTagPattern(STRONG_ALT_RE, 'strong'),
  12. '>strong')
  13. md.inlinePatterns.add('mi_bb_bold',
  14. SimpleTagPattern(STRONG_RE, 'strong'),
  15. '>strong')
  16. md.inlinePatterns.add('mi_bb_italics',
  17. SimpleTagPattern(EMPHASIS_RE, 'em'),
  18. '>emphasis')