翻了翻中英论坛没找到现成的,发一下。
main.js:
const ob = require('obsidian')
module.exports = class extends ob.Plugin {
onload() {
const { customCss, internalPlugins } = this.app
customCss.snippets.map(snippet=>
this.addCommand({ /*切换样式*/
id: `toggle-snippet-${snippet}`, name: `Toggle Snippet ${snippet}`,
callback: ()=> customCss.setCssEnabledStatus(snippet, !customCss.enabledSnippets.has(snippet))
})
)
Object.keys(internalPlugins.config).map(id=> {
const plugin = internalPlugins.plugins[id]
this.addCommand({ /*核心插件*/
id: `toggle-plugin-${id}`, name: `Toggle Plugin ${id}`,
callback: ()=> internalPlugins.config[id] ? plugin.disable(!0) : plugin.enable(!0)
})
})
}
onunload() {}
}
- 启停 CSS 有参考其他插件。
- 代码“核心插件”部分
plugin.disable()
如果填!1
,效果是关闭插件但不关闭 hide 插件所在页面叶子 leaf。
效果:将各 CSS 和核心插件启停注册为命令,若为开启状态执行命令后关闭,反之亦然。