silverstripers / markdown
为 SilverStripe 提供的 Markdown 数据库字段和表单字段
2.0.0
2017-12-22 15:04 UTC
Requires
- cebe/markdown: 1.1.2
- silverstripe/framework: ^4
This package is auto-updated.
Last update: 2024-09-05 01:15:46 UTC
README
本模块引入了新的数据库字段类型 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;
}