专栏首页洞明学问利用 Python 将 Markdow 转为 HTML

利用 Python 将 Markdow 转为 HTML

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

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

需要的代码块如下:

# 在 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)
<!DOCTYPE>
<html lang='en'>
  <body>
    {{ content | safe }}
  </body>
</html>

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

<!DOCTYPE>
<html lang='en'>
  <body>
    {% load markdown-duex-tags %}
    {{ content | markdown }}
  </body>
</html>

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ox-hugo 配置

    在工作中, Org-Mode 本身要比 Markdown 有用的多,而且使用过程也会比 Markdown 好用,但是说实话,程序员多多少少都要会 Markdow...

    zucchiniy
  • 忘记 MySQL Root 用户密码

    因为长时间未使用MySql导致忘记了root密码,现在将修改root用户密码的方法记录下来。

    zucchiniy
  • select into 和 insert int select

    zucchiniy
  • python 使用markdown 代码高亮和段落目录

    markdown是现在非常流行的一种文档书写语法,采用markdown的网站也越来越多。github就是采用markdown的。

    小贝壳
  • 历届试题 大臣的旅费

    问题描述 很久以前,T王国空前繁荣。为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市。

    AI那点小事
  • 前m大的数(堆)- HDU 1280

    还记得Gardon给小希布置的那个作业么?(上次比赛的1005)其实小希已经找回了原来的那张数表,现在她想确认一下她的答案是否正确,但是整个的答案是很庞大的表,...

    ACM算法日常
  • indexedDB 基本使用

    来源:党黎明 mr-dang.github.io/javascript/2017/12/09/indexedDB基本使用.html indexedDB 简介...

    企鹅号小编
  • 实际工作中,如何做简单的数据分析?

    有人问我该如何做数据分析。其实数据分析的过程是相对固定的,分析结论的差异性主要是分析者的视点。虽然比较固定,我还是结合了自己写文章的心得,整理出这份ppt。希...

    灯塔大数据
  • 【干货】24页PPT帮你搞定工作中简单的数据分析

    有人问我该如何做数据分析。其实数据分析的过程是相对固定的,分析结论的差异性主要是分析者的视点。虽然比较固定,我还是结合了自己写文章的心得,整理出这份ppt。希望...

    小莹莹
  • 【推荐阅读】大数据用户画像的方法、实践与行业应用

    本文作者:刘译璟

    钱塘数据

扫码关注云+社区

领取腾讯云代金券