gitbook-plugin-gitcode-issue-feedback
Version:
A GitBook plugin for GitCode issue feedback with smart content extraction and precise positioning. Compatible with GitBook 3.x and Node.js 14-17.
188 lines (133 loc) • 4.77 kB
Markdown
# gitbook-plugin-gitcode-issue-feedback
[](https://www.npmjs.com/package/gitbook-plugin-gitcode-issue-feedback)
[](https://opensource.org/licenses/MIT)
一个为 GitBook 提供 GitCode 问题反馈功能的插件。让读者可以轻松地从文档页面直接创建问题报告,提升文档维护效率。
## ✨ 功能特性
- 🐛 **一键问题报告** - 在文档页面添加浮动按钮,读者可快速创建问题报告
- 📝 **智能内容提取** - 自动提取选中的文本和当前页面信息
- 🔗 **自动生成链接** - 自动生成源文件链接和编辑链接
- ⚙️ **灵活配置** - 支持私有仓库、自定义标签等多种配置选项
- 🎯 **精确定位** - 支持精确定位到具体行号,便于问题修复
## 📦 安装
### 系统要求
- **Node.js**: 14.x - 17.x (推荐 16.x)
- **GitBook**: 3.x
- **操作系统**: macOS, Linux, Windows
### 安装方法
**方法一:使用 GitBook 安装(推荐)**
```bash
gitbook install
```
**方法二:本地安装(适用于 Node.js 18+)**
如果遇到 Node.js 兼容性问题,请使用本地安装:
```bash
# 创建插件目录
mkdir -p node_modules/gitbook-plugin-gitcode-issue-feedback
# 复制插件文件
cp plugin-files/* node_modules/gitbook-plugin-gitcode-issue-feedback/
```
> **注意**: 如果使用 Node.js 18+ 版本,建议使用本地安装方法。详见 [Node.js 兼容性说明](NODEJS_COMPATIBILITY.md)。
## 🚀 使用方法
### 基本配置
在您的 `book.json` 文件中添加插件配置:
```json
{
"gitbook": ">=3.0.0",
"title": "您的文档标题",
"plugins": [
"gitcode-issue-feedback"
],
"pluginsConfig": {
"gitcode-issue-feedback": {
"repo": "owner/repository-name"
}
}
}
```
### 配置选项
#### 必需参数
- **`repo`** (string): GitCode 仓库路径,格式为 `owner/name`
#### 可选参数
- **`label`** (string): 按钮标签文字,默认为 `"Bug Report"`
- **`private`** (boolean): 是否为私有仓库,默认为 `false`
- **`newIssueURL`** (string): 自定义新建问题的 URL
- **`markdownBaseURL`** (string): 资源文件的基础 URL
- **`gitcodeAPIBaseURL`** (string): GitCode API 的基础 URL
### 配置示例
#### 私有仓库配置
```json
{
"gitbook": ">=3.0.0",
"title": "私有文档",
"plugins": [
"gitcode-issue-feedback"
],
"pluginsConfig": {
"gitcode-issue-feedback": {
"repo": "your-org/private-repo",
"private": true,
"label": "报告问题"
}
}
}
```
#### 自定义 URL 配置
```json
{
"gitbook": ">=3.0.0",
"title": "自定义配置文档",
"plugins": [
"gitcode-issue-feedback"
],
"pluginsConfig": {
"gitcode-issue-feedback": {
"repo": "your-org/your-repo",
"label": "反馈问题",
"newIssueURL": "https://gitcode.com/your-org/your-repo/issues/new",
"markdownBaseURL": "https://gitcode.com/your-org/your-repo/blob/master/",
"gitcodeAPIBaseURL": "https://api.gitcode.com/repos/your-org/your-repo/contents/"
}
}
}
```
## 📸 效果展示
插件会在文档页面右下角添加一个浮动的「Bug Report」按钮。当用户点击按钮时,会自动:
1. 提取当前页面标题
2. 获取选中的文本内容
3. 生成源文件链接和编辑链接
4. 跳转到 GitCode 新建问题页面
## 🛠️ 开发
### 本地开发
```bash
# 克隆仓库
git clone https://gitcode.com/nutpi/gitbook-plugin-gitcode-issue-feedback.git
cd gitbook-plugin-gitcode-issue-feedback
# 安装依赖
npm install
# 构建项目
npm run build
# 监听文件变化
npm run watch
```
### 运行测试
```bash
npm test
```
## 📝 更新日志
查看 [Releases 页面](https://gitcode.com/nutpi/gitbook-plugin-gitcode-issue-feedback/releases) 了解版本更新详情。
## 🤝 贡献
我们欢迎各种形式的贡献!
### 报告问题
如果您发现了 bug 或有功能建议,请 [创建一个 issue](https://gitcode.com/nutpi/gitbook-plugin-gitcode-issue-feedback/issues)。
### 提交代码
1. Fork 本仓库
2. 创建您的功能分支:`git checkout -b feature/amazing-feature`
3. 提交您的更改:`git commit -m 'Add some amazing feature'`
4. 推送到分支:`git push origin feature/amazing-feature`
5. 提交 Pull Request
## 👨💻 作者
- [GitCode/nutpi](https://gitcode.com/nutpi)
## 📄 许可证
本项目基于 [MIT 许可证](LICENSE) 开源。
---
⭐ 如果这个项目对您有帮助,请给我们一个 Star!