https://github.com/bddjr/clipcc-extension_simple_template
别针扩展简单模板(轻量级)
https://github.com/bddjr/clipcc-extension_simple_template
ccext ccx clipcc clipcc-extension
Last synced: about 1 year ago
JSON representation
别针扩展简单模板(轻量级)
- Host: GitHub
- URL: https://github.com/bddjr/clipcc-extension_simple_template
- Owner: bddjr
- Archived: true
- Created: 2023-06-14T13:07:13.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-06-17T14:49:37.000Z (about 3 years ago)
- Last Synced: 2025-03-12T03:43:47.600Z (over 1 year ago)
- Topics: ccext, ccx, clipcc, clipcc-extension
- Language: JavaScript
- Homepage:
- Size: 26.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# clipcc extension simple template
[If you want to read the English document, click here.](./README_EN.md)
别针扩展简单模板(轻量级)
> 该作者与 ClipTeam 无关。
> 使用这个轻量级的方法,无需 nodejs 就能编写并打包扩展。
> 这种轻量级的打包方式不是标准的,但仍然可以被采纳,例如 。
> 仅用于单个 javascript 文件的场景。
***
## 实现原理
将 code 文件夹压缩为 zip 文件。
***
## 编写扩展
编辑文件 ./code/main.js 即可。
因为使用的是轻量级的打包方式,所以引入clipcc扩展api时必须使用这个方法:
```javascript
const {api, type, Extension} = self["ClipCCExtension"];
```
有关clipcc扩展api的使用方式请参考 。
若有扩展api使用的疑问,请自行参考其它扩展,或者到clipcc官方群聊询问。
***
## 在 Windows 操作系统打包扩展
请预先安装 [bandizip](https://cn.bandisoft.com/bandizip/) ,
再在这个文件夹下使用 powershell 运行如下命令:
```
./packaging.ps1
```
如果你因为系统禁止运行此脚本而无法使用,请以管理员权限打开 powershell ,然后运行这个命令以允许执行ps1脚本:
```powershell
set-ExecutionPolicy RemoteSigned
```
如果你已经安装了 python 与 bandizip ,那么也可以使用这个命令打包:
```
python packaging.py
```
***
## 在 Linux 操作系统打包扩展
(待验证可行性)
请预先安装 zip 和 python3 ,
再在这个文件夹下运行如下命令:
```
python3 packaging.py
```
***
## 测试扩展
在预览站上传自己的扩展(不提交扩展审核),以测试自己的扩展:
***
## 修改扩展ID与版本号
假设我要
> 将扩展的ID修改为 anonymous.example (如果你要提交审核,按照官方标准,扩展ID应当通过这个正则表达式验证 `^([a-z_0-9]+)\.([a-z_0-9]+)$` )
> 版本修改为 1.0.0
> 作者修改为 anonymous
那么我需要修改以下文件:
这个文件会在扩展上传至编辑器时用于识别扩展信息,是很关键的一步。
./code/info.json
```json
{
"id": "anonymous.example",
"author": "anonymous",
"version": "1.0.0",
"icon": "assets/icon.webp",
"inset_icon": "assets/inset_icon.svg",
"api": 1
}
```
这个文件是 javascript 程序,也是很关键的一步。
./code/main.js
```javascript
// 此处填写扩展ID
const extension_id = 'anonymous.example';
// 此处填写扩展的积木栏ID
const category_id = extension_id + '.category';
```
这个文件是用于英语的语言文件,当编辑器找不到对应语言的文件时,会在这个文件里查找。
./code/locales/en.json
```json
{
"anonymous.example.name": "anonymous example extension",
"anonymous.example.description": "Just a example extension.",
"anonymous.example.category": "anonymous example extension",
"anonymous.example.category.string": "String [VALUE]"
}
```
这个文件是用于简体中文的语言文件。
./code/locales/zh-cn.json
```json
{
"anonymous.example.name": "匿名示范扩展",
"anonymous.example.description": "只是一个示范扩展。",
"anonymous.example.category": "匿名示范扩展",
"anonymous.example.category.string": "字符串 [VALUE]"
}
```