Files
markitect-main/markitect/spaces/rendering/__init__.py
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

48 lines
1.0 KiB
Python

"""
Rendering system for Information Spaces.
This package provides space rendering capabilities:
- SpaceRenderer: Abstract renderer interface
- MarkdownToHTMLRenderer: HTML output renderer
- Theme support and customization
- Render caching with invalidation
- SpaceRenderingService: Orchestration layer
"""
from .base import (
SpaceRenderer,
RenderConfig,
RenderResult,
RenderFormat,
ThemeConfig,
CompositeRenderer,
)
from .html_renderer import (
MarkdownToHTMLRenderer,
HTMLRendererFactory,
THEME_PROPERTIES,
combine_theme_properties,
)
from .service import (
SpaceRenderingService,
SpaceRenderingServiceBuilder,
)
__all__ = [
# Base classes
"SpaceRenderer",
"RenderConfig",
"RenderResult",
"RenderFormat",
"ThemeConfig",
"CompositeRenderer",
# HTML renderer
"MarkdownToHTMLRenderer",
"HTMLRendererFactory",
"THEME_PROPERTIES",
"combine_theme_properties",
# Service
"SpaceRenderingService",
"SpaceRenderingServiceBuilder",
]