一个简单的博客系统,由 Flask 驱动
- 集成后台管理页面
- 完善的SEO优化
- 可选的,集成第三方登录的内置评论系统
- 支持接入Disqus, Google Analytics, 腾讯云对象存储
- Docker 部署
- Letsencrypt SSL证书
- 自由更改主题色
Flog 的 Markdown 语法遵循 GitHub Flavored Markdown 规范,支持脚注、表格、文章目录、数字公式等。
此外,Flog 还支持图片排版,使用方法是将多个图片放在一起(不换行),将渲染为多列图片。例:
![](/images/image1.jpg) ![](/images/image2.jpg)
![](/images/image3.jpg) ![](/images/image4.jpg)
效果:
完整效果可见我的博文。
- 安装 pipenv
$ pip install pipenv
- 常用命令
# 安装所有开发依赖
$ pipenv install -d
# 生成翻译文件
$ pipenv run make compile
# 升级DB
$ pipenv run flask db upgrade
本项目管理后台使用前后端分离结构(Vue.js + Flask),应当分别开发与调试,再进行联调。所以开发模式上存在以下几种组合:
-
调试前端
- 确保
static/env.development
中VUE_APP_BASE_API = '/dev-api'
- 启动开发服务器:
cd static && npm run dev
- 此模式下所有后端请求将被 mock 拦截,http://localhost:9527将自动在浏览器中打开
- 确保
-
前后端联调
- 确保
static/env.development
中VUE_APP_BASE_API = 'http://127.0.0.1:5000/api
- 启动后端开发服务器:
FLASK_ENV=development pipenv run flask run
,地址为http://127.0.0.1:5000 - 启动前端开发服务器:
cd static && npm run dev
,地址为http://localhost:9527 - 此模式下前后端改动均能自动重启,且后端请求真实发至后端服务器
- 确保
-
准生产环境调试
- 构建前端页面
cd static && npm run build:prod
,此时前端页面将以生产模式编译压缩 - 启动后端开发服务器:
FLASK_ENV=development pipenv run flask run
- 此模式将模拟生产环境行为,后端服务器可更新,但前端不可以。
- 构建前端页面
前往$your_domain/admin
使用账号admin
密码admin
(默认)登录,然后就可以开始写文章了。
前往$your_domain/admin/setting
配置页更改密码及其他设定。
- CSS and JS framework: Bootstrap4
- Article CSS: yue.css
- Mardown renderer: Marko
- Markdown editor: Simple MDE
- Picture preview: Photoswipe
- Vue-Element-Admin
本项目使用MIT License许可开源。