Remix.run Logo
kepano 3 days ago

You can think of Bases as an editor and visualization layer for the YAML frontmatter in your Markdown files.

Frontmatter is not part of the original Markdown spec, but it became a standard way to add metadata to Markdown files long before Obsidian came along. I believe it started in 2008 with the introduction of Jekyll:

https://tom.preston-werner.com/2008/11/17/blogging-like-a-ha...

Frontmatter is supported by almost all SSGs and many apps like Obsidian add autocomplete and other QoL features around it.

Bases to me is exactly what you describe. A feature that provides an excellent editing environment and extensibility for Markdown files.

For example, my blog is a set of Markdown files compiled with Jekyll, that I edit in Obsidian. Now I can add a base in Obsidian that helps me see the state of different blog posts/pages, quickly sort/filter them, and edit their metadata. It helps me spend more of my time editing Markdown files, but at a higher level.

mudkipdev 2 days ago | parent [-]

You've basically just added a custom language on top of Markdown, what is your plan for importing this into another editor in the future? How will it know to interpret it as a database?

kepano 2 days ago | parent | next [-]

By that rationale isn't Obsidian itself a language on top of Markdown?

Being able to view your Markdown files as a graph or show a list of backlinks is possible because Obsidian has some JavaScript to do that. Previously one could write other views with plugins, but bases make it easier for non-technical folks to create views.

The views are described in human-readable YAML, so recreating them in another tool is possible. That's effectively what many people are doing if they're converting views from Dataview to Bases. There are already tools that automate this: https://github.com/Quorafind/Bases-Toolbox

The output of views can also be converted to plain Markdown tables or CSV.

If you boil it down, bases are a visualization layer that is in service of creating and editing Markdown files — and that's what Obsidian has been since the start.

If you're not interested in this feature set you can disable Bases in core plugins :)

LordDragonfang 2 days ago | parent | prev [-]

That's the thing. There's nothing really "custom" here. The files themselves are all still standard markdown with yaml frontmatter. The only difference is that there's now a nice, performant interface for getting an overview for all those files - something that you could fairly trivially make with a script, if you really needed to recreate it. And the file specifying what your views were is, itself, plaintext. There's no lock-in here, and the spec is open and well-documented.