The index doesn’t have to be a PHP file since there is no need to
generate the list of chapters anew every time the ToC is opened.
Instead, the list of chapters is generated once, ahead of time, and
saved to the index.html.
As an added bonus, this allows the ToC to be generated and used
as a local file.
After actually seeing what it looks like (and with the limitations that
currently exist with my design), I chose to make all the beeps different
from ordinary paragraphs.