From e64dae9441c8fbf99c55fccc78e852f954fd432e Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Fri, 17 Mar 2023 15:02:46 +0100 Subject: docs: translate admonitions into bootstrap alerts Sphinx and Bootstraps disagree on what these are called. Let's try to bridge that gap, by rewriting things a bit. Reviewed-by: Eric Engestrom Part-of: --- docs/_exts/bootstrap.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'docs') diff --git a/docs/_exts/bootstrap.py b/docs/_exts/bootstrap.py index 555bd6bba64..9050d54adb8 100644 --- a/docs/_exts/bootstrap.py +++ b/docs/_exts/bootstrap.py @@ -36,6 +36,7 @@ from docutils import nodes import sphinx from sphinx.ext.autosummary import autosummary_table +from sphinx.locale import admonitionlabels import types @@ -50,6 +51,28 @@ class BootstrapHTML5TranslatorMixin: kwargs["ARIA-LEVEL"] = "2" return super().starttag(*args, **kwargs) + def visit_admonition(self, node, name: str = '') -> None: + admonitionclasses = { + 'attention': 'alert-primary', + 'caution': 'alert-secondary', + 'danger': 'alert-danger', + 'error': 'alert-danger', + 'hint': 'alert-secondary', + 'important': 'alert-primary', + 'note': 'alert-info', + 'seealso': 'alert-info', + 'tip': 'alert-info', + 'warning': 'alert-warning', + } + + self.body.append(self.starttag( + node, 'div', CLASS=('alert ' + admonitionclasses[name]))) + if name: + self.body.append( + self.starttag(node, 'div', '', CLASS='h5')) + self.body.append(str(admonitionlabels[name])) + self.body.append('') + def visit_table(self, node): # init the attributes atts = {} -- cgit v1.2.1