bytemd这个编辑器是字节跳动的掘金团队所使用的编辑器,今天碰巧读到了一篇解析的文章,奈何水平有限看不明白,但厉害是真的(笑),所以自己简单上手安装使用了一手,在此做做记录。
Ps: 相关地址都在文末。
安装相关内容:
主要 bytemd(核心) @bytemd/react(react所需要使用的插件)
插件
// 编辑 / 视图
import { Editor, Viewer } from '@bytemd/react';
import gfm from '@bytemd/plugin-gfm';
import highlight from '@bytemd/plugin-highlight-ssr';
import mediumZoom from "@bytemd/plugin-medium-zoom";
import gemoji from "@bytemd/plugin-gemoji";
// 引入中文包
import zhHans from "bytemd/lib/locales/zh_Hans.json";
// 引入基础css
import 'bytemd/dist/index.min.css';
// 引入高亮css
import "highlight.js/styles/vs.css";
const plugins = [gfm(), gemoji(), highlight(), mediumZoom()];
function Page({ children }) {
const [value, setValue] = useState('');
return (
<div className="page-wrap">
<Editor
// 语言
locale={zhHans}
// 内部的值
value={value}
// 插件
plugins={plugins}
// 动态修改值
onChange={v => setValue(v)}
/>
</div>
)
}
最后实现结果是非常接近掘金编辑器效果的,只是样式有所改动,修改了一些bug。
目前只是初次的个人尝试,还没用应用到项目中,所以可能会有所欠缺,若有遗漏还请提醒一番
npm: https://www.npmjs.com/package/bytemd
github: https://github.com/bytedance/bytemd
解析文章地址: https://mp.weixin.qq.com/s/LGrT3k3EKyvd_7FLFXAxhg