""" Supported inline BBCodes: b, u, i """ import re from markdown.inlinepatterns import SimpleTagPattern class SimpleBBCodePattern(SimpleTagPattern): """ Case insensitive simple BBCode """ def __init__(self, bbcode, tag=None): self.pattern = r'(\[%s\](.*?)\[/%s\])' % (bbcode, bbcode) self.compiled_re = re.compile("^(.*?)%s(.*?)$" % self.pattern, re.DOTALL | re.UNICODE | re.IGNORECASE) # Api for Markdown to pass safe_mode into instance self.safe_mode = False # Store tag self.tag = tag or bbcode.lower() """ Register basic BBCodes """ bold = SimpleBBCodePattern('b') italics = SimpleBBCodePattern('i') underline = SimpleBBCodePattern('u')