github.com/cilium/cilium@v1.16.2/Documentation/_exts/cilium_external_links.py (about) 1 from sphinx.writers.html5 import HTML5Translator 2 3 # Make all external links open in new tabs 4 class PatchedHTMLTranslator(HTML5Translator): 5 def starttag(self, node, tagname, *args, **attrs): 6 if ( 7 tagname == "a" 8 and "target" not in attrs 9 and ( 10 "external" in attrs.get("class", "") 11 or "external" in attrs.get("classes", []) 12 ) 13 ): 14 attrs["target"] = "_blank" 15 attrs["ref"] = "noopener noreferrer" 16 return super().starttag(node, tagname, *args, **attrs)