def add_target_and_index(self, firstname, sig, signode): cached_groups = self.env.domaindata['oslo.config']['groups'] # Store the current group for use later in option directives self.env.temp_data['oslo.config:group'] = sig # Store the location where this group is being defined # for use when resolving cross-references later. # FIXME: This should take the source namespace into account, too cached_groups[sig] = self.env.docname # Compute the normalized target and set the node to have that # as an id target_name = cfg._normalize_group_name(sig) signode['ids'].append(target_name) self.state.document.note_explicit_target(signode)
def run(self): env = self.state.document.settings.env app = env.app group_name = self.arguments[0] namespace = self.options.get('namespace') cached_groups = env.domaindata['oslo.config']['groups'] # Store the current group for use later in option directives env.temp_data['oslo.config:group'] = group_name app.debug('oslo.config group %s' % group_name) # Store the location where this group is being defined # for use when resolving cross-references later. # FIXME: This should take the source namespace into account, too cached_groups[group_name] = env.docname result = ViewList() source_name = '<' + __name__ + '>' def _add(text): "Append some text to the output result view to be parsed." result.append(text, source_name) if namespace: title = '%s: %s' % (namespace, group_name) else: title = group_name _add(title) _add('-' * len(title)) _add('') for line in self.content: _add(line) node = nodes.section() node.document = self.state.document nested_parse_with_titles(self.state, result, node) first_child = node.children[0] # Compute the normalized target and set the node to have that # as an id target_name = cfg._normalize_group_name(group_name) first_child['ids'].append(target_name) indexnode = addnodes.index(entries=[]) return [indexnode] + node.children
def run(self): env = self.state.document.settings.env group_name = self.arguments[0] namespace = self.options.get('namespace') cached_groups = env.domaindata['oslo.config']['groups'] # Store the current group for use later in option directives env.temp_data['oslo.config:group'] = group_name LOG.debug('oslo.config group %s' % group_name) # Store the location where this group is being defined # for use when resolving cross-references later. # FIXME: This should take the source namespace into account, too cached_groups[group_name] = env.docname result = ViewList() source_name = '<' + __name__ + '>' def _add(text): "Append some text to the output result view to be parsed." result.append(text, source_name) if namespace: title = '%s: %s' % (namespace, group_name) else: title = group_name _add(title) _add('-' * len(title)) _add('') for line in self.content: _add(line) node = nodes.section() node.document = self.state.document nested_parse_with_titles(self.state, result, node) first_child = node.children[0] # Compute the normalized target and set the node to have that # as an id target_name = cfg._normalize_group_name(group_name) first_child['ids'].append(target_name) indexnode = addnodes.index(entries=[]) return [indexnode] + node.children
def _make_anchor_target(group_name, option_name): # We need to ensure this is unique across entire documentation # http://www.sphinx-doc.org/en/stable/markup/inline.html#ref-role target = '%s.%s' % (cfg._normalize_group_name(group_name), option_name.lower()) return target
def _make_anchor_target(group_name, option_name): # We need to ensure this is unique across entire documentation # http://www.sphinx-doc.org/en/stable/markup/inline.html#ref-role target = '%s.%s' % (cfg._normalize_group_name(group_name), option_name.lower()) return target