À propos du projet
Obsidian Dataview est un plugin pour l'application de prise de notes Obsidian qui transforme le coffre d'un utilisateur en base de données interrogeable. Il indexe les fichiers Markdown en extrayant les métadonnées du frontmatter YAML et des annotations de champs en ligne (en utilisant la syntaxe `Key:: Value`), puis fournit plusieurs modes de requête pour filtrer, trier et visualiser ces données.
Le plugin offre quatre interfaces de requête :
1. **Dataview Query Language (DQL)** : Un langage d'expression basé sur des pipelines, de type SQL, pour les requêtes de base. Les exemples incluent le listage des fichiers d'un dossier triés par note, ou le filtrage par balises.
2. **Expressions en ligne** : Des expressions DQL qui peuvent être intégrées directement dans le texte Markdown et évaluées en mode aperçu, comme l'affichage du nom de la page actuelle.
3. **DataviewJS** : Une API JavaScript complète qui donne accès à l'index Dataview et aux utilitaires de rendu. C'est le mode le plus puissant, permettant un regroupement, un tri et une logique de rendu personnalisée complexes.
4. **Expressions JS en ligne** : Équivalents JavaScript des expressions en ligne pour exécuter du JS arbitraire en ligne dans le Markdown.
L'extraction des données repose sur deux mécanismes : le frontmatter Markdown (blocs YAML en haut des documents) et les champs en ligne (métadonnées écrites directement dans le corps du document en utilisant la syntaxe `Key:: Value`). Les deux peuvent être utilisés pour annoter les notes avec des données structurées.
Le code source est écrit en TypeScript et utilise rollup/node pour la compilation. Le développement implique le clonage du dépôt, l'installation des dépendances avec npm, et l'exécution de `npm run dev` pour construire et déployer vers un coffre de test. Le projet utilise également MkDocs pour la documentation.
Les requêtes JavaScript s'exécutent avec le même niveau d'accès que les autres plugins Obsidian, ce qui signifie qu'elles peuvent potentiellement modifier des fichiers ou effectuer des appels réseau. Les requêtes Dataview régulières sont isolées dans un bac à sable et ne peuvent pas apporter de modifications négatives au coffre.
Le projet est open-source et accepte les contributions via des rapports de bogues, des correctifs, de la documentation et des améliorations. Les définitions de type TypeScript sont publiées sur NPM pour être utilisées dans d'autres plugins.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.