doyaGu c9523d0953 fix(export): write through the storage provider when the target has no local path
The save picker used to return only TryGetLocalPath(), so a target without a
local path looked like a cancel and nothing was written. The dialog service now
hands back an opener for the chosen file. The picker call is inside the error
handler, and the workspace is read before the target is opened, so a failed read
leaves an existing file untouched.
2026-10-03 08:59:40 -04:00
2026-09-29 20:16:52 +08:00
2026-09-29 20:16:52 +08:00

YKanBan

My personal used local/offline kanban.

  • Cross-platform desktop app (Windows / Linux / macOS) built with Avalonia.
  • Git-like storage: the board lives in a .ykanban folder inside the project folder it manages; start it with ykanban <path>.
  • One board per workspace with columns, cards and colored tags; strict search expressions (tag:bug OR title:login); Markdown export.
  • English and Simplified Chinese interface; light, dark or system theme.

See USAGE.md for installing, starting YKanBan, backups and Git, and the full search syntax.

Building

Requires the .NET 10 SDK.

dotnet build
dotnet test
dotnet run --project YKanBan -- <path>

Release archives for win-x64, linux-x64, osx-x64 and osx-arm64 are produced by the manually triggered workflow in .github/workflows/build.yml; packaging/package.sh packs one published RID.

License

MIT

S
Description
A personal, local/offline kanban board.
Readme MIT
1.1 MiB
0 Stars 1 Watchers 0 Forks
Languages
C# 98.2%
Inno Setup 1%
Shell 0.8%