# blog **Repository Path**: littlestoney/blog ## Basic Information - **Project Name**: blog - **Description**: 个人博客源码 - Powered by Egg.js - **Primary Language**: JavaScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 28 - **Forks**: 6 - **Created**: 2020-01-07 - **Last Updated**: 2025-04-01 ## Categories & Tags **Categories**: blog **Tags**: None ## README # 个人博客 ![首页](/markdown/home.png) ![详情页](/markdown/detail.png) ![后台首页](/markdown/admin.png) ![博客预览](/markdown/introduce.gif) ## 介绍 个人博客源码,基于原express框架完全重构,新版由Egg.js框架搭建(BootStrap + jQuery + ejs)。受限于学生时代代码水平不足,后续会陆续修改完善。喜欢请star,谢谢! ## 安装教程(建议使用Mac或者WSL进行开发) 1. 如果你有Node.js基础,那么很简单,首先进入文件目录终端执行命令安装依赖 ```bash yarn #or npm install ``` 2. **创建数据库,MySQL执行blog_egg.sql文件(表默认存储引擎为InnoDB)**。注意数据库的名称、账户和密码,在config目录下的config.default.js可以修改相关参数。1.0正式版后添加了redis缓存热门博客功能,因此还需要启动redis服务。redis相关配置在app/lib/redis.js文件,默认为**localhost 6379端口**,因此只需要执行```redis-server &``` 命令启动服务即可 3.本地开发 ```bash yarn dev #or npm run dev ``` > 如果开发报错,需要注意MySQl8.0以上密码校验问题 4.线上部署(本博客采用prod分支,建议按自己需求部署,不必参考该分支) ```bash yarn start #or npm start # https yarn start -- --port=443 ``` ## 使用说明 后台管理初始账号:123456 初始密码:12345678 开启https服务:请查看官方文档 免费申请SSL证书: ## 静态资源 ​为优化前端性能,加快页面打开速度,本博客前台静态资源采用了如下优化(切换prod分支): + BootStrap 和 jQuery 采用了BootCDN加速 + public静态资源采用egg-static设置强缓存,时长为1周 + 前台**bootstrap.css、style.css**和**style.js、form.js**文件采用gulp打包压缩合并,且读取package.json中的version值作为版本后缀,每次更改css或js内容后需要手动更新package.json中的version再打包,这样客户端能及时获取最新文件内容,防止继续读取缓存 + 打包静态css+js方法 ```bash yarn build #or npm run build ``` 打包后新生成的文件在 _app/public/home/_ 目录下 ### 参与贡献 *Copyright © 2019 shixtao@qq.com* ### 已知bug + ~~后台session过期会在浮动框架中显示登陆页面~~ + ~~@1000 评论添加、删除时需要同步更新评论数;管理后台审核评论也需要更新~~ + ~~@1100 搜索页关键词高亮存在问题,关键词分类页也会高亮~~ + ~~@2000 评论区存在严重bug,正在紧急修复中~~ + ~~@1200 后台需要校验不上传博客封面的情况~~ + ~~@1300 前端图片懒加载适配低版本浏览器~~ + ~~@1400 https连接下后台矢量图标无法显示~~ + ~~@1500 搜索博客无内容时页面布局问题~~ + ~~@1600 主题切换刷新高亮显示错误,评论成功弹窗优化~~ ### 需求 + ~~feat: #1000 使用egg+sequelize重构数据库~~(考虑sequelize复杂性放弃) + ~~feat: #1100 评论区接入QQ登录,使用QQ用户的头像和姓名~~(腾讯不给审核) + ~~feat: #1200 搜索框关键词高亮~~ + ~~feat: #2000 完善评论回复功能~~ + ~~feat: #1300 主页分页ui美化~~ + ~~feat: #3000 静态资源js/css采用gulp打包优化缓存~~(config只读,不推荐更改) + ~~feat: #4000 分类页采用ajax渲染文章,添加热门分类~~ + ~~feat: #5000 **博客新增热门页,采用redis进行缓存**~~ + ~~feat: #1400 博客主题切换优化,抽离colorSet函数~~ + ~~feat: #1500 后台博客管理页优化~~ + ~~feat: #6000 评论框添加emoji表情~~ + ~~feat: #7000 文章页添加是否允许评论开关~~ + ~~feat: #1600 后台博客管理页添加搜索文章功能~~ + ~~feat: #1700 优化前台less文件,添加更多less特性,修复less变量与css变量重复问题~~ + ~~feat: #8000 前端theme主题逻辑优化~~ + ~~feat: #1800 前端页面js迁移至ES6代码~~ + ~~feat: #9000 处理兼容IE11~~ + feat: #10000 代码优化 + ~~feat: #20000 博客主题换肤逻辑优化,引入CSS变量,修复换肤再次打开闪现问题~~ + ~~feat: #21000 滚动条UI优化~~ + feat: #22000 博客内容添加点赞功能 + feat: #21000 博客主题添加暗黑模式 + feat: #30000 后台添加文章隐藏功能,删除文章改为逻辑删除 ### 赞助 感谢 [JetBrains](https://www.jetbrains.com/?from=LittleStoney)公司对本开源项目的大力支持,为本开源项目提供了正版全家桶IDE支持,Thanks a lot! ![jetbrains-variant-4](https://note.youdao.com/yws/api/personal/file/WEBdd8cf6ced948fe5c38182858f2f6ae8c?method=download&shareKey=9e13b20d59ec1290f0d595c3745d5bf0)