Datacore is a work-in-progress re-imagining of Dataview with a focus on 2-10x better query and rendering performance, as well as fully interactable views.
Datacore is a work in progress. For more details, check out the roadmap.
Datacore is fundamentally the same thing as dataview - an index over Markdown files that supports live-updating views and metadata. However, Datacore focuses on substantial index changes for performance, as well as a new sleek UI which completely replaces traditional Dataview queries. Datacore supports all query operations that Dataview does, with some extra functionality.
- New Javascript API: Javascript-based views are now React-based and support internal state, flickerless updates on
index changes, and a new query API which is much more performant than
dv.pages().where(...)
. - WYSIWYG Views: Datacore queries now use a responsive table view and can be manipulated with a table editor much more akin to what you would see in places like Notion and Airtable.
- Functioning Embeds: Markdown page, image, and video embeds now work in all views, and a new special view type which is just a list of embeds has been added.
- Live Editing: Values inside of table views can now be edited; task views include more nuanced rendering of metadata like due date and more operations for manipulating tasks directly.
- Section / Block Queries: Datacore indexes all files (including attachments, PDFs, and images), and supports queries at section and block level granularity.
You can do a first-time setup of the repository by making sure you have yarn
installed and then just running
yarn install
yarn run build
This will invoke esbuild
under the hood and dump the final plugin into the /build
directory. There is a short script which can then copy the compiled plugin into your vault -
./scripts/install-built /path/to/your/vault/root
You can combine the build and install into a single command:
yarn run build && ./scripts/install-built /path/to/your/vault/root
You can format your code via
yarn run format
And you can run jest tests via
yarn run test
Discord: https://discord.gg/KwZUX4BYba.
Contributions are welcome; for large contributions, we recommend reaching out via email or discord to make sure what you are trying to implement is reasonable / feasible!