Python-Markdown

Python-Markdown 可以用来将 markdown 字符串转换为 html 字符串。

Python-Markdown

官网:https://python-markdown.github.io/.

安装 (部分扩展需要另外安装):

conda install Markdown
pip install mdx_del_ins

使用:

import markdown
from mdx_del_ins import DelInsExtension

markdown_content='test'
html = markdown.markdown(post_content,
                             extensions=['markdown.extensions.extra',
                                 'markdown.extensions.codehilite',
                                 'markdown.extensions.tables',
                                 DelInsExtension()])

可用扩展:

部分扩展说明:

  • 'markdown.extensions.extra', # 包含 缩写、表格等常用扩展
  • 'markdown.extensions.codehilite', # 语法高亮扩展
  • 'markdown.extensions.tables', 表格

html 标签: 插入和删除 (del 和 ins)

可以使用 mdx-del-ins, 安装:

pip install mdx_del_ins

官网的使用示例有问题, 可用的示例:

import markdown 
from mdx_del_ins import DelInsExtension
# ……
html = markdown.markdown(markdown_content,
                             extensions=[DelInsExtension()])

为何如上面这样调用, 可以参考 Tutorial: Writing Extensions for Python Markdown.

使用 Pygments 支持语法高亮

除了 codehilite 扩展, 还需要使用 Pygments 才能支持支持语法高亮。

安装:

conda install Pygments 

使用可参考: https://python-markdown.github.io/extensions/code_hilite/.

获取可以用的 style:

>>> STYLE_MAP.keys()
dict_keys(['default', 'emacs', 'friendly', 'colorful', 'autumn', 'murphy', 'manni', 'monokai', 'perldoc', 'pastie', 'borland', 'trac', 'native', 'fruity', 'bw', 'vim', 'vs', 'tango', 'rrt', 'xcode', 'igor', 'paraiso-light', 'paraiso-dark', 'lovelace', 'algol', 'algol_nu', 'arduino', 'rainbow_dash', 'abap', 'solarized-dark', 'solarized-light', 'sas', 'stata', 'stata-light', 'stata-dark'])

本地生成 css(需要上传到 wordpress 相关文件夹, 并在 wordpress 主题中引入):

pygmentize -S colorful -f html -a .codehilite > styles.css

主题中引入 css 示例:

<link rel="stylesheet" href="/uploads/2019/09/styles.css">
评论(没有评论)