Devlog
Short build logs and hard-won tricks from the workshop.
-
The browser already ships a table engine
How our markdown editor got real in-grid table editing — pixel-aligned CJK columns, Tab between cells, Enter for new rows — in 250 lines of vanilla JS, by locking the syntax instead of building a widget.
marktile editor contenteditable CSS -
Fifteen years of Trello, then a plugin of a plugin
The origin of tugtile: Trello slowly grew heavy, obsidian-kanban went quiet, and after one too many plugins written for a plugin, rebuilding the whole card table was the only move left.
tugtile Obsidian origin story -
Two Astro gotchas I hit building this very blog
Wiring up a multilingual Astro blog, two content-collection traps cost me a couple of rebuilds: a frontmatter `slug` that silently collapsed three posts into one, and `getStaticPaths` running in a scope that can't see your other frontmatter consts.
Astro web i18n -
Your Mac has two Downloads folders. Here's how I made them one.
macOS keeps a local Downloads folder; iPhone and iPad save into a different one inside iCloud Drive. They never sync. Here's the slightly-cursed symlink trick that unifies them — including the ACL gotcha and how to put the folder icon back.
macOS iCloud dotfiles