YAML + Charts + Dataview

This is a practical guide to YAML properties in Obsidian: how they help structure notes, build tables and charts, and automate your system.

All the examples are from the video and personal experience.


🤔 What is YAML and why is it in Obsidian?

YAML (YAML Ain’t Markup Language) is a format for storing structured data.

Its main strength is not in the visual styling, but in the logic.

In Obsidian, YAML is used in the --- block at the very start of a file. This block is called frontmatter.

What does it look like?

It’s needed to:

  • set metadata for a note (date, tags, categories, status)
  • interact with plugins (Dataview, charts-obsidian, Templater, etc.)
  • create automatic tables, lists and visualisations

📍 Inserting YAML: always starts and ends with ---. Between them — keys and values.

💡 In the past you had to write YAML by hand.

Now, since Obsidian 1.4, there’s a “Properties” interface — it visualises YAML as forms. This makes filling it in convenient even without knowing the syntax.

Try it yourself: open any note and write --- at the start, and "Properties" will open — you'll see YAML in a new form.

Click “Show source code” to see how it looks in Markdown.

The source code:


⚙ Where I use YAML (and where I don’t)

Examples:

Yes:

  • tracking weight and habits
  • book cards
  • collections of shows and films
  • daily templates

No:

  • theory notes with Dataview code (you can’t insert dataview inside YAML)

The solution: leave YAML for meta-information (links, categories), and put the code in the body of the note.

❓ But what if you still want to move all your current theory notes to YAML, while removing the previous template? I wrote a separate article on this: How to replace the old template in your notes with YAML


📈 Use case 1 — Weight dynamics

🎯 Goal:

To visually show how your weight changes over 4–5 months

📂 Structure:

  • Folder: 2. Areas/Doing sport/Weight dynamics

  • Each note contains YAML with a date and weight

📊 Display options:

  • Displaying the difference between days and the progress to the goal - code to insert

  • A line chart of weight and the target line via Charts - code to insert


📚 Use case 2 — A book library

🎯 Goal:

To create one page where you see all your books, progress, categories and search

📂 The book’s YAML template includes:

  • Author
  • The number of pages read and the total
  • The cover (URL)
  • Categories (tags)

🔍 What you can display -

code for the library

  • Search by title
  • Filter by category
  • Progress as a percentage with a coloured indicator


🎬 Use case 3 — Shows and films

The fields are similar to books, but include:

  • A rating (on a 10-point scale)
  • An insight (what you remembered)
  • Genres (one or several)
  • A cover (Poster)
  • You can add even more information…

🔍 The table displays:

code for a show

  • Poster, title, genre, rating, insight
  • Search and filter by genre

You can do the same with films


📅 Use case 4 — Daily habits

🎯 Goal:

To understand how you held up in May with your habits (warm-up, sport, reading)

📂 Structure:

  • The daily note contains YAML with the habit statuses (true/false)
  • A month page with the totals is created

📊 What’s displayed:

code for daily habits


🧩 Conclusion: structure and an action template

How to apply YAML:

  1. Make a template with YAML

  2. Insert it into the relevant note types (books, trackers, projects)

  3. Create a table page with Dataview or Charts code

  4. Automate it: let everything gather itself

Check it in your system: make sure the field names ( Weight, Genre, page) match in the YAML and the Dataview code.


All the codes mentioned in the article:


Keep going?