← gallery
task-rollup.canvakit.html
task-rollup v1.0.0
Daily standup from a workspace of markdown tasks — shows the query + where filter + sort + project pattern.
data sources
- todo : query
{ "kind": "query", "include": "tasks/**/*.md", "where": { "status": "todo" }, "sort": "-updatedAt", "limit": 10, "fields": [ "title", "priority", "assignee", "updatedAt" ] } - done : query
{ "kind": "query", "include": "tasks/**/*.md", "where": { "status": "done", "updatedAt_after": "2026-04-20" }, "sort": "-updatedAt", "limit": 20, "fields": [ "title", "assignee" ] }
source
open in playground →---
template: true
name: task-rollup
version: 1.0.0
description: Daily standup from a workspace of markdown tasks — shows the query + where filter + sort + project pattern.
author: canvakit
variables:
title: "Today's tasks"
dataSources:
todo:
kind: query
include: "tasks/**/*.md"
where: { status: todo }
sort: -updatedAt
limit: 10
fields: [title, priority, assignee, updatedAt]
done:
kind: query
include: "tasks/**/*.md"
where: { status: done, updatedAt_after: "2026-04-20" }
sort: -updatedAt
limit: 20
fields: [title, assignee]
---
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>{{title}}</title>
<style>
body { font-family: ui-sans-serif, system-ui, sans-serif; padding: 3rem; max-width: 46rem; margin: 0 auto; }
h1 { letter-spacing: -0.02em; }
h2 { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.08em; color: #666; margin-top: 2.5rem; }
ul { list-style: none; padding: 0; }
li { padding: 0.75rem 0; border-bottom: 1px solid #eee; display: flex; justify-content: space-between; gap: 1rem; }
.priority { font-size: 0.75rem; padding: 0.125rem 0.5rem; border-radius: 999px; background: #f4f4f4; color: #333; }
.priority.high { background: #fef0f0; color: #b00020; }
.assignee { color: #888; font-size: 0.9rem; }
.done li { opacity: 0.55; text-decoration: line-through; }
</style>
</head>
<body>
<h1>{{title}}</h1>
<h2>In progress ({{todo.length}})</h2>
<ul>
{{#todo}}
<li>
<span>{{data.title}}</span>
<span>
<span class="priority {{data.priority}}">{{data.priority}}</span>
<span class="assignee">{{data.assignee}}</span>
</span>
</li>
{{/todo}}
</ul>
<h2>Shipped since 2026-04-20 ({{done.length}})</h2>
<ul class="done">
{{#done}}
<li>
<span>{{data.title}}</span>
<span class="assignee">{{data.assignee}}</span>
</li>
{{/done}}
</ul>
</body>
</html>
install
curl -L canvakit.sh/api/template/task-rollup -o task-rollup.canvakit.html