插件片段:开关启停 CSS 片段 & 核心插件

翻了翻中英论坛没找到现成的,发一下。

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 和核心插件启停注册为命令,若为开启状态执行命令后关闭,反之亦然。

image

1 个赞

謝謝PlayerMiller大佬:+1::+1::+1:

我把main.js 代碼放到 plugin的子資料夾及加上 manifest.json檔

可以在Obsidian 的Vault中用命令一鍵啟停 css 片段了
:grin::grin::grin:
感謝您

:pray::pray::pray:

manifest.json

{
	"id": "77-toggle",
	"name": "77-toggle",
	"version": "0.0.1",
	"minAppVersion": "0.0.1",
	"description": "簡中論壇",
	"author": "PlayerMiller",
	"authorUrl": "https://forum-zh.obsidian.md/t/topic/35614",
	"isDesktopOnly": false
}

obsidian://show-plugin?id=mysnippets-plugin

1 个赞

感谢分享,这个插件给力!其实我主要想启停核心插件,不过这两个代码一起写的就一起发了。

1 个赞