📈 GH Trending Explorer 🎲 Surprise me

← all repos

MathiasDrizzy / lazymark

git clone https://github.com/MathiasDrizzy/lazymark.git v1.2.2 · 8d ago

Lazy markdown notes, tasks and a Kanban board in your terminal. With a sleepy sloth.

+0
stars, 24h · #32,587
+~0
stars, 7 days · #33,062
+95
stars, 30 days · #5,032
95
★ total
4
forks · 5 open issues

Star history (as recorded here)

2026-10-20 · 95 ★ 2026-10-22 · 95 ★
LanguageGo
LicenseMIT
Created2026-09-29 (22d ago)
Last push4d ago
Watchers1
OwnerUser

GitHub topics

Links

README excerpt
# lazymark
**Lazy markdown notes, tasks and a Kanban board in your terminal.**
Plain markdown files. Keyboard and mouse. Inline images.
Obsidian compatibility · Install · Quick start · Keys · Configuration
## Why lazymark
- **Your notes stay yours.** They are plain markdown files in one folder. Edit them with any editor; lazymark only rewrites the line you change and never overwrites a note that changed outside it.
- **Learn it by looking at it.** Panels, rounded borders and a bar of keys at the bottom. Press `?` for the keys of the panel you are in.
- **Keyboard or mouse.** Every action has a key. You can also click rows and the keys in the bottom bar, drag the divider between the columns and use the scroll wheel.
- **Tasks come from your notes.** The Tasks panel lists the checkboxes you already wrote, and ticking one changes only that line.
- **Safe by default.** Deleted notes go to a trash for 20 days, and folders with content always ask first.
## What it does
### Notes and folders
One tree for folders and notes. Create, rename, move and delete with a single key; the cursor lands on what you just created.
### Templates and the daily note
Put notes in a `templates/` folder and start new ones from them with `C`; `{{date}}`, `{{time}}` and `{{title}}` are filled in. `T` opens today's note, `journal/YYYY-MM-DD.md`, made from `templates/daily.md` the first time; `lazymark daily` does the same from the shell. See docs/templates.md.
### Tasks
Every `- [ ]` and `- [x]` in your notes, in one list. `Space` ticks a task and rewrites only its line; `H` hides the finished ones, `a` tags the task under the cursor with the done tag (`#lm-done`, see below) so it hides by itself, and `A` shows what the tag hides. The panel title says how many are hidden ("3 hidden"). The preview shows the note at the task's line.
### Dates
Select a task, in the Tasks panel or on the board, and press `d`. A small popup asks for **Start** and **Due**: type a date the way you say it (`2026-10-09`, `today`, `tomorrow`, `+3d`, `+1w` or a weekday such as `friday`, in your interface language) and the resolved date appears next to the field before you save. Leave a field empty to remove that date, `Esc` cancels. On the board, clicking the dates of a card opens the same popup. From the shell, `lazymark task due 2026-10-09` and `lazymark task start …` do the same.
The completion date is added by itself when you tick a task. On screen the dates are monochrome glyphs (never emoji) in the color of their state, taken from the theme's palette: overdue in red, due soon (today, or the next N days) in the warning color, on time in the accent color, and completed in green. Turn the colors off with **Date colors** in Settings (`,`) or `date_colors` in the config, set how many days ahead counts as "due soon" with `due_soon_days`, and pick the color of each state in Settings; see docs/configuration.md. If you set a start date after the due date, the popup warns you (and saves anyway).
**In the file