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