mirror of
https://github.com/EnterpriseDB/repmgr.git
synced 2026-03-22 22:56:29 +00:00
More document boilerplate
This commit is contained in:
5
doc/.gitignore
vendored
Normal file
5
doc/.gitignore
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
HTML.index
|
||||
bookindex.sgml
|
||||
html-stamp
|
||||
html/
|
||||
version.sgml
|
||||
53
doc/legal.sgml
Normal file
53
doc/legal.sgml
Normal file
@@ -0,0 +1,53 @@
|
||||
<!-- doc/src/sgml/legal.sgml -->
|
||||
|
||||
<date>2016</date>
|
||||
|
||||
<copyright>
|
||||
<year>1996-2016</year>
|
||||
<holder>The PostgreSQL Global Development Group</holder>
|
||||
</copyright>
|
||||
|
||||
<legalnotice id="legalnotice">
|
||||
<title>Legal Notice</title>
|
||||
|
||||
<para>
|
||||
<productname>Postgres BDR</productname> is Copyright © 2013-2016
|
||||
by the PostgreSQL Global Development Group.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<productname>PostgreSQL</productname> is Copyright © 1996-2016
|
||||
by the PostgreSQL Global Development Group.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<productname>Postgres95</productname> is Copyright © 1994-5
|
||||
by the Regents of the University of California.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Permission to use, copy, modify, and distribute this software and
|
||||
its documentation for any purpose, without fee, and without a
|
||||
written agreement is hereby granted, provided that the above
|
||||
copyright notice and this paragraph and the following two paragraphs
|
||||
appear in all copies.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY
|
||||
PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS
|
||||
SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA
|
||||
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
|
||||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
|
||||
PROVIDED HEREUNDER IS ON AN <quote>AS-IS</quote> BASIS, AND THE UNIVERSITY OF
|
||||
CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
|
||||
UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
||||
</para>
|
||||
|
||||
</legalnotice>
|
||||
@@ -36,8 +36,8 @@
|
||||
<ulink url="http://2ndquadrant.com">2ndQuadrant</ulink>
|
||||
along with contributions from other individuals and companies.
|
||||
Contributions from the community are appreciated and welcome - get
|
||||
in touch via <ulink url="http://github.com/2ndQuadrant/bdr">github</>
|
||||
or <ulink url="https://groups.google.com/a/2ndquadrant.com/forum/#!forum/bdr-list">the mailing list/forum</>.
|
||||
in touch via <ulink url="http://github.com/2ndQuadrant/repmgr">github</>
|
||||
or <ulink url="http://groups.google.com/group/repmgr">the mailing list/forum</>.
|
||||
Multiple 2ndQuadrant customers contribute funding
|
||||
to make repmgr development possible.
|
||||
</para>
|
||||
@@ -48,7 +48,7 @@
|
||||
Other companies as well as individual developers
|
||||
are welcome to participate in the efforts.
|
||||
</para>
|
||||
|
||||
</abstract>
|
||||
|
||||
<keywordset>
|
||||
<keyword>repmgr</keyword>
|
||||
@@ -62,12 +62,6 @@
|
||||
|
||||
</part>
|
||||
|
||||
<part id="manual" xreflabel="repmgr administration manual">
|
||||
<title>repmgr administration manual</title>
|
||||
|
||||
|
||||
</part>
|
||||
|
||||
|
||||
<![%include-index;[&bookindex;]]>
|
||||
<![%include-xslt-index;[<index id="bookindex"></index>]]>
|
||||
|
||||
96
doc/stylesheet.css
Normal file
96
doc/stylesheet.css
Normal file
@@ -0,0 +1,96 @@
|
||||
/* doc/src/sgml/stylesheet.css */
|
||||
|
||||
/* color scheme similar to www.postgresql.org */
|
||||
|
||||
BODY {
|
||||
color: #000000;
|
||||
background: #FFFFFF;
|
||||
font-family: verdana, sans-serif;
|
||||
}
|
||||
|
||||
A:link { color:#0066A2; }
|
||||
A:visited { color:#004E66; }
|
||||
A:active { color:#0066A2; }
|
||||
A:hover { color:#000000; }
|
||||
|
||||
H1 {
|
||||
font-size: 1.4em;
|
||||
font-weight: bold;
|
||||
margin-top: 0em;
|
||||
margin-bottom: 0em;
|
||||
color: #EC5800;
|
||||
}
|
||||
|
||||
H2 {
|
||||
font-size: 1.2em;
|
||||
margin: 1.2em 0em 1.2em 0em;
|
||||
font-weight: bold;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
H3 {
|
||||
font-size: 1.1em;
|
||||
margin: 1.2em 0em 1.2em 0em;
|
||||
font-weight: bold;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
H4 {
|
||||
font-size: 0.95em;
|
||||
margin: 1.2em 0em 1.2em 0em;
|
||||
font-weight: normal;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
H5 {
|
||||
font-size: 0.9em;
|
||||
margin: 1.2em 0em 1.2em 0em;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
H6 {
|
||||
font-size: 0.85em;
|
||||
margin: 1.2em 0em 1.2em 0em;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
/* center some titles */
|
||||
|
||||
.BOOK .TITLE, .BOOK .CORPAUTHOR, .BOOK .COPYRIGHT {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* decoration for formal examples */
|
||||
|
||||
DIV.EXAMPLE {
|
||||
padding-left: 15px;
|
||||
border-style: solid;
|
||||
border-width: 0px;
|
||||
border-left-width: 2px;
|
||||
border-color: black;
|
||||
margin: 0.5ex;
|
||||
}
|
||||
|
||||
/* less dense spacing of TOC */
|
||||
|
||||
.BOOK .TOC DL DT {
|
||||
padding-top: 1.5ex;
|
||||
padding-bottom: 1.5ex;
|
||||
}
|
||||
|
||||
.BOOK .TOC DL DL DT {
|
||||
padding-top: 0ex;
|
||||
padding-bottom: 0ex;
|
||||
}
|
||||
|
||||
/* miscellaneous */
|
||||
|
||||
PRE.LITERALLAYOUT, .SCREEN, .SYNOPSIS, .PROGRAMLISTING {
|
||||
margin-left: 4ex;
|
||||
}
|
||||
|
||||
.COMMENT { color: red; }
|
||||
|
||||
VAR { font-family: monospace; font-style: italic; }
|
||||
/* Konqueror's standard style for ACRONYM is italic. */
|
||||
ACRONYM { font-style: inherit; }
|
||||
851
doc/stylesheet.dsl
Normal file
851
doc/stylesheet.dsl
Normal file
@@ -0,0 +1,851 @@
|
||||
<!-- doc/src/sgml/stylesheet.dsl -->
|
||||
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
|
||||
|
||||
<!-- must turn on one of these with -i on the jade command line -->
|
||||
<!ENTITY % output-html "IGNORE">
|
||||
<!ENTITY % output-print "IGNORE">
|
||||
<!ENTITY % output-text "IGNORE">
|
||||
|
||||
<![ %output-html; [
|
||||
<!ENTITY dbstyle PUBLIC "-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN" CDATA DSSSL>
|
||||
]]>
|
||||
|
||||
<![ %output-print; [
|
||||
<!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-specification use="docbook">
|
||||
<style-specification-body>
|
||||
|
||||
<!-- general customization ......................................... -->
|
||||
|
||||
<!-- (applicable to all output formats) -->
|
||||
|
||||
(define draft-mode #f)
|
||||
|
||||
;; Don't show manpage volume numbers
|
||||
(define %refentry-xref-manvolnum% #f)
|
||||
|
||||
;; Don't use graphics for callouts. (We could probably do that, but
|
||||
;; it needs extra work.)
|
||||
(define %callout-graphics% #f)
|
||||
|
||||
;; Show comments during the development stage.
|
||||
(define %show-comments% draft-mode)
|
||||
|
||||
;; Force a chapter TOC even if it includes only a single entry
|
||||
(define %force-chapter-toc% #t)
|
||||
|
||||
;; Don't append period if run-in title ends with any of these
|
||||
;; characters. We had to add the colon here. This is fixed in
|
||||
;; stylesheets version 1.71, so it can be removed sometime.
|
||||
(define %content-title-end-punct%
|
||||
'(#\. #\! #\? #\:))
|
||||
|
||||
;; No automatic punctuation after honorific name parts
|
||||
(define %honorific-punctuation% "")
|
||||
|
||||
;; Change display of some elements
|
||||
(element command ($mono-seq$))
|
||||
(element envar ($mono-seq$))
|
||||
(element lineannotation ($italic-seq$))
|
||||
(element literal ($mono-seq$))
|
||||
(element option ($mono-seq$))
|
||||
(element parameter ($mono-seq$))
|
||||
(element structfield ($mono-seq$))
|
||||
(element structname ($mono-seq$))
|
||||
(element symbol ($mono-seq$))
|
||||
(element token ($mono-seq$))
|
||||
(element type ($mono-seq$))
|
||||
(element varname ($mono-seq$))
|
||||
(element (programlisting emphasis) ($bold-seq$)) ;; to highlight sections of code
|
||||
|
||||
;; Special support for Tcl synopses
|
||||
(element optional
|
||||
(if (equal? (attribute-string (normalize "role")) "tcl")
|
||||
(make sequence
|
||||
(literal "?")
|
||||
($charseq$)
|
||||
(literal "?"))
|
||||
(make sequence
|
||||
(literal %arg-choice-opt-open-str%)
|
||||
($charseq$)
|
||||
(literal %arg-choice-opt-close-str%))))
|
||||
|
||||
;; Avoid excessive cross-reference labels
|
||||
(define (auto-xref-indirect? target ancestor)
|
||||
(cond
|
||||
; ;; Always add indirect references to another book
|
||||
; ((member (gi ancestor) (book-element-list))
|
||||
; #t)
|
||||
;; Add indirect references to the section or component a block
|
||||
;; is in iff chapters aren't autolabelled. (Otherwise "Figure 1-3"
|
||||
;; is sufficient)
|
||||
((and (member (gi target) (block-element-list))
|
||||
(not %chapter-autolabel%))
|
||||
#t)
|
||||
;; Add indirect references to the component a section is in if
|
||||
;; the sections are not autolabelled
|
||||
((and (member (gi target) (section-element-list))
|
||||
(member (gi ancestor) (component-element-list))
|
||||
(not %section-autolabel%))
|
||||
#t)
|
||||
(else #f)))
|
||||
|
||||
|
||||
;; Bibliography things
|
||||
|
||||
;; Use the titles of bibliography entries in cross-references
|
||||
(define biblio-xref-title #t)
|
||||
|
||||
;; Process bibliography entry components in the order shown below, not
|
||||
;; in the order they appear in the document. (I suppose this should
|
||||
;; be made to fit some publishing standard.)
|
||||
(define %biblioentry-in-entry-order% #f)
|
||||
|
||||
(define (biblioentry-inline-elements)
|
||||
(list
|
||||
(normalize "author")
|
||||
(normalize "authorgroup")
|
||||
(normalize "title")
|
||||
(normalize "subtitle")
|
||||
(normalize "volumenum")
|
||||
(normalize "edition")
|
||||
(normalize "othercredit")
|
||||
(normalize "contrib")
|
||||
(normalize "editor")
|
||||
(normalize "publishername")
|
||||
(normalize "confgroup")
|
||||
(normalize "publisher")
|
||||
(normalize "isbn")
|
||||
(normalize "issn")
|
||||
(normalize "pubsnumber")
|
||||
(normalize "date")
|
||||
(normalize "pubdate")
|
||||
(normalize "pagenums")
|
||||
(normalize "bibliomisc")))
|
||||
|
||||
(mode biblioentry-inline-mode
|
||||
|
||||
(element confgroup
|
||||
(make sequence
|
||||
(literal "Proc. ")
|
||||
(next-match)))
|
||||
|
||||
(element isbn
|
||||
(make sequence
|
||||
(literal "ISBN ")
|
||||
(process-children)))
|
||||
|
||||
(element issn
|
||||
(make sequence
|
||||
(literal "ISSN ")
|
||||
(process-children))))
|
||||
|
||||
|
||||
;; The rules in the default stylesheet for productname format it as a
|
||||
;; paragraph. This may be suitable for productname directly within
|
||||
;; *info, but it's nonsense when productname is used inline, as we do.
|
||||
(mode book-titlepage-recto-mode
|
||||
(element (para productname) ($charseq$)))
|
||||
(mode book-titlepage-verso-mode
|
||||
(element (para productname) ($charseq$)))
|
||||
;; Add more here if needed...
|
||||
|
||||
|
||||
;; Replace a sequence of whitespace in a string by a single space
|
||||
(define (normalize-whitespace str #!optional (whitespace '(#\space #\U-000D)))
|
||||
(let loop ((characters (string->list str))
|
||||
(result '())
|
||||
(prev-was-space #f))
|
||||
(if (null? characters)
|
||||
(list->string (reverse result))
|
||||
(let ((c (car characters))
|
||||
(rest (cdr characters)))
|
||||
(if (member c whitespace)
|
||||
(if prev-was-space
|
||||
(loop rest result #t)
|
||||
(loop rest (cons #\space result) #t))
|
||||
(loop rest (cons c result) #f))))))
|
||||
|
||||
|
||||
<!-- HTML output customization ..................................... -->
|
||||
|
||||
<![ %output-html; [
|
||||
|
||||
(define %section-autolabel% #t)
|
||||
(define %label-preface-sections% #f)
|
||||
(define %generate-legalnotice-link% #t)
|
||||
(define %html-ext% ".html")
|
||||
(define %root-filename% "index")
|
||||
(define %link-mailto-url% (string-append "mailto: repmgr-list@2ndquadrant.com"))
|
||||
(define %use-id-as-filename% #t)
|
||||
(define website-build #f)
|
||||
(define %stylesheet% (if website-build "/resources/docs.css" "website-docs.css"))
|
||||
(define %graphic-default-extension% "gif")
|
||||
(define %body-attr% '())
|
||||
(define ($generate-book-lot-list$) '())
|
||||
(define use-output-dir #t)
|
||||
(define %output-dir% "html")
|
||||
(define html-index-filename "../HTML.index")
|
||||
|
||||
|
||||
;; Only build HTML.index or the actual HTML output, not both. Saves a
|
||||
;; *lot* of time. (overrides docbook.dsl)
|
||||
(root
|
||||
(if (not html-index)
|
||||
(make sequence
|
||||
(process-children)
|
||||
(with-mode manifest
|
||||
(process-children)))
|
||||
(with-mode htmlindex
|
||||
(process-children))))
|
||||
|
||||
|
||||
;; Do not combine first section into chapter chunk.
|
||||
(define (chunk-skip-first-element-list) '())
|
||||
|
||||
;; Returns the depth of auto TOC that should be made at the nd-level
|
||||
(define (toc-depth nd)
|
||||
(cond ((string=? (gi nd) (normalize "book")) 2)
|
||||
((string=? (gi nd) (normalize "part")) 2)
|
||||
((string=? (gi nd) (normalize "chapter")) 2)
|
||||
(else 1)))
|
||||
|
||||
;; Add character encoding and time of creation into HTML header
|
||||
(define %html-header-tags%
|
||||
(list (list "META" '("HTTP-EQUIV" "Content-Type") '("CONTENT" "text/html; charset=ISO-8859-1"))
|
||||
(list "META" '("NAME" "creation") (list "CONTENT" (time->string (time) #t)))))
|
||||
|
||||
|
||||
;; Block elements are allowed in PARA in DocBook, but not in P in
|
||||
;; HTML. With %fix-para-wrappers% turned on, the stylesheets attempt
|
||||
;; to avoid putting block elements in HTML P tags by outputting
|
||||
;; additional end/begin P pairs around them.
|
||||
(define %fix-para-wrappers% #t)
|
||||
|
||||
;; ...but we need to do some extra work to make the above apply to PRE
|
||||
;; as well. (mostly pasted from dbverb.dsl)
|
||||
(define ($verbatim-display$ indent line-numbers?)
|
||||
(let ((content (make element gi: "PRE"
|
||||
attributes: (list
|
||||
(list "CLASS" (gi)))
|
||||
(if (or indent line-numbers?)
|
||||
($verbatim-line-by-line$ indent line-numbers?)
|
||||
(process-children)))))
|
||||
(if %shade-verbatim%
|
||||
(make element gi: "TABLE"
|
||||
attributes: ($shade-verbatim-attr$)
|
||||
(make element gi: "TR"
|
||||
(make element gi: "TD"
|
||||
content)))
|
||||
(make sequence
|
||||
(para-check)
|
||||
content
|
||||
(para-check 'restart)))))
|
||||
|
||||
;; ...and for notes.
|
||||
(element note
|
||||
(make sequence
|
||||
(para-check)
|
||||
($admonition$)
|
||||
(para-check 'restart)))
|
||||
|
||||
;;; XXX The above is very ugly. It might be better to run 'tidy' on
|
||||
;;; the resulting *.html files.
|
||||
|
||||
|
||||
;; Format multiple terms in varlistentry vertically, instead
|
||||
;; of comma-separated.
|
||||
(element (varlistentry term)
|
||||
(make sequence
|
||||
(process-children-trim)
|
||||
(if (not (last-sibling?))
|
||||
(make empty-element gi: "BR")
|
||||
(empty-sosofo))))
|
||||
|
||||
|
||||
;; Customization of header
|
||||
;; - make title a link to the home page
|
||||
;; - add tool tips to Prev/Next links
|
||||
;; - add Up link
|
||||
;; (overrides dbnavig.dsl)
|
||||
(define (default-header-nav-tbl-noff elemnode prev next prevsib nextsib)
|
||||
(let* ((r1? (nav-banner? elemnode))
|
||||
(r1-sosofo (make element gi: "TR"
|
||||
(make element gi: "TH"
|
||||
attributes: (list
|
||||
(list "COLSPAN" "4")
|
||||
(list "ALIGN" "center")
|
||||
(list "VALIGN" "bottom"))
|
||||
(make element gi: "A"
|
||||
attributes: (list
|
||||
(list "HREF" (href-to (nav-home elemnode))))
|
||||
(nav-banner elemnode)))))
|
||||
(r2? (or (not (node-list-empty? prev))
|
||||
(not (node-list-empty? next))
|
||||
(nav-context? elemnode)))
|
||||
(r2-sosofo (make element gi: "TR"
|
||||
(make element gi: "TD"
|
||||
attributes: (list
|
||||
(list "WIDTH" "10%")
|
||||
(list "ALIGN" "left")
|
||||
(list "VALIGN" "top"))
|
||||
(if (node-list-empty? prev)
|
||||
(make entity-ref name: "nbsp")
|
||||
(make element gi: "A"
|
||||
attributes: (list
|
||||
(list "TITLE" (element-title-string prev))
|
||||
(list "HREF"
|
||||
(href-to
|
||||
prev))
|
||||
(list "ACCESSKEY"
|
||||
"P"))
|
||||
(gentext-nav-prev prev))))
|
||||
(make element gi: "TD"
|
||||
attributes: (list
|
||||
(list "WIDTH" "10%")
|
||||
(list "ALIGN" "left")
|
||||
(list "VALIGN" "top"))
|
||||
(if (nav-up? elemnode)
|
||||
(nav-up elemnode)
|
||||
(nav-home-link elemnode)))
|
||||
(make element gi: "TD"
|
||||
attributes: (list
|
||||
(list "WIDTH" "60%")
|
||||
(list "ALIGN" "center")
|
||||
(list "VALIGN" "bottom"))
|
||||
(nav-context elemnode))
|
||||
(make element gi: "TD"
|
||||
attributes: (list
|
||||
(list "WIDTH" "20%")
|
||||
(list "ALIGN" "right")
|
||||
(list "VALIGN" "top"))
|
||||
(if (node-list-empty? next)
|
||||
(make entity-ref name: "nbsp")
|
||||
(make element gi: "A"
|
||||
attributes: (list
|
||||
(list "TITLE" (element-title-string next))
|
||||
(list "HREF"
|
||||
(href-to
|
||||
next))
|
||||
(list "ACCESSKEY"
|
||||
"N"))
|
||||
(gentext-nav-next next)))))))
|
||||
(if (or r1? r2?)
|
||||
(make element gi: "DIV"
|
||||
attributes: '(("CLASS" "NAVHEADER"))
|
||||
(make element gi: "TABLE"
|
||||
attributes: (list
|
||||
(list "SUMMARY" "Header navigation table")
|
||||
(list "WIDTH" %gentext-nav-tblwidth%)
|
||||
(list "BORDER" "0")
|
||||
(list "CELLPADDING" "0")
|
||||
(list "CELLSPACING" "0"))
|
||||
(if r1? r1-sosofo (empty-sosofo))
|
||||
(if r2? r2-sosofo (empty-sosofo)))
|
||||
(make empty-element gi: "HR"
|
||||
attributes: (list
|
||||
(list "ALIGN" "LEFT")
|
||||
(list "WIDTH" %gentext-nav-tblwidth%))))
|
||||
(empty-sosofo))))
|
||||
|
||||
|
||||
;; Put index "quicklinks" (A | B | C | ...) at the top of the bookindex page.
|
||||
|
||||
(element index
|
||||
(let ((preamble (node-list-filter-by-not-gi
|
||||
(children (current-node))
|
||||
(list (normalize "indexentry"))))
|
||||
(indexdivs (node-list-filter-by-gi
|
||||
(children (current-node))
|
||||
(list (normalize "indexdiv"))))
|
||||
(entries (node-list-filter-by-gi
|
||||
(children (current-node))
|
||||
(list (normalize "indexentry")))))
|
||||
(html-document
|
||||
(with-mode head-title-mode
|
||||
(literal (element-title-string (current-node))))
|
||||
(make element gi: "DIV"
|
||||
attributes: (list (list "CLASS" (gi)))
|
||||
($component-separator$)
|
||||
($component-title$)
|
||||
(if (node-list-empty? indexdivs)
|
||||
(empty-sosofo)
|
||||
(make element gi: "P"
|
||||
attributes: (list (list "CLASS" "INDEXDIV-QUICKLINKS"))
|
||||
(with-mode indexdiv-quicklinks-mode
|
||||
(process-node-list indexdivs))))
|
||||
(process-node-list preamble)
|
||||
(if (node-list-empty? entries)
|
||||
(empty-sosofo)
|
||||
(make element gi: "DL"
|
||||
(process-node-list entries)))))))
|
||||
|
||||
|
||||
(mode indexdiv-quicklinks-mode
|
||||
(element indexdiv
|
||||
(make sequence
|
||||
(make element gi: "A"
|
||||
attributes: (list (list "HREF" (href-to (current-node))))
|
||||
(element-title-sosofo))
|
||||
(if (not (last-sibling?))
|
||||
(literal " | ")
|
||||
(literal "")))))
|
||||
|
||||
|
||||
;; Changed to strip and normalize index term content (overrides
|
||||
;; dbindex.dsl)
|
||||
(define (htmlindexterm)
|
||||
(let* ((attr (gi (current-node)))
|
||||
(content (data (current-node)))
|
||||
(string (strip (normalize-whitespace content))) ;; changed
|
||||
(sortas (attribute-string (normalize "sortas"))))
|
||||
(make sequence
|
||||
(make formatting-instruction data: attr)
|
||||
(if sortas
|
||||
(make sequence
|
||||
(make formatting-instruction data: "[")
|
||||
(make formatting-instruction data: sortas)
|
||||
(make formatting-instruction data: "]"))
|
||||
(empty-sosofo))
|
||||
(make formatting-instruction data: " ")
|
||||
(make formatting-instruction data: string)
|
||||
(htmlnewline))))
|
||||
|
||||
(define ($html-body-start$)
|
||||
(if website-build
|
||||
(make empty-element gi: "!--#include virtual=\"/resources/docs-header.html\"--")
|
||||
(empty-sosofo)))
|
||||
|
||||
(define ($html-body-end$)
|
||||
(if website-build
|
||||
(make empty-element gi: "!--#include virtual=\"/resources/docs-footer.html\"--")
|
||||
(empty-sosofo)))
|
||||
|
||||
]]> <!-- %output-html -->
|
||||
|
||||
|
||||
<!-- Print output customization .................................... -->
|
||||
|
||||
<![ %output-print; [
|
||||
|
||||
(define %section-autolabel% #t)
|
||||
(define %default-quadding% 'justify)
|
||||
|
||||
;; Don't know how well hyphenation works with other backends. Might
|
||||
;; turn this on if desired.
|
||||
(define %hyphenation%
|
||||
(if tex-backend #t #f))
|
||||
|
||||
;; Put footnotes at the bottom of the page (rather than end of
|
||||
;; section), and put the URLs of links into footnotes.
|
||||
;;
|
||||
;; bop-footnotes only works with TeX, otherwise it's ignored. But
|
||||
;; when both of these are #t and TeX is used, you need at least
|
||||
;; stylesheets 1.73 because otherwise you don't get any footnotes at
|
||||
;; all for the links.
|
||||
(define bop-footnotes #t)
|
||||
(define %footnote-ulinks% #t)
|
||||
|
||||
(define %refentry-new-page% #t)
|
||||
(define %refentry-keep% #f)
|
||||
|
||||
;; Disabled because of TeX problems
|
||||
;; (http://archives.postgresql.org/pgsql-docs/2007-12/msg00056.php)
|
||||
(define ($generate-book-lot-list$) '())
|
||||
|
||||
;; Indentation of verbatim environments. (This should really be done
|
||||
;; with start-indent in DSSSL.)
|
||||
;; Use of indentation in this area exposes a bug in openjade,
|
||||
;; http://archives.postgresql.org/pgsql-docs/2006-12/msg00064.php
|
||||
;; (define %indent-programlisting-lines% " ")
|
||||
;; (define %indent-screen-lines% " ")
|
||||
;; (define %indent-synopsis-lines% " ")
|
||||
|
||||
|
||||
;; Default graphic format: Jadetex wants eps, pdfjadetex wants pdf.
|
||||
;; (Note that pdfjadetex will not accept eps, that's why we need to
|
||||
;; create a different .tex file for each.) What works with RTF?
|
||||
|
||||
(define texpdf-output #f) ;; override from command line
|
||||
|
||||
(define %graphic-default-extension%
|
||||
(cond (tex-backend (if texpdf-output "pdf" "eps"))
|
||||
(rtf-backend "gif")
|
||||
(else "XXX")))
|
||||
|
||||
;; Need to add pdf here so that the above works. Default setup
|
||||
;; doesn't know about PDF.
|
||||
(define preferred-mediaobject-extensions
|
||||
(list "eps" "ps" "jpg" "jpeg" "pdf" "png"))
|
||||
|
||||
|
||||
;; Don't show links when citing a bibliography entry. This fouls up
|
||||
;; the footnumber counting. To get the link, one can still look into
|
||||
;; the bibliography itself.
|
||||
(mode xref-title-mode
|
||||
(element ulink
|
||||
(process-children)))
|
||||
|
||||
|
||||
;; Format legalnotice justified and with space between paragraphs.
|
||||
(mode book-titlepage-verso-mode
|
||||
(element (legalnotice para)
|
||||
(make paragraph
|
||||
use: book-titlepage-verso-style ;; alter this if ever it needs to appear elsewhere
|
||||
quadding: %default-quadding%
|
||||
line-spacing: (* 0.8 (inherited-line-spacing))
|
||||
font-size: (* 0.8 (inherited-font-size))
|
||||
space-before: (* 0.8 %para-sep%)
|
||||
space-after: (* 0.8 %para-sep%)
|
||||
first-line-start-indent: (if (is-first-para)
|
||||
(* 0.8 %para-indent-firstpara%)
|
||||
(* 0.8 %para-indent%))
|
||||
(process-children))))
|
||||
|
||||
|
||||
;; Fix spacing problems in variablelists
|
||||
|
||||
(element (varlistentry term)
|
||||
(make paragraph
|
||||
space-before: (if (first-sibling?)
|
||||
%para-sep%
|
||||
0pt)
|
||||
keep-with-next?: #t
|
||||
(process-children)))
|
||||
|
||||
(define %varlistentry-indent% 2em)
|
||||
|
||||
(element (varlistentry listitem)
|
||||
(make sequence
|
||||
start-indent: (+ (inherited-start-indent) %varlistentry-indent%)
|
||||
(process-children)))
|
||||
|
||||
|
||||
;; Whitespace fixes for itemizedlists and orderedlists
|
||||
|
||||
(define (process-listitem-content)
|
||||
(if (absolute-first-sibling?)
|
||||
(make sequence
|
||||
(process-children-trim))
|
||||
(next-match)))
|
||||
|
||||
|
||||
;; Default stylesheets format simplelists as tables. This spells
|
||||
;; trouble for Jade. So we just format them as plain lines.
|
||||
|
||||
(define %simplelist-indent% 1em)
|
||||
|
||||
(define (my-simplelist-vert members)
|
||||
(make display-group
|
||||
space-before: %para-sep%
|
||||
space-after: %para-sep%
|
||||
start-indent: (+ %simplelist-indent% (inherited-start-indent))
|
||||
(process-children)))
|
||||
|
||||
(element simplelist
|
||||
(let ((type (attribute-string (normalize "type")))
|
||||
(cols (if (attribute-string (normalize "columns"))
|
||||
(if (> (string->number (attribute-string (normalize "columns"))) 0)
|
||||
(string->number (attribute-string (normalize "columns")))
|
||||
1)
|
||||
1))
|
||||
(members (select-elements (children (current-node)) (normalize "member"))))
|
||||
(cond
|
||||
((equal? type (normalize "inline"))
|
||||
(if (equal? (gi (parent (current-node)))
|
||||
(normalize "para"))
|
||||
(process-children)
|
||||
(make paragraph
|
||||
space-before: %para-sep%
|
||||
space-after: %para-sep%
|
||||
start-indent: (inherited-start-indent))))
|
||||
((equal? type (normalize "vert"))
|
||||
(my-simplelist-vert members))
|
||||
((equal? type (normalize "horiz"))
|
||||
(simplelist-table 'row cols members)))))
|
||||
|
||||
(element member
|
||||
(let ((type (inherited-attribute-string (normalize "type"))))
|
||||
(cond
|
||||
((equal? type (normalize "inline"))
|
||||
(make sequence
|
||||
(process-children)
|
||||
(if (not (last-sibling?))
|
||||
(literal ", ")
|
||||
(literal ""))))
|
||||
((equal? type (normalize "vert"))
|
||||
(make paragraph
|
||||
space-before: 0pt
|
||||
space-after: 0pt))
|
||||
((equal? type (normalize "horiz"))
|
||||
(make paragraph
|
||||
quadding: 'start
|
||||
(process-children))))))
|
||||
|
||||
|
||||
;; Jadetex doesn't handle links to the content of tables, so
|
||||
;; indexterms that point to table entries will go nowhere. We fix
|
||||
;; this by pointing the index entry to the table itself instead, which
|
||||
;; should be equally useful in practice.
|
||||
|
||||
(define (find-parent-table nd)
|
||||
(let ((table (ancestor-member nd ($table-element-list$))))
|
||||
(if (node-list-empty? table)
|
||||
nd
|
||||
table)))
|
||||
|
||||
;; (The function below overrides the one in print/dbindex.dsl.)
|
||||
|
||||
(define (indexentry-link nd)
|
||||
(let* ((id (attribute-string (normalize "role") nd))
|
||||
(prelim-target (find-indexterm id))
|
||||
(target (find-parent-table prelim-target))
|
||||
(preferred (not (node-list-empty?
|
||||
(select-elements (children (current-node))
|
||||
(normalize "emphasis")))))
|
||||
(sosofo (if (node-list-empty? target)
|
||||
(literal "?")
|
||||
(make link
|
||||
destination: (node-list-address target)
|
||||
(with-mode toc-page-number-mode
|
||||
(process-node-list target))))))
|
||||
(if preferred
|
||||
(make sequence
|
||||
font-weight: 'bold
|
||||
sosofo)
|
||||
sosofo)))
|
||||
|
||||
|
||||
;; By default, the part and reference title pages get wrong page
|
||||
;; numbers: The first title page gets roman numerals carried over from
|
||||
;; preface/toc -- we want Arabic numerals. We also need to make sure
|
||||
;; that page-number-restart is set of #f explicitly, because otherwise
|
||||
;; it will carry over from the previous component, which is not good.
|
||||
;;
|
||||
;; (This looks worse than it is. It's copied from print/dbttlpg.dsl
|
||||
;; and common/dbcommon.dsl and modified in minor detail.)
|
||||
|
||||
(define (first-part?)
|
||||
(let* ((book (ancestor (normalize "book")))
|
||||
(nd (ancestor-member (current-node)
|
||||
(append
|
||||
(component-element-list)
|
||||
(division-element-list))))
|
||||
(bookch (children book)))
|
||||
(let loop ((nl bookch))
|
||||
(if (node-list-empty? nl)
|
||||
#f
|
||||
(if (equal? (gi (node-list-first nl)) (normalize "part"))
|
||||
(if (node-list=? (node-list-first nl) nd)
|
||||
#t
|
||||
#f)
|
||||
(loop (node-list-rest nl)))))))
|
||||
|
||||
(define (first-reference?)
|
||||
(let* ((book (ancestor (normalize "book")))
|
||||
(nd (ancestor-member (current-node)
|
||||
(append
|
||||
(component-element-list)
|
||||
(division-element-list))))
|
||||
(bookch (children book)))
|
||||
(let loop ((nl bookch))
|
||||
(if (node-list-empty? nl)
|
||||
#f
|
||||
(if (equal? (gi (node-list-first nl)) (normalize "reference"))
|
||||
(if (node-list=? (node-list-first nl) nd)
|
||||
#t
|
||||
#f)
|
||||
(loop (node-list-rest nl)))))))
|
||||
|
||||
|
||||
(define (part-titlepage elements #!optional (side 'recto))
|
||||
(let ((nodelist (titlepage-nodelist
|
||||
(if (equal? side 'recto)
|
||||
(reference-titlepage-recto-elements)
|
||||
(reference-titlepage-verso-elements))
|
||||
elements))
|
||||
;; partintro is a special case...
|
||||
(partintro (node-list-first
|
||||
(node-list-filter-by-gi elements (list (normalize "partintro"))))))
|
||||
(if (part-titlepage-content? elements side)
|
||||
(make simple-page-sequence
|
||||
page-n-columns: %titlepage-n-columns%
|
||||
;; Make sure that page number format is correct.
|
||||
page-number-format: ($page-number-format$)
|
||||
;; Make sure that the page number is set to 1 if this is the
|
||||
;; first part in the book
|
||||
page-number-restart?: (first-part?)
|
||||
input-whitespace-treatment: 'collapse
|
||||
use: default-text-style
|
||||
|
||||
;; This hack is required for the RTF backend. If an external-graphic
|
||||
;; is the first thing on the page, RTF doesn't seem to do the right
|
||||
;; thing (the graphic winds up on the baseline of the first line
|
||||
;; of the page, left justified). This "one point rule" fixes
|
||||
;; that problem.
|
||||
(make paragraph
|
||||
line-spacing: 1pt
|
||||
(literal ""))
|
||||
|
||||
(let loop ((nl nodelist) (lastnode (empty-node-list)))
|
||||
(if (node-list-empty? nl)
|
||||
(empty-sosofo)
|
||||
(make sequence
|
||||
(if (or (node-list-empty? lastnode)
|
||||
(not (equal? (gi (node-list-first nl))
|
||||
(gi lastnode))))
|
||||
(part-titlepage-before (node-list-first nl) side)
|
||||
(empty-sosofo))
|
||||
(cond
|
||||
((equal? (gi (node-list-first nl)) (normalize "subtitle"))
|
||||
(part-titlepage-subtitle (node-list-first nl) side))
|
||||
((equal? (gi (node-list-first nl)) (normalize "title"))
|
||||
(part-titlepage-title (node-list-first nl) side))
|
||||
(else
|
||||
(part-titlepage-default (node-list-first nl) side)))
|
||||
(loop (node-list-rest nl) (node-list-first nl)))))
|
||||
|
||||
(if (and %generate-part-toc%
|
||||
%generate-part-toc-on-titlepage%
|
||||
(equal? side 'recto))
|
||||
(make display-group
|
||||
(build-toc (current-node)
|
||||
(toc-depth (current-node))))
|
||||
(empty-sosofo))
|
||||
|
||||
;; PartIntro is a special case
|
||||
(if (and (equal? side 'recto)
|
||||
(not (node-list-empty? partintro))
|
||||
%generate-partintro-on-titlepage%)
|
||||
($process-partintro$ partintro #f)
|
||||
(empty-sosofo)))
|
||||
|
||||
(empty-sosofo))))
|
||||
|
||||
|
||||
(define (reference-titlepage elements #!optional (side 'recto))
|
||||
(let ((nodelist (titlepage-nodelist
|
||||
(if (equal? side 'recto)
|
||||
(reference-titlepage-recto-elements)
|
||||
(reference-titlepage-verso-elements))
|
||||
elements))
|
||||
;; partintro is a special case...
|
||||
(partintro (node-list-first
|
||||
(node-list-filter-by-gi elements (list (normalize "partintro"))))))
|
||||
(if (reference-titlepage-content? elements side)
|
||||
(make simple-page-sequence
|
||||
page-n-columns: %titlepage-n-columns%
|
||||
;; Make sure that page number format is correct.
|
||||
page-number-format: ($page-number-format$)
|
||||
;; Make sure that the page number is set to 1 if this is the
|
||||
;; first part in the book
|
||||
page-number-restart?: (first-reference?)
|
||||
input-whitespace-treatment: 'collapse
|
||||
use: default-text-style
|
||||
|
||||
;; This hack is required for the RTF backend. If an external-graphic
|
||||
;; is the first thing on the page, RTF doesn't seem to do the right
|
||||
;; thing (the graphic winds up on the baseline of the first line
|
||||
;; of the page, left justified). This "one point rule" fixes
|
||||
;; that problem.
|
||||
(make paragraph
|
||||
line-spacing: 1pt
|
||||
(literal ""))
|
||||
|
||||
(let loop ((nl nodelist) (lastnode (empty-node-list)))
|
||||
(if (node-list-empty? nl)
|
||||
(empty-sosofo)
|
||||
(make sequence
|
||||
(if (or (node-list-empty? lastnode)
|
||||
(not (equal? (gi (node-list-first nl))
|
||||
(gi lastnode))))
|
||||
(reference-titlepage-before (node-list-first nl) side)
|
||||
(empty-sosofo))
|
||||
(cond
|
||||
((equal? (gi (node-list-first nl)) (normalize "author"))
|
||||
(reference-titlepage-author (node-list-first nl) side))
|
||||
((equal? (gi (node-list-first nl)) (normalize "authorgroup"))
|
||||
(reference-titlepage-authorgroup (node-list-first nl) side))
|
||||
((equal? (gi (node-list-first nl)) (normalize "corpauthor"))
|
||||
(reference-titlepage-corpauthor (node-list-first nl) side))
|
||||
((equal? (gi (node-list-first nl)) (normalize "editor"))
|
||||
(reference-titlepage-editor (node-list-first nl) side))
|
||||
((equal? (gi (node-list-first nl)) (normalize "subtitle"))
|
||||
(reference-titlepage-subtitle (node-list-first nl) side))
|
||||
((equal? (gi (node-list-first nl)) (normalize "title"))
|
||||
(reference-titlepage-title (node-list-first nl) side))
|
||||
(else
|
||||
(reference-titlepage-default (node-list-first nl) side)))
|
||||
(loop (node-list-rest nl) (node-list-first nl)))))
|
||||
|
||||
(if (and %generate-reference-toc%
|
||||
%generate-reference-toc-on-titlepage%
|
||||
(equal? side 'recto))
|
||||
(make display-group
|
||||
(build-toc (current-node)
|
||||
(toc-depth (current-node))))
|
||||
(empty-sosofo))
|
||||
|
||||
;; PartIntro is a special case
|
||||
(if (and (equal? side 'recto)
|
||||
(not (node-list-empty? partintro))
|
||||
%generate-partintro-on-titlepage%)
|
||||
($process-partintro$ partintro #f)
|
||||
(empty-sosofo)))
|
||||
|
||||
(empty-sosofo))))
|
||||
|
||||
]]> <!-- %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>
|
||||
|
||||
<external-specification id="docbook" document="dbstyle">
|
||||
</style-sheet>
|
||||
0
doc/website-docs.css
Normal file
0
doc/website-docs.css
Normal file
Reference in New Issue
Block a user