MrDoc基于 Python 的在线文档系统
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
评论
BookStack基于 Mindoc 的在线文档管理系统
BookStack,分享知识,共享智慧!知识,因分享,传承久远!BookStack是基于Mindoc
BookStack基于 Mindoc 的在线文档管理系统
0
BookStack基于 Mindoc 的在线文档管理系统
BookStack,分享知识,共享智慧!知识,因分享,传承久远!BookStack是基于Mindoc开发的,为运营而生。功能类似gitbook和看云,可用于文档项目管理,也可用于开源书籍的整理并提供用
BookStack基于 Mindoc 的在线文档管理系统
0
OnlineJudge基于 Python 和 Vue 的在线评测系统
OnlineJudge 是基于 Python 和 Vue 的在线评测系统。概览基于 Docker,真
OnlineJudge基于 Python 和 Vue 的在线评测系统
0
OnlineJudge基于 Python 和 Vue 的在线评测系统
OnlineJudge是基于Python和Vue的在线评测系统。概览基于Docker,真正一键部署前后端分离,模块化编程,微服务ACM/OI两种比赛模式、实时/非实时评判任意选择丰富的可视化图表,一图
OnlineJudge基于 Python 和 Vue 的在线评测系统
0
SmartWikiLaravel 实现的在线文档管理系统
简介SmartWiki是一款针对IT团队开发的简单好用的文档管理系统。可以用来储存日常接口文档,数据
SmartWikiLaravel 实现的在线文档管理系统
0
SmartWikiLaravel 实现的在线文档管理系统
简介SmartWiki是一款针对IT团队开发的简单好用的文档管理系统。可以用来储存日常接口文档,数据库字典,手册说明等文档。内置项目管理,用户管理,权限管理等功能,能够满足大部分中小团队的文档管理需求
SmartWikiLaravel 实现的在线文档管理系统
0
开源MrDoc,一个适合个人和小型团队的文档、知识、笔记在线管理系统
一、为什么写MRDOC
从2016年底到今天,州的先生在博客上写了一百来篇文章,其中有不少的都是连载类型的系列教程。在积累了一定数量的文章之后,就打算将其整理为一个文集,方便读者朋友的连贯性阅读和学习。但是博客使用的WordPress在进行文集管理方面并不是很好,于是就在市面上找各种文档文集系统。在这个过程中,接触到了很多优秀的文档写作系统:
Gitbook
一个基于Node.js的文档写作工具,可使用 Github/Git 和 Markdown 来制作精美的电子书,其提供本地化地部署,也支持在gitbook上注册账号进行文档写作。
ShowDoc
一个国内团队开发的基于PHP的文档写作系统,可以快速使用Markdown编
州的先生
0