前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >我用这些开源项目轻松搭建了一个在线文档平台

我用这些开源项目轻松搭建了一个在线文档平台

作者头像
街角小林
发布于 2022-06-15 00:29:13
发布于 2022-06-15 00:29:13
2.4K0
举报

前言

笔者最近闲来无事给自己做了一个在线文档平台,支持白板、思维导图、文档、电子表格、PPT、流程图、Markdown等,界面是这样的:

其实现在市面上有很多这种在线文档平台,笔者为什么要自己做一个呢,且听笔者短话长说。

最开始笔者只是想在开源白板项目excalidraw的基础上增加云端存储的功能,因为它的云端保存版是要收费的,况且加个数据库的增删改查也不是什么难事,做完以后想到自己做了一个开源的思维导图mind-map,不如同时也支持一下它的云端存储,再之后,每次发布文章时都会使用一些Markdown转富文本的工具,通常也都没有存储的功能,于是又基于markdown-nice做了存储,到了这一步,想着反正也支持了这么多种类型的文档了,不如索性再把常见的流程图、电子表格都加上好了,于是就变成了现在的样子。

那么笔者这个文档平台对比市面上的相关产品来说有什么优势吗,答案是完全没有,很显然,人家公司是要靠这些产品赚钱的,无论是功能还是体验肯定好的多,而我只是在一些开源项目的基础上增加了存储的功能而已,当然不是说开源的不行,毕竟市面上很多公司的产品也是基于开源的项目做的,但是个人的力量终究是有限的,比如现在基本必备的在线协作功能笔者就做不出来,但是对于我个人来说,协作功能基本用不上,所以也无伤大雅。另外功能上我也用不上一些所谓的高级功能,能满足我的基本需求就可以了。

如果硬要说一些优点,第一个是数据保存在自己手里,不用担心一些小公司倒闭迁移数据的问题;第二个是没有付费烦恼,毕竟很多产品不付费不开会员的话会限制创建的项目数量、有一些思维导图产品还限制节点数量,想白嫖并不容易;第三个就是不用在各个平台中切换,比如有的没有Markdown转富文本功能,有的没有白板功能,而我自己需要什么都可以加上,无非是功能弱一点而已。

接下来,笔者就挨个介绍一下所用到的开源项目。

开源项目介绍

以下项目基本分为两种类型,一种是完整的项目形式,即可以直接运行的,这种笔者只要在其基础上增加一些按钮、标题输入框、提示等UI组件,然后在数据变化时实时保存到数据库,再次打开时获取数据并回填即可;另一种是以库或组件的形式,这个需要自己创建项目进行使用,再加上第一种涉及到的功能。

白板

白板笔者做了两种,一种是基于excalidraw做的手绘风格白板,这个项目是基于React的,功能很强大,支持绘制矩形、圆形、箭头、线段、手写笔、文字等元素,同时有丰富的素材可供选择,并且支持端对端加密进行协同。

可以直接克隆它的仓库以一个完整的项目直接运行,另外它也提供了React组件的形式方便嵌入到你的React项目中,笔者不用React,所以是直接基于它的完整项目进行修改的,界面如下:

另一种白板使用的是笔者自己开源的一个小项目tiny_whiteboard,其实也是参考excalidraw做的,因为excalidraw是基于React的,所以在Vue项目上使用不太方便,于是就想着做一个框架无关的,当然功能简陋了很多,并且因为实现方式原因,不支持绘制椭圆等曲线元素,性能上当元素多了也会下降,不过经过笔者自己几篇文章的实际绘图使用后,还是能满足基本需求的,界面如下:

思维导图

思维导图选择的也是笔者自己做的一个开源小项目mind-map,做这个项目的起因是在使用百度脑图的时候发现了它是开源的kityminder,不过其上一次更新已经停留在了4年前,并且其代码的组织方式笔者不是很喜欢(不容易看懂),于是就仿照做了一个阉割版(为什么又是阉割版呢,因为笔者水平just so so)。

功能上支持逻辑结构图、思维导图、组织结构图、目录组织图四种结构,鱼骨图笔者尝试了,但没做出来(尴尬),另外支持主题设置、节点拖拽等,界面如下:

流程图

流程图也做了两种,一种是使用bpmn-js做的BPMN流程图,基本使用比较简单,但是找半天没有找到详细的文档,它的官方示例看着还不错,但是也没找到源码,最终也没有完全实现出它的效果:

