inline.py 751 B

123456789101112131415161718192021222324252627282930
  1. """
  2. Supported inline BBCodes: b, u, i
  3. """
  4. import re
  5. from markdown.inlinepatterns import SimpleTagPattern
  6. class SimpleBBCodePattern(SimpleTagPattern):
  7. """
  8. Case insensitive simple BBCode
  9. """
  10. def __init__(self, bbcode, tag=None):
  11. self.pattern = r'(\[%s\](.*?)\[/%s\])' % (bbcode, bbcode)
  12. self.compiled_re = re.compile("^(.*?)%s(.*?)$" % self.pattern,
  13. re.DOTALL | re.UNICODE | re.IGNORECASE)
  14. # Api for Markdown to pass safe_mode into instance
  15. self.safe_mode = False
  16. # Store tag
  17. self.tag = tag or bbcode.lower()
  18. """
  19. Register basic BBCodes
  20. """
  21. bold = SimpleBBCodePattern('b')
  22. italics = SimpleBBCodePattern('i')
  23. underline = SimpleBBCodePattern('u')