基于flask实现开发相似gitbook项目:beibq

项目源码:https://github.com/chaijunit/...html

beibq是基于flask开发的开源书籍博客。python

由于不少博客系统都是以文章的形式为主;若是记录的文章变多了,还须要进行分类,并且查找之前写过的某篇文章会比较麻烦。mysql

beibq是用写书的方式来写博客,由于书籍自己就具备分类功能,就算记录的内容变多了也不以为乱,并且在阅读时经过点击书籍目录很方便的切换到其余章节。linux

安装配置

搭建好网站后,用浏览器访问,会出现配置界面git

在线写书

beibq的编辑器支持Markdown,Markdown是一个标记语言,只须要几个简单的标记符号就能转化成丰富的HTML格式,特别适合写博客。关于Markdown的具体介绍:Markdown 语法说明github

beibq的编辑器界面简洁、操做简单,可以经过工具栏或快捷键方式输入Markdown标记符号,有效的提升写做效率;编辑器的目录区支持章节拖拉,能够调整章节顺序。ajax

编辑器例子:在线写书sql

beibq的编辑器是纯js实现,我单独将它开源出来:bookeditor数据库

写好书籍后点击发布,就能在首页上看到最新书籍动态flask

界面

beibq的界面简洁、美观、易用。阅读博客时,就像看书同样,界面包含书籍目录;这样只要点击目录的某个章节就能很方便切换到其余章节。

为了提升切换章节效率,当点击目录中某个章节,经过ajax异步请求章节内容,这样能够不只提升页面刷新速度并且具备很好的阅读体验;

其实使用ajax异步请求章节会出现一个问题,当网络延迟高,用户短期内点击多个章节,会致使页面显示混乱;为了解决这个问题,我设计一个队列,将用户点击章节时将该事件缓存到队列中,若是短期内接收多个点击事件,我其实只请求队列中最后的一个事件。

beibq还能够自动适配移动端界面,用户能够在移动设备上阅读。

安装使用

1. 安装mysql

beibq使用的数据库是mysql,安装前须要先安装mysql

我使用的是centos,安装方法能够参考该文档:Installing MySQL on Linux Using the MySQL Yum Repository

2. 安装依赖包

pip install -r requirements.txt

3. 启动程序

python manage.py runserver -h 0.0.0.0

4. 配置站点

在浏览器中输入http://127.0.0.1:5000

第一次访问会跳转到配置界面,根据指示配置站点信息后就能使用beibq

相关文章
相关标签/搜索