Demo

A collection of 2 posts
基于 Lexical 的富文本输入框
Demo

基于 Lexical 的富文本输入框

这次先放 demo 富文本输入框 最近都在写后台项目,在项目中使用 富文本输入框 的频率很高。也使用过蛮多富文本编辑器,比如 tinymce, quill, jodit 等等。 因为一些特殊的业务需求,比如图片/视频的上传改成从后台库中选择图片,支持 youtube 视频嵌入等等,又不希望使用付费商业版,所以决定二次开发一个开源的高度自定义的富文本编辑器。在调研/使用了多个项目之后决定使用 lexical 开发。 Lexical Lexical 是一个开源的富文本编辑器框架,由 Facebook 开发,旨在提供灵活和可扩展的文本编辑体验。最主要的优势在于 Lexical 的开发者体验一流。不需要过多与 DOM 的交互,通过声明性的 API 和插件就可以快速实现想要的功能。 在开始之前强烈建议先阅读完整的官方文档 ,后面的内容会从实践出发,不会过多介绍相关概念。 依赖安装 npm install --save lexical @lexical/
9 min read
世界地图插件
Demo

世界地图插件

开个新系列,主要写些不知道有什么用的功能 Demo,反正就是突然想做个试试。 像素点地图 一些简单的需求: * [ ] 渲染显示世界地图 * [ ] 能够缩放 / 移动地图 * [ ] 在地图上添加标点 * [ ] 地图添加高亮某块区域的交互 实现 绘制地图 本来企图用 three 实现 3D 地图,最后还是使用 canvas 绘制 2D 地图。 * 定义像素点结构 interface Node { x: number; y: number; isHighLight?: boolean; } * canvas 绘制地图 const canvasRef = useRef<HTMLCanvasElement>(null); const [data, setData] = useImmer(worldData); useEffect(() => { const canvas
7 min read