tzlion/muyl

MUYL 文本格式化标记语言解析器

v0.1.2 2019-10-27 22:46 UTC

This package is auto-updated.

Last update: 2024-09-28 09:51:35 UTC


README

MUYL 的解析器,这是一个可能不必要的文本格式化标记语言,我发明它来编写自己的博客文章。它可以将 MUYL 转换为 HTML。

MUYL 语言本身和这个解析器是分别版本化的,但由于这个解析器是当前唯一的语言实现和文档,至少主版本和副版本可能会匹配。

目前该语言的版本为 0.1.1

使用方法

安装它,并以某种方式将其包含在你的项目中。使用 composer,或者不使用,我不是你的老板。除了用于测试的 PHPUnit 以外,它没有其他依赖,所有代码都在 MarkupParser.php 中。

然后你可以选择...

$markedUpText = '::this text is marked up::';
$parser = new TzLion\Muyl\MarkupParser();
$html = $parser->toHtml($yourMarkedUpText);

或者

$yourMarkedUpText = '::this text is marked up::';
$html = TzLion\Muyl\MarkupParser::toHtmlStatic($markedUpText);

$markupSpecialChars 也作为静态变量在 MarkupParser 上暴露,这是一个包含 MUYL 所用所有特殊字符的数组,如果你需要它们用于某些事情。

选项

MarkupParser 构造函数和静态方法 toHtmlStatic 都接受四个额外的可选参数,顺序如下

  • $allowHtml,默认 false
    如果为 true,则将保留输入文本中的任意 HTML。如果为 false,则在解析之前将转义 HTML 特殊字符。
  • $allowExternalLinks,默认 true
    启用或禁用外部链接语法,例如 [http://example.com]
  • $allowImages,默认 true
    启用或禁用图像嵌入语法,例如 {path/to/img.jpg}
  • $internalLinkCallback,默认 null
    与内部链接语法一起使用,例如 [[some-page]]。这是一个接受页面标识符的回调,并在输出中包含一个包含 2 个元素的数组,一个 URL 和链接文本。如果没有设置,则禁用内部链接。

语法

语法可以在 syntax.txt 中找到

待办事项

  • 嵌套列表
  • 更好的配置,可能允许启用/禁用任何功能

讽刺

是的,我确实注意到了这个标记语言解析器说明文件的讽刺之处,因为它是用与解析器解析的语言不同的标记语言编写的,谢谢

语言版本历史

v0.1.1 - 添加了在列表项中插入换行的功能

v0.1.0 - 第一次公开发布