mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-11 03:24:58 -06:00
docs/qapi-domain: add :deprecated: directive option
Although "deprecated" is a feature (and *will* appear in the features list), add a special :deprecated: option to generate an eye-catch that makes this information very hard to miss. The forthcoming Transmogrifier in qapidoc.py will add this option whenever it detects that the features list attached to a definition contains the "deprecated" entry. P.S., I outsourced the CSS ;) Signed-off-by: Harmonie Snow <harmonie@gmail.com> Signed-off-by: John Snow <jsnow@redhat.com> Message-ID: <20250311034303.75779-24-jsnow@redhat.com> Acked-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
3fe3349d23
commit
1a0c090a5b
2 changed files with 51 additions and 0 deletions
|
@ -208,3 +208,28 @@ div[class^="highlight"] pre {
|
||||||
color: inherit;
|
color: inherit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* QAPI domain theming */
|
||||||
|
|
||||||
|
.qapi-infopips {
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.qapi-infopip {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 0em 0.5em 0em 0.5em;
|
||||||
|
margin: 0.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.qapi-deprecated {
|
||||||
|
background-color: #fffef5;
|
||||||
|
border: solid #fff176 6px;
|
||||||
|
font-weight: bold;
|
||||||
|
padding: 8px;
|
||||||
|
border-radius: 15px;
|
||||||
|
margin: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.qapi-deprecated::before {
|
||||||
|
content: '⚠️ ';
|
||||||
|
}
|
||||||
|
|
|
@ -217,6 +217,7 @@ class QAPIObject(QAPIDescription):
|
||||||
"module": directives.unchanged, # Override contextual module name
|
"module": directives.unchanged, # Override contextual module name
|
||||||
# These are QAPI originals:
|
# These are QAPI originals:
|
||||||
"since": directives.unchanged,
|
"since": directives.unchanged,
|
||||||
|
"deprecated": directives.flag,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -280,6 +281,31 @@ class QAPIObject(QAPIDescription):
|
||||||
|
|
||||||
return sig
|
return sig
|
||||||
|
|
||||||
|
def _add_infopips(self, contentnode: addnodes.desc_content) -> None:
|
||||||
|
# Add various eye-catches and things that go below the signature
|
||||||
|
# bar, but precede the user-defined content.
|
||||||
|
infopips = nodes.container()
|
||||||
|
infopips.attributes["classes"].append("qapi-infopips")
|
||||||
|
|
||||||
|
def _add_pip(source: str, content: str, classname: str) -> None:
|
||||||
|
node = nodes.container(source)
|
||||||
|
node.append(nodes.Text(content))
|
||||||
|
node.attributes["classes"].extend(["qapi-infopip", classname])
|
||||||
|
infopips.append(node)
|
||||||
|
|
||||||
|
if "deprecated" in self.options:
|
||||||
|
_add_pip(
|
||||||
|
":deprecated:",
|
||||||
|
f"This {self.objtype} is deprecated.",
|
||||||
|
"qapi-deprecated",
|
||||||
|
)
|
||||||
|
|
||||||
|
if infopips.children:
|
||||||
|
contentnode.insert(0, infopips)
|
||||||
|
|
||||||
|
def transform_content(self, content_node: addnodes.desc_content) -> None:
|
||||||
|
self._add_infopips(content_node)
|
||||||
|
|
||||||
|
|
||||||
class QAPICommand(QAPIObject):
|
class QAPICommand(QAPIObject):
|
||||||
"""Description of a QAPI Command."""
|
"""Description of a QAPI Command."""
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue