Obsidianμ λ§μ μΈν°νμ΄μ€μμλ μ ν리μΌμ΄μ μ 체μμ λ°μνλ μ΄λ²€νΈλ₯Ό ꡬλ ν μ μμ΅λλ€. μλ₯Ό λ€μ΄ μ¬μ©μκ° νμΌμ λ³κ²½ν λμ κ°μ μ΄λ²€νΈμ λλ€.
λ±λ‘λ λͺ¨λ μ΄λ²€νΈ νΈλ€λ¬λ νλ¬κ·ΈμΈμ΄ μΈλ‘λλ λ λΆλ¦¬λμ΄μΌ ν©λλ€. μ΄λ₯Ό 보μ₯νλ κ°μ₯ μμ ν λ°©λ²μ registerEvent() λ©μλλ₯Ό μ¬μ©νλ κ²μ λλ€.
import { Plugin } from 'obsidian';
export default class ExamplePlugin extends Plugin {
async onload() {
this.registerEvent(this.app.vault.on('create', () => {
console.log('μ νμΌμ΄ μμ±λμμ΅λλ€');
}));
}
}
νμ΄λ° μ΄λ²€νΈ
μΌμ ν κ°κ²©μΌλ‘ ν¨μλ₯Ό λ°λ³΅μ μΌλ‘ νΈμΆνλ €λ©΄ registerInterval() λ©μλμ ν¨κ» window.setInterval()
ν¨μλ₯Ό μ¬μ©νμΈμ.
λ€μ μμ λ μν νμμ€μ νμ¬ μκ°μ 1μ΄λ§λ€ μ λ°μ΄νΈνμ¬ νμν©λλ€:
import { moment, Plugin } from 'obsidian';
export default class ExamplePlugin extends Plugin {
statusBar: HTMLElement;
async onload() {
this.statusBar = this.addStatusBarItem();
this.updateStatusBar();
this.registerInterval(
window.setInterval(() => this.updateStatusBar(), 1000)
);
}
updateStatusBar() {
this.statusBar.setText(moment().format('H:mm:ss'));
}
}
λ μ§μ μκ°
Momentλ λ μ§μ μκ°μ λ€λ£¨λ μΈκΈ° μλ JavaScript λΌμ΄λΈλ¬λ¦¬μ λλ€. Obsidianμ λ΄λΆμ μΌλ‘ Momentλ₯Ό μ¬μ©νλ―λ‘ λ³λλ‘ μ€μΉν νμκ° μμ΅λλ€. λμ Obsidian APIμμ κ°μ Έμ¬ μ μμ΅λλ€:
import { moment } from 'obsidian';