docs: noterne findes også i teksten, og hvert billede har et sted at høre til

README'ets billeder havde været brudte siden landingssiden gik over til WebP:
site/screenshots/*.png blev slettet dengang, og markup'en pegede stadig på
dem. Den peger nu på PNG'erne i docs/, som er dem, der findes.

Noter er en af de største ting i appen og stod ikke ét sted i teksten —
hverken i README'et, på landingssiden eller i dokumentationen. Nu gør de,
med de to nye billeder.

Fem billeder pegede ingen tekst på: upcoming, sections, delegated, settings
og admin. De har fået et afsnit i docs/index.md, hvor hvert enkelt beviser
noget, siden siger. Landingssidens gitter viste den lyse udgave to gange —
den ene af dem er blevet til noterne.

Og to billedtekster passede ikke længere på billedet: temaerne viser nu også
de fire udseender, og opgaven i skuffen viser ikke sin samtale.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Kristian Wind
2026-08-20 07:25:43 +02:00
co-authored by Claude Opus 5
parent eeaaf7506b
commit 71a9fe63d6
3 changed files with 65 additions and 15 deletions
+19 -9
View File
@@ -6,7 +6,7 @@
</p> </p>
<p align="center"> <p align="center">
<img src="site/screenshots/today.png" alt="The Today view: projects, filters and labels in the sidebar, beside the tasks due today." width="900"> <img src="docs/screenshots/today.png" alt="The Today view: projects, filters and labels in the sidebar, beside the tasks due today." width="900">
</p> </p>
--- ---
@@ -35,6 +35,11 @@ mail-to-task address, and an MCP endpoint so Claude can work your task list dire
in Firma, labelled regnskab. Danish and English, mixed freely in one line. in Firma, labelled regnskab. Danish and English, mixed freely in one line.
- **Projects, sections, sub-tasks, labels, saved filters.** List, board and calendar - **Projects, sections, sub-tasks, labels, saved filters.** List, board and calendar
views, and foldable groups over the projects in the sidebar. views, and foldable groups over the projects in the sidebar.
- **Notes, beside the work.** Rich text that is Markdown underneath — headings,
lists, quotes, fenced code. A note is shared by filing it in a project;
`#project` and `[[another note]]` are links, and a task shows the notes that
mention it. A zip of Markdown goes in — Obsidian, Bear, or Apple Notes through
the exporter in [`tools/`](tools/) — and comes back out the same shape.
- **Drag where it means something.** Reorder a list or a board, file a project under - **Drag where it means something.** Reorder a list or a board, file a project under
a group, drop a task on another project, or drop it on another day. a group, drop a task on another project, or drop it on another day.
- **Sharing.** Owner, editor and viewer roles. There is no open registration: - **Sharing.** Owner, editor and viewer roles. There is no open registration:
@@ -90,6 +95,8 @@ Apple Reminders, forward mail into it, and add it to Claude as a connector.
| Project templates | Done, tested | | Project templates | Done, tested |
| Nightly backups with rotation | Done, tested | | Nightly backups with rotation | Done, tested |
| Comments, attachments, notifications, Web Push | Built | | Comments, attachments, notifications, Web Push | Built |
| Notes: rich text, Markdown on disk, links to projects, notes and tasks | Done, tested |
| Notes in and out: a zip of Markdown, both directions | Done, tested |
| Todoist CSV import and export, account export | Done, tested | | Todoist CSV import and export, account export | Done, tested |
| MCP server for Claude | Done, tested | | MCP server for Claude | Done, tested |
| CalDAV server (two-way VTODO) | Done, tested | | CalDAV server (two-way VTODO) | Done, tested |
@@ -116,17 +123,20 @@ accented `o` and a Danish-first app that cannot do this is broken for its own us
| | | | | |
|---|---| |---|---|
| ![Board view](site/screenshots/board.png) | ![Light theme](site/screenshots/today-light.png) | | ![Board view](docs/screenshots/board.png) | ![Light theme](docs/screenshots/today-light.png) |
| Board view — one column per section. | The light theme. | | Board view — one column per section. | The light theme. |
| ![A week on Upcoming](site/screenshots/week.png) | ![A task, opened](site/screenshots/detail.png) | | ![A week on Upcoming](docs/screenshots/week.png) | ![A task, opened](docs/screenshots/detail.png) |
| A week at a time, so a task can be dragged across a month boundary. | A task, opened. | | A week at a time, so a task can be dragged across a month boundary. | A task, opened: description, priority, labels, sub-tasks and its files. |
| ![The five themes](site/screenshots/themes.png) | ![Instance history](site/screenshots/history.png) | | ![Notes](docs/screenshots/notes.png) | ![The same note as Markdown](docs/screenshots/notes-source.png) |
| Five themes, all measured for contrast. | What has been done on the server. | | Notes, filed in a project to share them. | The same note as its source — which is what the export writes to disk. |
| ![Themes and looks](docs/screenshots/themes.png) | ![Instance history](docs/screenshots/history.png) |
| Five themes and four looks: how bright, and how it reads. | What has been done on the server. |
Regenerate these with `node scripts/generate-screenshots.js` from `web/`. It starts Regenerate these with `node scripts/generate-screenshots.js` from `web/`. It starts
the real binary, creates its own account, fills it with demo data and photographs the real binary, creates its own account and a second one to share with, fills them
eleven surfaces — nothing to set up and nothing to remember. (`go run ./tools/shots` with demo data and photographs fourteen surfaces — nothing to set up and nothing to
still works, and is the way to photograph an instance that is already running.) remember. (`go run ./tools/shots` still works, and is the way to photograph an
instance that is already running.)
## Running it ## Running it
+30
View File
@@ -22,6 +22,9 @@ forward mail to, and an MCP endpoint so Claude can work your task list directly.
Firma, labelled regnskab. Danish and English, mixed freely in one line. Firma, labelled regnskab. Danish and English, mixed freely in one line.
- **Projects, sections, sub-tasks, labels, [saved filters](filters.md).** List, - **Projects, sections, sub-tasks, labels, [saved filters](filters.md).** List,
board and calendar views, and foldable groups over the projects in the sidebar. board and calendar views, and foldable groups over the projects in the sidebar.
- **Notes, beside the work.** Rich text to write in, Markdown on disk. A note is
shared by filing it in a project; `#project` and `[[another note]]` are links,
and a task shows what has been written about it.
- **Drag where it means something** — reorder a list or a board, file a project - **Drag where it means something** — reorder a list or a board, file a project
under a group, drop a task on another project, or drop it on another day. under a group, drop a task on another project, or drop it on another day.
- **Sharing** with owner, editor and viewer roles. Anyone outside your instance - **Sharing** with owner, editor and viewer roles. Anyone outside your instance
@@ -31,6 +34,33 @@ forward mail to, and an MCP endpoint so Claude can work your task list directly.
- **[Calendar](caldav.md), [mail](mail.md) and [Claude](mcp.md)** connected over - **[Calendar](caldav.md), [mail](mail.md) and [Claude](mcp.md)** connected over
open standards rather than private formats. open standards rather than private formats.
## What it looks like
![Upcoming as a month](screenshots/upcoming.png)
*Upcoming, as a month. A week and a plain list are the other two, and a task can be
dragged from one day onto another.*
![A project as a list](screenshots/sections.png)
*The same project as a list, where sections read as bands. As a board they are
columns.*
![Waiting on others](screenshots/delegated.png)
*What you have handed to somebody else, grouped by whoever has it.*
![Settings, integrations](screenshots/settings.png)
*Where [Gmail](mailboxes.md), the [calendar feed](caldav.md) and the
[mail-to-task address](mail.md) are connected.*
![Settings, people](screenshots/admin.png)
*Inviting somebody to the instance. There is no open registration — everybody
arrives through a link, and picks their own password. See
[signing in](signing-in.md).*
## Getting it running ## Getting it running
verdande is built to be deployed as a **Rune** in verdande is built to be deployed as a **Rune** in
+16 -6
View File
@@ -621,13 +621,13 @@
</figure> </figure>
<figure class="shot"> <figure class="shot">
<img <img
src="screenshots/today-light.webp" src="screenshots/notes.webp"
alt="The same Today view in the light theme." alt="Notes: a list of notes on the left, one open on the right with headings, bullet lists, a quotation and a shell command in a code block."
width="1400" width="1400"
height="900" height="900"
loading="lazy" loading="lazy"
/> />
<figcaption>The light theme.</figcaption> <figcaption>Notes. Rich text on top, Markdown underneath.</figcaption>
</figure> </figure>
<figure class="shot"> <figure class="shot">
<img <img
@@ -642,7 +642,7 @@
<figure class="shot"> <figure class="shot">
<img <img
src="screenshots/detail.webp" src="screenshots/detail.webp"
alt="A task open in the detail drawer, with its description, due date, labels, sub-tasks and comments." alt="A task open in the detail drawer, with its description, priority, due date, labels, sub-tasks and an attached file."
width="1400" width="1400"
height="900" height="900"
loading="lazy" loading="lazy"
@@ -652,12 +652,12 @@
<figure class="shot"> <figure class="shot">
<img <img
src="screenshots/themes.webp" src="screenshots/themes.webp"
alt="The settings page showing the five themes as swatches." alt="The settings page showing five themes as swatches and, below them, four looks written in the typeface each one selects."
width="1400" width="1400"
height="900" height="900"
loading="lazy" loading="lazy"
/> />
<figcaption>Five themes, all of them measured for contrast.</figcaption> <figcaption>Five themes and four looks: how bright, and how it reads.</figcaption>
</figure> </figure>
<figure class="shot"> <figure class="shot">
<img <img
@@ -689,6 +689,16 @@
invite link. Changes appear live. invite link. Changes appear live.
</p> </p>
</div> </div>
<div class="cell">
<h3>Notes, beside the work</h3>
<p>
Rich text to write in, Markdown on disk. File a note in a project and
everybody in it can read it; <code>#project</code> and
<code>[[another note]]</code> are links, and a task shows what has been
written about it. A zip of Markdown goes in and comes back out the same
shape, so nothing is trapped here.
</p>
</div>
<div class="cell"> <div class="cell">
<h3>A real CalDAV server</h3> <h3>A real CalDAV server</h3>
<p> <p>