两年前我做了一个简单的在线云文档项目,选择了开源的思维导图、白板、流程图、幻灯片等项目,在它们基础上添加了云存储的功能,然后写了一个简单的工作台管理文件夹和文件:
放在了自己的个人网站上使用,同时写了一篇水文分享到各个社区,比如:掘金、知乎、公众号。
出乎意料的是阅读量还挺高,有很多人来问我是否开源了,想要部署一套进行使用,但是因为接口是我用PHP随便写的,并且和个人网站的其他代码耦合在一起,实在无法剥离,同时由于我的精力主要在另一个开源项目思维导图上,所以虽然一直有重新开发并开源的想法,但一直没有行动,时间就这样来到了今年。
两年过去了,我的个人网站都已经倒闭了,但是这个想法一直没有忘记,由于思维导图的功能已经比较稳定,刚好又和我的一个后端大佬朋友一拍即合,否则我需要自己使用Node.js来实现接口,那样时间会翻倍,于是有了大佬的加持,经过一两个月的开发和测试,全新的【理想文档】开源了。
理想文档项目的定位主要是有私有化部署需求的个人和小团队,我们并不提供可以直接使用的在线产品。
前端部分,我们选择以下开源的项目实现了九种文档类型的编辑:
- mind-map:思维导图
- excalidraw:白板
- drawio:流程图
- wangEditor:文档
- Luckysheet:电子表格
- PPTist:幻灯片
- md-editor-v3:Markdown
- editor.js:笔记
- bpmn-js:BPMN
每种文档都为单独的项目,需要单独运行开发和打包,这样的好处是独立,可以保持单个项目的简洁,也可以方便的替换为你喜欢的项目,只要按接口文档接入即可。
当然缺点也很明显,一些相同的逻辑需要重复开发。
对于以上编辑器来说,我们主要是增加了文件名的编辑、保存数据、回显数据的功能,如果是图形相关的文档,还支持生成封面图片。
用于管理文件夹和文件的工作台项目也完全重新设计和开发了,主要有以下功能升级:
1.更简洁优雅的界面;
1.之前只支持单层文件夹,现在改为支持多层文件夹;
2.支持搜索文件夹和文件;
3.支持复制、移动文件夹或文件;
4.文件夹和文件列表支持排序和过滤;
5.新增收藏文件功能;
6.新增回收站,删除的文件夹和文件默认进入回收站;
7.增加了文件全景图,以树结构的方式展示创建的全部文件夹和文件,并且可以进行重命名、移动、删除、复制等操作;
8.新增简洁的登录注册、个人主页页面;
你可以从以下动图了解一二:
当然说实话,目前功能也还很简陋:
1.目前只支持用户名和密码登录,并且找回密码的功能也还没有,后续会支持更多的登录方式,比如短信验证码、三方登录等;
2.目前还不支持分享文件,也就是只能登录情况下才能查看自己的文档;
3.目前图片都是保存到部署的服务器上,后续会支持保存到各大云服务厂商的对象存储服务上;
4.虽说是定位小团队,但是目前团队空间的功能还未开发;
以上都是我们计划开发的功能,如果你有好的建议或意见,欢迎去仓库里提交你的想法,不过由于能力和精力有限,很多功能从长期来说也无法实现,比如协同编辑、支持客户端手机端等等,如果你有这些需求的话建议还是选择商业产品。
说到商业产品,我们也得承认,这个项目相比于市面上成熟的产品来说并没有啥特别的优势,无论是功能还是体验它们肯定都优秀的多,不过价格方面也会比较感人
,我们主打一个性价比,能解决一部分人的需求我们觉得就足够了。
如果你对本项目感兴趣的话欢迎去我们的仓库或文档上了解更多:
仓库:https://github.com/wanglin2/lx-doc。
文档:https://wanglin2.github.io/lx-doc-site/。