2 Commits
Author SHA1 Message Date
oqyude 4cf5e9da4a fix with paragraphs 2026-07-11 03:43:26 +03:00
oqyude d546947e61 some automation
Release / release (push) Has been cancelled
2026-07-11 03:26:31 +03:00
4 changed files with 33 additions and 22 deletions
+6
View File
@@ -1,5 +1,6 @@
import esbuild from 'esbuild'; import esbuild from 'esbuild';
import process from 'process'; import process from 'process';
import fs from 'fs';
import builtins from 'builtin-modules'; import builtins from 'builtin-modules';
const banner = `/* const banner = `/*
@@ -9,6 +10,11 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
const prod = process.argv[2] === 'production'; const prod = process.argv[2] === 'production';
const pkg = JSON.parse(fs.readFileSync('./package.json', 'utf8'));
const manifest = JSON.parse(fs.readFileSync('./manifest.json', 'utf8'));
manifest.version = pkg.version;
fs.writeFileSync('./manifest.json', JSON.stringify(manifest, null, '\t') + '\n');
esbuild esbuild
.build({ .build({
banner: { js: banner }, banner: { js: banner },
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"id": "zeroq-qol-modules", "id": "zeroq-qol-modules",
"name": "ZeroQ QoL Modules", "name": "ZeroQ QoL Modules",
"version": "1.0.3", "version": "1.1.1",
"minAppVersion": "0.15.0", "minAppVersion": "0.15.0",
"description": "QoL Modules", "description": "QoL Modules",
"author": "oqyude", "author": "oqyude",
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "zeroq-qol-modules", "name": "zeroq-qol-modules",
"version": "1.0.0", "version": "1.1.1",
"description": "Modular Obsidian plugin with toggleable QoL modules", "description": "Modular Obsidian plugin with toggleable QoL modules",
"main": "main.js", "main": "main.js",
"scripts": { "scripts": {
+25 -20
View File
@@ -71,6 +71,26 @@ export class AttachmentCleanPasteModule extends BaseModule {
}); });
} }
private async processAll(
files: FileList,
editor: Editor,
settings: AttachmentCleanPasteSettings,
): Promise<void> {
const matchingFiles = Array.from(files).filter((f) =>
this.shouldProcess(f.name, settings),
);
if (matchingFiles.length === 0) return;
const links: string[] = [];
for (const file of matchingFiles) {
const link = await this.processFile(file, settings);
if (link) links.push(link);
}
if (links.length === 0) return;
editor.replaceSelection(links.join('\n\n'));
}
private createPasteHandler(settings: AttachmentCleanPasteSettings) { private createPasteHandler(settings: AttachmentCleanPasteSettings) {
return async ( return async (
evt: ClipboardEvent, evt: ClipboardEvent,
@@ -80,17 +100,10 @@ export class AttachmentCleanPasteModule extends BaseModule {
const files = evt.clipboardData?.files; const files = evt.clipboardData?.files;
if (!files || files.length === 0) return; if (!files || files.length === 0) return;
const matchingFiles = Array.from(files).filter((f) =>
this.shouldProcess(f.name, settings),
);
if (matchingFiles.length === 0) return;
evt.preventDefault(); evt.preventDefault();
evt.stopPropagation(); evt.stopPropagation();
for (const file of matchingFiles) { await this.processAll(files, editor, settings);
await this.processFile(file, editor, settings);
}
}; };
} }
@@ -103,17 +116,10 @@ export class AttachmentCleanPasteModule extends BaseModule {
const files = evt.dataTransfer?.files; const files = evt.dataTransfer?.files;
if (!files || files.length === 0) return; if (!files || files.length === 0) return;
const matchingFiles = Array.from(files).filter((f) =>
this.shouldProcess(f.name, settings),
);
if (matchingFiles.length === 0) return;
evt.preventDefault(); evt.preventDefault();
evt.stopPropagation(); evt.stopPropagation();
for (const file of matchingFiles) { await this.processAll(files, editor, settings);
await this.processFile(file, editor, settings);
}
}; };
} }
@@ -138,9 +144,8 @@ export class AttachmentCleanPasteModule extends BaseModule {
private async processFile( private async processFile(
file: File, file: File,
editor: Editor,
_settings: AttachmentCleanPasteSettings, _settings: AttachmentCleanPasteSettings,
): Promise<void> { ): Promise<string | null> {
try { try {
const arrayBuffer = await file.arrayBuffer(); const arrayBuffer = await file.arrayBuffer();
const filename = file.name; const filename = file.name;
@@ -166,11 +171,11 @@ export class AttachmentCleanPasteModule extends BaseModule {
await this.app.vault.createBinary(availablePath, arrayBuffer); await this.app.vault.createBinary(availablePath, arrayBuffer);
const link = `[[${availablePath}|${nameWithoutExt}]]`; return `[[${availablePath}|${nameWithoutExt}]]`;
editor.replaceSelection(link);
} catch (e) { } catch (e) {
new Notice(`Clean Paste error: ${e.message}`); new Notice(`Clean Paste error: ${e.message}`);
console.error('Attachment Clean Paste:', e); console.error('Attachment Clean Paste:', e);
} }
return null;
} }
} }