Skip to content

Commit 8f92bb3

Browse files
committed
docs: extract description from man pages for generated list
1 parent 7ca4782 commit 8f92bb3

2 files changed

Lines changed: 25 additions & 8 deletions

File tree

docs/src/Submakefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,6 @@ DOTFILES=$(shell find . -name "*.dot") $(shell find ../docs/src/ -name "*.dot")
336336
.PHONY: svgs_made_from_dots
337337
svgs_made_from_dots: $(DOTFILES:.dot=.svg)
338338

339-
docs: gen_complist
340339
ifeq ($(BUILD_DOCS_PDF),yes)
341340
docs: pdfdocs
342341
install-doc: install-doc-pdf

docs/src/gen_complist.py

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,14 +72,14 @@ def generate_complist(complist_path):
7272
file3.write('|=======================\n')
7373
file3.close()
7474

75-
generate_links(gen1_filename, '1', False)
76-
generate_links(gen9_filename, '9', False)
75+
generate_links(gen1_filename, '1', False, True)
76+
generate_links(gen9_filename, '9', False, True)
7777

7878
print('gen_complist: Added {} uncategorized and {} obsolete entries to hal component list (man1)'.format(len(miss1), len(obs1)))
7979
print('gen_complist: Added {} uncategorized and {} obsolete entries to hal component list (man9)'.format(len(miss9), len(obs9)))
8080

8181

82-
def generate_links(filename, manpage='1', create_backup=True):
82+
def generate_links(filename, manpage='1', create_backup=True, add_descr=False):
8383
file = open(filename, 'r')
8484
file_links = []
8585
links_added = 0
@@ -99,7 +99,11 @@ def generate_links(filename, manpage='1', create_backup=True):
9999
if comp in man[manpage]:
100100
line = line.replace(comp, 'link:../man/man'+manpage+'/'+comp+'.'+manpage+'.html['+comp+']', 1)
101101
links_added += 1
102-
102+
if add_descr:
103+
splitted = line.split('|')
104+
splitted[2] = extract_descr('../docs/man/man'+manpage+'/'+comp+'.'+manpage)\
105+
.replace(comp, '',1).strip('\n -')
106+
line = '|'.join(splitted)
103107
file_links.append(line)
104108

105109
file.close()
@@ -114,11 +118,25 @@ def generate_links(filename, manpage='1', create_backup=True):
114118
print('gen_complist_links: Added {} link(s) to {}'.format(links_added, filename))
115119

116120

121+
def extract_descr(filename):
122+
file = open(filename, 'r')
123+
descr = ''
124+
in_descr = False
125+
126+
for line in file:
127+
if '.SH NAME' in line or '.SH "NAME' in line:
128+
in_descr = True
129+
elif '.SH' in line:
130+
break
131+
elif in_descr:
132+
descr += line
133+
file.close()
134+
return re.sub(r'\\fB|\\fR|\\fI|\\', '', descr)
135+
117136
if __name__ == "__main__":
118137

119138
if len(sys.argv) > 1:
120-
if len(sys.argv) > 2:
121-
if sys.argv[2] == 'links':
122-
generate_links(sys.argv[1])
139+
if 'links' in sys.argv:
140+
generate_links(sys.argv[1])
123141
else:
124142
generate_complist(sys.argv[1])

0 commit comments

Comments
 (0)