This is a plugin for Obsidian that maintains backlink cache to speed up undocumented app.metadataCache.getBacklinksForFile
function.
It's mostly useful for users with the large vaults. On smaller vaults the difference might be unnoticeable.
It speeds up Backlinks Pane
performance and plugins that deal with the backlinks.
This plugin the most likely will be useful for other plugin developers that deal with the backlinks.
Its idea came from the forum.
Also the plugin includes canvas into the backlinks for the referenced files. This includes the app.metadataCache.getBacklinksForFile
function and the Backlinks Pane
.
The provided version is faster than the built-in version. Also the overload to accept path
was added.
const backlinks1 = app.metadataCache.getBacklinksForFile(file);
const backlinks2 = app.metadataCache.getBacklinksForFile(path);
If you want to ensure the all recent file changes are processed and the backlinks are 100% accurate.
const backlinks1 = await app.metadataCache.getBacklinksForFile.safe(file);
const backlinks2 = await app.metadataCache.getBacklinksForFile.safe(path);
You can access the original built-in version:
const backlinks = app.metadataCache.getBacklinksForFile.originalFn(file);
If you want to use the updated functions from your plugin, you can copy types.d.ts into your code.
The plugin handles links from the canvas file/text cards if Canvas
core plugin is enabled.
The plugin speeds up the Backlinks panel if Backlinks
core plugin is enabled.
The plugin includes backlinks from the frontmatter markdown links if Frontmatter Markdown Links
community plugin is enabled. Example of such link:
---
key: "[title](path/to/link.md)"
---
- The plugin is available in the official Community Plugins repository.
- Beta releases can be installed via BRAT.
By default, debug messages for this plugin are hidden.
To show them, run the following command:
window.DEBUG.enable('backlink-cache');
For more details, refer to the documentation.