Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rvJm9-00BCx2-Kb for pgsql-docs@arkaria.postgresql.org; Fri, 12 Apr 2024 16:29:18 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rvJm8-00G1ZG-AB for pgsql-docs@arkaria.postgresql.org; Fri, 12 Apr 2024 16:29:16 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rvJm7-00G1Z7-Us for pgsql-docs@lists.postgresql.org; Fri, 12 Apr 2024 16:29:16 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rvJm2-000ZrN-Qe for pgsql-docs@lists.postgresql.org; Fri, 12 Apr 2024 16:29:15 +0000 Received: from [10.4.15.102] (unknown [93.174.131.141]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: a.voloshin@postgrespro.ru) by mail.postgrespro.ru (Postfix/587) with ESMTPSA id 3764BE21016; Fri, 12 Apr 2024 19:29:09 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1712939349; bh=q3Y66SCOx45WeMIfXuU9MFT9esGWed6ChNW0tRYDnSI=; h=Message-ID:Date:User-Agent:To:From:Subject:Cc:From; b=xhSbAw1B88UkTIJy1YGPEVF6t974E/JJnEd52e7Qp9xkNc6xRsdxNM+FfRGlUW5yY SctOhrWkZOnhUoUsoyl6Fkhl6Qb/V58nMIn6xUkfO9Ey+rYV2Gy+YnnsFM+iAXXG+6 wql+LTYIRobHzDzKm2Gw5fOtz2UmcPx11QfXYRfLAzC9p6N5jplkW00oISCdEP6lg5 I6AtrBK2fLZIH3PU4WTizpguNi9DAwmP6hiGuH0uZebSU7FVlBXNp8krOE2s91nrVJ 5X3ywYDHn0YsU/b2wOrsSVbj3FWJeIi7H5e5cspagz1oQwqr/BimF8dyQKcmU4DBrE xU17Pi+XPIBEw== Message-ID: <03ac3556-d47a-4022-9ea8-a9219272ea43@postgrespro.ru> Date: Fri, 12 Apr 2024 19:29:08 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: pgsql-docs Content-Language: en-US From: Anton Voloshin Subject: nested tags in glossary entries in html docs Cc: Alvaro Herrera Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hello, In REL_13_STABLE and above, generated HTML have a broken HTML: nested tags for all links to glossary. Somehow, this results in duplicated 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 domain over the composite type ... So, empty , and then the real . 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 's instead: create a domain 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 's, but producing duplicated 's instead. It seems to affect all glossary links: after "make html", grep '' 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 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