博客项目方案

自建博客项目方案

前后端分离 后端提供用户系统、评论系统等核心数据增删查改api。 前端提供markdown解析,页面展示等。

核心理念: 文章内容不在数据库中存储,不实时更新,不在页面提供文章编辑功能。 文章以markdown格式存储在git仓库中,也就是文章存储和整个博客前后端架构是完全独立的。

前端

技术栈:vue.js 1、文章存储在git私有仓库中,.md markdown格式,博客服务器上通过脚本拉取.md文章仓库到本地,通过vue.js读取.md文件,解析,css渲染,生成页面。 2、文章更新采取下面3种方式结合: (1)服务器上跑脚本定时从git仓库拉取最新文章,拉取后自动解析并重启前端,可以在每天夜里四五点定时跑这个脚本。 (2)ssh登录服务器,手动执行脚本,用于发布新文章后想马上重启前端使之生效。 (3)git仓库添加 Webhook,比如在代码往master合并后触发hook,调用指定api,实现前端重新部署(这个api怎么写?)。 3、markdown文章中设置front-matter变量,来区分对待各个文章参数,比如是public文章还是private文章

前后端

1、postlink作为文章的主键来和评论系统关联,在整个博客中必须是唯一的。(postlink增删改时如何处理?) 2、用户权限与文章权限对应,public文章所有人都能看,private文章指定权限的用户可查看 3、文章的标签、分类如何做?之前的hexo博客是纯前端、纯静态html的,每次生成html文件是生成标签和分类数据,现在是否要存入数据库?

后端

技术栈:Spring Boot, MyBatis, MySQL, RestfulAPI 包括: 1、用户系统 2、评论系统

功能; 1、用户登录,用户信息增删查改 2、评论增删查改 3、用户权限,管理员能看到网站访问量等统计数据,能操作评论数据

当前进度

1、选型和demo验证 (1)Spring boot + MyBatis + MySQL 这套东西都没啥问题,平常都在用。 (2)前端那块需要学学vue.js,如何渲染markdown?

V部落是一个多用户博客管理平台,采用Vue+SpringBoot开发。 lenve/VBlog https://github.com/lenve/VBlog