PKM-er / Blue-topaz-example

Blue topaz themes example vault for Obsidian

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

hustrjh opened this issue · comments

首先感谢大佬的无私奉献!
我在平时实际使用示例库时有一个问题,就是插件太多,启动较慢,有些插件也不是用不上,只是不是每次都需要用。如果一并禁用,要用时再启用,操作较麻烦,如果一并启用,使用频率不高,还影响每次启动速度。所以受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新建模板就会产生一个空文件。

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

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

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