rezozero/commonmark-ext-footnotes

此包已被废弃且不再维护。作者建议使用league/commonmark包。

CommonMark PHP 实现的脚注扩展

安装量: 2,688

依赖关系: 0

建议者: 0

安全性: 0

星标: 3

关注者: 4

分支: 3

开放问题: 0

类型:commonmark-extension

1.0.3 2020-06-24 08:11 UTC

This package is auto-updated.

Last update: 2020-06-24 08:13:24 UTC


README

脚注扩展为 CommonMark 文档添加创建脚注的功能。

Packagist Version Build Status

已弃用

此扩展已被弃用。所有功能现在都包含在 league/commonmark 1.5+ 的 League\CommonMark\Extension\Footnote 命名空间中,因此您应该升级到该版本并使用该捆绑扩展而不是此扩展。

安装

此项目可以通过 Composer 安装

composer require rezozero/commonmark-ext-footnotes

用法

像往常一样配置您的 环境,然后简单添加此包提供的 FootnoteExtension

use League\CommonMark\Converter;
use League\CommonMark\DocParser;
use League\CommonMark\Environment;
use League\CommonMark\HtmlRenderer;
use RZ\CommonMark\Ext\Footnote\FootnoteExtension;

// Obtain a pre-configured Environment with all the standard CommonMark parsers/renderers ready-to-go
$environment = Environment::createCommonMarkEnvironment();

// Add this extension
$environment->addExtension(new FootnoteExtension());

// Instantiate the converter engine and start converting some Markdown!
$converter = new Converter(new DocParser($environment), new HtmlRenderer($environment));

echo $converter->convertToHtml('# Hello World!');

语法

代码

Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. 
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi[^note1] leo risus, porta ac consectetur ac.

[^note1]: Elit Malesuada Ridiculus

结果

<p>
    Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.
    Lorem ipsum dolor sit amet, consectetur adipiscing elit.
    Morbi<sup id="fnref:note1"><a class="footnote-ref" href="#fn:note1" role="doc-noteref">1</a></sup> leo risus, porta ac consectetur ac.
</p>
<div class="footnotes">
    <hr />
    <ol>
        <li class="footnote" id="fn:note1">
            <p>
                Elit Malesuada Ridiculus <a class="footnote-backref" rev="footnote" href="#fnref:note1">&#8617;</a>
            </p>
        </li>
    </ol>
</div>