2689715c2db5ebc6ed82e519540cf4d4969c0836
/tools, /routines and /chat were the only pages whose markup still lived in a Go string constant. They are tools.html, routines.html and chat.html now, embedded exactly like the eight that already were, so no page markup is left in Go and the "HTML in Go" complaint is answered with no framework, no build step and no second artifact. routineRow/routineRows are routineView/toRoutineViews. The pattern is right — it maps wire structs to display structs so a template never formats an interval or a timestamp — but "rows" read like database rows when these are view models. Checked the other half of that review thread while renaming: handleRoutines calls the mapper once and formats nothing itself, so there is no duplicated work between the handler and it. Content is verbatim. htmx is deliberately not added here; per the task it comes later and only where a page wants partial updates.
Description
No description provided
Languages
Go
97.1%
HTML
0.9%
Shell
0.6%
CSS
0.5%
Makefile
0.3%
Other
0.6%