from docutils.parsers.rst.directives.body import Sidebar class Margin(Sidebar): """Goes in the margin to the right of the page.""" optional_arguments = 1 required_arguments = 0 def run(self): """Run the directive.""" if not self.arguments: self.arguments = [""] nodes = super().run() nodes[0].attributes["classes"].append("margin") # Remove the "title" node if it is empty if not self.arguments: nodes[0].children.pop(0) return nodes