首先,感谢你考虑为 Gridea Pro 做贡献!每一份贡献都让这个项目变得更好。
本项目遵循 Contributor Covenant 行为准则。参与贡献即表示你同意遵守此准则。如遇到不当行为,请通过 Issues 反馈。
贡献不仅仅是写代码,还有很多方式可以参与:
- 报告 Bug — 发现问题了?提交 Bug 报告。
- 功能建议 — 有好想法?提交功能建议。
- 制作主题 — 设计一款主题并分享给社区。
- 完善文档 — 修正错别字、改进说明、补充示例。
- 翻译 — 帮助 Gridea Pro 支持更多语言。
- 回答问题 — 在 Discussions 中帮助其他用户。
- 推广项目 — 给仓库点个 Star、写篇博客、推荐给朋友。
# 1. 在 GitHub 上 Fork 仓库,然后克隆你的 Fork
git clone https://github.com/<你的用户名>/gridea-pro.git
cd gridea-pro
# 2. 安装前端依赖
cd frontend && npm install && cd ..
# 3. 以开发模式运行
wails dev应用会启动并启用前端热重载。Go 代码的修改需要重新启动。
# 为当前平台构建
wails buildgridea-pro/
├── main.go # 应用入口
├── app.go # Wails 应用逻辑和绑定
├── frontend/ # Vue 3 + Vite + Tailwind CSS
│ ├── src/
│ │ ├── components/ # Vue 组件
│ │ ├── views/ # 页面视图
│ │ └── ...
│ └── package.json
├── build/ # 构建资源(图标、安装器配置)
├── themes/ # 内置主题
└── .github/
└── workflows/ # CI/CD(GitHub Actions)
我们使用 GitHub Flow — 简洁的分支工作流:
-
从
main创建分支:git checkout -b feat/my-feature # 或 git checkout -b fix/some-bug -
进行修改,保持每次提交聚焦且清晰。
-
推送分支:
git push origin feat/my-feature
-
发起 Pull Request,目标分支为
main。
| 前缀 | 用途 | 示例 |
|---|---|---|
feat/ |
新功能 | feat/dark-mode |
fix/ |
Bug 修复 | fix/image-upload-crash |
docs/ |
文档 | docs/theme-api |
refactor/ |
代码重构 | refactor/renderer |
chore/ |
工具、CI、依赖 | chore/update-deps |
我们遵循 Conventional Commits 规范:
<类型>(<范围>): <简短描述>
[可选的正文]
类型: feat、fix、docs、style、refactor、perf、test、chore、ci
示例:
feat(editor): 添加图片拖拽上传支持
fix(renderer): 修复 Jinja2 循环变量作用域问题
docs(readme): 更新安装说明
chore(ci): 在发布流程中添加 Linux ARM 构建
- 每个 PR 只做一件事。 保持 PR 聚焦——单个功能或 Bug 修复。
- 说明做了什么、为什么。 提供上下文,附上截图或 GIF 辅助说明。
- 关联相关 Issue。 在 PR 描述中使用
Closes #123或Fixes #456。 - 确保能构建通过。 提交前在本地运行
wails build验证。 - 耐心等待。 我们会尽快审核 PR。反馈意见是为了改进代码,而不是批评。
与提交信息保持一致:
feat(editor): 添加图片拖拽上传支持
Gridea Pro 支持三种模板引擎:Jinja2 (Pongo2)、EJS 和 Go Templates。制作主题是参与贡献的最佳方式之一。
- 查阅 主题开发文档 了解完整 API 参考。
- 以现有主题(如
flavor)作为起点。 - 一个主题由模板、样式和
theme.toml配置文件组成。
my-theme/
├── theme.toml # 主题元数据和配置
├── templates/
│ ├── index.html # 首页
│ ├── post.html # 文章页
│ ├── tag.html # 标签归档页
│ └── ...
├── assets/
│ ├── styles/
│ └── scripts/
└── preview.png # 主题预览图(800×600)
主题准备好后,分享给社区:
- 将主题发布为独立的 GitHub 仓库。
- 在 Show and Tell 讨论区发布帖子。
- 受欢迎的社区主题可能会被收录到官网展示。
请使用 Bug 报告模板。一份好的 Bug 报告应包含:
- Gridea Pro 版本和操作系统
- 复现步骤
- 期望行为 vs 实际行为
- 截图或错误日志(如有)
请使用 功能建议模板。有价值的功能建议应包含:
- 你想解决的问题
- 你建议的解决方案
- 你考虑过的替代方案
对于还在早期阶段的想法,建议先在 Discussions 发帖讨论——在提交正式请求之前,这是获取社区反馈的好方式。
- 💬 GitHub Discussions — 提问、交流、分享想法
- 🐛 Issue Tracker — Bug 报告和功能建议
- 🌐 官方网站 — 下载、文档和主题
感谢你帮助 Gridea Pro 变得更好!🎉