Improve index entries
This commit adds additional index entries for IP ranges and IP address references.
This commit is contained in:
		
							parent
							
								
									48488386d3
								
							
						
					
					
						commit
						39f62dc843
					
				
					 1 changed files with 21 additions and 8 deletions
				
			
		|  | @ -39,8 +39,9 @@ class IPXRefRole(XRefRole): | ||||||
|     """ |     """ | ||||||
|     Cross referencing role for the IP domain. |     Cross referencing role for the IP domain. | ||||||
|     """ |     """ | ||||||
|     def __init__(self, method, **kwargs): |     def __init__(self, method, index_type, **kwargs): | ||||||
|         self.method = method |         self.method = method | ||||||
|  |         self.index_type = index_type | ||||||
|         innernodeclass=None |         innernodeclass=None | ||||||
|         if method in ('v4', 'v6'): |         if method in ('v4', 'v6'): | ||||||
|             innernodeclass = ip_node |             innernodeclass = ip_node | ||||||
|  | @ -58,8 +59,13 @@ class IPXRefRole(XRefRole): | ||||||
|             indexnode = addnodes.index() |             indexnode = addnodes.index() | ||||||
|             targetid = 'index-%s' % env.new_serialno('index') |             targetid = 'index-%s' % env.new_serialno('index') | ||||||
|             targetnode = nodes.target('', '', ids=[targetid]) |             targetnode = nodes.target('', '', ids=[targetid]) | ||||||
|             idxtext = "%s; %s" % (node.astext(), env.docname) |             doctitle = document.traverse(nodes.title)[0].astext() | ||||||
|             indexnode['entries'] = [('single', idxtext, targetid, '', None)] |             idxtext = "%s; %s" % (node.astext(), doctitle) | ||||||
|  |             idxtext2 = "%s; %s" % (self.index_type, node.astext()) | ||||||
|  |             indexnode['entries'] = [ | ||||||
|  |                 ('single', idxtext, targetid, '', None), | ||||||
|  |                 ('single', idxtext2, targetid, '', None), | ||||||
|  |             ] | ||||||
|             return [indexnode, targetnode, node], [] |             return [indexnode, targetnode, node], [] | ||||||
|         except KeyError as e: |         except KeyError as e: | ||||||
|             return [node], [e.args[0]] |             return [node], [e.args[0]] | ||||||
|  | @ -93,8 +99,15 @@ class IPRange(Directive): | ||||||
|         self.rangespec = self.arguments[0] |         self.rangespec = self.arguments[0] | ||||||
|         node = nodes.section() |         node = nodes.section() | ||||||
|         name = self.handle_rangespec(node) |         name = self.handle_rangespec(node) | ||||||
|  |         if self.env.docname in self.env.titles: | ||||||
|  |             doctitle = self.env.titles[self.env.docname] | ||||||
|  |         else: | ||||||
|  |             doctitle = self.state.document.traverse(nodes.title)[0].astext() | ||||||
|  |         idx_text = "%s; %s" % (self.rangespec, doctitle) | ||||||
|         self.indexnode = addnodes.index(entries=[ |         self.indexnode = addnodes.index(entries=[ | ||||||
|             ('single', self.get_index_text(), name, '')]) |             ('single', idx_text, name, ''), | ||||||
|  |             ('single', self.get_index_text(), name, '') | ||||||
|  |         ]) | ||||||
| 
 | 
 | ||||||
|         if self.content: |         if self.content: | ||||||
|             contentnode = nodes.paragraph('') |             contentnode = nodes.paragraph('') | ||||||
|  | @ -148,10 +161,10 @@ class IPDomain(Domain): | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     roles = { |     roles = { | ||||||
|         'v4':      IPXRefRole('v4'), |         'v4':      IPXRefRole('v4', l_('IPv4 address')), | ||||||
|         'v6':      IPXRefRole('v6'), |         'v6':      IPXRefRole('v6', l_('IPv6 address')), | ||||||
|         'v4range': IPXRefRole('v4range'), |         'v4range': IPXRefRole('v4range', l_('IPv4 range')), | ||||||
|         'v6range': IPXRefRole('v6range'), |         'v6range': IPXRefRole('v6range', l_('IPv6 range')), | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     initial_data = { |     initial_data = { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue