Sobre el proyecto
Obsidian Dataview es un plugin para la aplicación de toma de notas Obsidian que transforma la bóveda del usuario en una base de datos consultable. Indexa archivos Markdown extrayendo metadatos del frontmatter YAML y anotaciones de campos en línea (usando sintaxis `Clave:: Valor`), y luego proporciona múltiples modos de consulta para filtrar, ordenar y visualizar esos datos.
El plugin ofrece cuatro interfaces de consulta:
1. **Lenguaje de Consulta Dataview (DQL)**: Un lenguaje de expresiones basado en pipelines, similar a SQL, para consultas básicas. Ejemplos incluyen listar archivos de una carpeta ordenados por calificación, o filtrar por etiquetas.
2. **Expresiones en Línea**: Expresiones DQL que se pueden incrustar directamente en texto Markdown y evaluarse en modo de vista previa, como mostrar el nombre de la página actual.
3. **DataviewJS**: Una API completa de JavaScript que proporciona acceso al índice de Dataview y utilidades de renderizado. Este es el modo más potente, permitiendo agrupaciones complejas, ordenamiento y lógica de renderizado personalizada.
4. **Expresiones JS en Línea**: Equivalentes en JavaScript de las expresiones en línea para ejecutar JS arbitrario dentro de Markdown.
La extracción de datos se basa en dos mecanismos: frontmatter Markdown (bloques YAML al inicio de los documentos) y campos en línea (metadatos escritos directamente en el cuerpo del documento usando sintaxis `Clave:: Valor`). Ambos se pueden usar para anotar notas con datos estructurados.
El código base está escrito en TypeScript y usa rollup/node para compilación. El desarrollo implica clonar el repositorio, instalar dependencias con npm y ejecutar `npm run dev` para compilar y desplegar en una bóveda de prueba. El proyecto también usa MkDocs para documentación.
Las consultas JavaScript se ejecutan con el mismo nivel de acceso que otros plugins de Obsidian, lo que significa que potencialmente pueden modificar archivos o hacer llamadas de red. Las consultas regulares de Dataview están en un entorno aislado y no pueden hacer cambios negativos en la bóveda.
El proyecto es de código abierto y acepta contribuciones mediante informes de errores, correcciones, documentación y mejoras. Las definiciones de tipos TypeScript se publican en NPM para uso en otros plugins.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.