MrDoc基于 Python 的在线文档系统

联合创作 · 2023-09-30 15:44

MrDoc,基于 Python 开发的在线文档系统。


MarkDown 编辑,快速书写;类 Gitbook,简洁阅读;后台管理。



州的先生(zmister.com)自用并完全开源、基于 Python 编写的文档写作系统。


MrDoc 拥有以下特点:



  • 站点与用户系统简洁



    • 基于Django自带的用户模型,实现简单高效的用户管理,支持用户注册、用户登录、管理员等控制等功能;

    • 支持全站关闭注册;

    • 支持注册邀请码配置;

    • 支持广告位自定义配置;

    • 支持统计代码自定义配置;


  • 文档系统清晰



    • 基于文集的文档撰写和阅读;

    • 基于Editormd的Markdown编辑器,支持Markdown语法的文档写作,支持图片粘贴上传,支持从本地MD文件中插入内容;

    • 提供文档模板功能,支持文档模板的创建、修改;

    • 仿GitBook文档阅读页面,支持文档阅读页面的字体缩放,字体类型修改,页面社交分享,良好的移动端阅读体验;

    • 支持三级目录层级显示;

    • 支持文集后台导出为markdown文本格式.md文件、前台导出为EPUB电子书;

    • 基于文集进行权限控制,提供公开、私密、指定用户可见、访问码可见4种权限模式;


  • 二次开发方便



    • 使用Django传统的MTV开发模式,路由、视图函数、模型易于理解;

    • 使用非前端工程化构建前端页面,主要使用Layui进行页面布局和展示,方便改动;



在开发过程中,参考和借鉴了GitBook、ShowDoc、Wordbook等应用和网站的功能与样式。


网站架构



  • 编程语言:Python 3

  • 后端Web框架:Django 2

  • 前端UI库:Layui 2.5.6

  • JS库:Jquery3.3

  • MarkDown编辑器:Editormd

  • 页面社交分享:Share.js

  • Markdown科学公式:Katex.js


安装教程


1、安装依赖库





pip install -r requirements.txt



2、配置数据库信息


默认情况下,MrDoc使用Django的SQLite数据库,在旧版本MrDoc附带了一个Sqlit数据库,如果你使用的是MrDoc源码附带的Sqlite数据库,或使用Sqlite数据库,则无需另外配置数据库。 如果有配置其他数据库的需求,请在/MrDoc/MrDoc目录下打开settings.py文件,在约80行的位置,将如下代码:





DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}



按照自己数据库的信息,将其修改如下格式,下面以MySQL为例:





DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 使用的数据库后端
'NAME': 'mrdoc', # 数据库名
'USER':'root', # 数据库用户
'PASSWORD':'123456789', # 数据库用户密码
'HOST':'', # 数据库主机地址
'PORT':'3306', # 数据库端口
}
}



3、初始化数据库


在安装完所需的第三方库并配置好数据库信息之后,我们需要对数据库进行初始化。


在项目路径下打开命令行界面,运行如下命令生成数据库迁移:





python manage.py makemigrations



接着,运行如下命令执行数据库迁移:





python manage.py migrate



执行完毕之后,数据库就初始化完成了。


4、创建管理员账户


在初始化完数据库之后,需要创建一个管理员账户来管理整个MrDoc,在项目路径下打开命令行终端,运行如下命令:





python manage.py createsuperuser



按照提示输入用户名、电子邮箱地址和密码即可。


5、测试运行


在完成上述步骤之后,即可运行使用MrDoc。


在测试环境中,可以使用Django自带的服务器运行MrDoc,其命令为:





python manage.py runserver


浏览 34
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报