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)