def changelog_as_markdown():
 rst = get_latest_changelog()
 rst = re.sub(':doc:`/plugins/(\\w+)`', '``\\1``', rst)
 rst = re.sub(':ref:`([^<]+)(<[^>]+>)`', '\\1', rst)
 rst = re.sub('(\\s)`([^`]+)`([^_])', '\\1``\\2``\\3', rst)
 rst = re.sub(':ref:`(\\w+)-cmd`', '``\\1``', rst)
 rst = re.sub(':bug:`(\\d+)`', '#\\1', rst)
 rst = re.sub(':user:`(\\w+)`', '@\\1', rst)
 md = rst2md(rst)
 md = re.sub('\\\\#(\\d+)\\b', '#\\1', md)
 return md

def changelog_as_markdown ( ) : rst = get_latest_changelog ( ) rst = re . sub ( ':doc:`/plugins/(\\w+)`' , '``\\1``' , rst ) rst = re . sub ( ':ref:`([^<]+)(<[^>]+>)`' , '\\1' , rst ) rst = re . sub ( '(\\s)`([^`]+)`([^_])' , '\\1``\\2``\\3' , rst ) rst = re . sub ( ':ref:`(\\w+)-cmd`' , '``\\1``' , rst ) rst = re . sub ( ':bug:`(\\d+)`' , '#\\1' , rst ) rst = re . sub ( ':user:`(\\w+)`' , '@\\1' , rst ) md = rst2md ( rst ) md = re . sub ( '\\\\#(\\d+)\\b' , '#\\1' , md ) return md
get the latest changelog entry as hacked up markdown .