czukowski/markdown-toc

为 cebe/markdown 生成的目录表生成器

1.0.1 2016-09-27 14:53 UTC

This package is auto-updated.

Last update: 2024-09-06 08:56:11 UTC


README

此包提供了一个PHP trait,可以与cebe的Markdown实现一起使用。它允许从Markdown文档中的标题生成目录表,并将其作为列表渲染。注意:输出是渲染后的HTML,而不是Markdown!

安装

推荐通过运行composer进行安装

composer require czukowski/markdown-toc "~1.0"

或者您可以手动将以下内容添加到项目的composer.json文件中的require部分,然后从命令行运行composer update

"czukowski/markdown-toc": "~1.0"

用法

此包提供了一个可以在扩展cebe原始Markdown解析器的类中使用的TOCTrait

有关如何扩展解析器的更多信息,请参阅原始README文件

然后可以通过调用两个可用的公共方法中的任意一个来生成目录表,具体取决于您是从单个文件还是多个文件生成目录表

$markdown = new MyMarkdownWithTOC;

// Generate ToC from a single file:
$toc1 = $markdown->generateTableOfContents($source, 'index.md');

// Generate ToC from multiple files:
$toc2 = $markdown->generateTableOfContentsFromMultiple([
    [$intro, 'intro.md'],
    [$issues, 'issues.md'],
    [$reference, 'reference.md'],
]);

在上面的示例中,假设您已创建一个名为MyMarkdownWithTOC的类,该类使用TOCTrait

还有一些可选参数可用,用于定义所使用的列表类型以及限制从哪些标题级别生成目录表。

参考

  • generateTableOfContents($markdown, $url, $listType = 'ul', $fromLevel = 1, $toLevel = 6):

    • @param string $markdown markdown源代码。
    • @param string $url 源URL。
    • @param string $listType 支持的值:ulol
    • @param integer $fromLevel 使用此级别开始的标题
    • @param integer $toLevel 使用此级别以下的标题
    • @return string
  • generateTableOfContentsFromMultiple($sources, $listType = 'ul', $fromLevel = 1, $toLevel = 6):

    • @param array $sources markdown源代码和URL。
    • @param string $listType 支持的值:ulol
    • @param integer $fromLevel 使用此级别开始的标题
    • @param integer $toLevel 使用此级别以下的标题
    • @return string

许可证

分发许可在MIT许可证下。有关详细信息,请参阅LICENSE.md。