diff --git a/breathe/directives/content_block.py b/breathe/directives/content_block.py index bc3f560f..503e97d6 100644 --- a/breathe/directives/content_block.py +++ b/breathe/directives/content_block.py @@ -106,7 +106,10 @@ class DoxygenNamespaceDirective(_DoxygenContentBlockDirective): class DoxygenGroupDirective(_DoxygenContentBlockDirective): kind = "group" option_spec = _DoxygenContentBlockDirective.option_spec.copy() - option_spec.update({"inner": flag}) + option_spec.update({ + "inner": flag, + "no-title": flag + }) class DoxygenPageDirective(_DoxygenContentBlockDirective): @@ -115,4 +118,5 @@ class DoxygenPageDirective(_DoxygenContentBlockDirective): "path": unchanged_required, "project": unchanged_required, "content-only": flag, + "no-title": flag, } diff --git a/breathe/renderer/sphinxrenderer.py b/breathe/renderer/sphinxrenderer.py index 0531b533..509ce6dc 100644 --- a/breathe/renderer/sphinxrenderer.py +++ b/breathe/renderer/sphinxrenderer.py @@ -1192,9 +1192,17 @@ def render_signature(file_data, doxygen_target, name, kind): title_signode.extend(targets) # Set up the title - title_signode.append(nodes.emphasis(text=kind)) - title_signode.append(nodes.Text(" ")) - title_signode.append(addnodes.desc_name(text=name)) + + if kind in ["group", "page"] and file_data.compounddef and file_data.compounddef.title: + if "no-title" not in options: + full_title = " ".join([i.getValue() for i in file_data.compounddef.title.content_]) + title_signode.append(nodes.emphasis(text=kind)) + title_signode.append(nodes.Text(" ")) + title_signode.append(addnodes.desc_name(text=full_title)) + else: + title_signode.append(nodes.emphasis(text=kind)) + title_signode.append(nodes.Text(" ")) + title_signode.append(addnodes.desc_name(text=name)) rst_node.append(title_signode)