"""
sphinxnotes.render
~~~~~~~~~~~~~~~~~~
:copyright: Copyright 2026 by the Shengyu Zhang.
:license: BSD, see LICENSE for details.
"""
from __future__ import annotations
from typing import TYPE_CHECKING
from . import meta
from .data import (
Registry as DataRegistry,
REGISTRY as DATA_REGISTRY,
PlainValue,
Value,
ValueWrapper,
RawData,
ParsedData,
Field,
Schema,
)
from .template import Phase, Template
from .ctx import PendingContext, ResolvedContext
from .ctxnodes import pending_node
from .extractx import (
extra_context,
ParsingPhaseExtraContext,
ParsedPhaseExtraContext,
ResolvingPhaseExtraContext,
GlobalExtraContext,
)
from .pipeline import BaseContextRole, BaseContextDirective
from .sources import (
UnparsedData,
BaseDataDefineRole,
BaseDataDefineDirective,
StrictDataDefineDirective,
)
from .jinja import filter
if TYPE_CHECKING:
from sphinx.application import Sphinx
"""Python API for other Sphinx extensions."""
__all__ = [
'Registry',
'PlainValue',
'Value',
'ValueWrapper',
'RawData',
'ParsedData',
'Field',
'Schema',
'Phase',
'Template',
'PendingContext',
'ResolvedContext',
'ParsingPhaseExtraContext',
'ParsedPhaseExtraContext',
'ResolvingPhaseExtraContext',
'GlobalExtraContext',
'extra_context',
'pending_node',
'BaseContextRole',
'BaseContextDirective',
'UnparsedData',
'BaseDataDefineRole',
'BaseDataDefineDirective',
'StrictDataDefineDirective',
'filter',
]
[docs]
class Registry:
"""The global, all-in-one registry for users."""
@property
def data(self) -> DataRegistry:
return DATA_REGISTRY
REGISTRY = Registry()
def setup(app: Sphinx):
meta.pre_setup(app)
from . import pipeline, jinja
pipeline.setup(app)
jinja.setup(app)
return meta.post_setup(app)