元配置初探 – 支持对配置页面进行配置
preferences 插件不支持展示用户自定义插件的配置。解决此问题的第一步就是提升配置表单的能力,于是我花了两天重写了表单组件,新增了一些功能。本着 能开放就开放 想法,顺道将这些功能开放给用户。
typora_plugin
的配置页面是声明式和插件化的,通过提供一个描述表单结构、数据、校验规则和动态行为的配置对象,即可生成对应的表单,系统会负责渲染和管理。
此版本 将配置表单的所有底层能力全面开放给用户,支持用户对配置页面进行配置。具体如下:
schema
:表单的整体结构和字段data
:表单的当前数据rules
:字段的校验规则watchers
:监听数据变化并执行副作用cascades
:字段间的级联关系。当某个条件满足时,自动更新另一个字段的值dependencies
:字段间的依赖关系。当某个条件不满足时,自动禁用另一个字段actions
:为类型为 action 的控件提供点击时执行的回调函数hooks
:生命周期钩子,允许在表单处理的关键节点注入自定义逻辑validators
:注册校验器函数controls
:注册表单控件controlOptions
:为特定类型的控件提供全局或表单级别的默认选项conditionEvaluators
&comparisonEvaluators
: 条件求值器,条件逻辑引擎的核心。layout
: 表单控件布局器Features
: 注册跨控件的通用逻辑
感兴趣的用户请 通过 preferences 插件的 FORM_RENDERING_HOOK
选项进行修改。最常用的选项是 schema
,通过修改 schema,用户可以做到:
- 把常用配置选项提到前面,或者隐藏掉不需要的配置选项
- 将 Select 控件改成 Checkbox 控件
- 创建新的 Action,实现配置的自动化
- ...
由于是底层能力,其实我不建议普通用户修改除了
schema
以外的其他属性。如果你真的想改,请在 AI 辅助下阅读 fast-form.js 文件。