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

IDobsidian-custom-attachment-location
AuthorMichael Naumov
FundingSupport the Author
Minimum Obsidian Version1.12.7
Official Release Date2021-11-03
Last update2026-07-11

Last Refresh

Obsidian Stats last refreshed the data behind this page on Jul 13, 2026.

Community plugin snapshotJul 13, 2026
Repository clonelast successful checkout Jul 13, 2026
Release acquisitionrelease metadata checked Jul 13, 2026; latest main.js acquired

Quick Links

Changes

DateChanged PropertyOld ValueNew Value
2021-11-03Plugin Added
2023-04-26descriptionCustomize attachment location with variables($filename, $data, etc) like typora.Customize attachment location with variables($filename, $data, etc) like Typora.
2025-12-29authorRainCat1998mnaoumov (created by RainCat1998)
2025-12-29repoRainCat1998/obsidian-custom-attachment-locationmnaoumov/obsidian-custom-attachment-location
2026-05-12authormnaoumov (created by RainCat1998)mnaoumov
2026-06-13authormnaoumovMichael Naumov

Repository Data

LicenseMIT in package.json
MIT in LICENSE file
Package Managernpm
Uses TypescriptYes
Installed BundlersNone found
Installed Testing FrameworksVitest
Has Test FilesYes
Latest Release main.js Size1.63 MB
Detected ES VersionES2022
Probably MinifiedYes
main.js API Findings12 disclosures
Uses BRAT beta releasesNo
DependenciesNone
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.

DisclosureDetected From
Adapter File AccessUses adapter-level vault filesystem APIs
Cors Free Network AccessUses Obsidian request APIs
Dynamic Code Or Remote CodeEvaluates dynamic code or injects scripts
Global Handlers Or TimersRegisters events, DOM handlers, or intervals
Metadata AccessReads Obsidian metadata cache
Network AccessUses Obsidian request APIs
Node Filesystem AccessUses direct Node filesystem-related modules
Note Content AccessReads vault files
Process Or Shell AccessUses Node process or subprocess APIs
Source Map CommentIncludes a source map comment
Vault File WriteRenames, deletes, trashes, or copies vault files, Writes vault files
Workspace LayoutRegisters or manipulates workspace views and panes
FindingTypeConfidenceEvidence
Evaluates dynamic code or injects scriptsWarningHighFunction (1), dynamic_code:function_constructor (1)
Uses Electron desktop APIsWarningHighelectron (2)
Uses direct Node filesystem-related modulesWarningHighnode:path (1), os (1)
Uses Node process or subprocess APIsWarningHighprocess.env (9), process.platform (1)
Renames, deletes, trashes, or copies vault filesWarningHighapp.fileManager.renameFile (1)
Includes a source map commentInfoHighsourceMappingURL (1)
Registers events, DOM handlers, or intervalsInfoHighsetTimeout (3), this.registerDomEvent (2), this.registerEvent (20)
Reads Obsidian metadata cacheInfoHighapp.metadataCache.getCache (4), app.metadataCache (6)
References URLs or constructs URL objectsInfoHighhttp:// (6), https:// (49), URL (5)
Uses Obsidian request APIsInfoHighobsidian.requestUrl (1)
Registers plugin settings UIInfoHighSetting (6), obsidian.Setting (6)
Accesses Obsidian vault APIsInfoHighapp.vault (33)
Accesses vault foldersInfoHighapp.vault.getRoot (1)
Reads vault filesInfoHighapp.vault.cachedRead (1), app.vault.readBinary (1)
References Obsidian URI linksInfoHighobsidian:// (1)
Uses adapter-level vault filesystem APIsInfoHighapp.vault.adapter (6)
Writes vault filesInfoHighapp.vault.create (1), app.vault.createBinary (3), app.vault.modify (1)
Accesses Obsidian workspace APIsInfoHighapp.workspace (21)
Accesses the active file or editorInfoHighapp.workspace.getActiveFile (5), app.workspace.activeEditor (2)
Registers or manipulates workspace views and panesInfoHighapp.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

VersionRelease DateNote
9.26.42025-12-29None
10.0.02026-01-02None
10.0.12026-01-06None
10.0.22026-01-11None
10.0.32026-01-12None
10.0.42026-01-12None
10.1.02026-01-13None
10.2.02026-01-16None
10.2.12026-01-16None
10.3.02026-01-17None
10.3.12026-01-18None
10.3.22026-03-03None
10.3.32026-03-04None
10.3.42026-03-06None
10.3.52026-06-09None
10.3.62026-06-11None
10.3.72026-06-11None
10.3.82026-06-22None
11.0.02026-06-27None
11.1.02026-07-07None
11.1.12026-07-11None