在用bpmn-js做完后又发现了一个更强大的流程图框架mxgraph,虽然现在这个项目已经停止更新了,但是它的功能已经足够强大了,市面上很多流程图产品其实都是基于它做的,并且它提供了一个基本上很完整的项目示例grapheditor,还附带有源码,当然因为这个项目也比较早期,所以代码的组织方式不是模块化的,都是通过全局变量互相引用的,笔者尝试转成模块化,但是没有成功,于是就在它的基础上通过cdn的方式引入vueelement-plsaxios库进行使用,这个项目是笔者花费时间最多的一个项目,因为它的代码量真的很庞大,另外要修改的地方也比较多:多语言翻译成中文、图片上传cdn、导出功能改造(因为示例的导出是需要配合后端代码的)等。

Markdown

Markdown编辑器有很多,但是笔者主要需要的是能转富文本的,所以最后在markdown-nicemd中选择了markdown-nice,功能看着更多一些,这也是一个基于React构建的项目,支持设置主题和代码主题,另外针对公众号和知乎做了一些小的适配,笔者这篇文章就是使用它敲出来的:

文档

文档其实就是富文本编辑器了,开源的富文本编辑器可太多了,笔者也是挑花了眼,最后在tinyckeditor-5中选择了tiny,具体原因忘记了,可能是它的官网更好看吧,但是怎么说呢,现在很后悔,应该选择ckeditor-5,因为它的document风格确实很符合我的“文档”需求:

以后有时间再改吧,tiny的界面效果如下:

电子表格

开源的电子表格项目并不多,笔者选择的是Luckysheet,因为它的配置简单、功能完全满足笔者的需求、界面也挺好看:

PPT

PPT说实话能找到满足要求的开源项目还是挺意外的,因为常见的PPT项目都是类似slidevreveal.jsimpress.js这样的,而我需要的显然是像电脑自带的PPT软件一样可以编辑的,笔者早期其实也做过一个这样的:

但是年久失修,而且功能比较简单,基本没啥实用价值。

这个给我意外惊喜的项目就是PPTist,它是一个基于 Vue3.x的项目,Office PowerPoint常见的功能它都有,界面效果:

总结

