bueltge / marksimple
PHP 的简单 Markdown 解析器。
Requires
- php: ^7.4|^8.0.2
- psr/log: ^1.0|^3.0
Requires (Dev)
- antecedent/patchwork: ^2.1
- inpsyde/php-coding-standards: ^1.0
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-12 08:07:43 UTC
README
这是一个简单的 Markdown 解析器,简洁且仅包含我目前需要的规则。功能基于正则表达式,并且可以增强您的自定义规则。
是的,我知道,有很多
演示,测试
该解决方案仍在测试中,您可以在这里找到它。这个类测试也被构建为PWA,即渐进式网络应用。这只是我的一个有趣项目,为了真正简单地在网站上理解它的工作方式。但是,如果您看到这个存储库中的目录 test
并对其中的许多文件感到疑惑,因为它们不是在 Markdown 解析器的上下文中。如果您检查 PWA,请在手机上使用它或在 Chrome/WebInspector 中进行操作。
活跃使用
该类很简单,我使用它来编写自己的文档,我在那里用 Markdown 写作。这里和那里有一个单页面,每天都可以帮助找到正确的语法、提示、背景和其他内容。您可以在这些示例中看到它。
支持
我的类目前支持以下语法。但欢迎提交 Pull Request,该解决方案允许您添加自己的规则。
- 标题,
h1
-h6
-#
到######
在字符串之前 - 图片,

- 加粗文本,
strong
-**
或__
在字符串前后 - 斜体文本,
em
- 一个*
或_
在字符串前后 - 无序列表,
ul
- 每行一个*
- 内联代码,
code
- 代码字符串前后各有一个 ``` 反引号 - 代码块,
pre
- 每行有 4 个空格或制表符,或者使用三重反引号创建带有可选语言标识符的代码块 - 链接,
a
-[链接文本](链接 URL)
- 水平线,
---
- 换行,
<br>
用法
需求
- PHP 7.4
通过下载、克隆存储库或使用 Composer 的依赖管理器安装静态版本
composer require bueltge/marksimple
您可以在GitHub 上的存储库中找到解决方案和测试。
查看测试目录中的示例,其中包含两种不同的用法。测试目录作为 PWA 运行,请只查看文件 index.php
。
代码示例
// Example with four spaces.
require_once '../vendor/autoload.php';
use Bueltge\Marksimple\Marksimple;
$ms = new Marksimple();
print $ms->parseFile('../README.md');
// Example Github Code Block ```php. require_once '../vendor/autoload.php'; use Bueltge\Marksimple\Marksimple; $ms = new Marksimple(); print $ms->parseFile('../README.md');
添加Logger示例
MarkSimple
类实例使用了psr/log
特性。
默认的Logger
是NullLogger
,当声明MarkSimple
类实例时会创建它。关于psr/log
的更多详细信息,请访问这个链接。
$testee = new Marksimple(); echo get_class($testee->logger()); //output: Psr\Log\NullLogger
赞赏
在实现我的简单解析器目标的过程中,我使用了大量的测试和在线正则表达式测试器的尝试。非常感谢这两个网站的作者,太棒了!
- PHP Live Regex 在PHP环境中非常有帮助。
- 正则表达式101
- DebuggexBeta
- 轻松学习正则表达式
- RegExr
许可
版权所有(c)2017年至今,Frank Bültge
好消息,这个插件对每个人都是免费的!因为它是在MIT许可下发布的,你可以在个人或商业网站上免费使用它。
贡献
欢迎所有反馈/错误报告/拉取请求。