Skip to content
person blog powered by flask
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
certbot
mysql
nginx
source
.env
.gitignore
README.md
docker-compose.yml

README.md

YuBlog

介绍

使用文档

功能强大的个人博客,功能齐全的管理后台,简洁大气的前端页面。 支持markdown文章编辑,代码高亮以及优雅美观的评论栏。

使用mysql数据库存储博客数据,redis数据库做博客缓存。预览:here

部署方案查看:Ubuntu+uwsgi+Nginx部署Flask应用

推荐Docker-Compose 部署:

  1. 推荐站点配置https证书(配置方法),不然Chrome会将站点标记为不安全,不配置证书则需要将default.conf配置改为:

    server {
        listen      80;
        # set your domain or ip address
        server_name example.com;
        charset     utf-8;
        client_max_body_size 75M;
    
        location / {
            uwsgi_pass web:9001;
            uwsgi_read_timeout 600;
            uwsgi_connect_timeout 600;
            uwsgi_send_timeout 600;
            include uwsgi_params; # the uwsgi_params file you installed
        }
    
    }
    
  2. 配置config.py文件应用信息,敏感信息建议在.env文件中配置,

  3. 启动docker-compose up -d

  4. 停止docker-compose down

本地使用

默认不使用七牛图床功能,如想使用,需要在config.py配置对应信息,并将NEED_PIC_BED改为True

  1. 下载此项目程序,配置mysql,创建数据库mydb(数据库名在config.py自由定义);安装redis数据库;
  2. 进入应用文件夹:cd source
  3. 安装项目依赖:pip install -r requirements.txt
  4. 打开config.py配置文件,配置站点信息,设置需要的环境变量;
  5. 创建迁移仓库:python manage.py db init
  6. 创建迁移脚本:python manage.py db migrate -m "v1.0"
  7. 更新仓库:python manage.py db upgrade
  8. 创建管理员信息:python manage.py add_admin
  9. 运行程序:python manage.py runserver --host 0.0.0.0
  10. 管理后台:/admin

其他

  • 个人使用博客,计划长期更新改进;
  • 欢迎pull requests,提供建议;
  • 如果喜欢欢迎starfork

ToDo

  • 更加美观的页面;
  • 自定义侧栏插件;✔
  • 独立个性的评论系统;✔
  • 更方便的七牛云图床管理; ✔
  • 优化邮件功能;✔
  • 完善测试程序;
  • 添加详细文档;
  • 更加简单的管理界面;

更新

  1. 集成editor.md编辑器,所见即所得。提交日志:f33c33 下载即用
  2. 弃用editor.md编辑器,使用markdown库支持编写文章。
  3. 加入系列文章功能,记录某一主题系列文章。
  4. 添加侧栏插件功能,可添加广告插件和普通插件,需要自己编写前端样式。
  5. 使用轻量simplemde-markdown-editor编辑器,在线编辑文章更加优雅。
  6. 集成七牛官方sdk,编辑简洁美观的七牛图床,上传以及操作图片更加方便。
  7. 添加Docker一键部署.。
  8. 添加获取letsencrypt提供免费http证书的脚本。

Enjoy it.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.