前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用 Python 将 Markdow 转为 HTML

利用 Python 将 Markdow 转为 HTML

作者头像
zucchiniy
发布2019-10-30 11:41:13
6900
发布2019-10-30 11:41:13
举报
文章被收录于专栏:洞明学问

昨天看书的时候,看到了作者留的一个练习,是将 Markdown 的文档转换成 HTML 的方法。类似的标记语言还有 RestruredText 和 Org Mode,但是貌似 Org 比较小众,暂没有看到。后续希望能开发一个类似的工具。

在 Django 中进行转换有两个方案,一个是直接安装 markdown 的模块,=pip install markdown= ,这种方式是直接将 Markdown 渲染成 HTML ,但是因为在 Django 项目中,使用模板,会导致样式改变,所以需要增加 safe 到模板中,表示不需要转义。

需要的代码块如下:

代码语言:javascript
复制
# 在 view.py 里使用 markdown 进行渲染

import markdown
def page(request, name):
    template = get_template('doc.html')
    docfile = get_template('doc/{}.md'.format(name))
    content = docfile.render()
    html = template.render({
        'docname' : name
        'content' : markdown.markdown(content,
                                      extensions=[
                                          'markdown.extensions.extra',
                                          'markdown.extensions.codehilite',
                                          'markdown.extensions.tox',
                                          ])
        })
    return HttpResponse(html)
代码语言:javascript
复制
<!DOCTYPE>
<html lang='en'>
  <body>
    {{ content | safe }}
  </body>
</html>

另一个方案是使用 django.markdown-deux 进行渲染,首先在 INSTALL_APPS 中增加 markdown-deux , 然后模板里引用这个标签:

代码语言:javascript
复制
<!DOCTYPE>
<html lang='en'>
  <body>
    {% load markdown-duex-tags %}
    {{ content | markdown }}
  </body>
</html>

这样就可以将 Markdown 直接渲染成网页了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档