黑洞空间站 - 一个简单好看的博客系统

作者的个人博客“黑洞空间站”经过长时间开发后上线,采用Springboot后端和Vue3+TypeScript前端技术栈。项目开源,后端使用Mybatis、PageHelper等,前端依赖Tailwind、GSAP等。博客支持夜间模式,打包体积小,性能良好。后续将分享开发中的问题和解决方案,包括后端安全、缓存、分页等,以及前端图片懒加载、表单验证等功能。

文章目录

前言

在经历漫长的开发,推到重来,再开发后,我的个人博客 黑洞空间站 终于上线了!

从上一篇博文至今已经半年多了,去年九月花了一个月时间学习了vue3和typescript,做了几个demo页面就沉寂了,毕竟还是要忙于毕业设计等事务,不得不作罢。

时间来到十二月,我才重新捡起这个项目,着手开始后端部分的开发,开发过程还算得心应手,也萌生了不少有趣的想法,后面会一一道来。前端部分踩坑连连,不想赘述。总之,现在呈现在你面前的就是这一个不太完善(指后台管理)的博客,不完善部分等之后有时间再逐步优化吧。

代码已开源,后端:brooke-zb/BlackHoleStation,前端:brooke-zb/BlackHoleStation-UI

同时欢迎各路大佬交换友链~

技术选型&架构

此次项目后端采用Springboot,其他依赖主要有Mybatis(老生常谈)、PageHelper(分页)、Caffeine(缓存)和Hibernate Validator(校验)。

前端采用vue3 + typescript,主要依赖有tailwind(原子化css,用过都说棒!)、gsap(动画)、marked(markdown解析)、prism(代码高亮)。

为了充分发挥前后端分离的优点,将静态资源和API服务分开部署,用户体验++

架构图

功能特点

作为一个博客系统该有的大部分功能它都有,非要说特点的话,大致有以下几点:

  • 自己创建的UI框架,按需编写,拒绝冗余
  • 支持夜间模式
  • 打包体积小,性能还过得去

后续博文

怎么写博客系统这种文章网上一搜一大把,作为一个不愿随波逐流的技术博客(确信),我决定后续写点不一样的,基于在项目中遇到的一些问题,将自己的思考和解决方案放出来,欢迎大家讨论交流。也许偶尔还会写一些博主生活相关的博文,就当是树洞了。

后端篇

前端篇

  • 如何实现图片懒加载和图片灯箱
  • 如何实现Toast通知功能
  • 实现表单参数验证,并自定义提示信息
  • 使用Custom Extensions拓展marked语法

敬请见证!