Allow notes to have arbitrary file extensions on a vault by vault basis

Use case or problem

There are lots of other systems that use markdown, but don’t use .md as an extension. These fall broadly into two classes, systems that use markdown but for historical reasons use a different file extension (either .txt or .wiki are the two I’m familiar with, but there are probably others) or systems that use supersets of markdown (.mmd, .qmd and .rmd and probably a few others). It would be useful to both transform existing directories using these systems into obsidian vaults, or to create new vaults specifically able to co-exist with these systems.

Proposed solution

Create a setting that defines the extension to be used for new files in each vault. The files would still be parsed by obsidian as plain markdown, but just have different file extensions other than .md. Crucially, for any one vault, only one file extension would be allowed, so that each filename would still be unique.

This setting would be set when first creating a new vault or turning an existing directory into a vault. It should also be made available for plugins to be able to see. This would mean that a user could choose to use the multimarkdown extension (.mmd) and obsidian would write and parse these files as normal markdown, however a plugin could be written that could check for the extension and if it has been set to .mmd render the more complex tables multimarkdown provides. Or another plugin, might see that the extension was set to .qmd, and then render code blocks appropriately.

Doing this would make obsidian interoperable with a much wider range of other systems. For example, scientists using quattro in VSCode, data folk using Rmarkdown in Rstudio, people using vimwiki, dokuwiki and other wikis, various applications built on top of multimarkdown and probably many more I’m not aware of.

Related feature requests (optional)

2 Likes