sec-ml217 downloadsVery simple plugin that allows any file extension to be registered as Markdown (e.g. mdx, svx, rmd, qmd, mdown, mkdn, mkd, mdwn, mdtxt, mdtext, myst, markua). User-configurable in settings.
Obsidian is great at markdown... that's what it does. But sometimes markdown ≠ .md.
There are a few plugins that add support for specfic extensions (.mdx probably being the most common), but Anything as .md allows you to enter a list of extensions that you want Obsidian to recognise as markdown syntax.
Experimental feature: It will also allow Obsidian to index non-md files as though they are .md. This overrides some built-in logic. While it seems stable, it is currently being tested, and nothing is guaranteed/no support is offered.
Well... any! But I guess for findability reasons, I'll list some:
...you get the idea.
Markdown syntax will be understood and rendered correctly. I have no idea how other elements (jsx blocks, R code blocks, etc.) will fare. This plugin is solely for enabling visibility of the file, and optionally/experimentally, forcing the file to be recognised and treated as native .md.
Fork and clone
git clone https://github.com/<your username>/anything-as-md.git
cd anything-as-md
Install dependencies
npm install
Node.js 16+ is required (node --version).
Build the plugin
npm run build
This compiles TypeScript to main.js (and runs type-checking).
Copy into the test vault (for local testing)
npm run test-copy
This copies main.js, manifest.json, and styles.css into test-vault/.obsidian/plugins/anything-as-md/.
Try it in Obsidian
test-vault folder in this repo as a vault in Obsidian.Develop
src/ (e.g. main.ts, settings.ts).npm run build then npm run test-copy to refresh the test vault, or use npm run dev for watch mode (rebuilds on save; run npm run test-copy when you want to update the test vault).npm run lint to check code style.manifest.json with your new version number, such as 1.0.1, and the minimum Obsidian version required for your latest release.versions.json file with "new-plugin-version": "minimum-obsidian-version" so older versions of Obsidian can download an older version of your plugin that's compatible.v. See here for an example: https://github.com/obsidianmd/obsidian-sample-plugin/releasesmanifest.json, main.js, styles.css as binary attachments. Note: The manifest.json file must be in two places, first the root path of your repository and also in the release.You can simplify the version bump process by running
npm version patch,npm version minorornpm version majorafter updatingminAppVersionmanually inmanifest.json. The command will bump version inmanifest.jsonandpackage.json, and add the entry for the new version toversions.json
README.md file in the root of your repo.main.js, styles.css, manifest.json from the latest release to your vault VaultFolder/.obsidian/plugins/anything-as-md/.