有一个kicanvas.js库可以解析kicad格式的文件,我想把它做成obsidian的插件,能在文档里渲染kicad文件,现在完全不知道该怎么把这个js库引入obsidian的插件开关过程
直接 import 进来就可以,打包器会把代码直接打包进来
import { Plugin, FileView, WorkspaceLeaf, TFile } from "obsidian";
// @ts-ignore
if (!window.__KICAD) {
// @ts-ignore
import("./kicanvas.js");
}
// @ts-ignore
window.__KICAD = true;
export default class Test extends Plugin {
async onload() {
this.registerView("kicad", (leaf) => new KiCadView(leaf));
this.registerExtensions(["kicad_sch"], "kicad");
}
}
class KiCadView extends FileView {
allowNoFile = false;
constructor(leaf: WorkspaceLeaf) {
super(leaf);
}
getViewType(): string {
return "kicad";
}
getDisplayText(): string {
return "KiCad";
}
async onLoadFile(file: TFile): Promise<void> {
const url = this.app.vault.getResourcePath(file);
this.contentEl.innerHTML = `
<kicanvas-embed src="${url}" controls="basic"> </kicanvas-embed>
`;
}
}
1 个赞
参考我在这里发的这个:
1 个赞
搞定,方法非常有效,多谢多谢

