joyqi / hyper-down

轻量级Markdown解析库

2.4.27 2021-08-08 04:33 UTC

README

Markdown已经存在多年,国内外许多大小网站都在使用它,但其解析器却仍然混乱。SegmentFault是中国规模较大的使用Markdown语法的网站,我们一直在使用一些开源类库,包括但不限于

  1. php-markdown
  2. CommonMark for PHP
  3. Parsedown

它们都有或多或少的缺陷,有的性能较差,有的代码较为业余,更多的情况是由于Markdown本身解析比较复杂,因此我们几乎无法维护其他作者编写的代码。基于这个原因,我为SegmentFault专门编写了这样一个Markdown解析器。

使用方法

与常规解析类库没有任何区别

$parser = new HyperDown\Parser;
$html = $parser->makeHtml($text);

当前支持的语法

  • 标题
  • 列表(可递归)
  • 引用(可递归)
  • 缩进风格的代码块
  • Github风格的代码块
  • 各种行内文字加粗、斜体等效果
  • 链接、图片
  • 自动链接
  • 段内换行
  • 脚注
  • 分隔符
  • 表格
  • 图片和链接支持互相嵌套

在浏览器中使用请参阅 HyperDown.js