aboutsummaryrefslogtreecommitdiff
path: root/sgml/freebsd.dsl
blob: fd01b89c0d76b2d5209eda24cdf25e33a75fc41c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!ENTITY dbstyle PUBLIC "-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN" CDATA DSSSL>
]>

<style-sheet>
  <style-specification use="docbook">
    <style-specification-body>

      <!-- Configure the stylesheet using documented variables -->

      (define %gentext-nav-use-tables%
        ;; Use tables to build the navigation headers and footers?
        #t)

      (define %html-ext%
        ;; Default extension for HTML output files
        ".html")

      (define %shade-verbatim%
        ;; Should verbatim environments be shaded?
        #f)

      (define %use-id-as-filename%
        ;; Use ID attributes as name for component HTML files?
        #t)
 
      (define %root-filename%
        ;; Name for the root HTML document
        "index")

      <!-- Slightly deeper customisations -->

      <!-- I want things marked up with 'sgmltag' eg., 

              <para>You can use <sgmltag>para</sgmltag> to indicate
                paragraphs.</para>

           to automatically have the opening and closing braces inserted,
           and it should be in a mono-spaced font. -->

      (element sgmltag ($mono-seq$
          (make sequence
            (literal "<")
            (process-children)
            (literal ">"))))

      <!-- John Fieber's 'instant' translation specification had 
           '<command>' rendered in a mono-space font, and '<application>'
           rendered in bold. 

           Norm's stylesheet doesn't do this (although '<command>' is 
           rendered in bold).

           Configure the stylesheet to behave more like John's. -->

      (element command ($mono-seq$))

      (element application ($bold-seq$))

      <!-- Tell the stylesheet about our local customisations -->
      
      (element hostid ($mono-seq$))
      (element username ($mono-seq$))
      (element devicename ($mono-seq$))
      (element maketarget ($mono-seq$))
      (element makevar ($mono-seq$))

      <!-- FAQList can wait. I've been drinking, and a brief glance at
           /usr/local/share/sgml/docbook/dsssl/modular/html/dblist.dsl is
           enough to bring me out in cold, Lisp induced sweats. . . -->

      <!-- This replaces the existing mechanism for showing verbatim
           blocks of text (programlistings, screens, and so forth.

           Norm's stylesheet renders these in a table, with optional
           shading if %shade-verbatim% is set. Previous practice for
           the LinuxDoc DTD (and John Fieber's stylesheet) was to
           indent them using <blockquote>. Stick with previous practice.

           Norm says he will introduce a tweakable knob to affect this
           in the future. -->
(define ($verbatim-display$ line-numbers?)
  (let ((content (make element gi: "BLOCKQUOTE"
                       attributes: (list
                                    (list "CLASS" (gi)))
                       (make element gi: "PRE"
                           (if line-numbers?
                               ($verbatim-content-with-linenumbers$)
                               ($verbatim-content$))))))
    (if %shade-verbatim%
        (make element gi: "TABLE"
              attributes: ($shade-verbatim-attr$)
              (make element gi: "TR"
                    (make element gi: "TD"
                          content)))
        content)))

    </style-specification-body>
  </style-specification>

  <external-specification id="docbook" document="dbstyle">
</style-sheet>