PKM-er / Blue-topaz-example

Blue topaz themes example vault for Obsidian
2.11k stars 229 forks source link

FR: 希望加入插件启停模板 #54

Closed hustrjh closed 1 year ago

hustrjh commented 2 years ago

首先感谢大佬的无私奉献! 我在平时实际使用示例库时有一个问题,就是插件太多,启动较慢,有些插件也不是用不上,只是不是每次都需要用。如果一并禁用,要用时再启用,操作较麻烦,如果一并启用,使用频率不高,还影响每次启动速度。所以受FastStartup模板的启发,我改写了一份插件启停模板,代码贴在下方,希望加入示例库,方便更多人。

模板文件

<%*
let myEn= await tp.system.suggester( ["启用", "停用"], [1, 0]);
let myChoice = await tp.system.suggester( ["编辑增强", "表格增强", "显示加强", "全部",], ["Edit+", "Table+", "View+", "All"]);
var i;
var num;
var pluginArr = [];
-%>
<%*
//函数定义
fastSwitch = async (choice, en) => {
    switch(choice)
    {
        case "Edit+":
            //pluginArr.splice(0, 0, "editing-toolbar", "obsidian-outliner");
            pluginArr=pluginArr.concat(["editing-toolbar", "obsidian-outliner", "various-complements", "number-headings-obsidian"]);
            break;
        case "Table+":
            pluginArr=pluginArr.concat(["notion-like-tables", "dbfolder", "obsidian-charts", "obsidian-echarts", "obsidian-yaml-database"]);
            break;
        case "View+":
            pluginArr=pluginArr.concat(["obsidian-quiet-outline", "obsidian-react-components", "ProxyGithub"]);
            break;
        case "All":
            pluginArr=pluginArr.concat(["editing-toolbar", "obsidian-outliner", "various-complements", "number-headings-obsidian", "notion-like-tables", "dbfolder", "obsidian-charts", "obsidian-echarts", "obsidian-yaml-database", "obsidian-quiet-outline", "obsidian-react-components", "ProxyGithub"]);
            break;
    }
    num = pluginArr.length;
    switch(en)
    {
        case 1:
            for(i=0;i<num;i++)
            {
                await app.plugins.enablePlugin(pluginArr[i]);
            }
            break;
        case 0:
            for(i=0;i<num;i++)
            {
                await app.plugins.disablePlugin(pluginArr[i]);
            }
            break;
    }
}

//函数调用
await fastSwitch(myChoice, myEn);
-%>

使用方法

这是一个Templater模板,放入模板文件夹即可。

  1. 使用时调用这份模板,先选择启用、停用插件。 image
  2. 根据需求选择对应的选项,每个选项内的插件个数和名称都是自定义的,根据需求把相关插件放一起启用、停用。我发现editing-toolbarobsidian-outlinervarious-complements这几个插件启动消耗资源较多,建议不用每次都随软件启动。 image

优点

  1. 通过模板启用同类多个插件后,下次再开启Obsidian时不会自动启用,不影响启动速度。我也曾尝试使用Advanced URI启停插件,这种方式只能一个一个启停,同时启停的效果下次再启动Obsidian时仍会保留,十分不便。
  2. 启停什么插件及数量都是可以自定义的,之所以不用js方式,就是因为js不方便在Obsidian中查看和修改。
  3. 以后安装、使用多少插件都更加灵活自由,无需担心影响启动速度,使用也方便。

说明

  1. 除了在启动Obsidian时就必须同时启用的插件外,其它插件都需要先手动禁用,否则这些没禁用的插件仍会随软件启动。
  2. 这份模板想使用的更方便,至少将模板绑定快捷键或者通过Buttons插件新建按钮。不建议QuickAdd方式,模板本身不产生新文件,但通过QuickAdd新建模板就会产生一个空文件。
cumany commented 2 years ago

很棒! 感谢你的模板,下一版本会集成,谢谢!

hustrjh commented 2 years ago

谢谢大佬的认可! 😄 这份模板只是抛砖引玉,希望这份模板能在大佬的改造和集成下更方便修改和使用! 👍 👍 👍

cumany commented 1 year ago

已添加到最新的示例库中 感谢!