man: add various filenames to the index
Everything which is an absolute filename marked with <filename></filename> lands in the index, unless noindex= attribute is present. Should make it easier for people to find stuff when they are looking at a file on disk. Various formatting errors in manpages are fixed, kernel-install(1) is restored to formatting sanity.
This commit is contained in:
parent
202288be83
commit
845c53246f
14 changed files with 65 additions and 37 deletions
|
@ -193,16 +193,25 @@ def _extract_directives(directive_groups, formatting, page):
|
|||
formatting[text] = name
|
||||
|
||||
storfile = directive_groups['filenames']
|
||||
for xpath in ('.//refsynopsisdiv//filename',
|
||||
'.//refsynopsisdiv//command'):
|
||||
for xpath, absolute_only in (('.//refsynopsisdiv//filename', False),
|
||||
('.//refsynopsisdiv//command', False),
|
||||
('.//filename', True)):
|
||||
for name in t.iterfind(xpath):
|
||||
if absolute_only and not (name.text and name.text.startswith('/')):
|
||||
continue
|
||||
if name.attrib.get('noindex'):
|
||||
continue
|
||||
name.tail = ''
|
||||
if name.text:
|
||||
if name.text.endswith('*'):
|
||||
name.text = name.text[:-1]
|
||||
if not name.text.startswith('.'):
|
||||
text = name.text.partition(' ')[0]
|
||||
if text != name.text:
|
||||
name.clear()
|
||||
name.text = text
|
||||
if text.endswith('/'):
|
||||
text = text[:-1]
|
||||
storfile[text].append((pagename, section))
|
||||
if text not in formatting:
|
||||
# use element as formatted display
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue