# Interwiki links e.g. [[wp>IPFire]]
interwiki_link = re.compile(r"\[\[(\w+)>(.+?)(?:\|(.+?))?\]\]")
+ # Mail link
+ email_link = re.compile(r"\[\[([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)(?:\|(.+?))?\]\]")
+
def init(self, id, data=None):
self.id = id
self.data = data
return " ".join(s)
+ def _render_email_link(self, m):
+ address, alias = m.groups()
+
+ return """<a class="link-external" href="mailto:%s">%s</a>""" \
+ % (address, alias or address)
+
def _render(self, text):
logging.debug("Rendering %s" % self)
# Handle external links
text = self.external_link.sub(self._render_external_link, text)
+ # Handle email links
+ text = self.email_link.sub(self._render_email_link, text)
+
# Add wiki links
patterns = (
(r"\[\[([\w\d\/\-\.]+)(?:\|(.+?))\]\]", r"\1", r"\2", None, True),
(r"\[\[([\w\d\/\-\.]+)\]\]", r"\1", r"\1", self.backend.wiki.get_page_title, True),
-
- # Mail
- (r"\[\[([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)\]\]",
- r"\1", r"\1", None, False),
)
for pattern, link, title, repl, internal in patterns: