Custom Attachment Location
Customize attachment location with variables($filename, $data, etc) like Typora.
The above warnings are based on limited information and might not always be accurate.
Data
| ID | obsidian-custom-attachment-location |
| Author | Michael Naumov |
| Funding | Support the Author |
| Minimum Obsidian Version | 1.12.7 |
| Official Release Date | 2021-11-03 |
| Last update | 2026-07-11 |
Last Refresh
Obsidian Stats last refreshed the data behind this page on Jul 13, 2026.
| Community plugin snapshot | Jul 13, 2026 |
| Repository clone | last successful checkout Jul 13, 2026 |
| Release acquisition | release metadata checked Jul 13, 2026; latest main.js acquired |
Quick Links
- GitHub Repo
- View in Obsidian
- View on Obsidian Community
- View on the Obsidian Hub
- Author Website
- Support the Author
Changes
| Date | Changed Property | Old Value | New Value |
|---|---|---|---|
| 2021-11-03 | Plugin Added | ||
| 2023-04-26 | description | Customize attachment location with variables($filename, $data, etc) like typora. | Customize attachment location with variables($filename, $data, etc) like Typora. |
| 2025-12-29 | author | RainCat1998 | mnaoumov (created by RainCat1998) |
| 2025-12-29 | repo | RainCat1998/obsidian-custom-attachment-location | mnaoumov/obsidian-custom-attachment-location |
| 2026-05-12 | author | mnaoumov (created by RainCat1998) | mnaoumov |
| 2026-06-13 | author | mnaoumov | Michael Naumov |
Repository Data
| License | MIT in package.json MIT in LICENSE file |
| Package Manager | npm |
| Uses Typescript | Yes |
| Installed Bundlers | None found |
| Installed Testing Frameworks | Vitest |
| Has Test Files | Yes |
Latest Release main.js Size | 1.63 MB |
| Detected ES Version | ES2022 |
| Probably Minified | Yes |
| main.js API Findings | 12 disclosures |
| Uses BRAT beta releases | No |
| Dependencies | None |
| Dev Dependencies | @commitlint/cli, @commitlint/config-conventional, @commitlint/types, @obsidian-typings/obsidian-public-latest, @total-typescript/ts-reset, @tsconfig/strictest, @types/node, @types/semver, @vitest/coverage-v8, acorn, better-typescript-lib, czg, electron, eslint, husky, i18next, jiti, jsdom, json5, nano-staged, obsidian, obsidian-dev-utils, obsidian-integration-testing, obsidian-test-mocks, semver, slugify, type-fest, typescript, vitest, zod |
main.js API Findings
These conservative findings come from static analysis of the latest release main.js. The table includes warnings and high-confidence informational findings; lower-confidence informational findings are omitted to reduce false positives. Warnings indicate usage of potentially risky APIs, but such APIs can be used safely if handled with care.
| Disclosure | Detected From |
|---|---|
| Adapter File Access | Uses adapter-level vault filesystem APIs |
| Cors Free Network Access | Uses Obsidian request APIs |
| Dynamic Code Or Remote Code | Evaluates dynamic code or injects scripts |
| Global Handlers Or Timers | Registers events, DOM handlers, or intervals |
| Metadata Access | Reads Obsidian metadata cache |
| Network Access | Uses Obsidian request APIs |
| Node Filesystem Access | Uses direct Node filesystem-related modules |
| Note Content Access | Reads vault files |
| Process Or Shell Access | Uses Node process or subprocess APIs |
| Source Map Comment | Includes a source map comment |
| Vault File Write | Renames, deletes, trashes, or copies vault files, Writes vault files |
| Workspace Layout | Registers or manipulates workspace views and panes |
| Finding | Type | Confidence | Evidence |
|---|---|---|---|
| Evaluates dynamic code or injects scripts | Warning | High | Function (1), dynamic_code:function_constructor (1) |
| Uses Electron desktop APIs | Warning | High | electron (2) |
| Uses direct Node filesystem-related modules | Warning | High | node:path (1), os (1) |
| Uses Node process or subprocess APIs | Warning | High | process.env (9), process.platform (1) |
| Renames, deletes, trashes, or copies vault files | Warning | High | app.fileManager.renameFile (1) |
| Includes a source map comment | Info | High | sourceMappingURL (1) |
| Registers events, DOM handlers, or intervals | Info | High | setTimeout (3), this.registerDomEvent (2), this.registerEvent (20) |
| Reads Obsidian metadata cache | Info | High | app.metadataCache.getCache (4), app.metadataCache (6) |
| References URLs or constructs URL objects | Info | High | http:// (6), https:// (49), URL (5) |
| Uses Obsidian request APIs | Info | High | obsidian.requestUrl (1) |
| Registers plugin settings UI | Info | High | Setting (6), obsidian.Setting (6) |
| Accesses Obsidian vault APIs | Info | High | app.vault (33) |
| Accesses vault folders | Info | High | app.vault.getRoot (1) |
| Reads vault files | Info | High | app.vault.cachedRead (1), app.vault.readBinary (1) |
| References Obsidian URI links | Info | High | obsidian:// (1) |
| Uses adapter-level vault filesystem APIs | Info | High | app.vault.adapter (6) |
| Writes vault files | Info | High | app.vault.create (1), app.vault.createBinary (3), app.vault.modify (1) |
| Accesses Obsidian workspace APIs | Info | High | app.workspace (21) |
| Accesses the active file or editor | Info | High | app.workspace.getActiveFile (5), app.workspace.activeEditor (2) |
| Registers or manipulates workspace views and panes | Info | High | app.workspace.getLeavesOfType (1) |
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 28480 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
| Version | Release Date | Note |
|---|---|---|
| 9.26.4 | 2025-12-29 | None |
| 10.0.0 | 2026-01-02 | None |
| 10.0.1 | 2026-01-06 | None |
| 10.0.2 | 2026-01-11 | None |
| 10.0.3 | 2026-01-12 | None |
| 10.0.4 | 2026-01-12 | None |
| 10.1.0 | 2026-01-13 | None |
| 10.2.0 | 2026-01-16 | None |
| 10.2.1 | 2026-01-16 | None |
| 10.3.0 | 2026-01-17 | None |
| 10.3.1 | 2026-01-18 | None |
| 10.3.2 | 2026-03-03 | None |
| 10.3.3 | 2026-03-04 | None |
| 10.3.4 | 2026-03-06 | None |
| 10.3.5 | 2026-06-09 | None |
| 10.3.6 | 2026-06-11 | None |
| 10.3.7 | 2026-06-11 | None |
| 10.3.8 | 2026-06-22 | None |
| 11.0.0 | 2026-06-27 | None |
| 11.1.0 | 2026-07-07 | None |
| 11.1.1 | 2026-07-11 | None |