# discourse-issue-sync **Repository Path**: delong1998/discourse-issue-sync ## Basic Information - **Project Name**: discourse-issue-sync - **Description**: 用于同步discourse论坛的帖子到gitee的issue中 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-28 - **Last Updated**: 2025-10-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Discourse Gitee Issue Sync 一个 Discourse 全覆盖主题组件,允许管理员将帖子同步到 Gitee 的 Issue。 ## 功能特性 - ✅ 仅管理员可见的同步按钮 - ✅ 自动将帖子标题和内容同步到 Gitee Issue - ✅ 包含帖子来源链接 - ✅ 简洁美观的 UI 界面 - ✅ 错误处理和状态提示 ## 安装方法 ### 使用 Git 仓库安装 1. 将此项目推送到 Git 仓库 2. 在 Discourse 后台: - 导航到:**管理** → **自定义** → **主题** → **组件** 标签 - 点击 **创建新组件** - 在 **源** 字段输入仓库 URL - 点击 **添加** 3. 启用组件: - 在主题列表中,选择要使用的主题 - 点击 **编辑** - 在 **组件** 部分,添加此组件 - 保存并发布 ## 配置说明 首次使用时,系统会提示您配置 Gitee 相关信息: ### 1. 获取 Gitee Personal Access Token 1. 登录 Gitee 2. 进入:**设置** → **安全设置** → **私人令牌** 3. 点击 **生成新令牌** 4. 勾选 `issues` 权限 5. 复制生成的令牌 ### 2. 填写配置信息 在 Discourse 帖子页面,管理员会看到配置表单,需要填写: - **Gitee Personal Access Token**: 上一步获取的令牌 - **仓库所有者**: 例如 `username`(仓库的 owner) - **仓库名称**: 例如 `my-project`(仓库名) 点击 **保存配置** 后,页面会自动刷新,配置信息将保存在本地浏览器的 localStorage 中。 ## 使用方法 1. 以管理员身份登录 Discourse 2. 浏览任意帖子(只对主楼帖子有效) 3. 在帖子底部会看到 **同步到 Gitee Issue** 按钮 4. 点击按钮,帖子内容将被同步到配置的 Gitee 仓库 5. 同步成功后,会显示 Issue 链接 ## 同步的内容 每个同步到 Gitee 的 Issue 将包含: - **标题**: 使用帖子标题 - **内容**: 帖子的完整内容(HTML 格式) - **来源信息**: - 帖子 ID - 作者 - 原帖链接 ## 安全说明 - 配置信息保存在浏览器本地存储(localStorage)中 - 建议定期更换 Gitee Personal Access Token - 只授予必要的权限(issues 权限即可) - 令牌泄露后请立即在 Gitee 中撤销 ## 技术实现 - 使用 Discourse 的 API 钩子装饰帖子 - 检查用户权限,仅对管理员显示按钮 - 使用 Fetch API 调用 Gitee API - 通过 localStorage 持久化配置 ## Gitee API 文档 - [Gitee API 文档](https://gitee.com/api/v5/swagger#/postV5ReposOwnerRepoIssues) - [创建 Issue API](https://gitee.com/api/v5/repos/:owner/:repo/issues) ## 开发说明 本项目是 Discourse 全覆盖主题组件,基于以下文档开发: - [Discourse 开发者指南](https://meta.discourse.org/t/developer-guides-index/308036) - [主题组件开发](https://meta.discourse.org/t/beginners-guide-to-using-themes/108008) ## 许可证 MIT License ## 贡献 欢迎提交 Issue 和 Pull Request!