docs: html: load stylesheet via custom.css.source

Until now the meson built docs did not have a working reference to the css
stylesheet, it was copied in the make target. Instead of duplicating that for
meson, use the docbook-xsl parameter custom.css.source to reference it. An
additional benefit of that approach is that the stylesheet is now included in
the single-file HTML documentation.

Reported-by: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Discussion: https://postgr.es/m/3fc3bb9b-f7f8-d442-35c1-ec82280c564a@enterprisedb.com
This commit is contained in:
Andres Freund 2023-04-04 21:10:46 -07:00
parent 0012979d98
commit b8059bdf1e
6 changed files with 21 additions and 14 deletions

View File

@ -39,7 +39,7 @@ ifndef FOP
FOP = $(missing) fop
endif
XMLINCLUDE = --path .
XMLINCLUDE = --path . --path $(srcdir)
ifdef XMLLINT
XMLLINT := $(XMLLINT) --nonet
@ -144,7 +144,6 @@ html: html-stamp
html-stamp: stylesheet.xsl postgres-full.xml $(ALL_IMAGES)
$(XSLTPROC) $(XMLINCLUDE) $(XSLTPROCFLAGS) $(XSLTPROC_HTML_FLAGS) $(wordlist 1,2,$^)
cp $(srcdir)/stylesheet.css html/
touch $@
# single-page HTML

View File

@ -96,7 +96,7 @@ if xsltproc_bin.found()
xsltproc_flags = [
'--nonet',
'--stringparam', 'pg.version', pg_version,
'--path', '@OUTDIR@',
'--path', '@OUTDIR@', '--path', '@CURRENT_SOURCE_DIR@',
]
xsltproc = xmltools_wrapper + [

View File

@ -18,6 +18,14 @@
<xsl:param name="make.graphic.viewport" select="0"/>
<xsl:param name="link.mailto.url">pgsql-docs@lists.postgresql.org</xsl:param>
<xsl:param name="toc.max.depth">2</xsl:param>
<xsl:param name="website.stylesheet" select="0"/>
<xsl:param name="custom.css.source">
<xsl:if test="$website.stylesheet = 0">stylesheet.css.xml</xsl:if>
</xsl:param>
<xsl:param name="html.stylesheet">
<xsl:if test="not($website.stylesheet = 0)">https://www.postgresql.org/media/css/docs-complete.css</xsl:if>
</xsl:param>
<!--
The below allows the stylesheets provided by the website to be applied fully

View File

@ -7,6 +7,9 @@
<xsl:include href="stylesheet-html-common.xsl" />
<xsl:include href="stylesheet-speedup-xhtml.xsl" />
<!-- except when referencing the online stylesheet, embed stylesheet -->
<xsl:param name="generate.css.header" select="$website.stylesheet = 0"/>
<!-- embed SVG images into output file -->
<xsl:template match="imagedata[@format='SVG']">
<xsl:variable name="filename">

View File

@ -0,0 +1,8 @@
<!--
wrapper around stylesheet.css.xml to allow it to be loaded via docbook-xsl's
generate.css.header parameter.
-->
<!DOCTYPE style [
<!ENTITY css SYSTEM "stylesheet.css">
]>
<style>&css;</style>

View File

@ -17,17 +17,6 @@
<xsl:param name="chunk.quietly" select="1"></xsl:param>
<xsl:param name="admon.style"></xsl:param> <!-- handled by CSS stylesheet -->
<xsl:param name="website.stylesheet" select="0"/>
<xsl:param name="html.stylesheet">
<xsl:choose>
<xsl:when test="$website.stylesheet = 0">stylesheet.css</xsl:when>
<xsl:otherwise>
https://www.postgresql.org/media/css/docs-complete.css
</xsl:otherwise>
</xsl:choose>
</xsl:param>
<!-- copy images to the output directory, so the output is self contained -->
<xsl:template match="imageobject">