2021-11-25 18:10:42 +07:00
|
|
|
from docutils import nodes
|
2022-11-14 23:03:12 +07:00
|
|
|
from docutils.parsers.rst import Directive, directives
|
2021-11-25 18:10:42 +07:00
|
|
|
|
|
|
|
|
|
|
|
class PlaceHolder(Directive):
|
|
|
|
""" Placeholder class for directives that must be skipped. """
|
|
|
|
|
|
|
|
has_content = True
|
|
|
|
|
|
|
|
def run(self):
|
|
|
|
node = nodes.literal_block('graphviz', '')
|
|
|
|
node += nodes.Text(
|
|
|
|
f'{self.content[0]}\n'
|
|
|
|
'> Graph not rendered because `dot` is not installed'
|
|
|
|
)
|
|
|
|
return [node]
|
|
|
|
|
|
|
|
|
|
|
|
def setup(app):
|
|
|
|
directives.register_directive('graphviz', PlaceHolder)
|
|
|
|
|
|
|
|
return {
|
|
|
|
'parallel_read_safe': True,
|
|
|
|
'parallel_write_safe': True
|
|
|
|
}
|