def test_published_body(self): article = mommy.make('djblog.Article', body='hello') self.mock.StubOutWithMock(Markdown, 'render') Markdown.render('hello').AndReturn('converted text') self.mock.ReplayAll() a = article.published_body() self.mock.VerifyAll() self.assertEqual(a, 'converted text')
def singlecard(md_file): '''converts single md file''' renderer = simple() #Picks which generator to use, cloze or simple inline = HighlightsInlineLexer(renderer) inline.enable_highlights() md = Markdown(renderer=renderer, inline=inline) text = open(md_file, encoding='utf-8').read() html = md.render(text) html = html.replace('\n', '') html = html.replace(f'{card_left}', '\n') html = html.replace(f'{card_right}', f'{delimiter}') html = html.replace('<p>\n', '', 1) html = html.replace('images/', '') return html
def markdown(text): from mistune import Markdown, Renderer, escape from pygments import highlight from pygments.lexers import get_lexer_by_name from pygments.formatters import HtmlFormatter class ExtRenderer(Renderer): def block_code(self, code, lang): if not lang: return '\n<pre><code>%s</code></pre>\n' % escape(code) lexer = get_lexer_by_name(lang, stripall=True, startinline=True) formatter = HtmlFormatter() return highlight(code, lexer, formatter) md = Markdown( renderer=ExtRenderer(use_xhtml=True), escape=False, hard_wrap=True ) return md.render(text)
def render_markdown(source_file, config, **kwargs): """ Renders a Markdown ``source_file`` into an HTML string. """ rend = Markdown() body_html = rend.render(source_file.read_text()) return text_to_response(source_file, config, body_html, **kwargs)
return f'<mark>{text}</mark>' class WikiLinkInlineLexer(InlineLexer): def enable_wiki_link(self): # add wiki_link rules self.rules.wiki_link = re.compile(r'==' # [[ r'([\s\S]+?)' # Page 2|Page 2 r'==' # ]] ) # Add wiki_link parser to default rules # you can insert it some place you like # but place matters, maybe 3 is not good self.default_rules.insert(1, 'wiki_link') def output_wiki_link(self, m): text = m.group(1) # you can create an custom render # you can also return the html if you like return self.renderer.wiki_link(text) renderer = WikiLinkRenderer() inline = WikiLinkInlineLexer(renderer) # enable the feature inline.enable_wiki_link() markdown = Markdown(renderer, inline=inline) text = '==Works only== for Mac as of now. Will add Windows version later.' html = markdown.render(text) print(html)
def published_body(self): md = Markdown(renderer=SyntaxHighlightRenderer()) return md.render(self.body)
def published_body(self): md = Markdown(renderer=SyntaxHighlightRenderer()) return md.render(self.body)