toiee/haik-markdown

PHP haik Markdown 解析器

0.6.0 2014-04-16 00:00 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:02:47 UTC


README

基于 PHP Markdown Extra 的 PHP haik Markdown 解析器。

此 Markdown 解析器具有可插拔的接口。

由 Hokuken [http://www.hokuken.com] (http://www.hokuken.com/ "Hokuken Inc.")

基于 [PHP Markdown] (https://github.com/michelf/php-markdown "michelf/php-markdown")

需求

此库包需要 PHP 5.3 或更高版本。

关于插件

Markdown 文本可以包含 haik-markdown 插件的特殊语法。这些语法是 内联转换

内联插件

在以下示例中,见 /[...](deco red)/(br),它们解析为 <span style="color:red">...</span><br>\n

Lorem ipsum dolor sit amet, /[consectetur](deco red) adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua./(br) Ut enim ad minim veniam, quis nostrud exercitation
ullamco laboris nisi ut aliquip ex ea commodo consequat.

转换插件

单行调用

示例文本被转换为 <button class="btn btn-block">

::: button :::

包含内容

在以下示例中,见 ::: section。它们使用指定的标签 <div class="haik-section">...</div> 包装插件内容。

::: section
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis nostrud exercitation
ullamco laboris nisi ut aliquip ex ea commodo consequat.
:::

包含参数

插件内容可以包含最多 3 个短横线行的 YAML 参数。

::: section
Lorem ipsum dolor sit amet, consectetur adipisicing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis nostrud exercitation
ullamco laboris nisi ut aliquip ex ea commodo consequat.

---
bg-color: #fefefe
color: #333
:::

用法

使用基本插件

// Preparation to use
use \Hokuken\HaikMarkdown;
$parser = new HaikMarkdown();
$plugin_repository = new Hokuken\HaikMarkdown\Plugin\Basic\PluginRepository($parser);
$parser->registerPluginRepository($plugin_repository);

// Parsing markdown text
$html = $parser->transform($markdown_text);

使用 Twitter Bootstrap 插件

// Preparation to use
use \Hokuken\HaikMarkdown;
$parser = new HaikMarkdown();
$plugin_repository = new Hokuken\HaikMarkdown\Plugin\Bootstrap\PluginRepository($parser);
$parser->registerPluginRepository($plugin_repository);

// Parsing markdown text
$html = $parser->transform($markdown_text);