通过 icon.js 注入自己的 js 的方法

  1. 用文本编辑器打开安装路径下的 icon.js 文件,如果是 Windows,默认路径如下:

    "C:\Program Files\SiYuan\resources\appearance\icons\ant\icon.js"

  2. 在这个文件末尾加入如下代码:(可能遇到权限问题,通过资源管理器赋予读写权限即可)

function loadJS(url, callback) {
  var script = document.createElement('script'),
    fn = callback || function () { };
  script.type = 'text/javascript';
  if (script.readyState) {
    script.onreadystatechange = function () {
      if (script.readyState == 'loaded' || script.readyState == 'complete') {
        script.onreadystatechange = null;
        fn();
      }
    };
  } else {
    script.onload = function () {
      fn();
    };
  }
  script.src = url;
  document.getElementsByTagName('head')[0].appendChild(script);
}
//导入js文件
loadJS('/widgets/custom.js', function () {
});
  1. 在思源工作目录的 widgets 下创建 custom.js 文件,Windows 下默认路径为:

    "C:\Users\你的用户名\Documents\SiYuan\data\widgets\custom.js"
    

在这个 custom.js 文件中写入你想注入的代码就可以实现 js 的注入了.

例如加入一个看板娘.在 custom.js 中添加如下代码:

loadJS('https://cdn.jsdelivr.net/gh/stevenjoezhang/live2d-widget/autoload.js',function(){
});

image.png

效果就是这样的.

接下来就是正常写插件的流程了.

希望大佬们写出来好用的插件.

广告 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 88250
    捐赠者 订阅者

    感谢分享,后面我们考虑下如何引入自定义 js,也许会在主题里面加这个机制。