一个go语言实现的博客
A blog written in the go programming language
多用户支持,权限管理
Multi user support, permission management
技术栈
Technology stack
- golang https://golang.google.cn
- vue3+vite4+pinia+typescript
- xorm https://xorm.io
- echo https://echo.labstack.com
- naiveui http://naiveui.com
- UI 修改于 https://firekylin.org
预览地址
Preview address
仓库地址
Repository address
github(https://github.com/zxysilent/blog)
gitee(https://gitee.com/zxysilent/blog)
开发原因
- 现在自己使用博客系统不方便管理、部署和二次开发
- 渲染速度到不到想要的效果
计划功能
实现blog
功能,方便二次开发
- 博文管理
- 分类管理
- 标签管理
- 系统设置
- 管理主页
- 笔记模式
- 用户管理
- 角色管理
- 全局配置
- 个性化配置
- 笔记分享
- 配置字典
说明
- 替换markdown 编辑器为富文本编辑器
web/src/components/Editor/Richtext
即可作为简单CMS
- 注意配置使用的数据库
# mysql\sqlite type = "sqlite" # uid:pass@tcp(host:port)/dbname?charset=utf8mb4&parseTime=true&loc=Local mysql = "root:root@tcp(127.0.0.1:3306)/blog?charset=utf8mb4&parseTime=true&loc=Local" sqlite = "file:blog.db"
讨论群
使用方式-直接部署
git clone -b next --depth=1 https://github.com/zxysilent/blog.git
若要部署,请修改关键信息[token、用户名、密码等] 数据库自带文章内容请在部署前删除
部署界面
- 安装依赖
npm install
- 修改
.env.development
中的VITE_APP_SRV
为自己的服务地址 - 发布
npm run build
会自动发布到dist
目录下面 - 友链里面第一个为后台登陆地址默认用户名
zxysilent
,密码zxyslt
,可自行数据库修改
部署服务
- 配置
conf.toml
数据库信息 - 还原
data
目录下blog.sql
数据库 数据库自带文章内容请在部署前删除 - 安装依赖
go mod tidy
- 编译可执行程序
- 普通开发编译版本
go build
- 编译不带日志和swagger文档版本
go build -tags=prod
体积大幅度减小,日志请用nginx、caddy
等web
服务器记录 - 若需要日志且不需要文档,请自定义开发或提issues
- 普通开发编译版本
- 服务器部署
- windows 直接运行
- linux 普通方式
nohup ./blog>>nohup.log 2>&1 &
评论配置
- 配置项目 sys_global(表).comment(值)
- 配置说明 https://github.com/gitalk/gitalk
使用方式-自定义开发
git clone https://github.com/zxysilent/blog.git
若要部署,请修改关键信息[token、用户名、密码等] 数据库自带文章内容请在部署前删除
开发界面
- 安装依赖
npm install
- 开发运行
npm run serve
- 浏览器打开 http://127.0.0.1:8082/
- 友链里面第一个为后台登陆地址默认用户名
zxysilent
,密码zxyslt
,可自行数据库修改
开发服务
- 配置
conf.toml
数据库信息 - 还原
data
目录下blog.sql
数据库 数据库自带文章内容请在部署前删除 - 安装依赖
go mod tidy
- 安装 swag
go get -u github.com/swaggo/swag/cmd/swag
- 运行
swag init
生成api文档 - 运行后台
go run
- 浏览器默认访问 http://127.0.0.1:8085/
渲染性能
效果展示
前台
后台
Donation
If this project help you a lot, you can support us by:
AliPay
Wechat Pay