python: 用pygments给markdown文档染色
2020-04-01 18:40
399 查看
首先你需要一个markdown解析器
比如有常见的markdown和markdown2,其他的可以参考这个网站的评价
我选择了mistune,自己继承写一个渲染的Renderer
#!/usr/bin/env python # -*- coding: utf-8 -*- import mistune import sys from pygments import highlight from pygments.lexers import get_lexer_by_name from pygments.formatters import html class HighlightRenderer(mistune.Renderer): def block_code(self, code, lang): if not lang: return '\n<pre><code>%s</code></pre>\n' % \ mistune.escape(code) lexer = get_lexer_by_name(lang, stripall=True) formatter = html.HtmlFormatter() return highlight(code, lexer, formatter) def main(argv): name = argv[0] md_name = '%s.md' % (name) outfile = '%s.html' % (name) with open(md_name) as mdfile: md_text = mdfile.read() rd = HighlightRenderer() markdown = mistune.Markdown(renderer=rd) html = markdown(md_text) # 为了避免中文乱码 以及添加高亮样式 head_css = '<meta http-equiv="Content-Type"\ content="text/html; charset=utf-8" />\n' css_name = "code.css" code_css = '<link rel="stylesheet" href="' + css_name \ + '" type="text/css"/>\n' code_css = head_css + code_css with open(outfile, 'w') as output: output.write(code_css + html) if __name__ == "__main__": main(sys.argv[1:])
利用pygments的命令生成特定主题的css:
pygmentize -f html -a .codehilite -S monokai > code.css
之后运行这个python文件,假设markdown文件是data.md,运行 python solve.py data 即可
具体还有什么样式可以在 pygments网站看
转载于:https://www.cnblogs.com/Rosebud/p/9763969.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 使用Python从Markdown文档中自动生成标题导航
- python-爬虫-使用 tomd 库,将 html 转换为 markdown 文档
- python自动将数据库表结构转换成markdown文档
- 用Python读写Excel文档
- python网络爬虫文档读取-微软Word文档和.docx
- [源码和文档分享]Python实现的基于SVM、LR、GBDT和决策树算法进行垃圾短信识别和分类...
- Python用于文本分析的一个demo—统计文档中只出现一次的字符
- Python3.6新特性官方文档中文版
- CSDN-markdown编辑器官方编辑文档
- 随笔备忘记录-Appium_Python_Api文档
- 用Python读写word文档
- CCF Python题解(100分)201703-3 Markdown
- python magic文档
- Python 文档
- Python -- 文档测试
- python 学习----使用帮助文档
- Python3.2官方文档翻译--异常抛出和自定义异常
- python操作EXCEL文档
- Python操作XML文件--DOM操作XML文档
- Python中的HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies(二)