<%* // โโ ้ ็ฝฎๅบ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ const FOLDER = โ7.video/Metadataโ; // โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// 1. ๆซๆๅทฒๆๆไปถ๏ผๆพๆๅคง็ผๅท const files = app.vault.getFiles() .filter(f โ f.path.startsWith(FOLDER + โ/โ));
let maxNum = 0; for (const f of files) { const match = f.name.match(/^(\d+)-/); if (match) maxNum = Math.max(maxNum, parseInt(match[1])); }
// 2. ็ๆไธไธไธช็ผๅท๏ผไธไฝ่กฅ้ถ๏ผ const nextNum = String(maxNum + 1).padStart(3, โ0โ);
// 3. ๅผน็ช่พๅ
ฅๆ ้ข
const title = await tp.system.prompt(ๆฐๅปบ็ฌฌ ${nextNum} ไธช่ง้ข็ฌ่ฎฐ๏ผ่ฏท่พๅ
ฅๆ ้ข);
if (!title) { new Notice(โๅทฒๅๆถโ); return; }
const fileName = ${nextNum}-${title};
// 4. ็งปๅจๅฐ็ฎๆ ๆไปถๅคนๅนถ้ๅฝๅ
await tp.file.move(${FOLDER}/${fileName});
_%>
title:
- <% nextNum %>-<% title %> tags:
- video videoid: VIDEO_ID bilibiliid: BILIBILI_ID defaultSource: youtube date: <% tp.date.now(โYYYY-MM-DDโ) %> category: obsidian
## <% title %>
็ธๅ ณไปฃ็ : ็ธๅ ณ่ง้ข: