Hello,

In REL_13_STABLE and above, generated HTML have a broken HTML: nested <a href="..."> tags for all links to glossary. Somehow, this results in duplicated <a> tags on the https://www.postgresql.org/docs/

Found by tab-navigating https://www.postgresql.org/docs/16/rowtypes.html
where we see (spacing added to avoid line wraps):
... create a <a class="glossterm"
href="glossary.html#GLOSSARY-DOMAIN"</a><a class="glossterm" href="glossary.html#GLOSSARY-DOMAIN"
title="Domain">domain</a> over the composite type ...

So, empty <a>, and then the real <a>. This resulted in stopping twice on the "domain" link (right before, and then on the
"domain" word itself) while tab-navigating.

If I am to "make html" docs from the source (in REL_13_STABLE..master), I see nested <a>'s instead:

create a <a class="glossterm" href="glossary.html#GLOSSARY-DOMAIN"><em
class="glossterm"><a class="glossterm" href="glossary.html#GLOSSARY-DOMAIN" title="Domain">domain</a></em></a> over the composite type

I guess docs are processed additionally before getting to
https://www.postgresql.org/docs/ (html sanitizer/beautifier?), in passing fixing nested <a>'s, but producing duplicated <a>'s instead.

It seems to affect all glossary links:
after "make html",
grep '</a></em></a>' doc/src/sgml/html/*.html
results in 254 to 329 matches (in versions 13 to master).

REL_12_STABLE is not affected: glossary was only introduced in 13.

It seems to have been introduced in

commit 347d2b07fcc250680f75b5f89ba49d4805782c6b
Author: Alvaro Herrera <alvhe...@alvh.no-ip.org>
Date:   Fri Apr 3 19:23:20 2020

    Add a glossary to the documentation

Not sure about how to fix this (don't really know docbook).

--
Anton Voloshin
Postgres Professional, The Russian Postgres Company
https://postgrespro.ru


Reply via email to