Skip to content

Attachment Location Manager

Set attachment location per note or folder: global, folder and file settings resolve by nearest match, each with its own per-extension exceptions; supports variables, auto-rename and re-arranging existing links. - This plugin has not been manually reviewed by Obsidian staff.

The above warnings are based on limited information and might not always be accurate.

Data

IDattachment-location-manager
Authorlishuai1993
Minimum Obsidian Version1.8.7
Official Release Date2026-10-03
Last update2026-10-08

Last Refresh

Obsidian Stats last refreshed the data behind this page on Oct 27, 2026.

Community plugin snapshotOct 26, 2026
Repository clonelast successful checkout Oct 12, 2026
Release acquisitionrelease metadata checked Oct 12, 2026; latest main.js acquired

Quick Links

Changes

DateChanged PropertyOld ValueNew Value
2026-10-03Plugin Added
2026-10-27Plugin Removed
2026-10-27Plugin Re-Added

Repository Data

LicenseMIT in package.json
MIT in LICENSE file
Package Managerpnpm
Uses TypescriptYes
Installed Bundlersesbuild
Installed Testing FrameworksNone found
Has Test FilesNo
Latest Release main.js Size165 KB
Detected ES VersionES2018
Probably MinifiedNo
main.js API Findings12 disclosures
Uses BRAT beta releasesNo
Dependenciests-md5
Dev Dependencies@eslint/js, @types/node, commit-and-tag-version, cross-env, esbuild, eslint, eslint-config-prettier, eslint-plugin-import-x, eslint-plugin-prettier, eslint-plugin-unused-imports, obsidian, prettier, tslib, typescript, typescript-eslint

main.js API Findings

These findings come directly from Glass Lint's JavaScript and Obsidian rule catalogs applied to the latest release main.js. The confidence column is Glass Lint's definite/possible match certainty.

DisclosureRule Descriptions
Full Vault AccessEnumerates vault files
Lifecycle EventsRegisters Obsidian lifecycle events
Markdown ProcessingUses markdown link helpers
Metadata AccessReads Obsidian metadata cache, Traverses metadata cache maps
Network AccessConstructs or references URLs
Obsidian Config AccessReferences .obsidian configuration paths
Plugin Storage AccessReads plugin data, Writes plugin data
User Interface AccessRegisters commands, Registers plugin settings UI, Uses Obsidian modal UI, Uses Obsidian notices
Vault AccessAccesses Obsidian vault APIs, Registers vault events
Vault ReadReads vault files, Uses adapter-level vault filesystem APIs
Vault WriteMoves or copies vault files, Uses adapter-level vault filesystem APIs
Workspace AccessRegisters Obsidian workspace events
FindingTypeConfidenceEvidence
Constructs or references URLsInfoDefinitestring_contains of "https://"
Registers Obsidian lifecycle eventsInfoDefinitemember_call of "obsidian.Plugin" (6)
Uses markdown link helpersInfoDefinitemember_call of "obsidian" (11), member_call of "app.fileManager.generateMarkdownLink" (5)
Reads Obsidian metadata cacheInfoDefinitemember_read of "app.metadataCache" (6), member_read of "app.metadataCache.resolvedLinks" (6)
Traverses metadata cache mapsInfoDefinitemember_call of "Object.entries" (2), member_call of "Object.keys"
Reads plugin dataInfoDefinitemember_call of "obsidian.Plugin"
Writes plugin dataInfoDefinitemember_call of "obsidian.Plugin"
Registers commandsInfoDefinitemember_call of "obsidian.Plugin" (5)
Uses Obsidian modal UIInfoDefiniteclass of "obsidian.Modal" (2)
Uses Obsidian noticesInfoDefiniteconstructor of "obsidian.Notice" (24)
Registers plugin settings UIInfoDefiniteclass of "obsidian.PluginSettingTab", member_call of "obsidian.Plugin"
Accesses Obsidian vault APIsInfoDefinitemember_read of "app.vault" (49)
Uses adapter-level vault filesystem APIsInfoDefinitemember_call of "app.vault.adapter.process", member_call of "app.vault.adapter.exists" (7), member_call of "app.vault.adapter.rename", member_call of "app.vault.adapter.mkdir" (3)
References .obsidian configuration pathsInfoDefinitemember_read of "app.vault.configDir" (2)
Enumerates vault filesInfoDefinitemember_call of "app.vault.getAbstractFileByPath" (14), member_call of "app.vault.getFiles"
Registers vault eventsInfoDefinitemember_call of "app.vault.on" (4)
Moves or copies vault filesInfoDefinitemember_call of "app.fileManager.renameFile", member_call of "app.vault.rename" (2), member_call of "app.vault.copy"
Reads vault filesInfoDefinitemember_call of "app.vault.cachedRead"
Registers Obsidian workspace eventsInfoDefinitemember_call of "app.workspace.on" (2)

The above data may not be accurate and contain errors. For more information refer to the page about data collection.

Lines of Code

The plugin has a total of 4462 lines of code. The following chart shows the lines of code split by programming language.

Downloads

The following chart shows the total number of downloads of the plugin over time. The second chart shows the delta of downloads per week, which is the number of new downloads per week. New version releases are marked with vertical lines.

Version History

VersionRelease DateNote
1.0.02026-10-04None
1.0.12026-10-04None
1.0.22026-10-10None