axllent/ silverstripe-simplemde-markdown
此包已被弃用,不再维护。没有建议的替代包。
为SilverStripe 3提供SimpleMDE编辑器和Markdown支持
1.0.1
2017-08-29 20:51 UTC
Requires
This package is auto-updated.
Last update: 2023-05-27 20:32:36 UTC
README
本模块添加了一个字段和一个数据类型,允许在CMS中进行Markdown编辑,并使用Github Flavoured Markdown解析器Parsedown进行HTML模板渲染。
它与SimpleMDE Markdown Editor集成,用于CMS编辑(见下文“编辑器限制”)。
要求
- SilverStripe 3.x
使用
将Markdown数据类型用作字段数据类型,然后在CMS中使用SimpleMDEEditor字段进行编辑。
页面类
class MyMarkdownPage extends Page { public static $db = array( 'MarkdownContent'=>'Markdown' ); public function getCMSFields() { $fields = parent::getCMSFields(); $editor = SimpleMDEEditor::create('MarkdownContent', 'Page Content (Markdown)'); $fields->addFieldToTab('Root.Main', $editor); return $fields; } }
模板
<div class="content"> $MarkdownContent <!-- Will show as rendered html --> </div>
.htaccess
不幸的是,显示编辑器所需的JavaScript和CSS资源安装在vendor
文件夹中。默认情况下,SilverStripe阻止对它的所有HTTP请求(注意我们不想直接包含依赖项,因为我们希望Composer处理这些依赖项)。为了使其工作,我们需要允许对这些资源的访问。
在此行上方添加以下行
RewriteCond %{REQUEST_FILENAME} !\.(js|css)$
在此行上方
RewriteRule ^vendor(/|$) - [F,L,NC]
这样,.htaccess
文件将类似于以下内容
# Deny access to potentially sensitive files and folders
RewriteCond %{REQUEST_FILENAME} !\.(js|css)$
RewriteRule ^vendor(/|$) - [F,L,NC]
RewriteRule silverstripe-cache(/|$) - [F,L,NC]
RewriteRule composer\.(json|lock) - [F,L,NC]
编辑器限制
SimpleMDE有一些很好的功能,如全页编辑/预览,以及“左右分屏”编辑查看演示。不幸的是,这与SilverStripe的CMS不兼容,因为全屏元素是静态定位的。与其进行一些丑陋的破解,直到有人(希望)找到优雅的解决方案(请提交拉取请求),全屏和左右分屏功能已被从工具栏中隐藏。