Web log de Serge Boisse
On line depuis 1992 !
Toutes mes astuces sur la programmation de de plugins pour Obsidian
voir aussi @ Idées de plugins Obsidian(lien privé) (lien privé) et _Obsidian Plugins 🔌
Les plugins sont généralement (en tout cas celui par défaut) écrits en Typescript (page web)
On peut utiliser des framework comme React :- react Obsidian plugin developper (page web)
Notons que dans l'API obsidian, il y a une fonction renderMarkdown() qui transforme le md en html, y compris tous les résultats des post-processeurs (dataview, etc)
cf Obsidian API (page web)
et Markdown to html (page web sur le forum Obsidian)
Cf aussi Obsidian Share
create a plugin for Obsidian (video Youtube)
et sa description : how-to-create-your-own-obsidian-plugin (page web)
main.ts
, manifest.json
, package.json
et éventuellement style.css.
on peut mettre tous ces fichiers à la racine.npm install
onload
sera exécutée lorsque le plugin est chargé pour la 1ere fois. elle appelle d'autres méthodes (pas très utiles mais pour exemple)
addCommand
eg pour ouvrir une fenêtre modalenpm run build
--> crée le main.js (ne pas l'éditer en général)
npm run dev
-> va recompiler à chaque sauvegarde.Après avoir créé votre plugin, vous pouvez l'ajouter à notre marché communautaire de plugins en créant une pull request dans le dépôt de releases (page web). Consultez l'exemple (sample) de plugin pour savoir comment publier les mises à jour de votre plugin.
récupérer tous les tags du coffre :
import { getAllTags } from 'obsidian'; const tags = getAllTags();
récupérer tous les fichiers
First off: Don't call getMarkdownFiles()
inside your plugin's onLoad
function. On startup, Obsidian asynchronously walks through all the folders and files in your vault directory and registers them with the Vault. Your plugin's onLoad
is called before that.
If your plugin needs to iterate through the vault on startup, you should do so within the onLayoutReady
callback, which is fired after the Vault has been initialized and the files have been resolved.
cf my Obsidian website (plugin) (privé)
Commentaires (0) :
Page :Ajouter un commentaire (pas besoin de s'enregistrer)
En cliquant sur le bouton "Envoyer" vous acceptez les conditions suivantes : Ne pas poster de message injurieux, obscène ou contraire à la loi, ni de liens vers de tels sites. Respecter la "netiquette", ne pas usurper le pseudo d'une autre personne, respecter les posts faits par les autres. L'auteur du site se réserve le droit de supprimer un ou plusieurs posts à tout moment. Merci !Ah oui : le bbcode et le html genre <br>, <a href=...>, <b>b etc. ne fonctionnent pas dans les commentaires. C'est voulu.