本文给大家介绍了一些笔者在搭建个人在线文档中用到的优秀的开源项目(忽略笔者自己的项目),做的过程中也感受到了这些贡献者的无私和强大,也感受到了自己的菜,与各位共勉。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
这些年我开源的几个小项目
笔者是一个平平无奇的前端打工人,没有参与过啥热门开源项目的共建,所以每次说自己热爱开源都很心虚,充其量就是热爱使用开源项目,不过这两年来也陆续做了几个小项目,虽然只有时不时的来几个star,不过也给我安静的github平添了几分人气,本文就给大家推荐一下笔者的开源项目,如果觉得可以欢迎给个关注~
街角小林
2022/09/08
6900
这些年我开源的几个小项目
我开源了一个思维导图
我对思维导图最初的了解来源于我的老婆,她很喜欢用思维导图来记录各种东西,看的多了,作为一个前端,就会好奇这东西是怎么实现的,于是我在网上搜了一下,看到了一篇介绍思维导图基本结构--逻辑结构图的一种布局算法,然后我就想,布局算法有了,我再实现一下节点内容渲染、节点连线、展开收起、编辑之类的功能不就可以实现一个简单的思维导图了么,顺便还可以产出一篇文章,是的,能写文章是我做这个的最大动力。
街角小林
2023/08/16
1.2K3
我开源了一个思维导图
开源文档管理系统汇总-再也不用担心找不到文档了
本文旨在汇总优秀的开源文档管理系统,以便大家需要在服务器上搭建知识库时选用适合自己的一款,官网一般就是演示站,搭建后默认的效果就是和官网一样。
星哥玩云
2022/05/27
42.9K1
开源文档管理系统汇总-再也不用担心找不到文档了
1.3k Star开源MIT开源协议,基于频道模式的团队沟通协作+轻量级任务看板
TMS(Teamwork Management System) TMS是基于频道模式的团队沟通协作+轻量级任务看板,支持mardown、富文本、在线表格和思维导图的团队博文wiki,i18n国际化翻译管理的响应式web开源团队协作系统。 界面展示 输入图片说明 着陆页 沟通 博文 i18n国际化翻译 具有以下功能: 团队协作沟通功能(类似于slack bearychat) 团队博文(wiki) 类似 精简版confluence 蚂蚁笔记 国际化翻译管理. 沟通功能(基于w
开源日记
2023/03/10
8660
1.3k Star开源MIT开源协议,基于频道模式的团队沟通协作+轻量级任务看板
网工、运维必备的免费在线画图工具,真的很好用!
都说一图胜千言,一个IT工程师如果能画的一手好图,无论是在方案选项、还是技术交流,都能快速表达自己的想法,让你的思路更加的直观明了;市面上的制图工具有很多,下面就推荐几款好用且免费的工具,绝对让你分分钟就爱上。
网络技术联盟站
2023/01/04
1.2K0
网工、运维必备的免费在线画图工具,真的很好用!
沉浸式白板绘图工具:让你的想象力爆棚!绝绝子的绘画利器!
大家好,我是小麦。今天给大家分享的是一款白板绘图工具excalidraw。前面也分享过几篇关于白板绘图工具。
兔云小新LM
2024/02/26
4090
沉浸式白板绘图工具:让你的想象力爆棚!绝绝子的绘画利器!
网工、运维必备的免费在线画图工具,真的很好用!
都说一图胜千言,一个IT工程师如果能画的一手好图,无论是在方案选项、还是技术交流,都能快速表达自己的想法,让你的思路更加的直观明了;市面上的制图工具有很多,下面就推荐几款好用且免费的工具,绝对让你分分钟就爱上。
网络技术联盟站
2023/03/01
1.2K0
网工、运维必备的免费在线画图工具,真的很好用!
在线协作文档综合评测:Notion、FlowUs、Wolai、飞书、语雀、微软 Office、谷歌文档、金山文档、腾讯文档、石墨文档、Dropbox Paper
如今,在线协作文档已经成为效率办公的必备产品。然而,面临各种各样的在线文档产品,应该如何选择呢?
数字花园
2022/06/26
7.5K0
在线协作文档综合评测:Notion、FlowUs、Wolai、飞书、语雀、微软 Office、谷歌文档、金山文档、腾讯文档、石墨文档、Dropbox Paper
爆肝开发3个月,第三款可视化产品终于上线了
最近规划的新产品可视化文档引擎终于上线了,先后花费了3个月左右,从原型设计到技术调研,再到技术实现,历经艰辛,接下来就和大家一起分享一下最新的进展。
徐小夕
2024/05/23
1190
爆肝开发3个月,第三款可视化产品终于上线了
从收集到输出:盘点那些强大的知识管理工具——优秀笔记软件盘点(四)
在以往的文章中,我已经介绍了不少兼具优雅和强大等特性的工具。今天我将围绕知识管理主题,我将从信息收集到内容输出,介绍几款在知识生产各个环节强大的知识管理工具。
数字花园
2022/07/02
1.4K0
从收集到输出:盘点那些强大的知识管理工具——优秀笔记软件盘点(四)
这 7 款程序员免费在线画图工具,贼好用!
都说一图胜千言,一个程序员如果能画的一手好图,无论是在产品分析、方案选项、还是技术交流,都能快速表达自己的想法,让你的思路更加的直观明了;市面上的制图工具有很多,下面就推荐几款好用且免费的工具,绝对让你分分钟就爱上。
码猿技术专栏
2023/05/01
1.8K0
这 7 款程序员免费在线画图工具,贼好用!
优秀笔记软件盘点:好看且强大的可视化笔记软件、知识图谱工具Heptabase、氢图、Walling、Reflect、InfraNodus、TiddlyWiki
想了解更多内容,可以近一步阅读我另外一篇文章 Heptabase:面向未来的知识操作系统
数字花园
2022/06/27
2.8K0
优秀笔记软件盘点:好看且强大的可视化笔记软件、知识图谱工具Heptabase、氢图、Walling、Reflect、InfraNodus、TiddlyWiki
这些在线文档软件,很有意思
而且免费,个人觉得功能上可以取代ProcessON。但是用户体验还是ProcessOn要好。有兴趣都可以去体验下。
Lvshen
2022/05/05
8150
这些在线文档软件,很有意思
Excalidraw, 一款超赞的开源白板工具
今天和大家安利一款超赞的开源项目, 基于这个项目我们可以轻松定制自己的白板, 思维导图, 原型草图设计, 流程图工具等, 它就是——Excalidraw.
徐小夕
2024/02/27
6980
Excalidraw, 一款超赞的开源白板工具
免费、好用、好看的思维导图软件综合测评:Draw.io、Gitmind、Xmind、MindMaster、Effie、Scapple、Miro、Excalidr
思维导图从上个世纪九十年代传入中国大陆。从此之后,基于思维导图理念的各种产品如雨后春笋般涌现。在这些产品中,既有基于思维导图理念的专业思维导图工具,比如 MindMaster,也有与思维导图相关的流程图工具,比如 Processon(这类产品一般都囊括了思维导图)。此外,一些云笔记软件也内置了思维导图功能,比如印象笔记。在这些百花齐放的思维导图工具中,具体应该怎么选择呢?
数字花园
2022/06/29
4.2K0
免费、好用、好看的思维导图软件综合测评:Draw.io、Gitmind、Xmind、MindMaster、Effie、Scapple、Miro、Excalidr
37.4k star,开源、可协作的在线白板、画图工具推荐
TLDraw 是一个开源的在线白板和画图工具,旨在提供一个协作和可视化的平台,用于创建和共享图表、流程图、思维导图等。它支持多种图表类型,包括流程图、组织结构图、思维导图、UML 图、ER 图等。TLDraw 的特点包括实时协作、版本控制、云存储、权限管理、导出和导入功能等。
大侠之运维
2024/12/25
3840
轻量级在线任务管理工具-DooTask
DooTask是一款开源在线项目任务管理工具提供各类文档协作工具、项目提供在线思维导图、在线流程图、项目管理、任务分发、即时IM,文件管理等工具。
鹏程
2023/05/02
2.7K0
轻量级在线任务管理工具-DooTask
在线文档编辑工具哪个更好?
在线文档编辑工具相当于一个轻量级、跨平台、多途径的Office。使用在线文档编辑工具,首先我们不用安装Office软件;其次在电脑网页上、手机小程序里我们都可以使用在线文档进行简单的编辑;最后我们编辑的文档可以实时更新、分享、协作等。今天呢给大家分享几个常用的在线文档编辑工具。
用户10264843
2023/05/08
2.5K0
OneNote 深度评测:使用教程、插件、模版
介绍:提供 20+ 插件 1000+ 功能用于扩展各平台 OneNote (Windows, MAC, Android)。其中包括批量处理器、提醒工具、思维导图、搜索工具栏强化、表格强化等插件。
数字花园
2022/07/06
3K0
OneNote 深度评测:使用教程、插件、模版
全网最全的新型数据库、多维表格平台盘点 Notion、FlowUs、Airtable、SeaTable、维格表 Vika、飞书多维表格、黑帕云、织信
新型数据库/多维表格的鼻祖是 Airtable. 目前, Airtable 早期以表格为主,国内模仿者包括 Seatable、飞书多维表格等。
数字花园
2022/07/05
3.2K0
全网最全的新型数据库、多维表格平台盘点 Notion、FlowUs、Airtable、SeaTable、维格表 Vika、飞书多维表格、黑帕云、织信
推荐阅读
这些年我开源的几个小项目
6900
我开源了一个思维导图
1.2K3
开源文档管理系统汇总-再也不用担心找不到文档了
42.9K1
1.3k Star开源MIT开源协议,基于频道模式的团队沟通协作+轻量级任务看板
8660
网工、运维必备的免费在线画图工具,真的很好用!
1.2K0
沉浸式白板绘图工具:让你的想象力爆棚!绝绝子的绘画利器!
4090
网工、运维必备的免费在线画图工具,真的很好用!
1.2K0
在线协作文档综合评测:Notion、FlowUs、Wolai、飞书、语雀、微软 Office、谷歌文档、金山文档、腾讯文档、石墨文档、Dropbox Paper
7.5K0
爆肝开发3个月,第三款可视化产品终于上线了
1190
从收集到输出:盘点那些强大的知识管理工具——优秀笔记软件盘点(四)
1.4K0
这 7 款程序员免费在线画图工具,贼好用!
1.8K0
优秀笔记软件盘点:好看且强大的可视化笔记软件、知识图谱工具Heptabase、氢图、Walling、Reflect、InfraNodus、TiddlyWiki
2.8K0
这些在线文档软件,很有意思
8150
Excalidraw, 一款超赞的开源白板工具
6980
免费、好用、好看的思维导图软件综合测评:Draw.io、Gitmind、Xmind、MindMaster、Effie、Scapple、Miro、Excalidr
4.2K0
37.4k star,开源、可协作的在线白板、画图工具推荐
3840
轻量级在线任务管理工具-DooTask
2.7K0
在线文档编辑工具哪个更好?
2.5K0
OneNote 深度评测:使用教程、插件、模版
3K0
全网最全的新型数据库、多维表格平台盘点 Notion、FlowUs、Airtable、SeaTable、维格表 Vika、飞书多维表格、黑帕云、织信
3.2K0
相关推荐
这些年我开源的几个小项目
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档