obsidian-dataview

A data index and query language over Markdown files, for https://obsidian.md/.

MIT License

Stars
6.9K
Committers
112

Bot releases are hidden (Show)

obsidian-dataview - 0.5.6

Published by blacksmithgu over 2 years ago

0.5.6 (Beta)

Proper release of 0.5.5 plus one additional small improvement:

  • Add duration * number and duration / number operations for manipulation durations numerically.
obsidian-dataview - 0.5.4

Published by blacksmithgu over 2 years ago

0.5.4 (Beta)

Improved image rendering for some link types, and adds the embed(link) and embed(link, false) options to convert
links to/from their embedded equivalents.

obsidian-dataview - 0.5.3

Published by blacksmithgu over 2 years ago

0.5.3 (Beta)

Iterative beta which adds a few nice QoL features and fixes some more bugs:

  • Internally swapped to a React-based renderer; this should not have a noticable perf or usability impact, but makes it
    easier for me to implement complex table/list behaviors.
  • Naming your fields with AS "Name" is now optional; Dataview will infer the name from the expression automatically.
    For example, TABLE 8 + 4, 3 + 6 FROM ... is now a valid table expression, and the columns will be named 8 + 4 and
    3 + 6 respectively.
  • Some issues with array and object rendering were corrected.
  • Error messages on empty dataview results were improved and now show up for all views.

Inline images are now rendered correctly in Dataview tables and lists - no more hacky app://local/ schenanigans!

obsidian-dataview - 0.5.2

Published by blacksmithgu over 2 years ago

0.5.2 (Beta)

  • Fix #971: Objects now work properly inside DataviewQL evaluation.
obsidian-dataview - 0.5.1

Published by blacksmithgu over 2 years ago

0.5.1 (Beta)

  • Temporarily revert the new task metadata behavior: inline fields in sublists of tasks are added to the page, instead
    of the task. This behavior is not good, but is compatible with legacy usages of task metadata, which should uinbreak
    some existing queries.
    • This behavior will be removed in the future behind a flag.
  • Added the 'visual' field to tasks - if set, tasks render 'visual' instead of their regular text.
  • Fixed DataArray#mutate().
obsidian-dataview - 0.5.0

Published by blacksmithgu over 2 years ago

0.5.0 (Beta)

