Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

wa8n/wblog

Open more actions menu

Repository files navigation

wblog

示例地址

一、初衷

作为一名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 程序执行入口

四、TODO

  • 文章、页面访问统计
  • 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 Actions
    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'

八、效果图

file

file

file

九、捐赠

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published
Morty Proxy This is a proxified and sanitized view of the page, visit original site.