Release 1.0.2
v1.0.2
✅ Obsidian 审核合规修复
-
修复 Error: no-static-styles-assignment
scrollContainer.style.overflow直接赋值改用classList.add/remove('sr-scroll-locked')CSS 类控制
-
修复 Error: no-static-style-heading
- 所有
createEl('h2'/'h3')创建的 HTML 标题元素改用new Setting(container).setName(...).setHeading()
- 所有
-
修复 Warning: prefer-create-el
- 导出功能:
document.createElement('a')→document.body.createEl('a', { attr: {...} }) - 导入功能:
document.createElement('input')→document.body.createEl('input', { attr: {...} }) as HTMLInputElement
- 导出功能:
-
修复 Warning: 缺少声明式设置 API
- 新增
getSettingDefinitions()方法,返回 4 个SettingDefinitionGroup(右键菜单、跟随栏、剔除刷、语言) - 新增
getControlValue()/setControlValue()覆写方法,支持嵌套useModes键映射 - 兼容 Obsidian 1.13.0+ 设置搜索功能
- 新增
-
修复 Warning: 不必要的类型断言
- 移除
t()模板字符串参数的冗余as string断言
- 移除
-
修复 Warning: Promise in void 上下文
- 删除按钮的
async事件处理器改为同步回调 +void this.plugin.saveSettings().then(() => doRefresh())
- 删除按钮的
-
修复 Warning: 不安全的 any 类型
catch(e: any)→catch(e: unknown)+instanceof Error类型守卫JSON.parse()结果标注as unknown[],属性访问用as Record<string, unknown>
✅ Obsidian Review Compliance Fixes
-
Fixed Error: no-static-styles-assignment
- Replaced
scrollContainer.style.overflowdirect assignment withclassList.add/remove('sr-scroll-locked')CSS class control
- Replaced
-
Fixed Error: no-static-style-heading
- Replaced all
createEl('h2'/'h3')HTML heading elements withnew Setting(container).setName(...).setHeading()
- Replaced all
-
Fixed Warning: prefer-create-el
- Export:
document.createElement('a')→document.body.createEl('a', { attr: {...} }) - Import:
document.createElement('input')→document.body.createEl('input', { attr: {...} }) as HTMLInputElement
- Export:
-
Fixed Warning: missing declarative settings API
- Added
getSettingDefinitions()method returning 4SettingDefinitionGroupitems (context menu, following toolbar, eraser brush, language) - Added
getControlValue()/setControlValue()overrides supporting nesteduseModeskey mapping - Compatible with Obsidian 1.13.0+ settings search
- Added
-
Fixed Warning: unnecessary type assertion
- Removed redundant
as stringassertion ont()template string arguments
- Removed redundant
-
Fixed Warning: Promise in void context
- Converted
asyncevent handler to sync callback +void this.plugin.saveSettings().then(() => doRefresh())
- Converted
-
Fixed Warning: unsafe any types
catch(e: any)→catch(e: unknown)+instanceof Errortype guard- Annotated
JSON.parse()results asas unknown[], property access viaas Record<string, unknown>
Full Changelog: v1.0.1...v1.0.2