Re-release of broken release 0.4.23, now hopefully with fixes that make it work on (most) machines. I'll be doing beta
releases for a little while until I can confirm the new version is stable; use BRAT
(https://github.com/TfTHacker/obsidian42-brat) to easily track Dataview beta versions if you are interested in cutting
edge features.

obsidian-dataview - 0.4.26

Published by blacksmithgu over 2 years ago

This release reverts to Dataview version 0.4.22 due to there being too many unforeseen bugs with the new parser backend introduced in 0.4.23, particularly on platforms (Mac OS X, mobile, heavy use of templates) that I do not test on locally. I will be forking Dataview into an additional beta branch including new features for early adopters interested in helping me stabilize the new release.

obsidian-dataview - 0.4.25

Published by blacksmithgu over 2 years ago

0.4.25

Fix #867: Create a container div per taskList to allow for multiple task views.

obsidian-dataview - 0.4.24

Published by blacksmithgu over 2 years ago

0.4.24

Re-release of 0.4.23f since Obsidian does not automatically update between non-semver versions.

obsidian-dataview - 0.4.23

Published by blacksmithgu over 2 years ago

0.4.23

The Task Update! This release reworks how dataview handles tasks and list items so that they should be much more
intuitive to use and interact with:

  1. Subtask Support: Queries now search over all list items, instead of only over root elements. This should make
    task filtering much more usable, especially if you tend to put tasks under other list items or care specifically
    about subtasks.
  2. Multiline Support: Dataview now understands multi-line tasks and renders/updates them correctly.
  3. Immediately Navigate to Task: The new task view, aside from looking a little cleaner than previous views, now
    immediately navigates to the task in it's original file on click and selects it.
  4. Grouping Support: For DataviewJS users, dv.taskList now supports grouping (as produced by groupBy and the new
    groupIn) natively.

For DataviewJS users, the task and list representation has changed: file.tasks (and the new file.lists) contain
every single task (including subtasks) in the file, instead of only the root elements. You can return to previous
behavior by filtering out tasks with a non-null parent - i.e., file.tasks.where(task => !task.parent). dv.taskList
will intelligently deal with properly nesting and de-duplicating tasks, so just filter to the tasks you want to render and
the API will do the rest.

This release also includes general backend improvements as we prepare for live-editing in Dataview views, as well as
several community-contributed API improvements:

  • DataArray#groupIn: For grouping already grouped data, you can now use array.groupIn(v => ...), which will group
    the innermost (original) data in the array instead of the top level groups. This allows for more easily grouping
    recursively, such as dv.pages().groupBy(page => page.file.folder).groupIn(page => page.title) producing a grouping
    of folders, then page titles.
  • substring(string, start[, end]): The last major missing string function is now available! Take slices of strings.
  • Improved dv.el() and other HTML functions - thanks @vitaly.
  • null and undefined entries sort at the end instead of the beginning by default; sorry to those whose code sorts wrong
    because of this, but it is a better default for most people's use cases.
  • All links are now properly normalized to their full paths, fixing many link comparison edge cases in DataviewJS.

Documentation additions for the new task functionality will be coming out in the next few days. The next release 0.4.24
is currently targeting expanded FROM query support, basic table view improvements, and general exporting functionality
for Dataview. See you then!

obsidian-dataview - 0.4.22

Published by blacksmithgu almost 3 years ago

0.4.22

The @pjeby update! This includes several performance improvements suggested by @pjeby to dramatically improve background
Dataview performance as well as reduce some memory pressure. It also includes some minor bug-fixes and preliminary
functionality:

  • Target ES2018 for better Promise support
  • Allow parsing shorthands in dv.date().
  • Add additional metadata to inline field rendering which can be styled.
  • Cleanup events & workers on plugin uninstall, improving the Dataview uninstall/disable/reload experience.
  • Add preliminary CALENDAR queries - rendering similar to the obsidian-calendar plugin, see the documentation!

Dataview should perform much better on startup and when you have lots of tabs open - thanks again to @pjeby.

obsidian-dataview - 0.4.21

Published by blacksmithgu almost 3 years ago

0.4.21

Bugfix release which primarily fixes issues that Dataview had with the live preview mode in upcoming Obsidian versions;
Dataview live preview should now be functional. Also includes a number of smaller bugfixes.

  • Fix #646: Add date(yesterday) to create a date 24 hours ago.
  • Fix #618: Luxon is now available on the dataview API (dv.luxon).
  • Fix #510: Add dv.duration() for parsing durations.
  • Fix #647: All HTML functions in the DataviewJS API now return their rendered objects.
  • Fix #652: Fix parsing of invalid dates.
  • Fix #629: Fix block link parsing.
  • Fix #601: Timezones are now rendered properly and parsed properly in Dataview dates.
  • PR #637: Add meta(link) which allows you to access various metadata about a link itself.
  • Various minor null safety fixes.
  • Dataview now reports it's exact version and build time in logs.
obsidian-dataview - 0.4.20

Published by blacksmithgu almost 3 years ago

0.4.20

Some feature work (mostly by other contributors) while I while away at section metadata. May also fix a few bugs!

  • Fix #448: You can now use the "Task Completion Tracking" option to automatically add completion metadata to tasks
    which are checked/unchecked through Dataview. Thanks to @sheeley.
  • Add a search bar to documentation. Thanks to @tzhou.
  • Add new date expressions for the start of the week (date(sow)), and the end of the week (date(eow)). Thanks
    @Jeamee and @v_mujunma.

Small minor bugfix / security releases may follow in the near future; otherwise, the next major release will include
section and object metadata.

obsidian-dataview - 0.4.19

Published by blacksmithgu almost 3 years ago

0.4.19

Bugfix release which corrects emoji parsing & localization issues.

  • Add DataArray#into, which lets you index into objects without flattening.
  • Renamed 'header' to 'section' in task metadata; 'header' will remain around for a few major releases to let people
    naturally migrate.
  • Fix #487: You no longer need spaces around '*' in expressions.
  • Fix #559: Fix unicode issues in variable canonicalization which was causing problems with non-Latin inline field
    keys.

Duration Parsing

You can now include multiple units in durations: dur(8 minutes, 4 seconds) or dur(2yr8mo12d). You can separate
durations by commas, or use the abbreviated syntax with/without spaces.

obsidian-dataview - 0.4.18

Published by blacksmithgu about 3 years ago

0.4.18

Bugfix release which fixes bad inline field highlighting if '[' and '(' are mixed on the same line in particular orders.

obsidian-dataview - 0.4.17

Published by blacksmithgu about 3 years ago

0.4.17

Minor feature release to patch up more implementation holes.

Single File Queries

You can now query from a specific file (instead of just folders and tags) by specifying the full file path:

TASK FROM "dataview/Test"
...

This is primarily useful for task queries, but will soon be useful for section and object queries in the near future as
well.

Better Inline Field Highlighting

The CSS for inline field highlighting has been fixed and some compatibility issues improved, so it should work on all
themes now instead of only a few.

dv.el()

DataviewJS now has dv.el(), which is like existing functions like dv.paragraph and dv.span but can create any
HTML element type; for example:

dv.el("b", "Text!");
dv.el("i", 18);
obsidian-dataview - 0.4.16

Published by blacksmithgu about 3 years ago

0.4.16

Small performance release which substantially reduces the impact Dataview has on vault loading times (by spreading out
file loading). The Dataview Index is now also eagerly initialized, so plugin consumers of the API can immediately start
using it instead of waiting for the dataview:api-ready event.

obsidian-dataview - 0.4.15

Published by blacksmithgu about 3 years ago

0.4.15

A simple fix for #537 which properly 'awaits' value rendering in dv.view(). Fixes issues with values rendering out of
order.

obsidian-dataview - 0.4.14

Published by blacksmithgu about 3 years ago

0.4.14

Small bugfix release.

  • Fixes inline field evaluation when using the new fancy highlighting.
  • You can now configure whether task links should show up at the beginning or end of the task (or just disable them)
    in the "Task Link Location" setting.
  • Most setting updates will immediately be applied to existing Dataviews.
obsidian-dataview - 0.4.13

Published by blacksmithgu about 3 years ago

0.4.13

Bugfix release which adds fancy rendering to inline-inline fields and includes a few bugfixes.

Pretty Inline Fields

Inline fields of the form [key:: value] will now be rendered with fancy new HTML! By default, they are rendered with
both the key and value. You can only render the value using parenthesis instead: (key:: value). You can disable
this feature in the configuration.

Full-line inline fields (that Dataview has supported for a long time) will gain similar rendering support soon; in the
meanwhile, give the new syntax a try!

Task Linking

Tasks now render with a link to the page/section that they are defined in, making GROUP BY and custom task
editing easier to do:

  • A Task. 🔗
  • Another Task. 🔗
    • Some Random Subtask. 🔗

You can configure the symbol for the link or disable it alltogether.

Improving DataviewJS Posture

I am currently actively looking into improving DataviewJS sandboxing and general security posture. As a first small step
in this, I have made DataviewJS opt-in instead of opt-out, and added a separate control for Inline DataviewJS. You may
need to re-enable it in your settings if you use it.

More improvements and better JavaScript sandboxing will follow.