def visit_container(self, node: Element) -> None: """Overide for code blocks with captions.""" if node.get("literal_block"): node.html5tagname = "div" # type: ignore[attr-defined] self.body.append( '<div class="code-wrapper" data-controller="code">\n') lang = node.get("language", "") # in the container, `code-header` also contains the caption code_header = "<div class='code-header'>\n" if self.config.html_awesome_code_headers: code_header += ("<span class='code-lang'>" f"{lang.replace('default', 'python')}" "</span>\n") self.body.append(code_header) else: super().visit_container(node)