github obgnail/typora_plugin 1.15.12

one day ago

元配置初探 – 支持对配置页面进行配置

preferences 插件不支持展示用户自定义插件的配置。解决此问题的第一步就是提升配置表单的能力,于是我花了两天重写了表单组件,新增了一些功能。本着 能开放就开放 想法,顺道将这些功能开放给用户。

typora_plugin 的配置页面是声明式和插件化的,通过提供一个描述表单结构、数据、校验规则和动态行为的配置对象,即可生成对应的表单,系统会负责渲染和管理。

此版本 将配置表单的所有底层能力全面开放给用户,支持用户对配置页面进行配置。具体如下:

  1. schema:表单的整体结构和字段
  2. data:表单的当前数据
  3. rules:字段的校验规则
  4. watchers:监听数据变化并执行副作用
  5. cascades:字段间的级联关系。当某个条件满足时,自动更新另一个字段的值
  6. dependencies:字段间的依赖关系。当某个条件不满足时,自动禁用另一个字段
  7. actions:为类型为 action 的控件提供点击时执行的回调函数
  8. hooks:生命周期钩子,允许在表单处理的关键节点注入自定义逻辑
  9. validators:注册校验器函数
  10. controls:注册表单控件
  11. controlOptions:为特定类型的控件提供全局或表单级别的默认选项
  12. conditionEvaluators & comparisonEvaluators: 条件求值器,条件逻辑引擎的核心。
  13. layout: 表单控件布局器
  14. Features: 注册跨控件的通用逻辑

感兴趣的用户请 通过 preferences 插件的 FORM_RENDERING_HOOK 选项进行修改。最常用的选项是 schema,通过修改 schema,用户可以做到:

  1. 把常用配置选项提到前面,或者隐藏掉不需要的配置选项
  2. 将 Select 控件改成 Checkbox 控件
  3. 创建新的 Action,实现配置的自动化
  4. ...

由于是底层能力,其实我不建议普通用户修改除了 schema 以外的其他属性。如果你真的想改,请在 AI 辅助下阅读 fast-form.js 文件。

Don't miss a new typora_plugin release

NewReleases is sending notifications on new releases.