s1syphos / kirby-pep
使用 ParsedownExtraPlugin 为 Kirby 加速 Parsedown
Requires
- composer/installers: ~1.0
This package is auto-updated.
Last update: 2021-12-19 03:45:19 UTC
README
此插件修改了 Kirby 的 markdown
组件,并通过添加一些 PEP 来增强内置的 markdown 解析器 ParsedownExtra。
目录
什么是 MarkdownExtra?
Markdown Extra 是 PHP Markdown 的扩展,实现了一些当前纯 Markdown 语法中不可用的功能[例如]
- 内联 HTML
- HTML 块内的 Markdown
- 特殊属性
- 围栏代码块
- 表格
- 定义列表
- 脚注
- 输出
- 缩写
- 有序列表
- 强调
- 转义符
虽然这些已经很不错了,但 PEP 因 Markdown 而将全局可配置性推进了一步。
入门指南
使用以下方法之一安装并使用 kirby-pep
Git 子模块
如果您熟悉 Git,您可以将其作为 子模块 下载此插件
git submodule add https://github.com/S1SYPHOS/kirby-pep.git site/plugins/kirby-pep
Composer
composer require S1SYPHOS/kirby-pep
克隆或下载
激活插件
在您的 config.php
中使用以下行来激活插件
c::set('plugin.kirby-pep', true);
要启用 ParsedownExtraPlugin 的功能,请阅读有关配置的说明。如果您只想在特定域上激活 kirby-pep
,请参阅有关 多环境设置 的说明。
配置
更改 kirby-pep
的 选项 以满足您的需求
- 元素前缀(HTML / XHTML)
'element_suffix' => '>' // HTML5
- 预定义缩写
'abbreviations' => []
- 预定义链接
'links' => null
- 为(外部)链接/图像自定义属性
'links_attr' => []
'links_external_attr' => ['rel' => 'nofollow', 'target' => '_blank']
'images_attr' => null
'images_external_attr' => null
- 自定义代码类/(块)文本
'code_class' => 'language-%s'
'code_text' => null
'代码块文本' => null
- 在
<pre>
元素上添加<code>
属性'code_block_attr_on_parent' => false
- 自定义表格(对齐)类
'table_class' => null
'table_align_class' => null
- 自定义脚注类
'footnote_class' => 'footnotes'
- 自定义脚注链接 id / class / 文本
'footnote_link_id' => 'fnref:%s'
'footnote_link_class' => 'footnote-ref'
'footnote_link_text' => '[%s]'
- 自定义脚注回链接 id / class / 文本
'footnote_back_link_id' => 'fnref:%s-%s'
'footnote_back_link_class' => 'footnote-backref'
'footnote_back_link_text' => '↩'
如果您想更改它们,只需在您的 config.php
中每个选项前加上 plugin.kirby-pep.
即可!使用以下选项,此插件可以无缝集成 kirby-highlight
,为 Kirby 生成可定制的 服务器端语法高亮!
c::set('plugin.kirby-pep.code_class', 'language-%s hljs');
这些 示例 也是一个很好的起点。
故障排除
目前自定义链接/图片属性(外部)不起作用 - 欢迎提交包含您解决方案的 PR!
致谢 / 许可证
kirby-pep
基于 Taufik Nurrohman 的 parsedown-extra-plugin
库(ParsedownExtra 的扩展),受 ParsedownExtra)。它采用 MIT 许可证,但 在生产环境中使用 Kirby 需要您 购买许可证。您准备好下一步了吗?下一步?
特别感谢
我想感谢所有正在制作优秀软件的人 - 你们很棒。我也总是对反馈和错误报告表示感谢:)