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">
© Licensed under CC BY-NC-SA 4.0

这辈子没法做太多的事情, 所以每一件都要做到精彩绝伦!——史蒂夫.乔布斯

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!