SimpleMDE,一款可在浏览器和电子产品中使用的 Markdown 编辑器
你好。
我是Mandai,负责Wild 开发团队。
浏览器上可以使用的富文本编辑器有很多种,但是说到 Markdown 的编辑器,我感觉选择还是很少。
这次,我们将介绍SimpleMDE,它易于安装。
介绍
在这里一个演示,我的印象是它非常简单并且具有最少的必要功能。
可以使用 CDN 进行分发,因此可以使用它来加载模块。
现在您所要做的就是在 HTML 中创建一个文本区域并更新 simpleMDE 以创建一个简单的 Markdown 编辑器!
<!DOCTYPE html><html lang="ja"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>测试</title><link rel="stylesheet" href="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.css"></head><body><textarea></textarea><script src="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.js"></script><script> var simplemde = new SimpleMDE(); </script></body></html>
在网站上使用它可能很难,但如果你将它与 Electron 之类的东西结合起来,把它变成一个原生的桌面应用程序,我认为它会有更广泛的用途。
从 Node.js 使用
接下来我将介绍如何使用Electron
在这里,我想尝试从 npm 安装模块并显示它。
首先,安装它。
npm 安装 simplemde
使入口点 JavaScript 如下所示。
// app.js 'use strict'; var electro = require('electron'); var BrowserWindow = electro.BrowserWindow; var mainWindow = null; , () => { if (process.platform != 'darwin') app.quit() }); app.on('ready', () => { mainWindow = new BrowserWindow(); mainWindow.on( '关闭', ()=>{ mainWindow = null });
接下来,在同一级别创建index.html。
这与之前的 HTML 几乎相同,但更简单。
<!-- index.html --><!DOCTYPE html><html lang="ja"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>测试</title><link rel="stylesheet" href="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.css"></head><body><textarea></textarea><script src="./index.js"></script></body></html>
创建 index.js 以从 HTML 读取。
// index.js var simplemde = require('/path/to/simplemde.min.js'); var editor = new simplemde();
准备并编译上述文件后,我们能够显示一个与浏览器中显示的样式相同的编辑器。
修改建议
simleMDE 的可扩展性也很强,可以轻松添加菜单。
Font Awesome作为菜单图标,因此无需每次都准备图像。
让我们尝试添加一个保存按钮。
// index.js var simplemde = require(/path/to/simplemde.min.js''); var editor = new simplemde({ 工具栏: { { name: 'save', action: save_content, className: 'fa fa -save', title: '保存', }, '|', '粗体', '斜体', '标题', '|', '引用', '无序列表', '有序列表', '| ', '链接', '图像', '|', '预览', '并排', '全屏', '|', '指南', } }); function save_content(){ // 一些流程}
您需要自己合并保存机制,但编辑器端的设置现已完成。
如果您注册额外的菜单,默认菜单将会消失,因此您还需要注册它们,但设置可以很容易地完成。
麻烦
正常使用时,看起来很容易使用,但与其他CSS框架结合使用时,布局变得明显扭曲。
例如,Foundation,预览屏幕上三个反引号包围的区域中的每一行都会显示边框。
我觉得 CSS 集成有点松懈,但由于它似乎没有安装 sass 等解释器,所以你必须自己创建并覆盖 CSS。
此外,当并排显示 Markdown 和预览时,它会自动变为全屏。
当我检查CSS时,我发现它是用!important指定的,所以我认为还有改进的空间,或者我希望有一种机制可以让我控制它。
就速度而言,当文本量增加时,处理速度会变慢,但我觉得这是内部使用的名为CodeMirror的模块的问题,所以我想提高速度,如果你重视方面,你。可能要考虑其他库。
概括
这是 simpleMDE 的介绍,它允许您轻松创建 Markdown 编辑器。
我觉得与Electron的结合非常有效,所以我认为尝试创建一个Markdown编辑器作为Electron的研究会很容易并且很有收获。
就是这样。