aliases:
- HomePage tags: null cssclasses:
- myhome
- hide-metadata
- cards
- 行列标题底色模式 banner: '[[assets/主页.assets/国际服1.9.jpg]]' banner_x: 0.532 banner_y: 0.33
[!dictum]
let files = dv.pages('"000-箱的构造/箱中memos" and #金句').file; if (files.length === 0) { dv.paragraph("没有找到任何文件"); } else { let randomFile = files[Math.floor(Math.random() * files.length)]; let fileContent = await app.vault.readRaw(dv.page(randomFile.path).file.path) let lines = fileContent.split('\n').filter(line => line.includes("#金句")); let line = lines[0]; if (line.includes("#金句")) { let sentence = line; sentence = sentence.replace(/#[^ ]+/g, ''); // 删除所有以#开头到其后第一个空格之间的部分 dv.span("<center>" + sentence + "</center>"); } }[!noborder|banner]
// 计算最早笔记的创建时间 let ftMd = dv.pages().file.sort(t => t.cday)[0] let total = parseInt([new Date() - ftMd.ctime] / (60*60*24*1000)) const date = new Date(ftMd.ctime); const formattedDate = new Intl.DateTimeFormat('zh-CN', { year: 'numeric', month: '2-digit', day: '2-digit' }).format(date); // 排除指定文件夹 let nofold = '!"000-箱的构成/插件" and !"000-箱的构成/templates" and !"000-箱的构成/script" and !"assets"' let allFile = dv.pages(nofold).file // 计算笔记总数 let note = 0; // 指定要查询的文件类型 let fileType = '.md'; // 获取 vault 中的所有文件 let files = this.app.vault.getAllLoadedFiles(""); // 遍历所有文件,判断是否是 PDF,把 PDF 文件链接拼接进字符串 /* 此代码片段遍历“files”数组中的每个文件,该数组包含 Vault 中加载的所有文件。对于每个文件,它会检查文件路径是否以指定的“fileType”结尾(在本例中,Markdown 文件的结尾为“.md”)。如果文件是 Markdown 文件,则计数+1。 */ files.forEach(file => { if (file.path.endsWith(fileType)) { note++; } }); let rolefile = dv.pages('"100-UTTU人物合辑" and !"100-UTTU人物合辑/100-UTTU人物合辑.md" and !"100-UTTU人物合辑/维尔汀|Vertin.md"').file let psyfile = dv.pages('"200-相从心生" and !"200-相从心生/200-相从心生.md"').file let totalnote = "积累档案及笔记 =="+note+"== 篇" let totalRole = "共收录 =="+rolefile.length+"== 位箱中伙伴" let totalPsy = "共撰写 =="+psyfile.length+"== 篇心相档案" let totalTag = "有 =="+allFile.etags.distinct().length+"== 个相关标签" let greet = '<%+ tp.date.now("A好,今天是YYYY年M月Do dddd") %>。' dv.paragraph(greet + "第一张档案记录于*"+ formattedDate +"*,到今天已有=="+total+"==天,"+totalnote+";"+totalRole+"、"+totalPsy+"、"+totalTag+"。")
let ftMd = dv.pages("").file.sort(t => t.cday)[0]
let total = parseInt([new Date() - ftMd.ctime] / (60*60*24*1000))
let nofold = '!"000-箱的构造/插件" and !"000-箱的构造/templates" and !"000-箱的构造/script" and !"assets"'
let allFile = dv.pages(nofold).file
let rolefile = dv.pages('"100-UTTU人物合辑" and !"100-UTTU人物合辑/100-UTTU人物合辑.md" and !"100-UTTU人物合辑/维尔汀|Vertin.md"').file
let psyfile = dv.pages('"200-相从心生" and !"200-相从心生/200-相从心生.md"').file
let totalRole = "共收录 =="+rolefile.length+"== 位箱中伙伴"
let totalPsy = "共撰写 =="+psyfile.length+"== 篇心相档案"
let totalTag = "有 =="+allFile.etags.distinct().length+"== 个相关标签"
const progressrole = `<progress value="${Math.round((rolefile.length / 90) * 100)}" max="100" class="nyan-cat"></progress>`
const progresspsy = `<progress value="${Math.round((psyfile.length / 73) * 100)}" max="100" class="nyan-cat"></progress>`
const percentagerole = `${Math.round((rolefile.length / 90) * 100)} %`
const percentagepsy = `${Math.round((psyfile.length / 73) * 100)} %`
dv.span(`
> [!note]+ 撰写进度
==角色档案==撰写进度:${progressrole} **${percentagerole}**\n >
==心相档案==撰写进度:${progresspsy} **${percentagepsy}**
`)