Search all my inline variables and associated values

What I’m trying to do

I am trying to get an overview of all the inline variables (or variables in general i guess (including YAML frontmatter)), as well as the information within those variables.

I want an overview and to see where i can re-align my variable naming conventions so i’m more organised.

I can easily get this working with tags… but struggling with inline. I am not familiar with dataviewjs really, so any further explanation of what is going on would be appreciated.


Provides list of every tag in repository

let tags = [];

for (let tag of dv.pages().file.tags) {
    if (tags.indexOf(tag) == -1) {


I would like list of every inline variable and associated value

Things I have tried

// Step 1: Access content and test regex matching

// Select a single page (adjust the path to match one of your pages)
let page ="Daily Notes/");

// Check if we can access the page content
if (page && page.file.content) {
    dv.paragraph("Content Accessed Successfully.");
    // Test regex on this content
    const regex = /\[([^\]]+)::|\(([^\)]+)::/g;
    let match;
    let matchesFound = false;

    while ((match = regex.exec(page.file.content)) !== null) {
        dv.paragraph("Match found: " + match[0]);
        matchesFound = true;

    if (!matchesFound) {
        dv.paragraph("No matches found. Check regex and content format.");
} else {
    dv.paragraph("Page content not accessible or page does not exist.");


Thanks in advance.

When you got a page object, you can do delete page.file, and what you’ve got left then is the full list of fields in that page except those defined in list/tasks. Note that you’ve got both the full key variant, and the sanitised key variant of any field present in that object.

Try the following on some random page with a few inline fields in the body text or in tasks and so on:


let page = dv.current()
delete page.file

I sometimes use the query above as a one-liner to list the defined field for a given page:

`$= let page = dv.current(); delete page.file; dv.span(page) `

You can do similar stuff related to the file.lists and file.tasks, but there are many other metadata fields you then need to delete to get to only the inline fields of any given list item. (Stuff like: symbol, link, section, text, tags, line, lineCount, list, outlinks, path, children, task, annotated, position, subtasks, real, header, status, checked, completed, and fullyCompleted)