Roamedit-DIY功能-一键安装或停用当前主题下所有代码块

sheen 2021-8-18 936

/**
 * @title userPM
 * @author 邦邦 
 * @note 可以一键安装或停用主题下所有JS代码块或者CSS代码块
 * @time 2021-08-18
 * @version 1.0
 */
pluginManager.register("userPm",{
    after_docmenu_run()
    {
       plugin.menu.addItems("doc",{
           enableAllPlg: {
               label:"安装全部代码块",
               icon:"cogs",
               action(){
                   debugger
                    if(!this.nv.hasChild())return jWarn("当前节点下没有子节点!");
                    const childs01=plugin.memory.getChild(this.nv.ky);
                    for(let item01 of childs01){
                        //console.log(item.ky)
                        const childs=plugin.memory.getChild(item01.ky);
                        for(const item of childs){
                            if(item.codeBlockMode==="css"){
                                item.cssRunnable=true;
                                plugin.inodeModel.save(item);
                                if(plugin.config.cssInstalled&&!item.ky in plugin.config.cssInstalled){
                                    plugin.config.cssInstalled[item.ky]=item.codeBlockText;
                                    plugin.config.$save("cssInstalled");
                                }
                            } else if(item.codeBlockMode==="javascript"){
                                item.jsRunnable=true;
                                plugin.inodeModel.save(item);
                                if(plugin.config.jsInstalled&&!item.ky in plugin.config.jsInstalled){
                                    plugin.config.jsInstalled[item.ky]=item.codeBlockText;
                                    plugin.config.$save("jsInstalled");
                                }
                            }
                        }
                    }
                   
                    jConfirm("所有JS/CSS代码均已安装,请刷新页面", (()=>{
                        location.reload();
                    }));
               }
            },
            disableAllPlg: {
                label:"停用全部代码块",
                icon:"cogs",
                action(){
                     if(!this.nv.hasChild())return jWarn("当前节点下没有子节点!");
                     const childs01=plugin.memory.getChild(this.nv.ky);
                    for(let item01 of childs01){
                        const childs=plugin.memory.getChild(item01.ky);
                        for(const item of childs){
                            if(item.codeBlockMode==="css"){
                                item.cssRunnable=false;
                                plugin.inodeModel.save(item);
                                if(plugin.config.cssInstalled&&item.ky in plugin.config.cssInstalled){
                                    delete plugin.config.cssInstalled[item.ky];
                                    plugin.config.$save("cssInstalled");
                                }
                            } else if(item.codeBlockMode==="javascript"){
                                item.jsRunnable=false;
                                plugin.inodeModel.save(item);
                                if(plugin.config.jsInstalled&&item.ky in plugin.config.jsInstalled){
                                    delete plugin.config.jsInstalled[item.ky];
                                    plugin.config.$save("jsInstalled");
                                }
                            }
                        }
                    }
                    
                     jConfirm("所有JS/CSS代码均已停用,请刷新页面", (()=>{
                         location.reload();
                     }));
                }
            }
        });
    }
});

这个功能对于偶尔代码块失效后,挺方便的,我不再用一个个去点安装了。

感谢@邦邦

快速回复
最新回复 (2)
  • keeper 2021-8-20
    0 2
    是roamedit的插件怎么开发,接口文档在哪里?
  • sheen 2021-8-20
    0 3
    keeper 是roamedit的插件怎么开发,接口文档在哪里?
    https://www.yuque.com/bu123/sk5f7o/iht2w3
返回