dakota / croogomark

Croogo 插件,用于内容使用 Markdown

安装: 32

依赖: 0

建议: 0

安全: 0

星标: 2

关注者: 1

分支: 0

开放问题: 0

类型: croogo-plugin

0.2.0 2015-01-08 07:04 UTC

This package is auto-updated.

Last update: 2024-09-09 22:56:33 UTC


README

此插件允许节点使用 Markdown(使用 commonmark 标准)。

注意。此功能不会将现有的 HTML 节点转换为 Markdown!

安装

通过运行 composer require dakota/croogomark 使用 composer 安装。

使用

  1. 启用插件

  2. 禁用 CkEditor 插件

  3. 创建或编辑一个节点

要求

高级使用

当 Markdown 文本渲染成 HTML 时,会触发一系列 Croogo 钩子。这使得改变 CommonMark 库的行为成为可能。

钩子包括

  • Helper.Markdown.beforeMarkdownParse - 接收两个参数,在创建 CommonMark 环境(但生成 AST 之前)触发。参数包括:** environment - CommonMark 环境对象 ** markdown - 将要渲染的文本。
  • Helper.Markdown.beforeMarkdownRender - 接收一个参数,在生成 AST(但渲染 HTML 之前)触发。 ** ast - CommonMark AST 文档
  • Helper.Markdown.afterMarkdownRender - 接收一个参数,在生成 HTML 之后触发。 ** rendered - 渲染的 HTML

自定义解析器和渲染器

使用钩子,可以实现自己的自定义块或内联解析器和渲染器。例如,为了实现 CommonMark 文档中提供的 twitter 示例,你可以这样做

//Config/bootstrap.php
CakeEventManager::instance()->attach(function ($event) {
	//Assuming that you've created the TwitterHandleParser in Lib/
	App::uses('TwitterHandleParser', 'Lib');
	$event->data['environment']->addInlineParser(new TwitterHandleParser());
}, 'Helper.Markdown.beforeMarkdownParse');