Quick start
Keep the setup predictable: one folder for notes, one template, and one MOC (Map of Content) note for every Dataview view.
-
1
Install the two Obsidian plugins
Enable Wisdio Companion and Dataview in your desktop Obsidian vault.
-
2
Choose the Wisdio folders
Use Wisdio/Notes for notes and Wisdio/Templates/Default Note.md for the template.
-
3
Copy the recommended template
New notes will include the source URL, timestamps, and editable organization fields.
-
4
Create Wisdio/MOC.md
Paste any Dataview recipe from this page into your MOC.
Examples read from Wisdio/Notes. If your Wisdio
Companion folder is different, update the FROM line in each query.
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. |
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:
platform: "youtube"
collections:
- "AI"
- "Product"
- "To Research"
status: 🟥
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 |
It is the body slot. If it is removed, a newly generated file can contain the YAML template without the Wisdio note body.
Recommended template
Paste this into
Wisdio/Templates/Default Note.md. Wisdio fills the source fields; the user fills the
organization fields.
---
wisdio_id: "{{id}}"
wisdio_source: browser-extension
wisdio_source_url: "{{sourceUrl}}"
wisdio_created_at: "{{createdAt}}"
wisdio_updated_at: "{{updatedAt}}"
platform: ""
collections: []
status: 🟥
---
{{content}}
youtube
bilibili
vimeo
coursera
other
🟥Not watched🟨Watching🟩CompletedTime format
Wisdio writes timestamps in ISO 8601 format so they remain precise, portable, and sortable.
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-21dateTdate/time separator01:27:19hour, minute, second.200millisecondsZUTC timezone
In China Standard Time (UTC+8), this is 2026-07-21 09:27:19.200.
Dataview date tokens
| Token | Meaning | Example |
|---|---|---|
yyyy | Four-digit year | 2026 |
MM | Two-digit month | 07 |
dd | Two-digit day | 21 |
HH | 24-hour clock | 09 |
mm | Minute | 27 |
ss | Second | 19 |
For a compact date such as 20260721, use
yyyyMMdd.
dateformat(
localtime(date(wisdio_created_at)),
"yyyy-MM-dd HH:mm"
)
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
FROM "My Video Notes"
WHERE platform = "youtube"
WHERE contains(collections, "AI")
SORT date(wisdio_created_at) ASC
rows.wisdio_created_at AS "Created"
WHERE status = "🟥"
Continue with the official Dataview documentation
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
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
```
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
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
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
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
```
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.
Keep your video notes in your own vault.
Install Wisdio Companion, copy the template, and turn your Obsidian vault into a browsable video library.