OBSIDIAN SETUP

Build your Wisdio video library.

Copy-ready YAML, note templates, time formats, and Dataview queries for organizing video notes by platform, collection, and status.

01

Quick start

Keep the setup predictable: one folder for notes, one template, and one MOC (Map of Content) note for every Dataview view.

  1. 1
    Install the two Obsidian plugins

    Enable Wisdio Companion and Dataview in your desktop Obsidian vault.

  2. 2
    Choose the Wisdio folders

    Use Wisdio/Notes for notes and Wisdio/Templates/Default Note.md for the template.

  3. 3
    Copy the recommended template

    New notes will include the source URL, timestamps, and editable organization fields.

  4. 4
    Create Wisdio/MOC.md

    Paste any Dataview recipe from this page into your MOC.

Queries in this guide use one notes path

Examples read from Wisdio/Notes. If your Wisdio Companion folder is different, update the FROM line in each query.

02

YAML fields

YAML fields store note metadata. Wisdio writes the source and time fields; users fill in platform, collections, and status.

Wisdio sync fields

Field Type Required? Purpose
wisdio_id Text Optional, recommended Stable identity used when importing or reloading a Wisdio note.
wisdio_source Text Automatic Marks the note as created through Wisdio.
wisdio_source_url URL Automatic The original video or webpage address.
wisdio_created_at Date & time Automatic When the Wisdio note was created.
wisdio_updated_at Date & time Automatic The update timestamp supplied when the note template is rendered.
Is wisdio_id necessary?

No. Markdown and Dataview work without it. Keeping it gives Wisdio a durable identity when a note is imported again or its path relationship is lost. If included, do not edit it or reuse the same ID in another note.

User organization fields

Field Type Example Purpose
platform Single text value youtube Where the video is hosted.
collections YAML list [AI, Product] One or more collections that contain the video.
status Single text value 🟥 The current viewing state.
tags YAML list [wisdio] Free-form Obsidian tags.

A video can belong to more than one collection:

YAML
platform: "youtube"
collections:
  - "AI"
  - "Product"
  - "To Research"
status: 🟥
03

Template variables

Template variables are replaced by Wisdio when it creates a Markdown file.

Variable Inserted value
{{id}}Wisdio note ID
{{title}}Note title
{{content}}The position where the note body is inserted
{{sourceUrl}}Current video or webpage URL
{{url}}Alias of {{sourceUrl}}
{{createdAt}}ISO 8601 creation time
{{updatedAt}}ISO 8601 update timestamp supplied to the template
Keep {{content}} below the YAML block

It is the body slot. If it is removed, a newly generated file can contain the YAML template without the Wisdio note body.

05

Time format

Wisdio writes timestamps in ISO 8601 format so they remain precise, portable, and sortable.

Current updated_at behavior

wisdio_updated_at is written when the template is rendered. In the current release, it is not refreshed on every later body sync.

2026-07-21T01:27:19.200Z
What each part means
  • 2026-07-21 date
  • T date/time separator
  • 01:27:19 hour, minute, second
  • .200 milliseconds
  • Z UTC timezone
Local time example

In China Standard Time (UTC+8), this is 2026-07-21 09:27:19.200.

Dataview date tokens

Token Meaning Example
yyyyFour-digit year2026
MMTwo-digit month07
ddTwo-digit day21
HH24-hour clock09
mmMinute27
ssSecond19

For a compact date such as 20260721, use yyyyMMdd.

Dataview
dateformat(
  localtime(date(wisdio_created_at)),
  "yyyy-MM-dd HH:mm"
)
06

Understand and customize Dataview

Dataview reads YAML metadata and turns it into live lists or tables. It does not move or duplicate your Markdown files, and every part of a query can be changed to match your vault.

TABLE WITHOUT ID

Choose the columns to display and hide Dataview's automatic first column.

FROM

Choose which folder, tag, or linked notes the query reads.

WHERE

Keep only notes that match a platform, Collection, status, or another condition.

FLATTEN

Turn a list such as collections into one query row per list item.

SORT

Control time or alphabetical order with ASC and DESC.

GROUP BY

Create one result row per platform, Collection, status, or computed value.

Common customizations

Use a different notes folder FROM "My Video Notes"
Show only YouTube WHERE platform = "youtube"
Show one Collection WHERE contains(collections, "AI")
Put the oldest notes first SORT date(wisdio_created_at) ASC
Add a created-time column after grouping rows.wisdio_created_at AS "Created"
Filter one status WHERE status = "🟥"

Continue with the official Dataview documentation

07

Dataview recipes

Create Wisdio/MOC.md as the content map for your video notes, then paste the views you want to use. Each Copy button includes the complete ```dataview code fence required by Obsidian.

Recommended: Group by Collection

Use FLATTEN so one video can appear in every collection listed in its YAML.

Dataview
```dataview
TABLE WITHOUT ID
  Collection AS "Collection",
  rows.file.link AS "Videos",
  rows.platform AS "Platform",
  rows.status AS "Status"
FROM "Wisdio/Notes"
WHERE collections
FLATTEN collections AS collection
SORT date(wisdio_created_at) DESC
GROUP BY collection AS Collection
SORT Collection ASC
```
Why FLATTEN matters

A note with [AI, Product] appears once under AI and once under Product. The Markdown file is not duplicated. Directly grouping by collections would treat the whole list as one combination.

Optional: All videos, newest first

Dataview
```dataview
TABLE
  elink(wisdio_source_url, "Watch") AS "Source",
  platform AS "Platform",
  collections AS "Collections",
  status AS "Status",
  dateformat(
    localtime(date(wisdio_created_at)),
    "yyyy-MM-dd HH:mm"
  ) AS "Created"
FROM "Wisdio/Notes"
WHERE wisdio_source_url
SORT date(wisdio_created_at) DESC
```

Group by Platform / Collection

Dataview
```dataview
TABLE WITHOUT ID
  Group AS "Platform / Collection",
  rows.file.link AS "Videos",
  rows.status AS "Status",
  map(
    rows.wisdio_source_url,
    (url) => elink(url, "Watch")
  ) AS "Source",
  rows.wisdio_created_at AS "Created"
FROM "Wisdio/Notes"
WHERE platform AND collections
FLATTEN collections AS collection
FLATTEN platform + " / " + collection AS group_label
SORT date(wisdio_created_at) DESC
GROUP BY group_label AS Group
SORT Group ASC
```

Filter one platform and Collection

Dataview
```dataview
TABLE
  status AS "Status",
  elink(wisdio_source_url, "Watch") AS "Source",
  wisdio_created_at AS "Created"
FROM "Wisdio/Notes"
WHERE platform = "youtube"
  AND contains(collections, "AI")
SORT date(wisdio_created_at) DESC
```
08

Troubleshooting

Why does the query return no notes?

Confirm Dataview is enabled and the query's FROM "Wisdio/Notes" path matches the folder configured in Wisdio Companion.

Why is the time order unchanged?

Sort the real field with SORT date(wisdio_created_at) DESC. A field named created is not part of the recommended template.

Why is a multi-collection video grouped incorrectly?

Write collections as a YAML list and use FLATTEN collections AS collection before grouping.

Can I remove wisdio_id?

Yes. Markdown and Dataview still work, but Wisdio loses the durable ID that can help it match the same note during a later import.

Why does the template contain {{content}}?

It marks where the Wisdio note body is inserted in the generated Markdown file.

READY TO CONNECT?

Keep your video notes in your own vault.

Install Wisdio Companion, copy the template, and turn your Obsidian vault into a browsable video library.

Install Wisdio Companion