用js库开发渲染插件

有一个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 个赞

厉害,感谢,可以打开kicad文件了,另外怎么能像pdf一样,


直接渲染在文档里?

参考我在这里发的这个:

1 个赞

搞定,方法非常有效,多谢多谢