import datetime
import feedparser
-import markdown2
+import markdown
import re
import textile
import tornado.gen
def _render_text(self, text, lang="markdown"):
if lang == "markdown":
- return markdown2.markdown(text, link_patterns=link_patterns,
- extras=[
- "code-friendly",
- "cuddled-lists",
- "fenced-code-blocks",
+ return markdown.markdown(text, link_patterns=link_patterns,
+ extensions=[
+ "codehilite",
+ "fenced_code",
"footnotes",
- "header-ids",
- "link-patterns",
+ "nl2br",
+ "sane_lists",
"tables",
+ "toc",
])
elif lang == "textile":
links = re.compile(r"<a href=\"(.*?)\">(.*?)</a>")
# Images
- images = re.compile(r"<img src=\"(.*?)\" alt=\"(.*?)\" (?:title=\"(.*?)\" )?/>")
+ images = re.compile(r"<img alt(?:=\"(.*?)\")? src=\"(.*?)\" (?:title=\"(.*?)\" )?/>")
def init(self, path):
self.path = path
(path, text or self.backend.wiki.get_page_title(path))
def _render_image(self, m):
- url, alt_text, caption = m.groups()
+ alt_text, url, caption = m.groups()
# Skip any absolute and external URLs
if url.startswith("/") or url.startswith("https://") or url.startswith("http://"):