首页 >PC >正文

不想用语雀、有道云、印象笔记?于是自己开发了一个在线知识库系统并开源了它!

作为一个互联网底层社畜,学习和工作中难免会需要记录下一些笔记、经验和灵感,或是收藏一些资料、资源和文章。在大学期间,常用印象笔记来进行网页剪藏和微信文章的收藏,受制于免费版本的限制和其他的一些原因,渐渐很少使用了。在自学编程之后,开始有了搭建自己博客的想法,于是便有了使用 WordPress 搭建的博客


后来在博客上写的文章越来越多,按照时间排序的文章越来越零散化和碎片化,不时地萌生了要将博客上的文章系统化、结构化的想法,期间找过一些类似功能的 WordPress 插件,也接触过Gitbook、感觉都不是很适合自己。

在参考了众多文档网站之后,决定自己基于开源组件开发一个在线文档系统。

不想用语雀、有道云、印象笔记?于是自己开发了一个在线知识库系统并开源了它!

系统架构

前后端组件

本身自己对 Python 编程语言比较熟悉,所以后端就选择了 Python 语言下的 Web 开发框架——Django 。

不想用语雀、有道云、印象笔记?于是自己开发了一个在线知识库系统并开源了它!

前端界面为了省事,直接使用开箱即用的国产前端UI组件——LayUI。

不想用语雀、有道云、印象笔记?于是自己开发了一个在线知识库系统并开源了它!

编辑器组件

作为文档系统,读写是两个核心功能。对于写文档,本人比较喜欢使用 Markdown 进行书写,那么编辑器就选择了开源的 Markdown 编辑器 —— Editor.md 和 Vditor。

为什么集成了两个编辑器呢? Editor.md 年久失更,但是扩展比较方便,而 Vditor 作为一个开源 Markdown 编辑器的新秀,界面、功能体验都更优,且更新迭代频繁 。所以就集成了 2 个 Markdown 编辑器,自由选择和切换。

同时为了满足偶尔对富文本编辑的需求,还集成了一个轻量级的富文本编辑器——iceEditor。

其他组件

除此之外,还借助了以下组件来实现系统的功能:

后台管理界面——PearAdminLayUI


站点图标——IconFont

图片放大显示——Viewer


文档拖拽排序——Sortable.js

主要功能

文档与文集

作为一个文档系统,最主要的功能当然是文档的书写和阅读了。在这里,为了最大化地让文档结构化,我首先设定「文集」作为系统内文档的容身之所,每一个「文档」都必须归属于一个「文集」;同时,「文档」之间最多支持 3 个层级的排序。

文集支持权限配置:公开访问、私密访问、访问码访问、指定用户访问:

不想用语雀、有道云、印象笔记?于是自己开发了一个在线知识库系统并开源了它!

配置文集权限

文集支持成员配置,成员可在文集内进行文档的相关操作:

不想用语雀、有道云、印象笔记?于是自己开发了一个在线知识库系统并开源了它!

私密文集内的文档支持分享码分享访问:

不想用语雀、有道云、印象笔记?于是自己开发了一个在线知识库系统并开源了它!

文档书写

文档的书写界面使用左右两栏式布局,左侧可以选择文档的文集,设置文档的层级和排序;右侧则是编辑器区域。

不想用语雀、有道云、印象笔记?于是自己开发了一个在线知识库系统并开源了它!

同时,在文档编辑页面,可以导入本地 Word 文档、本地文本文件和「文档模板」

不想用语雀、有道云、印象笔记?于是自己开发了一个在线知识库系统并开源了它!

文本文档导入Word文件

在线表格支持导入本地Excel文件:

不想用语雀、有道云、印象笔记?于是自己开发了一个在线知识库系统并开源了它!

文档阅读

文档阅读界面依然是左右双栏式布局,左侧文集大纲,右侧文档内容。

不想用语雀、有道云、印象笔记?于是自己开发了一个在线知识库系统并开源了它!

文集页面

不想用语雀、有道云、印象笔记?于是自己开发了一个在线知识库系统并开源了它!

文档阅读页面

最后

除此之外,还开发了文集和文档的Markdown导出功能、支持进行浏览器剪藏的浏览器扩展等。

到了这一步,自己的需求基本上被满足了。如何让它满足更多人的需求呢?——开源!

于是,我把它开源在了全球著名的代码托管平台——GitHub 和 国内著名代码托管平台——Gitee。

两个仓库的地址是

有想体验又不想安装部署的小伙伴,可以前往示例站点进行体验。

测试账号:test1 密码:123456

系统部署在自己的服务器上,想存啥存啥,想写啥写啥,还要啥自行车~

网友评论

验证码 换一张
取 消
暂无评论...
三日内热门评论文章
为您推荐
  • 相关阅读
  • 业界资讯
  • 手机通讯
  • 电脑办公
  • 新奇数码
  • 软件游戏
  • 科学探索