libreccm-legacy/ccm-ldn-aplaws/doc/docs-stuff/stylesheets/RHL7/redhat-html.dsl

443 lines
12 KiB
Plaintext
Executable File

<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!ENTITY dbstyle SYSTEM "/usr/lib/sgml/stylesheets/nwalsh-modular/html/docbook.dsl" CDATA DSSSL>
]>
<style-sheet>
<style-specification id="html" use="docbook">
<style-specification-body>
;;#######################################################################
;;# #
;;# Custom DocBook Stylesheet for Red Hat Documentation #
;;# by Dave Mason dcm@redhat.com #
;;# Based on Norman Walsh's Modular Stylesheets #
;;# #
;;# Modified by Tammy Fox tfox@redhat.com #
;;# November 2000 #
;;# #
;;# To use: #
;;# jade -t sgml -ihtml -d /path/to/redhat-html.dsl yoursgml.sgml #
;;# #
;;#######################################################################
(declare-characteristic preserve-sdata?
"UNREGISTERED::James Clark//Characteristic::preserve-sdata?"
#f)
;;=========================
;;General Items
;;=========================
;;Should there be a link to the legalnotice?
(define %generate-legalnotice-link%
#t)
;;Should Admon Graphics be used?
(define %admon-graphics%
#t)
;;Where are those admon graphics?
(define %admon-graphics-path%
"./stylesheet-images/")
;;What graphics extensions allowed?
(define %graphic-extensions%
'("gif" "jpg" "jpeg" "tif" "tiff" "eps" "epsf" ))
;;What is the default extension for images?
(define %graphic-default-extension% "gif")
;;Use element ids as filenames?
(define %use-id-as-filename%
#t)
;;Make titles of formal objects appear
;;after the objects defined in the list
(define ($object-titles-after$)
(list (normalize "figure")))
;;=========================
;;HTML Attributes
;;=========================
;;What attributes should be hung off of 'body'?
(define %body-attr%
(list
(list "BGCOLOR" "#FFFFFF")
(list "TEXT" "#000000")
(list "LINK" "#0000FF")
(list "VLINK" "#840084")
(list "ALINK" "#0000FF")))
;;Default extension for filenames?
(define %html-ext%
".html")
;;=========================
;;Book Stuff
;;=========================
;;Do you want a TOC for Books?
(define %generate-book-toc%
#t)
;;What depth does the TOC reach?
;; This depends on the elements used
;; and which is the highest level.
;; part(1), chapter(2), sect(3) -
;; chapter(1), sect1(2), sect2(3) - etc
(define (toc-depth nd)
(if (string=? (gi nd) (normalize "book"))
3 ;this is the important one!
1))
;;What elements should have an LOT?
(define ($generate-book-lot-list$)
(list (normalize "equation")))
;;Do you want a title page for your Book?
(define %generate-book-titlepage%
#t)
;;=========================
;;Part Stuff
;;=========================
;;Should parts have TOCs?
(define %generate-part-toc%
#t)
;;Should part TOCs be on their titlepages?
(define %generate-part-toc-on-titlepage%
#t)
;;Do you want a title page for your parts?
(define %generate-part-titlepage%
#t)
;;Should the Part intro be on the part title page?
(define %generate-partintro-on-titlepage%
#t)
;;=========================
;;Article Stuff
;;=========================
;;Should Articles have a TOC?
(define %generate-article-toc%
#t)
;;========================
;;Chapter Stuff
;;=======================
;;Should Chapters have a small TOC?
(define $generate-chapter-toc$
(lambda ()
#f))
;;=========================
;;Navigation
;;=========================
;;Should there be navigation at top?
(define %header-navigation%
#t)
;;Should there be navigation at bottom?
(define %footer-navigation%
#t)
;;Use tables to create the navigation?
;;Please make #t if you have any taste ;)
(define %gentext-nav-use-tables%
#t)
;;If tables are used for navigation, how wide should they be?
(define %gentext-nav-tblwidth%
"100%")
;;=========================
;;Tables and Lists
;;=========================
;;Should Variable lists be tables?
(define %always-format-variablelist-as-table%
#f)
;;What is the length of the 'Term' in a variablelist?
(define %default-variablelist-termlength%
20)
;;When true::If the terms are shorter than the termlength above then
;;the variablelist will be formatted as a table.
(define %may-format-variablelist-as-table%
#f)
;; This is a personal preference of how tables should look.
;; It also handles the tables better for use in Netscape
;; It changes the table background color, cell spacing and cell padding.
(element tgroup
(let* ((wrapper (parent (current-node)))
(frameattr (attribute-string (normalize "frame") wrapper))
(pgwide (attribute-string (normalize "pgwide") wrapper))
(footnotes (select-elements (descendants (current-node))
(normalize "footnote")))
(border (if (equal? frameattr (normalize "none"))
'(("BORDER" "0"))
'(("BORDER" "1"))))
(bgcolor '(("BGCOLOR" "#E0E0E0")))
(width (if (equal? pgwide "1")
(list (list "WIDTH" ($table-width$)))
'()))
(head (select-elements (children (current-node)) (normalize "thead")))
(body (select-elements (children (current-node)) (normalize "tbody")))
(feet (select-elements (children (current-node)) (normalize "tfoot"))))
(make element gi: "TABLE"
attributes: (append
border
width
bgcolor
'(("CELLSPACING" "0"))
'(("CELLPADDING" "4"))
(if %cals-table-class%
(list (list "CLASS" %cals-table-class%))
'()))
(process-node-list head)
(process-node-list body)
(process-node-list feet)
(make-table-endnotes))))
;;=========================
;;Elements
;;=========================
;;Indent Literal layouts?
(define %indent-literallayout-lines%
#f)
;;Indent Programlistings?
(define %indent-programlisting-lines%
#f)
;;Number lines in Programlistings?
(define %number-programlisting-lines%
#f)
;;Should verbatim items be 'shaded' with a table?
(define %shade-verbatim%
#t)
;;Define shade-verbatim attributes
(define ($shade-verbatim-attr$)
(list
(list "BORDER" "0")
(list "BGCOLOR" "#E0E0E0")
(list "WIDTH" ($table-width$))))
;;=================INLINES====================
;;Define your own series of fonts
;;and font formatting for various elements
(element application ($bold-seq$))
(element command ($mono-seq$))
(element filename ($mono-seq$))
(element function ($mono-seq$))
(element guibutton ($bold-seq$))
(element guiicon ($bold-seq$))
(element guilabel ($bold-seq$))
(element guimenu ($bold-seq$))
(element guimenuitem ($bold-seq$))
(element hardware ($bold-seq$))
(element keycap
($charseq$
(make element
(literal "[")
(process-children)
(literal "]"))))
(element literal ($mono-seq$))
(element parameter ($italic-mono-seq$))
(element prompt ($mono-seq$))
(element symbol ($charseq$))
(element emphasis ($italic-seq$))
;;Netscape doesn't handle trademark entity; at all!!
;;Make it a superscript "TM"
(element trademark
(make sequence
(process-children)
(make element gi: "sup"
(literal "TM"))))
;=============================================
;;========================
;;Title Pages for Books
;;=======================
;;This allows you to define what elements you
;;wish to have on the book titlepage.
;;Any element allowed in bookinfo is available.
(define (book-titlepage-recto-elements)
(list (normalize "title")
(normalize "subtitle")
(normalize "copyright")
(normalize "legalnotice")
(normalize "corpauthor")
(normalize "authorgroup")
(normalize "author")
(normalize "orgname")
(normalize "publisher")
(normalize "isbn")))
(mode book-titlepage-recto-mode
;;Prepend ISBN to ISBN number
;;tfox@redhat.com
(element isbn
($charseq$
(make sequence
(make element
attributes: (list
(list "CLASS" (gi)))
(literal "ISBN: ")
(process-children)))))
;;Make publishername bold
;;tfox@redhat.com
(element publishername
($bold-seq$
(make sequence
(make element
attributes: (list
(list "CLASS" (gi)))
(process-children)))))
;;Format address on titlepage
;;tfox@redhat.com
(element (publisher address)
(let (
(street (select-elements (children (current-node)) (normalize "STREET")))
(city (select-elements (children (current-node)) (normalize"CITY")))
(state (select-elements (children (current-node)) (normalize "STATE")))
(postcode (select-elements (children (current-node)) (normalize "POSTCODE")))
(country (select-elements (children (current-node)) (normalize "COUNTRY")))
(phone (select-elements (children (current-node)) (normalize "PHONE")))
(fax (select-elements (children (current-node)) (normalize "FAX")))
(email (select-elements (children (current-node)) (normalize "EMAIL")))
(pob (select-elements (children (current-node)) (normalize "POB")))
(otheraddr (select-elements (children (current-node)) (normalize "OTHERADDR")))
)
(make sequence
(make paragraph
(if(node-list-empty? street)
(empty-sosofo)
(make element gi: "BR"
(process-node-list street)))
(if(node-list-empty? pob)
(empty-sosofo)
(make element gi: "BR"
(literal "PO Box ")
(process-node-list pob)))
(make paragraph
(if(node-list-empty? city)
(empty-sosofo)
(make sequence
(process-node-list city)
(literal ", ")))
(if(node-list-empty? state)
(empty-sosofo)
(make sequence
(process-node-list state)
(literal " ")))
(make sequence
(process-node-list postcode)))
(make element gi: "BR"
(process-node-list country))
(if(node-list-empty? phone)
(empty-sosofo)
(make paragraph
(literal "Phone: ")
(process-node-list phone)))
(if(node-list-empty? otheraddr)
(empty-sosofo)
(make element gi: "BR"
(literal "Phone: ")
(process-node-list otheraddr)))
(make paragraph
(if(node-list-empty? fax)
(empty-sosofo)
(make sequence
(literal "Fax: ")
(process-node-list fax))))
(if(node-list-empty? email)
(empty-sosofo)
(make element gi: "BR"
(literal "Email: ")
(process-node-list email)))
))))
) <!--end of mode-->
;;========================
;;Title Pages for Articles
;;========================
;;This allows you to define what elements you
;;wish to have on the article titlepage.
;;Any element allowed in artheader is available.
(define (article-titlepage-recto-elements)
(list (normalize "title")
(normalize "subtitle")
(normalize "authorgroup")
(normalize "author")
(normalize "legalnotice")
(normalize "releaseinfo")
(normalize "pubdate")
(normalize "revhistory")
(normalize "affiliation")
(normalize "copyright")))
;;============================
;;Title for Formal Paragraphs
;;============================
;;The way formal paragraphs are displayed by default
;;is ugly! This makes it a much more useful element!
(element formalpara
(make element gi: "DIV"
attributes: (list
(list "CLASS" (gi)))
(make element gi: "P"
(process-children))))
;(element (formalpara title) ($lowtitle$ 5))
(element (formalpara title)
(make element gi: "B"
($runinhead$)))
</style-specification-body>
</style-specification>
<external-specification id="docbook" document="dbstyle">
</style-sheet>