Create INSTALL file via XSLT
As before, create an INSTALL.html file for processing with lynx, but use xsltproc and a new XSLT stylesheet instead of jade and DSSSL. Replacing jade with xsltproc removes jade from the requirements for distribution building. Reviewed-by: Magnus Hagander <magnus@hagander.net>
This commit is contained in:
parent
d9528604cc
commit
044d9efb6c
1
doc/src/sgml/.gitignore
vendored
1
doc/src/sgml/.gitignore
vendored
@ -7,6 +7,7 @@
|
|||||||
/man-stamp
|
/man-stamp
|
||||||
# Other popular build targets
|
# Other popular build targets
|
||||||
/INSTALL
|
/INSTALL
|
||||||
|
/INSTALL.xml
|
||||||
/postgres-US.pdf
|
/postgres-US.pdf
|
||||||
/postgres-A4.pdf
|
/postgres-A4.pdf
|
||||||
/postgres.html
|
/postgres.html
|
||||||
|
@ -217,10 +217,9 @@ postgres.pdf:
|
|||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## Semi-automatic generation of some text files.
|
## Generation of some text files.
|
||||||
##
|
##
|
||||||
|
|
||||||
JADE.text = $(JADE) $(JADEFLAGS) $(SGMLINCLUDE) $(CATALOG) -d stylesheet.dsl -i output-text -t sgml
|
|
||||||
ICONV = iconv
|
ICONV = iconv
|
||||||
LYNX = lynx
|
LYNX = lynx
|
||||||
|
|
||||||
@ -233,10 +232,15 @@ LYNX = lynx
|
|||||||
# locale support and is very picky about locale name spelling. The
|
# locale support and is very picky about locale name spelling. The
|
||||||
# below has been finely tuned to run on FreeBSD and Linux/glibc.
|
# below has been finely tuned to run on FreeBSD and Linux/glibc.
|
||||||
INSTALL: % : %.html
|
INSTALL: % : %.html
|
||||||
$(PERL) -p -e 's/<H(1|2)$$/<H\1 align=center/g' $< | LC_ALL=en_US.ISO8859-1 $(LYNX) -force_html -dump -nolist -stdin | $(ICONV) -f latin1 -t us-ascii//TRANSLIT > $@
|
$(PERL) -p -e 's,<h(1|2) class="title",<h\1 align=center,g' $< | LC_ALL=en_US.ISO8859-1 $(LYNX) -force_html -dump -nolist -stdin | $(ICONV) -f latin1 -t us-ascii//TRANSLIT > $@
|
||||||
|
|
||||||
INSTALL.html: standalone-install.sgml installation.sgml version.sgml
|
INSTALL.html: %.html : stylesheet-text.xsl %.xml
|
||||||
$(JADE.text) -V nochunks standalone-install.sgml installation.sgml > $@
|
$(XMLLINT) --noout --valid $*.xml
|
||||||
|
$(XSLTPROC) $(XSLTPROCFLAGS) $(XSLTPROC_HTML_FLAGS) $^ >$@
|
||||||
|
|
||||||
|
INSTALL.xml: standalone-install.sgml installation.sgml version.sgml
|
||||||
|
$(OSX) -D. -x lower $(filter-out version.sgml,$^) >$@.tmp
|
||||||
|
$(call mangle-xml,chapter)
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
@ -247,12 +251,15 @@ INSTALL.html: standalone-install.sgml installation.sgml version.sgml
|
|||||||
# if we try to do "make all" in a VPATH build without the explicit
|
# if we try to do "make all" in a VPATH build without the explicit
|
||||||
# $(srcdir) on the postgres.sgml dependency in this rule. GNU make bug?
|
# $(srcdir) on the postgres.sgml dependency in this rule. GNU make bug?
|
||||||
postgres.xml: $(srcdir)/postgres.sgml $(ALMOSTALLSGML)
|
postgres.xml: $(srcdir)/postgres.sgml $(ALMOSTALLSGML)
|
||||||
$(OSX) -D. -x lower -i include-xslt-index $< >postgres.xmltmp
|
$(OSX) -D. -x lower -i include-xslt-index $< >$@.tmp
|
||||||
$(PERL) -p -e 's/\[(aacute|acirc|aelig|agrave|amp|aring|atilde|auml|bull|copy|eacute|egrave|gt|iacute|lt|mdash|nbsp|ntilde|oacute|ocirc|oslash|ouml|pi|quot|scaron|uuml) *\]/\&\1;/gi;' \
|
$(call mangle-xml,book)
|
||||||
-e '$$_ .= qq{<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">\n} if $$. == 1;' \
|
|
||||||
<postgres.xmltmp > $@
|
define mangle-xml
|
||||||
rm postgres.xmltmp
|
$(PERL) -p -e 's/\[(aacute|acirc|aelig|agrave|amp|aring|atilde|auml|bull|copy|eacute|egrave|gt|iacute|lt|mdash|nbsp|ntilde|oacute|ocirc|oslash|ouml|pi|quot|scaron|uuml) *\]/\&\1;/gi;' \
|
||||||
# ' hello Emacs
|
-e '$$_ .= qq{<!DOCTYPE $(1) PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">\n} if $$. == 1;' \
|
||||||
|
<$@.tmp > $@
|
||||||
|
rm $@.tmp
|
||||||
|
endef
|
||||||
|
|
||||||
ifeq ($(STYLE),website)
|
ifeq ($(STYLE),website)
|
||||||
XSLTPROC_HTML_FLAGS += --param website.stylesheet 1
|
XSLTPROC_HTML_FLAGS += --param website.stylesheet 1
|
||||||
@ -386,13 +393,13 @@ check-tabs:
|
|||||||
# This allows removing some files from the distribution tarballs while
|
# This allows removing some files from the distribution tarballs while
|
||||||
# keeping the dependencies satisfied.
|
# keeping the dependencies satisfied.
|
||||||
.SECONDARY: postgres.xml $(GENERATED_SGML) HTML.index
|
.SECONDARY: postgres.xml $(GENERATED_SGML) HTML.index
|
||||||
.SECONDARY: INSTALL.html
|
.SECONDARY: INSTALL.html INSTALL.xml
|
||||||
.SECONDARY: %-A4.tex-ps %-US.tex-ps %-A4.tex-pdf %-US.tex-pdf
|
.SECONDARY: %-A4.tex-ps %-US.tex-ps %-A4.tex-pdf %-US.tex-pdf
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
# text --- these are shipped, but not in this directory
|
# text --- these are shipped, but not in this directory
|
||||||
rm -f INSTALL
|
rm -f INSTALL
|
||||||
rm -f INSTALL.html
|
rm -f INSTALL.html INSTALL.xml
|
||||||
# single-page output
|
# single-page output
|
||||||
rm -f postgres.html postgres.txt
|
rm -f postgres.html postgres.txt
|
||||||
# print
|
# print
|
||||||
@ -400,7 +407,7 @@ clean:
|
|||||||
# index
|
# index
|
||||||
rm -f HTML.index $(GENERATED_SGML)
|
rm -f HTML.index $(GENERATED_SGML)
|
||||||
# XSLT
|
# XSLT
|
||||||
rm -f postgres.xml postgres.xmltmp htmlhelp.hhp toc.hhc index.hhk *.fo
|
rm -f postgres.xml *.tmp htmlhelp.hhp toc.hhc index.hhk *.fo
|
||||||
# EPUB
|
# EPUB
|
||||||
rm -f postgres.epub
|
rm -f postgres.epub
|
||||||
# Texinfo
|
# Texinfo
|
||||||
|
98
doc/src/sgml/stylesheet-text.xsl
Normal file
98
doc/src/sgml/stylesheet-text.xsl
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
<?xml version='1.0'?>
|
||||||
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
version='1.0'
|
||||||
|
xmlns="http://www.w3.org/TR/xhtml1/transitional"
|
||||||
|
exclude-result-prefixes="#default">
|
||||||
|
|
||||||
|
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/>
|
||||||
|
<xsl:import href="stylesheet-common.xsl" />
|
||||||
|
|
||||||
|
<!-- The customizations here are somewhat random in order to make the text
|
||||||
|
output look good. -->
|
||||||
|
|
||||||
|
<!-- no section numbers or ToC -->
|
||||||
|
<xsl:param name="chapter.autolabel" select="0"/>
|
||||||
|
<xsl:param name="section.autolabel" select="0"/>
|
||||||
|
<xsl:param name="generate.toc"></xsl:param>
|
||||||
|
|
||||||
|
<!-- don't need them, and they mess up formatting -->
|
||||||
|
<xsl:template match="indexterm">
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="step">
|
||||||
|
<li>
|
||||||
|
<xsl:call-template name="common.html.attributes"/>
|
||||||
|
<xsl:call-template name="id.attribute"/>
|
||||||
|
<!-- messes up formatting
|
||||||
|
<xsl:call-template name="anchor"/>
|
||||||
|
-->
|
||||||
|
<xsl:apply-templates/>
|
||||||
|
</li>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- produce "ASCII markup" for emphasis and such -->
|
||||||
|
|
||||||
|
<xsl:template match="emphasis">
|
||||||
|
<xsl:text>*</xsl:text>
|
||||||
|
<xsl:apply-templates/>
|
||||||
|
<xsl:text>*</xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="para/command|para/filename|para/option|para/replaceable">
|
||||||
|
<xsl:call-template name="gentext.startquote"/>
|
||||||
|
<xsl:apply-templates/>
|
||||||
|
<xsl:call-template name="gentext.endquote"/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="filename/replaceable|firstterm">
|
||||||
|
<xsl:apply-templates/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- tweak formatting for note, warning, etc. -->
|
||||||
|
<xsl:template name="nongraphical.admonition">
|
||||||
|
<div>
|
||||||
|
<xsl:call-template name="common.html.attributes">
|
||||||
|
<xsl:with-param name="inherit" select="1"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
<xsl:call-template name="id.attribute"/>
|
||||||
|
|
||||||
|
<xsl:if test="$admon.textlabel != 0 or title or info/title">
|
||||||
|
<p>
|
||||||
|
<b>
|
||||||
|
<xsl:call-template name="anchor"/>
|
||||||
|
<xsl:apply-templates select="." mode="object.title.markup"/>:
|
||||||
|
</b>
|
||||||
|
</p>
|
||||||
|
</xsl:if>
|
||||||
|
|
||||||
|
<xsl:apply-templates/>
|
||||||
|
</div>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- horizontal rules before titles (matches old DSSSL style) -->
|
||||||
|
|
||||||
|
<xsl:template match="sect1/title
|
||||||
|
|sect1/info/title
|
||||||
|
|sect1info/title"
|
||||||
|
mode="titlepage.mode" priority="2">
|
||||||
|
<hr/>
|
||||||
|
<xsl:call-template name="section.title"/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="sect2/title
|
||||||
|
|sect2/info/title
|
||||||
|
|sect2info/title"
|
||||||
|
mode="titlepage.mode" priority="2">
|
||||||
|
<hr/>
|
||||||
|
<xsl:call-template name="section.title"/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="sect3/title
|
||||||
|
|sect3/info/title
|
||||||
|
|sect3info/title"
|
||||||
|
mode="titlepage.mode" priority="2">
|
||||||
|
<hr/>
|
||||||
|
<xsl:call-template name="section.title"/>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
@ -4,7 +4,6 @@
|
|||||||
<!-- must turn on one of these with -i on the jade command line -->
|
<!-- must turn on one of these with -i on the jade command line -->
|
||||||
<!ENTITY % output-html "IGNORE">
|
<!ENTITY % output-html "IGNORE">
|
||||||
<!ENTITY % output-print "IGNORE">
|
<!ENTITY % output-print "IGNORE">
|
||||||
<!ENTITY % output-text "IGNORE">
|
|
||||||
|
|
||||||
<![ %output-html; [
|
<![ %output-html; [
|
||||||
<!ENTITY dbstyle PUBLIC "-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN" CDATA DSSSL>
|
<!ENTITY dbstyle PUBLIC "-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN" CDATA DSSSL>
|
||||||
@ -14,10 +13,6 @@
|
|||||||
<!ENTITY dbstyle PUBLIC "-//Norman Walsh//DOCUMENT DocBook Print Stylesheet//EN" CDATA DSSSL>
|
<!ENTITY dbstyle PUBLIC "-//Norman Walsh//DOCUMENT DocBook Print Stylesheet//EN" CDATA DSSSL>
|
||||||
]]>
|
]]>
|
||||||
|
|
||||||
<![ %output-text; [
|
|
||||||
<!ENTITY dbstyle PUBLIC "-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN" CDATA DSSSL>
|
|
||||||
]]>
|
|
||||||
|
|
||||||
]>
|
]>
|
||||||
|
|
||||||
<style-sheet>
|
<style-sheet>
|
||||||
@ -796,44 +791,6 @@
|
|||||||
|
|
||||||
]]> <!-- %output-print -->
|
]]> <!-- %output-print -->
|
||||||
|
|
||||||
|
|
||||||
<!-- Plain text output customization ............................... -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
This is used for making the INSTALL file and others. We customize the
|
|
||||||
HTML stylesheets to be suitable for dumping plain text (via Netscape,
|
|
||||||
Lynx, or similar).
|
|
||||||
-->
|
|
||||||
|
|
||||||
<![ %output-text; [
|
|
||||||
|
|
||||||
(define %section-autolabel% #f)
|
|
||||||
(define %chapter-autolabel% #f)
|
|
||||||
(define $generate-chapter-toc$ (lambda () #f))
|
|
||||||
|
|
||||||
;; For text output, produce "ASCII markup" for emphasis and such.
|
|
||||||
|
|
||||||
(define ($asterix-seq$ #!optional (sosofo (process-children)))
|
|
||||||
(make sequence
|
|
||||||
(literal "*")
|
|
||||||
sosofo
|
|
||||||
(literal "*")))
|
|
||||||
|
|
||||||
(define ($dquote-seq$ #!optional (sosofo (process-children)))
|
|
||||||
(make sequence
|
|
||||||
(literal (gentext-start-quote))
|
|
||||||
sosofo
|
|
||||||
(literal (gentext-end-quote))))
|
|
||||||
|
|
||||||
(element (para command) ($dquote-seq$))
|
|
||||||
(element (para emphasis) ($asterix-seq$))
|
|
||||||
(element (para filename) ($dquote-seq$))
|
|
||||||
(element (para option) ($dquote-seq$))
|
|
||||||
(element (para replaceable) ($dquote-seq$))
|
|
||||||
(element (para userinput) ($dquote-seq$))
|
|
||||||
|
|
||||||
]]> <!-- %output-text -->
|
|
||||||
|
|
||||||
</style-specification-body>
|
</style-specification-body>
|
||||||
</style-specification>
|
</style-specification>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user