symBiote/silverstripe-prose-editor

基于 prose mirror 的 wysiwyg 编辑器

安装: 361

依赖: 1

建议者: 0

安全: 0

星标: 2

关注者: 2

分支: 0

开放问题: 9

语言:JavaScript

类型:silverstripe-vendormodule


README

Latest Stable Version Latest Unstable Version Total Downloads License

为 HTMLText 内容字段提供 wysiwyg 编辑器。

与前端作者模块结合,提供原地页面编辑功能

Composer 安装

composer require symbiote/silverstripe-prose-editor:~1.0

需求

  • SilverStripe 4.1+

快速开始

在您本应使用 HtmlEditorField 的地方创建和使用 ProseEditorField

文档

  • Markdown 样式的快捷键用于格式化和创建列表,例如删除线、粗体、行内代码
  • 表格编辑
  • 图片粘贴和上传
  • 从 CMS 插入图片
  • 从 CMS 插入页面链接
  • 使用方括号/圆括号创建新页面 [{页面名称}]({url-segment}). 您可以留空 url-segment,系统会自动创建(需要前端作者模块)

短代码

如果您想使用额外的短代码,请将以下内容添加到 _config.php 中

ShortcodeParser::get('default')->register('show_field', array(ProseShortcodes::class, 'show_field_shortcode'));
ShortcodeParser::get('default')->register('listing', array(ProseShortcodes::class, 'listing_content'));
ShortcodeParser::get('default')->register('workflow_tasks', array(ProseShortcodes::class, 'workflow_tasks'));
ShortcodeParser::get('default')->register('random_item', array(ProseShortcodes::class, 'random_item'));
ShortcodeParser::get('default')->register('userform', array(ProseShortcodes::class, 'userform'));
  • show_field(field, args) : 显示来自 'context' 对象的字段,通常是当前查看的页面。
    • field: 要显示的字段;可以是点分表示法进行关系遍历,例如 Team.Title
    • args: 分号分隔的参数列表,在解析值时传递
  • listing(page_id, source_id) : 需要列表页面模块,列出内容
    • page_id: 要渲染的列表页面
    • source_id: 列表的来源。传递 'me' 指当前页面
  • workflow_tasks: 列出当前用户的工怍流程任务
  • random_item: 从最后 50 个编辑过的页面中获取随机页面
  • userform(form_id): 显示 ID 为 form_id 的用户表单内容

快速开始

在您通常使用 HTMLEditorField 的地方,使用 ProseEditorField 代替。

用法

要启用或禁用菜单项,请使用 disableMenuItem($name) 和相应的 enableMenuItem。可用的菜单项有

insertlink
insertimage
bulletlist
orderedlist
quote
paragraph
pre
hr
table
shortcode
viewsource

您还可以切换使用 disableSetting('linkSelector', 'internal') 插入内部 CMS 链接