axllent/silverstripe-simplemde-markdown

此包已被弃用,不再维护。没有建议的替代包。

为SilverStripe 3提供SimpleMDE编辑器和Markdown支持

安装: 449

依赖: 0

建议者: 0

安全: 0

星标: 1

关注者: 2

分支: 4

开放问题: 0

类型:silverstripe-module

1.0.1 2017-08-29 20:51 UTC

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不兼容,因为全屏元素是静态定位的。与其进行一些丑陋的破解,直到有人(希望)找到优雅的解决方案(请提交拉取请求),全屏和左右分屏功能已被从工具栏中隐藏。