pagerange/metaparsedown

为 eursev/parsedown 或 eruseve/parsedown-extra 解析的 markdown 文件添加元数据功能

1.0.9 2022-02-15 11:09 UTC

This package is auto-updated.

Last update: 2024-09-15 16:53:53 UTC


README

MetaParsedown 扩展了 erusev/parsedowneruseve/parsedown-extra,非常优秀的 markdown 解析器,通过添加在 markdown 或 markdown-extra 文件中以有效 yaml 格式的元数据功能。MetaParsedown 使用 Symfony Yaml 组件来解析和提取元数据。我创建这个是因为我们正在创建一个 markdown 文档管理系统,需要为每个文件添加元数据。另一种选择是为每个 markdown 文件创建一个单独的元数据文件,这是可行的,但对于创建文档的人来说似乎比较麻烦。这种方法看起来更简单,而且使用起来也很简单。

MetaParsedown 保留了 erusev/parsedown 的所有功能,但增加了两个方法

  • meta($markdown) -- 返回 markdown 中的键/值元数据标签数组

  • stripMeta($markdown) 返回去除 yaml 前置信息的纯 markdown

Parsedown 的原始 text($markdown) 方法继续返回 HTML,不带元数据标签

MetaParsedown 还可以作为 Wordpress 插件 使用。

安装

请使用 composer 包 将 Metaparsedown 包含到您的项目中。

composer require pagerange/metaparsedown

添加元数据

将元数据作为有效的 yaml 键/值对添加,以三个短横线开始和结束。这个 yaml 块必须出现在文档的开头。

    
---
title: 'My Great Document'
author: 'Yours Truly'
description: 'A short document with very little to say'
status: 'public'
created_at: '2017-11-18 12:01:00'
---
# My Great Document

This is the rest of the markdown document

* bullet list item
* bullet list item

用法

use Pagerange\Markdown\MetaParsedown;

$mp = new MetaParsedown(); 

echo $mp->text($markdown); // prints HTML, without meta data

$meta = $mp->meta($markdown); // returns an array of key/value pairs

$bare_markdown = $mp->stripMeta($markdown); // returns markdown without yaml block
  

请参阅 erusev/parsedown git 页面erusev/parsedown-extra git 页面 获取更多信息以及如何使用和工作的详细文档。

许可证

MIT 许可证

版权所有 (c) 2017 Steve George

本软件及其相关文档文件(以下简称“软件”)的副本由任何个人免费获得后,授予在软件上无限制地处理的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向软件提供者提供软件的个人处理该软件,但受以下条件约束

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

本软件按“现状”提供,不提供任何形式的质量保证,明示或暗示的,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者不应对任何索赔、损害或其他责任负责,无论这些索赔、损害或其他责任是由合同、侵权或其他方式引起的,是否与软件或其使用或其他相关事宜有关。