Gallery › robotparts › Releases and daily notes
Releases and daily notes
robotparts' release tags and the dates of Zach's daily notes on one calendar: a month grid, a list, and the
latest release week. Only file names and frontmatter dates are read from the vault, never a note's text. Drag an
event to another day: the view proposes the new date to the host, and this page (site.json: editable) applies it
in memory; a read-only page refuses and the event goes back.
The .base file and its data
Every tab above is one entry of this file; the views read these rows. ⋯ in the toolbar copies the current view as YAML.
# robotparts' releases and the dates of Zach's daily notes (file names and frontmatter dates only). Obsidian Bases
# grammar plus data-ui's calendar keys (docs/CONTRACT.md §5).
data: calendar.json
properties:
title: { displayName: Title }
kind: { displayName: Kind }
date: { displayName: Date }
views:
- type: calendar
name: Month
start: date
title: title
calendarView: month
groupBy: { property: kind, direction: ASC }
- type: calendar
name: List
start: date
title: title
calendarView: list
groupBy: { property: kind, direction: ASC }
- type: calendar
name: Release week
filters: 'kind == "release"'
start: date
title: title
calendarView: week
- type: table
name: All
order: [title, kind, date, created, modified, commit]
sort:
- { property: date, direction: DESC }
// calendar.json: 172 rows, 37 KB; the first 3
{
"id": "robotparts-calendar",
"title": "Releases and daily notes",
"titleProperty": "title",
"source": "git -C ~/robotparts tag -l 'release/*' + file names and frontmatter dates of ~/zach_brain/Sources/Daily Notes (no note content)",
"properties": {
"title": {
"type": "text",
"label": "Title",
"width": 240
},
"kind": {
"type": "text",
"label": "Kind",
"display": "badge",
"colors": {
"release": 8,
"daily note": 1
}
},
"date": {
"type": "date",
"label": "Date"
},
"created": {
"type": "date",
"label": "Note created",
"readOnly": true
},
"modified": {
"type": "date",
"label": "Note modified",
"readOnly": true
},
"commit": {
"type": "text",
"label": "Tagged commit"
}
},
"rows": [
{
"id": "note-jun-7-2021",
"title": "Jun 7 2021",
"kind": "daily note",
"date": "2021-06-07",
"created": "2026-06-10T18:49:54",
"modified": null,
"commit": null
},
{
"id": "note-feb-27-2026",
"title": "Feb 27 2026",
"kind": "daily note",
"date": "2026-02-27",
"created": "2026-05-30T18:29:24",
"modified": null,
"commit": null
},
{
"id": "note-2026-04-30",
"title": "2026-04-30",
"kind": "daily note",
"date": "2026-04-30",
"created": "2026-04-30T05:49:23",
"modified": null,
"commit": null
}
]
}README.md
# Releases and daily notes
robotparts' release tags and the dates of Zach's daily notes on one calendar: a month grid, a list, and the
latest release week. Only file names and frontmatter dates are read from the vault, never a note's text. Drag an
event to another day: the view proposes the new date to the host, and this page (`site.json`: editable) applies it
in memory; a read-only page refuses and the event goes back.
- **App:** robotparts
- **Replaces:** scanning `Sources/Daily Notes/` by file name and `git tag -l 'release/*'`; there was no calendar of
either.
- **Shows:** the calendar view (Event Calendar) with `start`, `title`, `calendarView` (month, list, week; the
toolbar's buttons write it back), `groupBy` as event colour, a filter, drag-to-reschedule through
`host.propose`, and the same rows as a table.
- **Data:** `calendar.json`, written by `source/build.py`: 166 daily notes (title = file name, date from it,
`date created` / `date modified` from frontmatter) and 6 releases (tag date-time and commit).
The original UI it replaces
scanning Sources/Daily Notes/ by file name and git tag -l 'release/*'; there was no calendar of either.
What it shows
the calendar view (Event Calendar) with start, title, calendarView (month, list, week; the toolbar's buttons write it back), groupBy as event colour, a filter, drag-to-reschedule through host.propose, and the same rows as a table.
Data
calendar.json, written by source/build.py: 166 daily notes (title = file name, date from it, date created / date modified from frontmatter) and 6 releases (tag date-time and commit).