Thread (8 messages) 8 messages, 3 authors, 2020-03-20

Re: [PATCH] docs: conf.py: avoid thousands of duplicate label warning on Sphinx

From: Federico Vaga <federico.vaga@vaga.pv.it>
Date: 2020-03-20 11:24:52
Also in: lkml

On Friday, March 20, 2020 12:12:35 PM CET Mauro Carvalho Chehab wrote:
The autosectionlabel extension is nice, as it allows to refer to
a section by its name without requiring any extra tag to create
a reference name.

However, on its default, it has two serious problems:

1) the namespace is global. So, two files with different
   "introduction" section would create a label with the
   same name. This is easily solvable by forcing the extension
   to prepend the file name with:

	autosectionlabel_prefix_document = True

2) It doesn't work hierarchically. So, if there are two level 1
   sessions (let's say, one labeled "open" and another one "ioctl")
   and both have a level 2 "synopsis" label, both section 2 will
   have the same identical name.

   Currently, there's no way to tell Sphinx to create an
   hierarchical reference like:

		open / synopsis
		ioctl / synopsis

  This causes around 800 warnings. So, the fix should be to
  not let autosectionlabel to produce references for anything
  that it is not at level one, with:

	autosectionlabel_maxdepth = 1
So, for level 1 headers is fine to use autosectionlabel, but if we want to 
refer to level 2,3... we have to create labels manually.

Fine with me



Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help