from docutils import nodes from docutils.parsers.rst import Directive class PybricksClasslinkDirective(Directive): required_arguments = 1 optional_arguments = 1 def run(self): # Get link and name from sphinx-directive name = self.arguments[0] link = name if len(self.arguments) == 1 else self.arguments[1] html = ( ''.format(link.lower()) + '
' + "
" + 'class ' + '' + name + "" + "
" + "
" + "
" + "
" ) # Return the node node = nodes.raw("", html, format="html") return [node] def setup(app): app.add_directive_to_domain("py", "pybricks-classlink", PybricksClasslinkDirective)