def prerender_jinja(text): u"""Render Markdown with Jinja directives to HTML. Use this function to configure ``FLATPAGES_HTML_RENDERER``, to support evaluating Jinja directives embedded within the Markdown document. """ prerendered_body = render_template_string(Markup(text)) return pygmented_markdown(prerendered_body)
def custom_renderer(body, fp_instance, page): variables = { '%CONTENT_URL%': fp_instance.app.config.get('FLATPAGES_CONTENT_URL'), '%MEDIA_URL%': fp_instance.app.config.get('FLATPAGES_MEDIA_URL'), } for v, c in variables.items(): body = body.replace(v, c) return pygmented_markdown(body, flatpages=fp_instance)
def render_html(text, flatpages, page): if page.path.startswith("blog/"): # Add a horizontal bar at the end of a blog post if # there are no footnotes. If there are, then the # footnotes extension will add a bar above the # footnotes automatically. match = FOOTNOTE_REGEX.search(text) if match is None: text += "\n<hr>" prerendered_body = render_template_string(Markup(text)) return pygmented_markdown(prerendered_body, flatpages)
def archive(_page=1): _pages = [p for p in pages if p.meta.get('category', None) == 'Blog'] _pages = sorted((p for p in _pages if 'published' in p.meta), reverse=True, key=lambda p: p.meta['published']) posts = _pages[(_page-1)*10:_page*10] for post in posts: bits = post.body.split('\n') if bits == bits[:3]: post.meta['read_more'] = False else: post.meta['read_more'] = True for index, bit in enumerate(bits): if not bit: bits[index] = "\n" post.meta['extract'] = pygmented_markdown("\n".join(bits[:3])) _next = len(_pages[_page*10:(_page+1)*10])>0 return render_template('index.html', posts=posts, next=_next, nextpage=_page+1, prevpage=_page-1)
def render_notebook(post): meta_notebook = post.meta['notebook'] path = f'{flask.current_app.static_folder}/notebooks/{meta_notebook}.ipynb' try: notebook = nbformat.read(path, 4) except IOError: flask.abort(404) body, resources = exportMarkdown.from_notebook_node(notebook) # removes title from body body = re.sub('#\s.*', '', body, count=1) # embeds images for png in resources['outputs'].keys(): new_png = re.sub('output', post.meta['notebook'], png) new_png = flask.url_for( 'static', filename=f'notebooks/{meta_notebook}_files/{new_png}' ) body = re.sub(png, new_png, body) return flask_flatpages.pygmented_markdown(body, posts)
def prerender_jinja(text): prerendered_body = render_template_string(Markup(text)) return pygmented_markdown(prerendered_body)
def markmedown(thing): return flask_flatpages.pygmented_markdown(thing)
def prerender_jinja(text): return pygmented_markdown(render_template_string(Markup(text)))
def custom_renderer(body, fp_instance, page): body = body.replace('%CONTENT_URL%', config.get('FLATPAGES_CONTENT_URL')) body = body.replace('%MEDIA_URL%', config.get('FLATPAGES_MEDIA_URL')) return pygmented_markdown(body, flatpages=fp_instance)
def prerender_jinja(text): #print "HI" #print text prerendered_body = render_template_string(Markup(text)) # print prerendered_body return pygmented_markdown(prerendered_body)
def prerender_jinja(text): """ Pre-renders Jinja templates before markdown. """ prerendered_body = render_template_string(text) return pygmented_markdown(prerendered_body)
def html_renderer(text): prerendered_body = render_template_string(text) return pygmented_markdown(prerendered_body)
def render_html(text, flatpages, page): prerendered_body = render_template_string(Markup(text)) return pygmented_markdown(prerendered_body, flatpages)