乐于分享
好东西不私藏

全功能博客系统,多编辑器 + 多端覆盖,这款开源项目把后台管理和内容创作全包了

全功能博客系统,多编辑器 + 多端覆盖,这款开源项目把后台管理和内容创作全包了

做过博客的人大概都经历过这种纠结:用 WordPress 吧,PHP 环境配得头大;用静态站点吧,连个评论系统都得自己接;想从零写一个吧,光后台管理那一堆权限和用户体系就够喝一壶了。

更尴尬的是,好不容易搭起来了,发现编辑器不好用、移动端没适配、SEO 一塌糊涂——最后博客没写几篇,折腾的时间倒比写文章还长。

想搭博客但从零开发太费劲,后台权限/用户/日志一堆基础功能要写

编辑器不顺手,Markdown 和富文本来回切换折腾

只有 PC 端,手机上看体验拉垮

博客做出来了但 SEO 不行,搜索引擎根本不收录

今天聊的这个项目,思路很直接:拿若依(RuoYi-Vue)这个成熟的后台框架当底座,往上叠博客业务。后台管理不用从零造轮子,专注写内容就行。

项目名叫 Blog(仓库名 ruo-yi-vue-blog),基于 RuoYi-Vue 前后端分离架构,后端 Spring Boot + MyBatis,前端 Vue + Element UI,MIT 协议开源。PC 端、移动端、小程序、SEO 版本一应俱全,算是把博客该有的端都覆盖了。

博客前台首页,文章列表、分类导航一应俱全

核心特性

特性
说明
若依底座
继承 RuoYi 全套后台能力:用户/角色/菜单/权限/日志/监控,开箱即用
三种编辑器
CherryMarkdown 写技术文章,Quill 和 Tinymce 写富文本,各有所长
多端覆盖
PC 端 + UniApp 移动端(H5/微信小程序/支付宝小程序/APP)
SEO 版本
单独提供 Nuxt 重构版,服务端渲染解决收录问题
随笔模块
像发朋友圈一样写短内容,不拘泥于长文
评论与留言
文章评论 + 独立留言板,读者互动不是摆设
标签分类检索
多维度内容组织,找文章不靠翻页
文件管理
统一管理上传的图片、附件,后台可视可删
代码生成器
若依自带,新增业务模块可以自动生成前后端 CRUD 代码
MIT 协议
随便用、随便改、随便商用,没有法律顾虑

应用场景分析

个人技术博客

用户开发者、技术写作者

痛点 想要一个带后台管理的博客,但不想从零搭建用户体系和权限系统;需要 Markdown 写技术文章,偶尔也发点非技术内容

方案 若依底座直接搞定后台管理,CherryMarkdown 写技术文,Quill/Tinymce 写生活随笔,标签分类把技术文章和随笔分开

效果 半天搭好博客框架,集中精力写内容而不是造轮子

团队/公司知识库

用户小团队、初创公司

痛点 需要一个内部知识共享平台,要求有权限管理(不是谁都能发文章),同时要支持多人协作

方案 若依的 RBAC 权限体系天然支持角色区分(管理员/编辑/普通读者),文章分类做部门分区,评论系统做内部讨论

效果 不用单独买协作平台,搭一套博客系统把知识沉淀和团队沟通都覆盖了

毕业设计 / 课程作业

用户计算机专业学生

痛点 毕设要做个”XX系统”,但时间紧、基础功能(登录/权限/日志)自己写来不及;答辩老师看重功能完整度

方案 以此项目为蓝本二次开发,若依底座自带的功能(用户/角色/菜单/日志/监控/代码生成)在答辩时都是加分项,博客业务逻辑容易理解和扩展

效果 功能完整度碾压同学,技术栈(Spring Boot + Vue + MyBatis)也是面试常见组合

功能模块说明

博客前台:阅读体验优先

首页展示文章列表,支持按分类和标签筛选。点进去是文章详情页,底部有评论区。另外还有独立的随笔页面——类似朋友圈,发点短内容、灵感碎片,不用每次都正儿八经写长文。

前台首页,文章列表按时间线排列,侧边有分类和标签导航

文章详情页,排版干净,底部评论区可以直接互动

随笔模块:碎片化表达

不是所有想法都值得写一篇两千字的长文。随笔模块就是干这个的——写一段话,配一张图,发布出去,像发微博一样轻量。

随笔列表,短内容也能有存在感

留言板:读者和作者的对话

独立于文章评论的留言功能,读者可以随便留言,博主可以统一回复。有点像早期互联网的”留言本”,但界面现代化了不少。

留言板页面,读者随时可以和博主互动

后台管理:若依的那套,全都在

登录后台,首先是仪表盘,显示访问统计和系统概况。然后是博客业务区:文章管理、随笔管理、分类管理、标签管理、评论管理、留言管理、文件管理——内容运营需要的都有了。

