diff --git a/package-lock.json b/package-lock.json index 2b2dbba..cc792be 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@types/node": "^16.11.6", "builtin-modules": "3.3.0", "esbuild": "0.25.5", - "eslint-plugin-obsidianmd": "0.1.4", + "eslint-plugin-obsidianmd": "0.1.5", "globals": "14.0.0", "tslib": "2.4.0", "typescript": "^5.8.3" @@ -2307,9 +2307,9 @@ } }, "node_modules/eslint-plugin-obsidianmd": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-obsidianmd/-/eslint-plugin-obsidianmd-0.1.4.tgz", - "integrity": "sha512-RybpN86mv79ypvkczqnFWbGsMKSwYAb60oYd9jMEXHtSEm0KFHytRKZ7DGCu2JU6nYyD5/8RINBOXAJ3dZy7PQ==", + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-obsidianmd/-/eslint-plugin-obsidianmd-0.1.5.tgz", + "integrity": "sha512-qKCyE+XK4nEbzteSQjn2L2cq33fgOQFhnm0bEts4TKGfU02hiWhB4Y80NVwQYVcrndisSARFlnwITY2hEEIe2A==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index fdc2bc2..545053d 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "@types/node": "^16.11.6", "builtin-modules": "3.3.0", "esbuild": "0.25.5", - "eslint-plugin-obsidianmd": "0.1.4", + "eslint-plugin-obsidianmd": "0.1.5", "globals": "14.0.0", "tslib": "2.4.0", "typescript": "^5.8.3" diff --git a/src/main.ts b/src/main.ts index f465e86..0de2c13 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,6 +1,5 @@ import {App, Editor, MarkdownView, Modal, moment, Notice, Plugin} from 'obsidian'; import {DEFAULT_SETTINGS, MyPluginSettings, SampleSettingTab} from "./settings"; -import {readFile} from "fs/promises"; // Remember to rename these classes and interfaces! @@ -13,43 +12,33 @@ export default class MyPlugin extends Plugin { // This creates an icon in the left ribbon. this.addRibbonIcon('dice', 'Sample', (evt: MouseEvent) => { // Called when the user clicks the icon. - new Notice('This is a Notice!'); - const content = readFile('test'); - this.app.workspace.activeLeaf?.detach(); - const el = document.createDiv(); - el.style.color = 'white'; - el.style.backgroundColor = 'red'; - - localStorage.setItem('test', 'hello'); + new Notice('This is a notice!'); }); // This adds a status bar item to the bottom of the app. Does not work on mobile apps. const statusBarItemEl = this.addStatusBarItem(); - statusBarItemEl.innerHTML = "Hello world"; - statusBarItemEl.innerHTML = "" + this.settings.mySetting + "" statusBarItemEl.setText('Status bar text'); // This adds a simple command that can be triggered anywhere this.addCommand({ - id: 'open-sample-plugin-modal-simple', - name: 'Open sample plugin modal (simple)', + id: 'open-modal-simple', + name: 'Open modal (simple)', callback: () => { new SampleModal(this.app).open(); } }); // This adds an editor command that can perform some operation on the current editor instance this.addCommand({ - id: 'sample-editor-command', - name: 'Sample plugin editor command', + id: 'replace-selected', + name: 'Replace selected content', editorCallback: (editor: Editor, view: MarkdownView) => { editor.replaceSelection('Sample editor command'); } }); // This adds a complex command that can check whether the current state of the app allows execution of the command this.addCommand({ - id: 'open-sample-modal-complex', - name: 'Open sample modal (complex)', - hotkeys: [{modifiers: ['Mod'], key: 'a'}], + id: 'open-modal-complex', + name: 'Open modal (complex)', checkCallback: (checking: boolean) => { // Conditions to check const markdownView = this.app.workspace.getActiveViewOfType(MarkdownView); @@ -73,26 +62,20 @@ export default class MyPlugin extends Plugin { // If the plugin hooks up any global DOM events (on parts of the app that doesn't belong to this plugin) // Using this function will automatically remove the event listener when this plugin is disabled. this.registerDomEvent(document, 'click', (evt: MouseEvent) => { - new Notice("click"); - "test".replace(/(?<=([ab]+)([bc]+))$/, "test"); + new Notice("Click"); }); // When registering intervals, this function will automatically clear the interval when the plugin is disabled. this.registerInterval(window.setInterval(() => console.log('setInterval'), 5 * 60 * 1000)); - moment().format('YYYY-MM-DD HH:mm:ss'); } onunload() { - const {workspace} = this.app; - workspace.detachLeavesOfType('test'); + } async loadSettings() { - this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData()); - this.settings = Object.assign(DEFAULT_SETTINGS, await this.loadData()); - - const result = await fetch("https://github.com"); + this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData() as Partial); } async saveSettings() { @@ -111,7 +94,7 @@ class SampleModal extends Modal { } onClose() { - var {contentEl} = this; + const {contentEl} = this; contentEl.empty(); } } diff --git a/src/settings.ts b/src/settings.ts index 3ef68b5..352121e 100644 --- a/src/settings.ts +++ b/src/settings.ts @@ -22,12 +22,6 @@ export class SampleSettingTab extends PluginSettingTab { containerEl.empty(); - containerEl.createEl('h1', {text: 'Settings'}); - - new Setting(containerEl).setName("Settings for Sample plugin").setHeading(); - - new Setting(containerEl).setName("General settings").setHeading(); - new Setting(containerEl) .setName('Settings #1') .setDesc('It\'s a secret') diff --git a/styles.css b/styles.css index b373406..71cc60f 100644 --- a/styles.css +++ b/styles.css @@ -6,11 +6,3 @@ available in the app when your plugin is enabled. If your plugin does not need CSS, delete this file. */ -@import url('https://fonts.googleapis.com/css2?family=Jersey+10&display=swap'); - - -a { background-image: url('https://www.example.com/file.jpg'); } - -div { background-image: url('//example.com/file.jpg'); } - -a.test { color: pink !important; }