silverstripers/markdown

为 SilverStripe 提供的 Markdown 数据库字段和表单字段

安装数: 2,395

依赖项: 0

建议者: 0

安全性: 0

星标: 11

关注者: 5

分支: 10

开放性问题: 5

语言:JavaScript

类型:silverstripe-vendormodule

2.0.0 2017-12-22 15:04 UTC

This package is auto-updated.

Last update: 2024-09-05 01:15:46 UTC


README

CircleCI codecov

本模块引入了新的数据库字段类型 Markdown 及 Markdown 编辑器。它使用 GitHub 风格的 Markdown 语法。并且使用简单的 Markdown 编辑器。

https://github.com/sparksuite/simplemde-markdown-editor

https://github.com/cebe/markdown

该模块仍在开发中,但很快将准备好,包括链接弹出窗口和图像选择器。

安装

使用 composer

composer require silverstripers/markdown dev-master

基本用法

要在您的数据对象中使用 Markdown 数据库字段,基本代码如下


class MyDataClass extends DataObject
{

    private static $db = [
		'MarkdownContent'		=> 'MarkdownText'
	];

}

MarkdownText 知道为您的字段添加 Markdown 编辑器,但如果您需要手动指定字段类型,则使用

public function getCMSFields()
{
    $fields = parent::getCMSFields();

    $fields->addFieldsToTab('Root.Sidebar', [
        \SilverStripers\markdown\forms\MarkdownEditorField::create('MarkdownContent', 'Content'),
    ]);

    return $fields;
}

强制所有字段使用 Markdown

如果您想将所有 HTMLText 字段替换为 markdown,请在 config.yml 中使用以下配置。

这将覆盖任何 HTMLText 替换的实例,使用 MarkdownText

---
Name: myconfigs
After:
  - '#corefieldtypes'
---
SilverStripe\Core\Injector\Injector:
  HTMLText:
    class: SilverStripers\markdown\db\MarkdownText

添加预览样式

您可以为编辑器预览添加自己的 CSS 样式。这将使用户在保存之前查看其内容。

要实现这一点,在 mysite/css/ 中创建一个 CSS 文件,并将其命名为 editor.css

您的 CSS 规则必须嵌套在一个类中,以便不会影响 CMS 的其他区域。

.markdown-preview {
    background-color: white;
    padding: 20px;
    font-size: 20px;
}

.markdown-preview h1 {
    font-size: 30px;
}

如果您正在使用单独的配置,并想为该 EditorConfig 添加样式,只需添加一个新的类名。这是因为字段将 EditorConfig 的标识符添加到预览窗格中。以下是一个默认配置的示例。

.markdown-preview.default {
    background-color: white;
    padding: 20px;
    font-size: 14px;
    line-height: 20px;
}

.markdown-preview.default h1 {
    font-size: 24px;
    line-height: 30px;
}