This commit is contained in:
Michael Naumov 2025-01-24 09:48:38 -06:00
parent 5cfba9e4ac
commit 6fc769052a
4 changed files with 180 additions and 32 deletions

181
package-lock.json generated
View file

@ -10,9 +10,9 @@
"license": "MIT",
"devDependencies": {
"@tsconfig/strictest": "^2.0.5",
"@types/node": "^22.10.7",
"@types/node": "^22.10.10",
"obsidian": "^1.7.2",
"obsidian-dev-utils": "^16.1.0",
"obsidian-dev-utils": "^16.4.3",
"obsidian-typings": "^2.14.6"
}
},
@ -661,6 +661,132 @@
"node": ">=18.0"
}
},
"node_modules/@dprint/darwin-arm64": {
"version": "0.48.0",
"resolved": "https://registry.npmjs.org/@dprint/darwin-arm64/-/darwin-arm64-0.48.0.tgz",
"integrity": "sha512-LJ+02WB1PDIUqobfwxBVMz0cUByXsZ6izFTC9tHR+BDt+qWfoZpCn5r/zpAVSkVlA5LzGHKLVNJrwKwaTnAiVA==",
"cpu": [
"arm64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"darwin"
]
},
"node_modules/@dprint/darwin-x64": {
"version": "0.48.0",
"resolved": "https://registry.npmjs.org/@dprint/darwin-x64/-/darwin-x64-0.48.0.tgz",
"integrity": "sha512-OxfLbitoNvFMVucauJ2DvEaJpnxyyhXWC2M56f2AX8lkZSsHrdMHtklqxHz3cBGVPpcCXjLPRC139ynwmqtjIA==",
"cpu": [
"x64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"darwin"
]
},
"node_modules/@dprint/linux-arm64-glibc": {
"version": "0.48.0",
"resolved": "https://registry.npmjs.org/@dprint/linux-arm64-glibc/-/linux-arm64-glibc-0.48.0.tgz",
"integrity": "sha512-VMeyorjMXE9NrksmyOJ0zJRGxT7r7kDBBxshCxW+U1xgW+FqR8oE25RZaeDZZPDzUHapAly4ILZqjExLzAWVpw==",
"cpu": [
"arm64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@dprint/linux-arm64-musl": {
"version": "0.48.0",
"resolved": "https://registry.npmjs.org/@dprint/linux-arm64-musl/-/linux-arm64-musl-0.48.0.tgz",
"integrity": "sha512-1BUHQKEngrZv8F6wq2SVxdokyeUoHFXjz0xbYGwctlFPzXAVNLpDy9FROXsfIKmxZ0NsRqEpatETLmubtvWtcA==",
"cpu": [
"arm64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@dprint/linux-riscv64-glibc": {
"version": "0.48.0",
"resolved": "https://registry.npmjs.org/@dprint/linux-riscv64-glibc/-/linux-riscv64-glibc-0.48.0.tgz",
"integrity": "sha512-c8LktisPGbygyFf9wUg0trbAQDApawU017iPQXkZnGcV4QoCeGkFjnY8vltIKyy5DeP5gIp12KjlaT/wogMPkw==",
"cpu": [
"riscv64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@dprint/linux-x64-glibc": {
"version": "0.48.0",
"resolved": "https://registry.npmjs.org/@dprint/linux-x64-glibc/-/linux-x64-glibc-0.48.0.tgz",
"integrity": "sha512-Am8rp4FqmkO4aFdmwxk+82g2csxPLTPIlNq0Fa9AZReU15yta3Pq0Pg4AXFq+KSso5L4WGmt09ciCitK5gmdOg==",
"cpu": [
"x64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@dprint/linux-x64-musl": {
"version": "0.48.0",
"resolved": "https://registry.npmjs.org/@dprint/linux-x64-musl/-/linux-x64-musl-0.48.0.tgz",
"integrity": "sha512-0nzrZXOvblM/H4GVffNJ7YZn/Y4F/i+DNDZRT1hQmKuTQurB7a2MBJ91OpooLIWJoSn4q40crwM1Po4xnNXrdg==",
"cpu": [
"x64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@dprint/win32-arm64": {
"version": "0.48.0",
"resolved": "https://registry.npmjs.org/@dprint/win32-arm64/-/win32-arm64-0.48.0.tgz",
"integrity": "sha512-bRcGLbhKEXmP7iXDir/vU6DqkA3XaMqBM6P2ACCJMHd+XKWsz3VJzZMn5hFWZ+oZpxUsS3Mg2RcgH5xVjaawgA==",
"cpu": [
"arm64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"win32"
]
},
"node_modules/@dprint/win32-x64": {
"version": "0.48.0",
"resolved": "https://registry.npmjs.org/@dprint/win32-x64/-/win32-x64-0.48.0.tgz",
"integrity": "sha512-9JOKWWngo5vPBFxJgFogAS4rfFC2GaB9Yew6JZbRBUik7j5Num2muuw5p1tMYnl2NUBdS2W4EgsSLM3uUDyhBQ==",
"cpu": [
"x64"
],
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"win32"
]
},
"node_modules/@electron/get": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz",
@ -1631,9 +1757,9 @@
"license": "MIT"
},
"node_modules/@types/node": {
"version": "22.10.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.7.tgz",
"integrity": "sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==",
"version": "22.10.10",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.10.tgz",
"integrity": "sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -3030,6 +3156,28 @@
"url": "https://dotenvx.com"
}
},
"node_modules/dprint": {
"version": "0.48.0",
"resolved": "https://registry.npmjs.org/dprint/-/dprint-0.48.0.tgz",
"integrity": "sha512-dmCrYTiubcsQklTLUimlO+p8wWgMtZBjpPVsOGiw4kPX7Dn41vwyE1R4qA8Px4xHgQtcX7WP9mJujF4C8vISIw==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
"bin": {
"dprint": "bin.js"
},
"optionalDependencies": {
"@dprint/darwin-arm64": "0.48.0",
"@dprint/darwin-x64": "0.48.0",
"@dprint/linux-arm64-glibc": "0.48.0",
"@dprint/linux-arm64-musl": "0.48.0",
"@dprint/linux-riscv64-glibc": "0.48.0",
"@dprint/linux-x64-glibc": "0.48.0",
"@dprint/linux-x64-musl": "0.48.0",
"@dprint/win32-arm64": "0.48.0",
"@dprint/win32-x64": "0.48.0"
}
},
"node_modules/earcut": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz",
@ -6228,9 +6376,9 @@
}
},
"node_modules/obsidian-dev-utils": {
"version": "16.1.0",
"resolved": "https://registry.npmjs.org/obsidian-dev-utils/-/obsidian-dev-utils-16.1.0.tgz",
"integrity": "sha512-9SuakW6ap/6z+heV9RxrwXiyMdGnYAO/WlToMzy6i9oEnDoVhGFR/xZlKZKJqqOpdOmflt+O/RzJz09muvuIyg==",
"version": "16.4.3",
"resolved": "https://registry.npmjs.org/obsidian-dev-utils/-/obsidian-dev-utils-16.4.3.tgz",
"integrity": "sha512-2RJUGpagzSFtztwb6Xopqhywzhc10CLck6X8TMvY+wFbuAeTE3nKTBnxQMqAHIoWqtO8IXWsuDpMrQbu8lK/Kg==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -6244,25 +6392,26 @@
"@types/eslint": "^9.6.1",
"@types/eslint__js": "^8.42.3",
"@types/luxon": "^3.4.2",
"@types/node": "^22.10.7",
"@types/node": "^22.10.10",
"@types/parsimmon": "^1.10.9",
"@types/path-browserify": "^1.0.3",
"@types/shell-quote": "^1.7.5",
"@typescript-eslint/eslint-plugin": "^8.20.0",
"@typescript-eslint/parser": "^8.20.0",
"@typescript-eslint/eslint-plugin": "^8.21.0",
"@typescript-eslint/parser": "^8.21.0",
"better-typescript-lib": "^2.10.1",
"commander": "^13.0.0",
"commander": "^13.1.0",
"compare-versions": "^6.1.1",
"cspell": "^8.17.2",
"debug": "^4.4.0",
"dotenv": "^16.4.7",
"dprint": "^0.48.0",
"enhanced-resolve": "^5.18.0",
"esbuild": "^0.24.2",
"eslint": "^9.18.0",
"eslint-import-resolver-typescript": "^3.7.0",
"eslint-plugin-import-x": "^4.6.1",
"eslint-plugin-modules-newlines": "^0.0.7",
"eslint-plugin-perfectionist": "^4.6.0",
"eslint-plugin-perfectionist": "^4.7.0",
"eslint-plugin-tsdoc": "^0.4.0",
"eslint-plugin-verify-tsdoc": "^1.0.20",
"eventemitter3": "^5.0.1",
@ -6272,7 +6421,7 @@
"monkey-around": "^3.0.0",
"npm-run-all": "^4.1.5",
"obsidian": "^1.7.2",
"obsidian-typings": "^2.14.3",
"obsidian-typings": "^2.14.6",
"path-browserify": "^1.0.1",
"preact": "^10.25.4",
"remark": "^15.0.1",
@ -6280,9 +6429,9 @@
"remark-wiki-link": "^2.0.1",
"shell-quote": "^1.8.2",
"tsx": "^4.19.2",
"type-fest": "^4.32.0",
"type-fest": "^4.33.0",
"typescript": "^5.7.3",
"typescript-eslint": "^8.20.0"
"typescript-eslint": "^8.21.0"
},
"bin": {
"obsidian-dev-utils": "dist/bin/cli.cjs"

View file

@ -3,11 +3,13 @@
"version": "2.0.8",
"description": "Renames notes keeping previous title in existing links",
"scripts": {
"build:validate": "obsidian-dev-utils build:validate",
"build": "obsidian-dev-utils build",
"build:validate": "obsidian-dev-utils build:validate",
"dev": "obsidian-dev-utils dev",
"lint:fix": "obsidian-dev-utils lint:fix",
"format": "obsidian-dev-utils format",
"format:check": "obsidian-dev-utils format:check",
"lint": "obsidian-dev-utils lint",
"lint:fix": "obsidian-dev-utils lint:fix",
"spellcheck": "obsidian-dev-utils spellcheck",
"version": "obsidian-dev-utils version"
},
@ -16,9 +18,9 @@
"license": "MIT",
"devDependencies": {
"@tsconfig/strictest": "^2.0.5",
"@types/node": "^22.10.7",
"@types/node": "^22.10.10",
"obsidian": "^1.7.2",
"obsidian-dev-utils": "^16.1.0",
"obsidian-dev-utils": "^16.4.3",
"obsidian-typings": "^2.14.6"
},
"type": "module"

View file

@ -27,7 +27,6 @@ import {
editLinks,
extractLinkFile,
generateMarkdownLink
} from 'obsidian-dev-utils/obsidian/Link';
import {
getBacklinksForFileSafe,
@ -98,7 +97,9 @@ export class SmartRenamePlugin extends PluginBase<SmartRenamePluginSettings> {
menu.addItem((item) =>
item.setTitle('Smart Rename')
.setIcon('edit-3')
.onClick(() => { invokeAsyncSafely(() => this.smartRename(file)); })
.onClick(() => {
invokeAsyncSafely(() => this.smartRename(file));
})
);
}

View file

@ -20,7 +20,9 @@ export class SmartRenamePluginSettingsTab extends PluginSettingsTabBase<SmartRen
Replace: 'Replace invalid character with'
});
this.bind(dropdown, 'invalidCharacterAction', {
onChanged: () => { this.display(); }
onChanged: () => {
this.display();
}
});
});
@ -48,17 +50,13 @@ export class SmartRenamePluginSettingsTab extends PluginSettingsTabBase<SmartRen
new Setting(this.containerEl)
.setName('Store invalid title')
.setDesc('If enabled, stores title with invalid characters. If disabled, stores the sanitized version')
.addToggle((toggle) =>
this.bind(toggle, 'shouldStoreInvalidTitle')
);
.addToggle((toggle) => this.bind(toggle, 'shouldStoreInvalidTitle'));
}
new Setting(this.containerEl)
.setName('Update title key')
.setDesc('Update title key in frontmatter')
.addToggle((toggle) =>
this.bind(toggle, 'shouldUpdateTitleKey')
);
.addToggle((toggle) => this.bind(toggle, 'shouldUpdateTitleKey'));
new Setting(this.containerEl)
.setName('Update first header')
@ -72,8 +70,6 @@ export class SmartRenamePluginSettingsTab extends PluginSettingsTabBase<SmartRen
});
f.appendText(' plugin.');
}))
.addToggle((toggle) =>
this.bind(toggle, 'shouldUpdateFirstHeader')
);
.addToggle((toggle) => this.bind(toggle, 'shouldUpdateFirstHeader'));
}
}