作用于单行的语法
- 标题
#
- 粗体
**
- 引用
- 图片
- 链接
作用于多行的语法
- 代码块
- 无序列表
- 有序列表
主要思路是扫描 markdown 文件,对每一行进行标记,确定每一行的 markdown 标签,之后再根据每一行的 markdown 标签将 markdown 语句转换成 html 语句。
- 第一次扫描 markdown 文件,定位
代码区
、引用区
、无序列表区
、有序列表区
,因为这些标签均是可以作用于多行,要根据上下文的 markdown 标签才可以确定其作用范围。在这里需要特别注意代码区
内不含其它区域,引用区
内可以嵌套其它区域。 - 第二次扫描 markdown 文件,根据前一次扫描的定位结果,确定每一行 markdown 语句所对应的 markdown 标签。在这次扫描中可以确定
代码
、引用
、无序列表
、有序列表
、标题
这 5 类可以根据行首元素就能判定出类型的标签,所以不需要扫描全行。 - 第三次扫描 markdown 文件,根据上一次的结果,可以直接将对应的 markdown 标签转换成 html 标签,此外要扫描全行,确定
图片
,链接
、行内引用
、粗体
、斜体
这 5 类元素并直接转换成 html。
hahahahah
kjhlkjh