mirror of
https://github.com/Nystik-gh/ignis.git
synced 2026-06-17 04:35:53 +00:00
35 lines
946 B
JavaScript
35 lines
946 B
JavaScript
|
|
const { Plugin, TFile, TFolder } = require("obsidian");
|
||
|
|
const { showFilePicker, addFileMenuItems, addFolderMenuItems } = require("./file-actions");
|
||
|
|
const { patchSettingsModal, unpatchSettingsModal } = require("./settings/inject");
|
||
|
|
|
||
|
|
window.__obsidianAPI = require("obsidian");
|
||
|
|
|
||
|
|
class IgnisBridgePlugin extends Plugin {
|
||
|
|
async onload() {
|
||
|
|
console.log("[ignis-bridge] Plugin loaded");
|
||
|
|
|
||
|
|
patchSettingsModal(this);
|
||
|
|
|
||
|
|
this.addRibbonIcon("upload", "Upload file", () => {
|
||
|
|
showFilePicker(this.app);
|
||
|
|
});
|
||
|
|
|
||
|
|
this.registerEvent(
|
||
|
|
this.app.workspace.on("file-menu", (menu, file) => {
|
||
|
|
if (file instanceof TFile) {
|
||
|
|
addFileMenuItems(menu, file);
|
||
|
|
} else if (file instanceof TFolder) {
|
||
|
|
addFolderMenuItems(menu, file, this.app);
|
||
|
|
}
|
||
|
|
}),
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
onunload() {
|
||
|
|
unpatchSettingsModal(this);
|
||
|
|
console.log("[ignis-bridge] Plugin unloaded");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
module.exports = IgnisBridgePlugin;
|