markitect-main/markitect/spaces
tegwick 2a5c265458 feat(spaces): implement Phase 4 HTML Rendering Mode
Implements HTML rendering system for Information Spaces:

- SpaceRenderer: Abstract base class for renderers
- RenderConfig: Configuration for format, theme, TOC, etc.
- RenderResult: Immutable result with content hash and metadata
- ThemeConfig: Layered theme system with customization
- CompositeRenderer: Multi-format renderer delegation

- MarkdownToHTMLRenderer: Full markdown-to-HTML conversion
  - Theme support (github, dark, minimal, academic)
  - Code block handling
  - Link target="_blank" for external links
  - Table of contents generation
  - Heading ID generation for navigation
- HTMLRendererFactory: Factory for common renderer configurations

- SpaceRenderingService: Orchestration layer
  - Transclusion variable substitution
  - Render caching with automatic invalidation
  - Event emission (RENDER_STARTED, RENDER_COMPLETED, RENDER_FAILED)
  - Batch rendering support
  - Statistics tracking
- SpaceRenderingServiceBuilder: Fluent builder pattern

60 unit tests covering all components.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 08:42:27 +01:00
..
events feat(spaces): implement Phase 2 Event System 2026-02-08 07:41:47 +01:00
history feat(spaces): implement Phase 0-1 of Information Space Service 2026-02-08 02:02:46 +01:00
rendering feat(spaces): implement Phase 4 HTML Rendering Mode 2026-02-08 08:42:27 +01:00
repositories feat(spaces): implement Phase 0-1 of Information Space Service 2026-02-08 02:02:46 +01:00
services feat(spaces): implement Phase 2 Event System 2026-02-08 07:41:47 +01:00
sync feat(spaces): implement Phase 0-1 of Information Space Service 2026-02-08 02:02:46 +01:00
transclusion feat(spaces): implement Phase 3 Persistent Transclusion Context 2026-02-08 08:36:50 +01:00
__init__.py feat(spaces): implement Phase 2 Event System 2026-02-08 07:41:47 +01:00
models.py feat(spaces): implement Phase 0-1 of Information Space Service 2026-02-08 02:02:46 +01:00