博客系统 活跃维护

wblog

wa8n/wblog

基于gin+gorm开发的个人博客项目

1188
Stars 标星
294
Forks 分支
40
Watchers 关注
2
Open Issues
Go
主要语言
MIT
开源协议
10.4 MB
仓库大小
3 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:wa8n/wblog
git clone https://github.com/wa8n/wblog.git
git clone git@github.com:wa8n/wblog.git
README.md master

机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。

博客

示例地址

一、初衷

作为一名web开发程序员居然没有自己的博客,都不好意思对外宣称自己的开发web的。 以前也有写博客的习惯,但是都是用的现有的博客网站。

二、技术选型

  1. web:gin
  2. orm:gorm
  3. database:SQLite/MySQL
  4. 文件存储:smms图床/七牛云存储
  5. 配置文件 go-toml

三、项目结构

-wblog
    |-conf 配置文件目录
    |-controllers 控制器目录
    |-helpders 公共方法目录
    |-models 数据库访问目录
    |-static 静态资源目录
        |-css css文件目录
        |-images 图片目录
        |-js js文件目录
        |-libs js类库
    |-system 系统配置文件加载目录
    |-tests 测试目录
    |-views 模板文件目录
    |-main.go 程序执行入口

四、待办事项

  • 文章、页面访问统计
  • Github登录发表评论
  • RSS
  • 定时备份系统数据
  • 邮箱订阅功能
  • 云存储切换
  • 支持MySQL数据库
  • 导航栏配置
  • 系统日志
  • 网站统计

五、运行项目

git clone https://github.com/wangsongyan/wblog
cd wblog
go mod tidy
go run main.go

六、项目发布

  1. 本地发布
    • 下载安装goreleaser
    • 执行命令goreleaser release --snapshot --clean
  2. Github 操作
    git tag "v0.0.2"
    git push origin v0.0.2
  3. 部署文件清单
    • conf #配置文件目录
    • static #静态资源目录
    • views #模板目录
    • wblog #可执行文件

七、使用方法

使用说明

  1. 执行go run main.go -g或编译后执行wblog -g生成示例配置文件conf/conf.sample.toml (示例配置文件均为系统默认配置,可全部删除仅保留自己所需配置)
  2. 修改conf.toml,设置signup_enabled = true
  3. 访问http://xxx.xxx/signup 注册管理员账号
  4. 修改conf.toml,设置signup_enabled = false

注意事项

  1. 图床切换(需开启对应图床配置)
    file_server = "smms"
    #file_server = "qiniu"
  2. 如果需要保存图片到七牛云,请自行申请七牛云存储空间,并修改配置文件填写
    [qiniu]
    enabled = true
    accesskey = 'AK'
    secretkey = 'SK'
    fileserver = '自定义域名,例如https://example.com'
    bucket = 'wblog'
  3. 如果需要保存图片到sm.ms图床,请自行注册账号并获取APIKey,并修改配置文件
    [smms]
    enabled = true
    apikey = '' 
  4. 如果需要github登录评论功能请自行注册github oauthapp,并修改配置文件填写
    [github]
    enabled = true
    clientid = ''
    clientsecret = ''
    redirecturl = 'https://example.com/oauth2callback'
  5. 如果需要使用邮件订阅功能,请自行填写
    [smtp]
    enabled = true
    username = '用户名'
    password = '密码'
    host = 'smtp.163.com:25'
  6. GoLand运行时,修改Run/Debug Configurations > Output Directory选择到项目根目录,否则报模板目录找不到
  7. 数据库切换,使用MySQL数据库时,请先创建wblog数据库(数据库名自便,与配置文件一致即可)
    [database]
    dialect = 'sqlite'
    dsn = 'wblog.db?_loc=Asia/Shanghai'
    #dialect = 'mysql'
    #dsn = 'root:mysql@/wblog?charset=utf8&parseTime=True&loc=Asia%2FShanghai'

八、效果图

九、捐赠

如果项目对您有帮助,打赏个鸡腿吃呗!

本站来源与版权声明
  • 本文标题:wblog - 基于gin+gorm开发的个人博客项目
  • 本文链接:https://www.cn121.com/blog/wa8n-wblog.html
  • 原项目:wa8n/wblog 版权归原作者 wa8n 及贡献者所有
  • 收录信息:本站于 2026-10-25 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
  • 开源协议:收录时本项目采用 MIT(查看 LICENSE 原文),本站译文为其衍生内容;使用、修改、分发请以该仓库 LICENSE 原文为准。
  • 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 wa8n/wblog。
  • 翻译说明:本页正文为人工智能生成内容——由机器翻译对原项目 README 初译、经程序校验排版,可能存在错漏,请以原项目文档为准。
  • 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
  • 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。