- Restore HTML link extraction in LinkValidator (removed in a83634d
under the false premise that post bodies are raw markdown; they
are HTML rendered by NimblePublisher at compile time). The missing
regex made extract_links/1 find zero links, silently disabling
compile-time validation.
- Support /blog/{blog_id}/tag/{tag} links: validate blog ID,
require non-empty tag (tags are user-defined, e.g. pi.dev).
- Fix invalid links in two posts: tag/Pi.dev -> tag/pi.dev,
2026-07-13-synthetic-tdd.md -> synthetic-tdd.
- Fix test warnings: use Plug.Test deprecation, unused import,
runtime-defined TestBlogValid module.
- Add regression tests for HTML extraction and tag page links.
- Use and instead of hardcoded zinc colors in EditorDashboardLive
- Apply same fix to MicroprintsLive description paragraph
- All titles now respect the active theme and remain readable in both light and dark modes
The seeds file was creating an unconfirmed user and then setting a password,
which conflicts with Phoenix's auth system (magic link login is not allowed
for unconfirmed users with passwords).
This fix ensures the demo user is confirmed before setting their password,
so they can log in via both magic link and password.
Demo credentials: demo@example.com / password123!
- Use and instead of hardcoded zinc colors in EditorDashboardLive
- Apply same fix to MicroprintsLive description paragraph
- All titles now respect the active theme and remain readable in both light and dark modes
The seeds file was creating an unconfirmed user and then setting a password,
which conflicts with Phoenix's auth system (magic link login is not allowed
for unconfirmed users with passwords).
This fix ensures the demo user is confirmed before setting their password,
so they can log in via both magic link and password.
Demo credentials: demo@example.com / password123!