On Fri, 20 Jan 2023 20:12:38 +0100
Alvaro Herrera <alvhe...@alvh.no-ip.org> wrote:

> Ah, I wanted to attach the two remaining patches and forgot. 

Attached are 2 alternatives:
(They touch separate files so the ordering is meaningless.)


v8-0001-List-trusted-and-obsolete-extensions.patch

Instead of putting [trusted] and [obsolete] in the titles
of the modules, like v7 does, add a list of them into the text.


v8-0002-Page-break-before-sect1-in-contrib-appendix-when-pdf.patch

This frobs the PDF style sheet so that when sect1 is used
in the appendix for the contrib directory, there is a page
break before every sect1.  This puts each module/extension
onto a separate page, but only for the contrib appendix.

Aside from hardcoding the "contrib" id, which I suppose isn't
too bad since it's publicly exposed as a HTML anchor (or URL 
component?) and unlikely to change, this also means that the 
contrib documentation can't use <section> instead of <sect1>.

Sometimes I think I only know enough XSLT to get into trouble.
While v8 is "right", I can't say if it is a good idea/good practice.

Regards,

Karl <k...@karlpinc.com>
Free Software:  "You don't pay back, you pay forward."
                 -- Robert A. Heinlein
diff --git a/doc/src/sgml/contrib.sgml b/doc/src/sgml/contrib.sgml
index 8816e06337..87833915e9 100644
--- a/doc/src/sgml/contrib.sgml
+++ b/doc/src/sgml/contrib.sgml
@@ -84,6 +84,31 @@ CREATE EXTENSION <replaceable>extension_name</replaceable>;
   provide access to outside-the-database functionality.
  </para>
 
+ <para id="contrib-trusted-extensions">These are the trusted extensions:
+   <simplelist type="inline">
+     <member><xref linkend="btree-gin"/></member>
+     <member><xref linkend="btree-gist"/></member>
+     <member><xref linkend="citext"/></member>
+     <member><xref linkend="cube"/></member>
+     <member><xref linkend="dict-int"/></member>
+     <member><xref linkend="fuzzystrmatch"/></member>
+     <member><xref linkend="hstore"/></member>
+     <member><xref linkend="intarray"/></member>
+     <member><xref linkend="isn"/></member>
+     <member><xref linkend="lo"/></member>
+     <member><xref linkend="ltree"/></member>
+     <member><xref linkend="pgcrypto"/></member>
+     <member><xref linkend="pgtrgm"/></member>
+     <member><xref linkend="seg"/></member>
+     <member><xref linkend="tablefunc"/></member>
+     <member><xref linkend="tcn"/></member>
+     <member><xref linkend="tsm-system-rows"/></member>
+     <member><xref linkend="tsm-system-time"/></member>
+     <member><xref linkend="unaccent"/></member>
+     <member><xref linkend="uuid-ossp"/></member>
+   </simplelist>     
+ </para>
+
  <para>
   Many extensions allow you to install their objects in a schema of your
   choice.  To do that, add <literal>SCHEMA
@@ -100,6 +125,15 @@ CREATE EXTENSION <replaceable>extension_name</replaceable>;
   component for details.
  </para>
 
+ <para id="contrib-obsolete">
+   These modules and extensions are obsolete:
+
+   <simplelist type="inline">
+     <member><xref linkend="intagg"/></member>
+     <member><xref linkend="xml2"/></member>
+   </simplelist>
+ </para>
+
  &adminpack;
  &amcheck;
  &auth-delay;
diff --git a/doc/src/sgml/stylesheet-fo.xsl b/doc/src/sgml/stylesheet-fo.xsl
index 0c4dff92c4..68a46f9e24 100644
--- a/doc/src/sgml/stylesheet-fo.xsl
+++ b/doc/src/sgml/stylesheet-fo.xsl
@@ -132,4 +132,12 @@
   </fo:bookmark>
 </xsl:template>
 
+<!-- Every sect1 in the appendix describing contributed modules
+     gets a page break -->
+
+<xsl:template match="id('contrib')/sect1">
+  <fo:block break-after='page'/>
+  <xsl:apply-imports/>
+</xsl:template>
+
 </xsl:stylesheet>

Reply via email to