https://github.com/cofficlab/example-plugin
https://github.com/cofficlab/example-plugin
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/cofficlab/example-plugin
- Owner: CofficLab
- Created: 2025-03-26T07:44:25.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-26T11:38:26.000Z (about 1 year ago)
- Last Synced: 2025-05-06T15:50:41.675Z (about 1 year ago)
- Language: HTML
- Size: 8.79 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GitOK 示例插件
这是一个用于演示如何开发 GitOK 插件的示例项目。
## 功能
这个示例插件提供了以下功能:
1. **打招呼** - 一个简单的问候动作,展示基本的动作执行方式
2. **当前时间** - 显示当前时间的自定义视图,演示嵌入式视图
3. **计算器** - 一个简单的计算器,演示独立窗口视图
## 安装
在 GitOK 应用启动后,此示例插件会自动复制到开发插件目录中,你可以通过搜索框直接使用它提供的功能。
## 开发自己的插件
如果你想基于这个示例开发自己的 GitOK 插件,请遵循以下步骤:
1. 复制示例插件目录作为起点
```bash
# 示例插件位于用户数据目录的开发插件文件夹中
# macOS: ~/Library/Application Support/buddy/plugins/dev/example-plugin
# Windows: %APPDATA%\buddy\plugins\dev\example-plugin
# Linux: ~/.config/buddy/plugins/dev/example-plugin
```
2. 修改 `package.json` 中的插件信息
```json
{
"name": "your-plugin-id",
"version": "1.0.0",
"description": "你的插件描述",
"main": "index.js"
}
```
3. 修改 `index.js` 中的插件ID和其他信息
```javascript
const PLUGIN_ID = 'your-plugin-id';
const plugin = {
id: PLUGIN_ID,
name: '你的插件名称',
description: '你的插件描述',
// ...
};
```
4. 自定义插件动作
- 在 `getActions` 函数中定义你的动作
- 在 `executeAction` 函数中实现动作逻辑
- 如有必要,在 `views` 目录中创建自定义视图HTML文件
5. 测试你的插件
- 确保你的插件在正确的开发目录中
- 重启 GitOK 应用
- 在搜索框中查找你的插件动作
## 插件开发指南
### 插件接口
每个 GitOK 插件必须实现以下接口:
```typescript
interface Plugin {
id: string; // 插件唯一ID
name: string; // 插件名称
description: string; // 插件描述
version: string; // 插件版本
author: string; // 插件作者
getActions(keyword?: string): Promise; // 获取插件动作
executeAction(action: Action): Promise; // 执行动作
getViewContent?(viewPath: string): Promise; // 获取视图HTML (可选)
}
```
### 动作定义
每个动作应包含以下字段:
```typescript
interface Action {
id: string; // 动作唯一ID (格式: 'plugin-id:action-name')
title: string; // 动作标题
description: string; // 动作描述
icon: string; // 动作图标 (可使用Emoji)
plugin: string; // 插件ID
viewPath?: string; // 视图路径 (可选)
viewMode?: 'embedded' | 'window'; // 视图模式 (可选)
}
```
### 视图开发
HTML视图文件应遵循以下最佳实践:
1. 使用标准HTML5结构
2. 确保样式隔离,避免影响主应用
3. 使用内联CSS样式
4. 使用内联JavaScript,不要依赖外部库
5. 避免使用敏感API,如`eval`
有关更多信息,请参考完整的 GitOK 插件开发文档。