环境准备

  • JetBrains GoLand 2024.1.4
  • go环境

go环境可以本地安装, 也可使用docker环境

创建项目

  1. 创建项目仓库(可选)
    项目地址: https://github.com/EchoJamie/ejx

  2. 初始化项目

    1
    2
    3
    4
    5
    cd ejx
    # 创建项目
    go mod init github.com/EchoJamie/ejx
    # 创建目录
    mkdir cmd init pkg tools

    项目目录规范参考: https://github.com/golang-standards/project-layout

项目开发

功能需求及设计思路

我的诉求是在使用hexo博客时, 在博文的新建和草稿发布时, 要使用命令行进行文件名输入, 感觉有些麻烦, 所以我期望除了新建外, 都不需要在输入文件名.

那么, 先要有个配置进行存储一些个人的配置信息, 比如本地博客的home目录, 然后就是执行hexo各种命令.

依赖选择

之前参与开发过一个命令行工具, 从中筛选出了以下比较实用的依赖工具

  • spf13/viper: 配置存储
  • spf13/cobra: 命令行框架
  • mitchellh/go-homedir: home目录相关工具类
1
2
# 依赖添加
go get github.com/spf13/cobra github.com/spf13/viper github.com/mitchellh/go-homedir

项目开发

项目开发过程可以查看Github仓库内提交日志

__END__