Adds a command in Obsidian that tidies your footnotes so they're easy to follow:
- Consolidates all footnote definitions into one place, sorted by appearance
- Re-indexes numbered footnotes (e.g.,
[^1][^4][^2]
becomes[^1][^2][^3]
)
Inspired by obsidian-footnotes plugin.
From inside Obsidian:
- Go to Settings → Community plugins.
- Disable Safe mode.
- Click Browse, search for Tidy Footnotes, and click Install.
- Click the toggle button to enable the plugin.
For manual installation, download this repo and copy over main.js
and manifest.json
to your vault: VaultFolder/.obsidian/plugins/obsidian-tidy-footnotes/
.
Run Tidy Footnotes: Tidy Footnotes
from the Command Palette. Or, set it as a hotkey from Settings → Hotkeys.
- Currently, footnotes in code blocks are also parsed instead of being ignored.
- The original positions of footnote definitions are not maintained. The plugin will always move all definitions to where the first definition is found.
- Non-numbered foonotes (e.g.,
[^abc]
) doesn't affect the re-indexing of numbered footnotes.
- Clone this repo.
yarn
to install dependencies.yarn dev
to start compilation in watch mode.bash install-built.sh /path/to/your/vault -d
to create symbolic links of built files to your vault for quick development.
Note: CodeMirror is imported for testing with the Doc
interface. It may break in the future if the version no longer matches what Obsidian uses.
- Run
yarn build
. - Run
npm version [patch/minor/major]
to bump version inmanifest.json
andversions.json
. - Add changes in
CHANGELOG.md
. - Add a new version tag and push it.
git tag -a 1.0.1 -m "1.0.1" git push origin 1.0.1
- Go to “Releases” in GitHub and edit the latest release (created by GitHub Actions). Insert the changelog texts in the description and ensure
main.js
andmanifest.json
are attached. - Click “Publish release”.
If you really like this plugin and want to support its development, please consider buying me a coffee 🙂 Thanks!