更新简要解析,折叠三角可点击展开,没找着代码仔细重看 #1 #2。
若理解困难,可依 DataviewJS 小白手册 中“小白入门 DataviewJS 方法”,先掌握基础。
额外需求仍请另建话题。点击图片或右键 - 打开图片查看大图。
-
JS 方法
.push()
添加新元素到数组。.split()
根据指定分隔符切片字符串,每片成为新数组的每项。\n
表换行符,\n\n
表连续 2 个换行符。.substring()
、.slice()
切割。
-
Ob API:
app.vault.readRaw()
读取原文。 -
代码结构
dv.el("button", "按钮名").onclick = ()=> { }
生成按钮、添加点击事件。Math.floor(Math.random()*数组.length)
生成随机数;数组[随机数]
取出随机项。
实例 1 要点:
实例 1 格式行:
?.forEach(p=> tdata.push([ `[❔](<${file.file.path}#${p.trim().match( / (\^[a-z0-9]{6,})/ )?.[1]}>)`, p.trim() ]))
表体第一列:`[❔](<${file.file.path}#${p.trim().match( / (\^[a-z0-9]{6,})/ )?.[1]}>)`
- 格式:[❔](<文件路径#^块ID>) // []()格式的块引用链接
- 正则:/ (\^[a-z0-9]{6,})/ )?.[1] // ?.[1] 返回正则第一个括号捕获的内容,避免因无匹配值而抛出错误