- Add renderTocTag(): groups visible pages by section in section sort
order; sorts pages within each section by sort then filename; excludes
current page, draft sections, and category-invisible pages; renders
section headings and linked page lists; replaces the tag placeholder
- Add toc dispatch in hydrateMdcmsTags()
- Add .mdcms-toc, .mdcms-toc-section, .mdcms-toc-list CSS
https://claude.ai/code/session_015XtsgTMi8UtmgxEgb5Qt2c
- iconEl: use actual icon filename as <img src> fallback so browser
shows a visible broken image when the file is missing (was src="")
- Remove debug console.log statements added for diagnosis
- home.md: add test cases for message: override (with console warning)
and missing icon (broken image should render)
- home.md: add explanatory text for message: key test
https://claude.ai/code/session_01UP8Wo2CKPNhvvTkzX48CWF
- Extend renderer.code to match `mdcms <type>` fence syntax (e.g. ```mdcms callout-info)
- Extend parseMdcmsTag to capture body lines after the key-value block
- Add renderCalloutTag: icon + title row, markdown body, colour CSS vars
- Add hexToRgba helper for low-opacity background colour
- Make themeConfig module-level so callout renderer can read callout defaults
- Add callout CSS: left border, title row flex layout, icon fill
- Add reusable message: key support with category-aware language resolution
- Add aitranslation callout message to config.yml for test
- Update home.md with full Phase 4 test cases
https://claude.ai/code/session_01UP8Wo2CKPNhvvTkzX48CWF
Tag names changed from posts-date-*/posts-datetime-* to posts-created-*.
Renderer updated to filter, sort, group, and display using the created
field from search.json. Page meta display also updated to drop date/datetime
fallbacks. Samplesite posts and pages updated to match.
https://claude.ai/code/session_013A4egzphocyto9bvZ76dxf