Skip to content
/ Gobin Public template

Go 二进制小程序

License

Notifications You must be signed in to change notification settings

Mrered/Gobin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gobin

Go 二进制小程序

Homebrew CI license code-size repo-size

请使用简体中文发起工单或拉取请求,谢谢!如果不懂简体中文,请使用 AI 翻译软件。

🍺 安装

brew tap brewforge/chinese
brew install <二进制命令行工具名> --formula

📋 列表

二进制命令行工具名 说明
reportgen 生成报告
shicaojiaoan 实操教案格式化生成器
hexinsuyangsummary 核心素养汇总工具
makemf 为 GGUF 文件生成 Makefile
ollamaplist 给通过 Homebrew 安装的 Ollama CLI 工具添加环境变量

🚀 使用

shicaojiaoan

用法: shicaojiaoan [选项] [输入文件]

选项:
  -h    显示帮助信息
  -p    生成 PDF 文件(需要安装 typst)
  -t    生成空白模板文件 template.md
  -v    显示详细输出信息

hexinsuyangsummary

用法: hexinsuyangsummary [选项]

选项:
  -h    显示帮助信息
  -p string
        输入目录路径
  -c string
        指定一个模板 Excel 文件 (用于读取 H3/H4/H5)
  -m    开启修改模式 (将模板数据写入目标文件)
  -a    全量输出(database-style 详细记录模式)

makemf

用法: makemf [选项]

选项:
  -a    自动为当前目录下的所有 .gguf 文件生成 Makefile
  -h    显示帮助信息
  -m string
        GGUF 文件名称,包含后缀名
  -n string
        要生成的 Makefile 名称
  -v    显示版本号

ollamaplist

用法: ollamaplist [选项]

选项:
  -a    应用默认配置
  -h    显示帮助信息
  -m string
        OLLAMA_MAX_LOADED_MODELS (default "2")
  -o string
        OLLAMA_ORIGINS (default "*")
  -p string
        OLLAMA_NUM_PARALLEL (default "4")
  -r    删除所有环境变量
  -s string
        OLLAMA_HOST (default "0.0.0.0")
  -v    显示版本号

reportgen

用法: reportgen [选项]

选项:
  -d string
        指定工作目录
  -f    是否格式化内容
  -h    显示帮助信息
  -m string
        指定月份 (格式: YYYYMM)
  -s string
        指定学期 (格式: YYYY - YYYY 春/秋)
  -t string
        指定报告类型 (w: 周报, m: 月报, s: 学期报, y: 年报)
  -v    显示版本号
  -w string
        指定周数
  -y string
        指定年份 (格式: YYYY)

⚙️ 构建

# 构建所有二进制文件
make build

# 清理生成的文件
make clean

# 更新依赖
make tidy

# 显示帮助信息
make help

👍 从本仓库开始

本仓库实现了 CI/CD ,只需编写 Go 代码,推送后自动编译发布,自动更新 Homebrew 安装方式。

具体功能:

  • 🌟🌟🌟🌟🌟 Make 的支持
make build
  • 🌟🌟🌟 GoReleaser 的支持
- name: 🚀 发布
  uses: goreleaser/goreleaser-action@v6
  with:
    distribution: goreleaser
    args: release --clean
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  • 🌟🌟🌟🌟 自动生成 .goreleaser.ymlREADME.md

    参考 这个文件这个文件

    必要条件:必须在 Go 源码顶端添加如下格式的注释,参考 这个文件

go run .github/scripts/generate_project_files.go
/*
${projectName}
${osInfo}
${projectDescription}
用法: ${projectName} [选项]

${helpText.String()}
*/
  • 🌟🌟🌟 自动生成 Homebrew Formula Ruby 脚本

    首先使用 这个文件 获取所有命令行工具的信息,格式为 JSON ,接着使用 这个片段 中的代码生成 ${name}.rb 文件

class ${capitalized_name} < Formula
  desc "${desc}"
  homepage "https://github.com/Mrered/Gobin"
  url "https://github.com/Mrered/Gobin/archive/refs/tags/${VERSION}.tar.gz"
  sha256 "${SHA256}"
  license "MIT"
  head "https://github.com/Mrered/Gobin.git", branch: "main"

  depends_on "go" => :build

  def install
    system "go", "build", *std_go_args(ldflags: "-s -w"), "./cmd/${name}"
  end

  test do
    system bin/"${name}", "-v"
  end
end

🏆 致谢

Homebrew DeepSeek ChatGPT Claude Trae

About

Go 二进制小程序

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •