Sobre o projeto
O Obsidian Dataview é um plugin para o aplicativo de anotações Obsidian que transforma o vault do usuário em um banco de dados consultável. Ele indexa arquivos Markdown extraindo metadados do frontmatter YAML e anotações de campos inline (usando a sintaxe `Chave:: Valor`), e então fornece vários modos de consulta para filtrar, classificar e visualizar esses dados.
O plugin oferece quatro interfaces de consulta:
1. **Linguagem de Consulta Dataview (DQL)**: Uma linguagem de expressão baseada em pipeline, semelhante a SQL, para consultas básicas. Exemplos incluem listar arquivos de uma pasta classificados por classificação, ou filtrar por tags.
2. **Expressões Inline**: Expressões DQL que podem ser incorporadas diretamente no texto Markdown e avaliadas no modo de visualização, como exibir o nome da página atual.
3. **DataviewJS**: Uma API JavaScript completa que fornece acesso ao índice do Dataview e utilitários de renderização. Este é o modo mais poderoso, permitindo agrupamento, classificação e lógica de renderização personalizada complexos.
4. **Expressões JS Inline**: Equivalentes em JavaScript das expressões inline para executar JS arbitrário inline dentro do Markdown.
A extração de dados depende de dois mecanismos: frontmatter Markdown (blocos YAML no topo dos documentos) e campos inline (metadados escritos diretamente no corpo do documento usando a sintaxe `Chave:: Valor`). Ambos podem ser usados para anotar notas com dados estruturados.
O código-fonte é escrito em TypeScript e usa rollup/node para compilação. O desenvolvimento envolve clonar o repositório, instalar dependências com npm e executar `npm run dev` para compilar e implantar em um vault de teste. O projeto também usa MkDocs para documentação.
Consultas JavaScript são executadas com o mesmo nível de acesso que outros plugins do Obsidian, o que significa que podem potencialmente modificar arquivos ou fazer chamadas de rede. Consultas Dataview regulares são isoladas e não podem fazer alterações negativas no vault.
O projeto é de código aberto e aceita contribuições via relatórios de bugs, correções, documentação e melhorias. As definições de tipo TypeScript são publicadas no NPM para uso em outros plugins.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.