kiwi-query
Runs a DQL query when the page is viewed and renders the result as a table or list. Rows link to their pages.from, where, sort, order, limit, or columns:
kiwi-data
Structured records rather than code. The web UI shows them as a table with a kind badge, and the server indexes them so DQL can query them withFROM RECORDS "<kind>".
DQL
A
kind: in the body wins over the opening line.
Querying records
Querying records
- Field names resolve against the record first, then fall back to the owning page’s frontmatter. Force one side with the
record.orpage.prefix, for examplerecord.status. - Each row also has
_kind,_block(whichkiwi-datablock on the page), and_record(position within the block). Rows default to document order. FROM RECORDS "<kind>" IN "folder/"limits the query to a folder.
Indexing and errors
Indexing and errors
- Records refresh on every write. After upgrading from a version without
kiwi-data, runkiwifs reindexonce to index older pages. - A block is capped at 256 KB.
- A block that fails to parse (bad YAML, no kind, no records) is skipped and logged, and the rest of the page still indexes. The web UI shows the raw source with the parser’s message.
Animating records with a table fence
Animating records with a table fence
A
table fence with fromData: <kind> renders the records of a kiwi-data block on the same page, so a walkthrough and its dataset share one source.kiwi-kanban
A drag-and-drop board from YAML columns, or from a DQL query grouped by a field. Dragging a card reorders the board in the browser and doesn’t change the file. Use the copy button to export the prioritized list.Start each card with
- id:. The YAML parser only recognizes a new card on an id line.query: and a groupBy: column. Each distinct value becomes a lane, and any columns: you declare fix the lane order and colors:
title or name column (falling back to the file name), and also reads tags, description or summary, priority, and assignee or owner.
kiwi-kanban keys
kiwi-kanban keys
Progress tracker
A```widget:tracker block tracks progress through a course or problem set. It lists the pages in every top-level folder whose name starts with a number (01-arrays/, 02-trees/, …) as a collapsible section, skipping files that start with _. Readers check pages off and bookmark them, and their progress is saved per reader under the state name you choose.
statenames the saved progress, so two trackers with the same name share it. A body that is just a name, such asleetcode-progress, works too. The default isprogress.modesadds a toggle that switches which frontmatter fields show as chips on each row. The default is onetagsmode.
[ui.tags] banner in .kiwi/config.toml.
Related
DQL
The query language, including
FROM RECORDS.Charts and plots
kiwi-chart draws a DQL result as a chart.Workflows
State machines behind the workflow board.
Croissant import
Dataset schemas imported as
kiwi-data blocks.