Skip to content

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-06-11

Last Refresh

Obsidian Stats last refreshed the data behind this page on Jun 15, 2026.

Community plugin snapshot Jun 15, 2026
Repository clone last successful checkout Jun 12, 2026
Release acquisition release metadata checked Jun 12, 2026; latest main.js acquired

Quick Links

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.56 MB
Detected ES Version ES2022
Probably Minified Yes
main.js API Findings 10 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
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 browser network APIs
Node Filesystem Access Uses direct Node filesystem-related modules
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 (1)
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 (12)
Reads Obsidian metadata cache Info High app.metadataCache.getCache (4), app.metadataCache (5)
References URLs or constructs URL objects Info High http:// (6), https:// (48), URL (4)
Uses browser network APIs Info High fetch (1)
Registers plugin settings UI Info High Setting (6), obsidian.Setting (6)
Accesses Obsidian vault APIs Info High app.vault (19)
References Obsidian URI links Info High obsidian:// (1)
Uses adapter-level vault filesystem APIs Info High app.vault.adapter (5)
Writes vault files Info High app.vault.create (1), app.vault.createBinary (2)
Accesses Obsidian workspace APIs Info High app.workspace (17)
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 25460 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