okf-view block in a page. Instead of a list you maintain by hand,
it declares what to list, and Isomorphic computes it on every read. Add a customer page and
every view that should include it does, with nobody updating an index.
How it renders
- In Claude and the app, the view is always computed live from the brain’s index.
- In the file, Isomorphic also writes a snapshot of the result below the block, between
okf-view:snapshotcomments, so github.com, Obsidian and other plain-markdown readers still see a real table. The snapshot refreshes whenever the page is saved through Isomorphic, and can go stale in between. Do not edit inside it; it is regenerated on save. - A malformed block renders a visible note saying what is wrong. A view never blocks a read or a save.
Reference
Every view picks a source withkind and a rendering with as.
Filters
filter takes an inline map (filter: { type: Contact }) or one indented level. A value is a
match unless it starts with an operator:
<, <=, > and >= compare numbers and YYYY-MM-DD dates. Besides a number or a date, they
take today or a day offset such as -30d or +7d (in UTC). != also takes text. A page
missing the key, or holding a value that is not a number or date, never matches an operator,
!= included. List-valued frontmatter matches if any element does.
Readable tables
Column headers and group headings are made readable, sonext_step_due shows as “Next step
due”. In Claude and the app, a YYYY-MM-DD date shows relative to today (“Oct 16 · in 12
days”), and under a key named due or ending in _due or _due_date, a past date shows as
“N days overdue”. The snapshot written to the file keeps the raw date, so a saved page does not
change from one day to the next.
Examples
What is overdue. Tasks past their due date:people/index.md: