As one redditor keenly observed, the interaction between Obsidian’s Bases core plugin and list-type properties was a bit rough around the edges. I found that out first-hand when starting my first ernest attempt at converting Dataview queries pulling inline-properties to Bases pulling frontmatter YAML list-type entries.

Background

I was weary of continuing the extensive use of Dataview queries since learning that the community plugin was shifted from active development to maintenance mode. Sure, the plugin would (could?) receive future bug fixes, but it seems that the module author saw the writing on the proverbial wall with the Bases core plugin and it’s speed. While not adverse to change, Bases lack of support for Dataview’s inline properties was a real bummer as it required a fair amount of process and data conversion work.

I finally decided to stop procrastinating and investigate the Dataview to Bases conversion effort and I started with my ‘Thouhts’ process.

‘Thoughts’

My ‘Thoughts’ mechanism is something I use to capture short, single paragraph observations that is as close to journaling as I get. On my Daily Notes, I could save such an observation by creating a Dataview inline property …

thought:: This conversion process isn’t fun

… then later pull all entries in a Dataview query looking for instances of ‘thought::’. The process worked well, and I used the same pulling method to capture shared chiled expenses, household expenses, etc.. Bases required the ‘thoughts’ property be in the frontmatter YAML, and multiple entries could be entered by making the ‘thoughts property a list. So far, so good

The Issue

After creating a list view (because fixed-height tables are ass in this use case and in general), the view concatenated all type list items into a single entry, in effect rendering the use of mupliple list items pointless.

Note the two items on 8/13 being combined into one. Yuck.

The Fix

After rooting around Reddit and Discord for a bit, sailKite in the Obsidian Member Group Discord came up with this fix. Instead of using the ‘Thoughts’ type in the view, the trick is to create a formula, and use the formula in the view. Formula:

html("<ul style='margin-top: 0;'>" + thoughts.map("<li>" + value + "</li>").join("") + "</ul>")

Bam. All that needed to be done was to turn off Indented Entries (since the HTML code did that already). Why this wasn’t this baked-in to Obsidian and the Bases core plugin? At least this provided a roadmap to me for conversations of other Dataview inline-properties to Bases for my use case. Grateful.