再加上若依原生的用户管理、角色管理、菜单管理、操作日志、定时任务、代码生成、系统监控……这是一个完整的企业级后台,不只是一个”能发文章的后台”。

后台仪表盘,访问统计和系统信息一目了然

文章管理列表,支持搜索、筛选、批量操作

三种编辑器:各有所长

写技术文章用 CherryMarkdown,代码高亮、公式、流程图都支持,程序员的最爱。写普通内容用 Quill 或 Tinymce,所见即所得,排版直观。不同场景切换不同的编辑器,不用在一个不顺手的编辑器里硬撑。

CherryMarkdown 编辑器,代码高亮和公式渲染都没问题

多端生态:PC 只是起点

这个项目不只是 PC 端一个仓库。作者搞了一整套多端方案:

多端项目一览

PC 端(后台 + 前台):ruo-yi-vue-blog — RuoYi-Vue 架构

SEO 版本:ruo-yi-vue-blog-nuxt — Nuxt 服务端渲染,搜索引擎友好

新版移动端 / 小程序:photo-graphy-uniapp — 支持 APP、小程序、H5

旧版移动端:ruo-yi-vue-blog-uniapp — UniApp 跨端方案

SEO 版本特别值得说一句:Vue 单页应用的天生短板就是搜索引擎爬不到内容。作者单独用 Nuxt 重构了一版,服务端渲染直接输出 HTML,收录问题从根上解决。有 SEO 需求的,直接用 Nuxt 版本就行。

技术架构

后端基于 Spring Boot 2.2.x,持久层用 MyBatis 3.5.x + Druid 1.2.x 连接池,安全框架是 Spring Security 5.2.x。前端 Vue 2.6.x + Element UI 2.15.x + Axios,经典的前后端分离组合。

Spring Boot 2.2MyBatis 3.5Spring Security 5.2Druid 1.2Vue 2.6Element UI 2.15CherryMarkdownQuillTinymceUniAppNuxt

运行环境要求不高:JDK 1.8+MySQL 5.7+Maven 3.0+Node 12+,基本上任何一台云服务器都能跑起来。

快速上手

部署步骤不复杂,照着来就行:

# 1. 克隆项目git clone https://gitee.com/Ning310975876/ruo-yi-vue-blog.git# 2. 导入数据库(项目根目录的 SQL 文件)# 3. 修改后端配置(数据库连接、端口等)# 4. 启动后端项目# 5. 启动前端cd ruoyi-ui npm install –registry=https://registry.npmmirror.com npm run dev

启动完成后访问 http://localhost:80 就能看到前台页面了。后台管理入口在同一个项目里,登录即可使用。

建议先在本地跑通再上服务器。MySQL 字符集选 utf8mb4,否则表情符号和特殊字符会存不进去。

项目链接

Gitee 仓库:https://gitee.com/Ning310975876/ruo-yi-vue-blog

SEO 版本:https://gitee.com/Ning310975876/ruo-yi-vue-blog-nuxt

新版移动端:https://gitee.com/Ning310975876/photo-graphy-uniapp

旧版移动端:https://gitee.com/Ning310975876/ruo-yi-vue-blog-uniapp

开源协议:MIT

若依框架本身有详细的官方文档(doc.ruoyi.vip),部署和二次开发遇到问题可以先查文档。博客业务部分的项目文档地址在 README 中也有列出。

适合谁用

人群
推荐理由
个人开发者
想要一个”开箱即用 + 可深度定制”的博客,不想从零搭建后台
Java 学习者
代码结构清晰,基于若依规范,适合学习 Spring Boot + Vue 全栈开发
毕设学生
功能完整度高,技术栈主流,答辩时经得住问
小团队
需要内部知识平台,权限体系现成,内容管理开箱即用

免责声明

1. 本文分享的开源项目均来源于公开代码托管平台(Gitee / GitHub),项目版权归原作者所有;

2. 本号仅做技术分享与推荐,不对项目的商业可用性、安全性、稳定性做任何担保;

3. 使用开源项目时,请务必遵守项目自身的开源协议(如 MIT、Apache 2.0 等),并注意协议对商用、修改、分发等行为的约束;

4. 因使用或部署开源项目所导致的任何直接或间接损失,本号不承担任何责任;

5. 如发现项目存在侵权、违规等问题,请联系本号,我们将及时删除相关内容。

有偿技术服务声明

本号在分享开源资源的同时,亦提供后台有偿技术指导服务,具体包括但不限于:

项目部署:协助完成环境配置、依赖安装、调试运行及常见错误排查;

建站咨询:提供网站搭建、域名配置、服务器选型、安全设置等建议与操作指导;

需求评估:根据您的业务场景,评估技术可行性、预估工作量及成本,并给出合理方案。

上述服务为自愿选择,不影响您免费使用本文所分享的开源资源。