Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/blacksmithgu/datacore

Work-in-progress successor to Dataview with a focus on UX and speed.
https://github.com/blacksmithgu/datacore

database obsidian obsidian-md personal-knowledge-management pkm

Last synced: 27 days ago
JSON representation

Work-in-progress successor to Dataview with a focus on UX and speed.

Awesome Lists containing this project

README

        

# Datacore

Datacore is a work-in-progress re-imagining of [Dataview](https://github.com/blacksmithgu/obsidian-dataview.git) with a
focus on 2-10x better query and rendering performance, as well as fully interactable views.

## Roadmap

Datacore is a work in progress. For more details, check out the [roadmap](ROADMAP.md).

### Differences from Dataview

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.

## Compiling & Building

You can do a first-time setup of the repository by making sure you have `yarn` installed and then just running

```bash
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 -

```bash
./scripts/install-built /path/to/your/vault/root
```

You can combine the build and install into a single command:

```bash
yarn run build && ./scripts/install-built /path/to/your/vault/root
```

## Formatting & Running Tests

You can format your code via

```bash
yarn run format
```

And you can run jest tests via

```bash
yarn run test
```

## Contributing

**Discord**: .

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!