%% generate tags start %%
#obsidian
%% generate tags end %%
#obsidian/plugin
%% run start
```ts
const {LinkPreview} = customJS
return LinkPreview.getLinkPreviewFromUrl("https://github.com/sytone/obsidian-queryallthethings")
```
%%
<div class="nifty-link-card-container">
<a class="nifty-link-card" href="https://github.com/sytone/obsidian-queryallthethings" target="_blank">
<div class="nifty-link-card-text">
<div class="nifty-link-card-title line-clamp-2">GitHub - sytone/obsidian-queryallthethings: Query all your data stored in Obsidian, this plugin allows SQL based queries against the data collections available in Obsidian and Dataview. Output can then be rendered by Handlebars</div>
<div class="nifty-link-card-description">Query all your data stored in Obsidian, this plugin allows SQL based queries against the data collections available in Obsidian and Dataview. Output can then be rendered by Handlebars - GitHub - sy...</div>
<div class="nifty-link-href">
<img class="nifty-link-icon" src="https://github.com/fluidicon.png">
https://github.com/sytone/obsidian-queryallthethings
</div>
</div>
<div class="nifty-link-image-container">
<div class="nifty-link-image" style="background-image: url('https://opengraph.githubassets.com/24d8a3e8272cc66c1eab5fd9ff665820e0e68560dc312b8a78c936bb3b9bfa23/sytone/obsidian-queryallthethings')">
</div>
</div>
</a>
</div>
%% run end %%
## Features
- Use SQL based queries that are extensible and handle JSON and objects.
- Query any data collection found in the Obsidian API.
- Query data stored in DataView as well as cached view of DataView Data like tasks.
- Render using handlebar templates in HTML or Markdown
- Use custom handle bar helpers and/or provide your own.
Note: This plugin currently has a soft dependency on DataView, make sure it is installed if you want to use the dataview backed tables.
````md
```qatt
query: |
SELECT TOP 5 * FROM obsidian_markdown_notes ORDER BY stat->mtime DESC
template: |
{{#each result}}
- [[{{path}}\|{{basename}}]]
{{/each}}
```
````