<%* const dv = this.DataviewAPI const escapePipe = s => new String(s).replace(/\|/, '\\|') // required for links in Markdown table /* You may want to collect your utilities in a central Javascript module below the Obsidian vault, e.g. in a file lib/utils.js. The file can be included via const { escapePipe } = require(app.vault.adapter.basePath + "/lib/utils.js") */ %> | File | Tags | |:----:|:----:| <% // Note that dv.table() cannot be used as it creates HTML but we want Markdown. dv.pages("path:0-Slipbox") // .where(p => p.tags == '0-Slipbox') // a custom attribute, specified like "doctype:: project" .map(p => { let file = escapePipe(dv.fileLink(p.file.path)) let tags = p.file.tags.map(t => `${t.text} ${escapePipe(t.link)}`).join('<br>') return `|${file}|${tags}|` }) .join("\n") %>