资讯专栏INFORMATION COLUMN

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

jsummer / 2327人阅读

摘要:项目源码是基于开发的开源书籍博客。编辑器例子在线写书的编辑器是纯实现,我多带带将它开源出来写好书籍后点击发布,就能在首页上看到最新书籍动态界面的界面简洁美观易用。

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

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

因为很多博客系统都是以文章的形式为主;如果记录的文章变多了,还需要进行分类,而且查找以前写过的某篇文章会比较麻烦。

beibq是用写书的方式来写博客,因为书籍本身就具有分类功能,就算记录的内容变多了也不觉得乱,而且在阅读时通过点击书籍目录很方便的切换到其他章节。

安装配置

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

在线写书

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

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

编辑器例子:在线写书

beibq的编辑器是纯js实现,我多带带将它开源出来:bookeditor

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

界面

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44614.html

相关文章

  • 我的第一本 gitbook: Flask Web 开发笔记

    摘要:月份发布了第版,收到不少网友的良好建议,所以又抽空进行了完善,当然也拖了不少时间。本书主要介绍的基本使用,这也是我一开始在学习过程中经常用到的。第章实战,介绍了如何开发一个简单的应用。声明本书由编写,采用协议发布。 showImg(https://segmentfault.com/img/remote/1460000007484050?w=200&h=152); 书籍地址 head-f...

    KevinYan 评论0 收藏0
  • flask文档学习笔记1-快速入门

    摘要:示例如下静态路由使用动态变量的路由未指定变量类型使用动态变量的路由指定变量类型指定的路由变量,可以作为被装饰的函数参数传入进来。 开始决定认真的在网上写一些东西,主要原因还是在于希望能提升学习效果。虽说python写了有几年,但是web后端框架的确没怎么接触过,买了本狗书寥寥草草的过了一遍,发现很多东西还是理解不深,真的是好记性不如烂笔头,知识也要从基础开始,退回来好好看看官方文档,再...

    lingdududu 评论0 收藏0
  • 初见Flask

    摘要:接收用户请求并分析请求的。执行函数并生成响应,返回给浏览器。这个过程我们称为注册路由,路由负责管理和函数之间的映射,而这个函数则被称为视图函数。文件是一个名为的文本文件,它存储了项目中提交时的忽略文件规则清单。 flask简述 Flask 是一个基于 Python 开发并且依赖 jinja2 模板和 Werkzeug WSGI 服务的一个微型框架,对于 Werkzeug 本质是 Soc...

    tomorrowwu 评论0 收藏0
  • Python测试开发中Django和Flask框架的区别

    摘要:在谈中框架和框架的区别之前,我们需要先探讨如下几个问题。通过大数据统计分析全球著名的网站对和这两个框架的调查分析。从全球著名的代码托管平台上的和数量上分别为,分别为。 在谈Python中Django框架和Flask框架的区别之前,我们需要先探讨如下几个问题。 一、为什么要使用框架? showImg(https://segmentfault.com/img/remote/14600000...

    B0B0 评论0 收藏0

发表评论

0条评论

jsummer

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<