[ADD] extension: allow to build graphs using graphviz

Part-of: odoo/documentation#1956
This commit is contained in:
wan 2021-11-25 11:10:42 +00:00 committed by Antoine Vandevenne (anv)
parent 16afaf6fa7
commit e00b5e35c7
3 changed files with 35 additions and 0 deletions

View File

@ -1,10 +1,12 @@
import re
import os
import shutil
import sys
from pathlib import Path
import docutils
from pygments.lexers import JsonLexer, XmlLexer
from sphinx.ext import graphviz
from sphinx.util import logging
import sphinx
@ -156,6 +158,7 @@ else:
extensions += [
'autodoc_placeholder',
]
extensions.append('sphinx.ext.graphviz' if shutil.which('dot') else 'graphviz_placeholder')
todo_include_todos = False

View File

@ -0,0 +1,25 @@
from docutils.parsers.rst import Directive, directives
from docutils import nodes
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
}

View File

@ -971,6 +971,13 @@ header.o_main_header {
}
}
}
.graphviz {
overflow-x: auto;
white-space: nowrap;
img {
max-width: unset;
}
}
}
}
//------------------------------------------------------------------------------