xp-forge / markdown
Markdown
v8.1.1
2024-04-22 15:03 UTC
Requires
- php: >=7.0.0
- xp-framework/core: ^12.0 | ^11.0 | ^10.0
Requires (Dev)
- xp-framework/test: ^2.0 | ^1.0
This package is auto-updated.
Last update: 2024-09-22 16:01:36 UTC
README
为 XP 框架实现的 Markdown 语法。
示例
要将 Markdown 转换为 HTML,只需做以下操作
use net\daringfireball\markdown\Markdown; $engine= new Markdown(); $transformed= $engine->transform( 'This is [Markdown](http://daringfireball.net/projects/markdown/) for **XP**' );
实现基于解析树。要处理树,可以使用 parse()
方法,它返回一个 net.daringfireball.markdown.ParseTree
实例。
use net\daringfireball\markdown\{Markdown, ToHtml}; use io\streams\TextReader; use io\File; $engine= new Markdown(); $tree= $engine->parse($markdown); $tree= $engine->parse(new TextReader(new File('file.md'))); // ...work with tree... $transformed= $tree->emit(new ToHtml());
您可以通过使用 URL 重写 API 来控制链接和图像的 href
和 src
属性中使用的 URL。
use net\daringfireball\markdown\{ToHtml, URLs, Rewriting}; $emitter= new ToHtml(new URLs(Rewriting::absolute() ->links('/deref?url=%s') ->images('/proxy?url=&s') ->excluding(['localhost']) )); $transformed= $engine->transform($markdown, [], $emitter); $transformed= $engine->parse($markdown)->emit($emitter);