@@ -55,28 +55,28 @@ def doctree(self) -> nodes.document:
5555
5656 @property
5757 def markup_parser (self ) -> MarkupParser :
58- if isinstance (self , SphinxDirective ):
59- return self .parse_text_to_nodes
60- if isinstance (self , SphinxRole ):
58+ if isinstance (self . v , SphinxDirective ):
59+ return self .v . parse_text_to_nodes
60+ elif isinstance (self . v , SphinxRole ):
6161 def wrapper (text : str ) -> list [nodes .Node ]:
62- return utils .role_parse_text_to_nodes (self , text )
62+ return utils .role_parse_text_to_nodes (self . v , text )
6363 return wrapper
6464 else :
6565 return utils .parse_text_to_nodes
6666
6767 @property
6868 def parent_node (self ) -> nodes .Element | None :
69- if isinstance (self , SphinxDirective ):
70- return self .state .parent
71- if isinstance (self , SphinxRole ):
72- return self .inliner .parent
69+ if isinstance (self . v , SphinxDirective ):
70+ return self .v . state .parent
71+ elif isinstance (self . v , SphinxRole ):
72+ return self .v . inliner .parent
7373 else :
7474 return None
7575
7676 def reporter (self , e : ValueError ) -> Exception :
7777 if isinstance (self , SphinxDirective ):
7878 raise self .error (str (e ))
79- if isinstance (self , SphinxRole ):
79+ elif isinstance (self , SphinxRole ):
8080 ... # TODO
8181 else :
8282 ... # TODO
@@ -85,7 +85,7 @@ def reporter(self, e: ValueError) -> Exception:
8585# Nodes definitons
8686# ===============
8787
88- class BaseNode (nodes .Element ):
88+ class BaseNode (nodes .Node ):
8989 template : Template
9090 schema : Schema
9191
@@ -95,9 +95,9 @@ class RenderedNode(BaseNode):
9595 external_content : list [nodes .Node ]
9696
9797class rendered_node (RenderedNode , nodes .container ): ...
98- class rendered_inline_node (RenderedNode , nodes .Inline ): ...
98+ class rendered_inline_node (RenderedNode , nodes .inline ): ...
9999
100- class pending_node (BaseNode ):
100+ class pending_node (BaseNode , nodes . Invisible , nodes . Element ):
101101 data : RawData
102102 inline : bool = False
103103 need_external_name : bool = False
@@ -262,7 +262,7 @@ def run(self) -> tuple[list[nodes.Node], list[nodes.system_message]]:
262262
263263
264264
265- class FixedDataDirective (BaseDataDefineDirective ):
265+ class StrictDataDefineDirective (BaseDataDefineDirective ):
266266 final_argument_whitespace = True
267267
268268 schema : Schema
@@ -279,7 +279,7 @@ def current_schema(self) -> Schema:
279279 @classmethod
280280 def derive (
281281 cls , name : str , tmpl : Template , schema : Schema
282- ) -> type [FixedDataDirective ]:
282+ ) -> type [StrictDataDefineDirective ]:
283283 """Generate an AnyDirective child class for describing object."""
284284 if not schema .name :
285285 required_arguments = 0
@@ -303,8 +303,8 @@ def derive(
303303
304304 # Generate directive class
305305 return type (
306- '%sFixedDataDirective ' % name .title (),
307- (FixedDataDirective ,),
306+ '%sStrictDataDirective ' % name .title (),
307+ (StrictDataDefineDirective ,),
308308 {
309309 'schema' : schema ,
310310 'template' : tmpl ,
0 commit comments