Example #1
0
    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)
Example #2
0
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)
Example #3
0
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)
Example #4
0
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)
Example #5
0
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)
Example #6
0
def prerender_jinja(text):
    prerendered_body = render_template_string(Markup(text))
    return pygmented_markdown(prerendered_body)
Example #7
0
def markmedown(thing):
	return flask_flatpages.pygmented_markdown(thing)
Example #8
0
def prerender_jinja(text):
    prerendered_body = render_template_string(Markup(text))
    return pygmented_markdown(prerendered_body)
Example #9
0
def prerender_jinja(text):
    return pygmented_markdown(render_template_string(Markup(text)))
Example #10
0
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)
Example #11
0
def markmedown(thing):
	return flask_flatpages.pygmented_markdown(thing)
Example #12
0
def prerender_jinja(text):
    #print "HI"
    #print text
    prerendered_body = render_template_string(Markup(text))
    #    print prerendered_body
    return pygmented_markdown(prerendered_body)
Example #13
0
def prerender_jinja(text):
    """ Pre-renders Jinja templates before markdown. """
    prerendered_body = render_template_string(text)
    return pygmented_markdown(prerendered_body)
Example #14
0
def html_renderer(text):
    prerendered_body = render_template_string(text)
    return pygmented_markdown(prerendered_body)
Example #15
0
def render_html(text, flatpages, page):
    prerendered_body = render_template_string(Markup(text))
    return pygmented_markdown(prerendered_body, flatpages)
Example #16
0
def prerender_jinja(text):
    #print "HI"
    #print text
    prerendered_body = render_template_string(Markup(text))
#    print prerendered_body
    return pygmented_markdown(prerendered_body)