项目简介:我们将使用 Python 3 打造 Markdown 文本解析器,并且程序支持输出 HTML 格式与 PDF 格式的文件。
一、课程介绍
1.1 知识点
通过本次课程的学习,我们将接触到以下知识点:
正则表达式
docopt 构建命令行解析器
简单的 HTML 语法
1.2 实验流程
实验的流程为:
附加依赖安装
编程实现
运行程序
1.3 实验截图
转换效果如下:
二、附加依赖安装
在安装附加依赖软件包之前,先更新已安装的软件包,避免在安装的过程中出现问题。
$ sudo apt-get update
2.1 安装 wkhtmltopdf
wkhtmltopdf 是一款能将 HTML 文件转化为 PDF 文件的工具,支持 UNIX 平台与Windows 平台。
$ sudo apt-get install wkhtmltopdf
更多参考:
2.2 安装 docopt
docopt 是 Python 的一个第三方参数解析库,可以根据使用者提供的文档描述自动生成解析器。因此使用者可以用它来定义参数与解析参数。
$ sudo pip3 install docopt
更多参考:
三、项目原理
先来考虑一下该程序需要实现哪些功能。
能够解析命令行参数,根据参数进行相应的处理,比如将目标文件转换为 HTML 文件或者转换为 PDF 文件。
解析目标文件,输出 HTML 文件。
根据需要将 HTML 文件转化为 PDF 文件。
对于第一点我们可以使用 docopt 库来构建命令行解析器,而第三点 HTML 转换可以使用 wkhtmltopdf 工具来进行转换。
至于第二点,Markdown 文本解析实际上就是文件翻译工作,即将 Markdown 中规定的特殊字符根据语法规则转换成相应的 HTML 标签,从而实现解析工作。
四、实现步骤
主要实现步骤:
4.1 构建命令行解析器
4.2 Markdown 语法规则梳理
4.3 run 程序编写
4.4 编写 parse()
4.5 编写 test_state()
4.6 几个处理函数
4.7 编写 link_image()
Python学习路径: Python研发工程师
微信关注公众号 [实验楼] ,手机查看海量项目教程。