文件夹和清单
文件夹
小节标题“文件夹”以语法包为例:
time-clauses/ feyxo-plugin.json 清单:是什么、谁写的、哪一版 rules.json 规则卡:做对以后摊开讲的那一句 points/ which-first/ 一个语法点一个文件夹,文件夹名就是它的 id point.json 进哪一章、用哪种题型、格子、提问 detect.md 教模型在句子里认出它 practice.md 教模型怎么出这道题 cases.jsonl 评测句,一行一句,至少 10 句别的类型的文件夹见别的类型,同样是一个 feyxo-plugin.json 加几个数据文件。
能放什么文件
小节标题“能放什么文件”- 只收
.json、.md、.jsonl。外观包另外认两个.png。 - 单个文件最多 1 MB,全部最多 8 MB。
- 哪里都不许写网址(清单里的
homepage、updateUrl除外):扩展包只是给模型看的说明和画场地用的数,用不着从网上加载任何东西。 - 点开头的文件(
.DS_Store)打包时跳过。
打包后的 .feyxo.json
小节标题“打包后的 .feyxo.json”feyxo pack 把文件夹写成一张表:键是相对路径,.json 放解析好的内容,.md、.jsonl、.png 放原文(.png 存成 base64 字符串,跟文字一样)。这就是你发给别人的那个文件。
清单 feyxo-plugin.json
小节标题“清单 feyxo-plugin.json”| 字段 | 必填 | 说明 |
|---|---|---|
format |
是 | 格式版本,现在是 "1.2"。用了 1.1 才有的字段(节奏补的 8 个数、组合的节奏数、提示词的按小节换、外观补的字段、i18n/、欢迎页类型等)写 "1.1";用了 1.2 才有的(learns、requires,外观包的 layout.json、icons.json、feedback.json、fonts.json、parts.json,通用场地、新起的划一段、时间线的 show、语法点的 asks、规则卡的 contrast.more,节奏补的先后和第一下画什么,导出模板的新占位和 list,网站适配的 paths、drop、english,提示词包的 answers、limits)写 "1.2";没用的写 "1.0" 照样装。 |
type |
是 | grammar、look、voice、language、pace、prompt、cases、export、bundle、site,一个扩展包只能是一种。(practice、panel 要写代码,这一版装不了。) |
id |
是 | 作者/名字,各是小写字母、数字、连字符。不能含 feyxo,也不能含“扉阅”。发出去以后不要改。 |
version |
是 | x.y.z。每发一版都要比上一版大:他再装同一个 id 更高的版本就是更新,更低的装不上。 |
name |
是 | 显示的名字,≤ 24 字,不能含“扉阅”或 feyxo。 |
description |
是 | 一句话,≤ 80 字,用动作开头(“把……练成……”),句号结尾。 |
author |
是 | 作者。不能含“扉阅”或 feyxo。 |
license |
发布前要 | 你自己选,如 AGPL-3.0-only、MIT、CC-BY-4.0、CC0-1.0。feyxo check 要求写,不限定哪一种。扉阅自带的默认扩展包写 AGPL-3.0-only。 |
homepage |
否 | 你的主页或源码地址,https:// 开头。 |
minApp |
否 | 最低要扉阅哪一版(x.y.z);他的扉阅比这老就装不上,提示他先更新。 |
engines |
否 | 用到的题型,如 ["field@1"]。 |
needs |
否 | 要先装的别的扩展包:{ "someone/base": "^1.2" }。范围写法:^1.2(1.2 以上、2.0 以前)、~1.2.3、>=1.2.0、1.2.0(正好)、*。 |
replaces |
否 | 要替换的已有语法点(完整名字 扩展包id#语法点id,如 feyxo/grammar-tense#sequence)或规则卡(tense.had_done)。装的时候会问他换不换。替换语法点时,你包里同 id、同题型的那一样接着出在它的位置上;划一段、固定搭配、拆词、找旧说法、找线索这几种题型(还有词层的连指代、问谁、填坑、点掉修饰)这一版只能这样替换自带的,新起的装得上但不会出题(检查时提醒 replace_only)。 |
audience |
否 | 给谁用:junior、senior、cet、kaoyan、ielts、toefl、starter。不认识的值装的时候退回默认(去掉),不拦装。 |
learns |
否 | 给学哪几种语言用,写语言代号:["en"](也认 en-GB 这类)。没写的按类型:语法、提示词、评测句、组合当作只给英文;外观、界面语言、讲法、节奏、导出、网站适配、欢迎页哪种语言都能用。扉阅现在只教英文,只写了别的语言的装不了;以后多教一种语言,没写的老包照样当英文的用。格式 1.2 加的。 |
requires |
否 | 要扉阅认得的功能名,比如 ["learns"]。有一个这版扉阅不认得,就装不上,提示他先更新扉阅。格式 1.2 加的。 |
updateUrl |
否 | 以后扩展包自己更新用,这一版还不查。 |
装的时候扉阅怎么看它
小节标题“装的时候扉阅怎么看它”他在 设置 → 扩展包 → 装一个扩展包 选你的文件,扉阅先查(跟 feyxo check 同一份,只是不强制 license 和评测句)。不过就一句人话告诉他哪里不行;过了先列出会加到哪几章、几张规则卡、要换掉什么(他可以不换),点“装上”才装,装上就打开,下一次按 ⌘C 生效。另外还看:
- 同一个 id:版本更高是更新(他关掉的还是关着),一样的说“已经装好了”,更低的装不上。
needs缺了、版本不够:装不上,说清缺哪个(这一版还不能自动装依赖,让他先找你要那个文件)。minApp比他的扉阅新:装不上,提示更新扉阅。- 语法点要的题型这版扉阅没有:这一样先不出,别的照用;全都出不了就不让装。
- 格式版本:
1.x里比扉阅新的次版本照装,不认识的字段跳过、不认识的选项退回默认;主版本比扉阅新的装不上。
他卸载以后,你的题不再出,做过的题、本机记忆都留着(记录里写“某某(已卸载)”),再装回来还在。