博客项目方案
自建博客项目方案
前后端分离
后端提供用户系统、评论系统等核心数据增删查改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
上一篇 Hexo博客(23)弃用七牛云图床改为git仓库图床
下一篇 AWS-EC2使用记录
页面信息
location:
protocol
: host
: hostname
: origin
: pathname
: href
: document:
referrer
: navigator:
platform
: userAgent
: