4.53 TK/04
[users/heiko/exim.git] / doc / doc-docbook / MyAsciidoc.conf
1 # $Cambridge: exim/doc/doc-docbook/MyAsciidoc.conf,v 1.1 2005/06/16 10:32:31 ph10 Exp $
2
3 # Asciidoc configuration customization for creating the DocBook XML sources
4 # of the Exim specification and the filter document.
5
6 [miscellaneous]
7 newline=\n
8
9 [quotes]
10 _=filename
11 $=varname
12 %=option
13 ^=command
14 ^^=function
15 ^%|%^=parameter
16 ``|''=quoted
17
18 [tags]
19 strong=<emphasis role="bold">|</emphasis>
20
21 filename=<filename>|</filename>
22 varname=<varname>$|</varname>
23 option=<option>|</option>
24 command=<command>|</command>
25 function=<function>|</function>
26 parameter=<parameter>|</parameter>
27 quoted=<quote>|</quote>
28
29
30 [replacements]
31 # Nothing - this is for disambiguating markup
32 "##"=
33
34 # -- En dash
35 (^|[^-])--($|[^-])=\1&#x2013;\2
36
37 # --- Em dash
38 (^|\s+)---($|\s+)=\1&#x8212;\2
39
40 # -- Hard space
41 ~=&#x00a0;
42
43 # ' automatic apostrophe
44 ([A-Za-z0-9])'([A-Za-z\s])=\1&#x2019;\2
45
46 # daggers
47 !!=&#x2020;
48 !\?=&#x2021;
49
50 # The default markup recognizes subscripts and superscripts using tilde and
51 # circumflex. We don't want this. These settings manage to turn off the
52 # effect, while still allowing tilde to be recognized as a hard space.
53 \^(.+?)\^=^\1^
54 ~(.+?)~=~\1~
55
56
57 [attributes]
58 # Manual apostrophe: needed for an apostrophe after something quoted, because
59 # I can't get the automatic one to work in that situation
60 ap=&#x2019;
61
62 # Manual tilde: tilde is defined as a hard space, and it doesn't seem possible
63 # to quote is using a backslash.
64 tl=&#x007e;
65
66 # Two hyphens, to stop them being treated as an en dash
67 hh=&#x002d;&#x002d;
68
69 # Percent: causes confusion with the quote otherwise
70 pc=&#x0025;
71
72 # Colon: there's a case where this causes trouble
73 co=&#x003A;
74
75 # The sequence "[]" for use in index terms
76 bk=&#x005B;&#x005D;
77
78
79 # We need to add extra stuff to the <bookinfo> element
80
81 [header]
82 <?xml {xmldecl}?>
83 <!DOCTYPE book {dtddecl}>
84
85 <book lang="en">
86 {doctitle#}<bookinfo>
87     <title>{doctitle}</title>
88     <titleabbrev>{doctitleabbrev}</titleabbrev>
89     <date>{date}</date>
90     {authored#}<author>
91         <firstname>{firstname}</firstname>
92         <othername>{middlename}</othername>
93         <surname>{lastname}</surname>
94     {authored#}</author>
95     <authorinitials>{authorinitials}</authorinitials>
96     {revisionhistory%}<revhistory><revision><revnumber>{revision}</revnumber><date>{date}</date>{authorinitials?<authorinitials>{authorinitials}</authorinitials>}{revremark?<revremark>{revremark}</revremark>}</revision></revhistory>
97     <corpname>{companyname}</corpname>
98     <othercredit><contrib>{othercredit},</contrib></othercredit>
99     {copyright#}<copyright><year>{cpyear}</year><holder>{copyright}</holder></copyright>
100     <abstract><para>{abstract}</para></abstract>
101 {doctitle#}</bookinfo>
102
103
104 # Define a new kind of block that maps to <literallayout> so as not to
105 # insist on a monospaced font. Delimiter is &&&.
106
107 [blockdef-literallayout]
108 delimiter=^&{3,}(\[(?P<args>.*)\])?=*$
109 template=literallayoutblock
110 presubs=specialcharacters,quotes,replacements,macros,callouts
111
112 # The template for my non-monospaced literal layout block
113
114 [literallayoutblock]
115 <literallayout{revisionflag? revisionflag="{revisionflag}"}>
116 |
117 </literallayout>
118
119
120 # Paragraph substitution - use <para> rather than <simplepara>
121
122 [paragraph]
123 {title#}<formalpara{id? id="{id}"{revisionflag? revisionflag="{revisionflag}"}}><title>{title}</title><para>
124 {title%}<para{id? id="{id}"}{revisionflag? revisionflag="{revisionflag}"}>
125 |
126 {title%}</para>
127 {title#}</para></formalpara>
128 {empty}
129
130
131 # Define a special table for left-centre-right lines, filling the whole page
132 # width, with a border but no separators, for Exim configuration options. It
133 # would be nice if this could call the default [table] template, forcing the
134 # appropriate attributes, but I have not found a way of doing this.
135
136 [tabledef-conf]
137 fillchar==
138 format=csv
139 template=conf-table
140 colspec=<colspec align="{colalign}"/>
141 bodyrow=<row>|</row>
142 bodydata=<entry>|</entry>
143
144 [conf-table]
145 <{title?table}{title!informaltable}{id? id="{id}"} pgwide="1" frame="all" colsep="0" rowsep="0">
146 <title>{title}</title>
147 <tgroup cols="{cols}">
148 <colspec align="left" colwidth="8*"/>
149 <colspec align="center" colwidth = "5*"/>
150 <colspec align="center" colwidth = "5*"/>
151 <colspec align="right" colwidth = "6*"/>
152 {headrows#}<thead>
153 {headrows}
154 {headrows#}</thead>
155 {footrows#}<tfoot>
156 {footrows}
157 {footrows#}</tfoot>
158 <tbody>
159 {bodyrows}
160 </tbody>
161 </tgroup>
162 </{title?table}{title!informaltable}>
163
164 # The default indexterm macro generates primary index entries for the
165 # secondary and tertiary terms as well, which does not make sense
166 # in the context of the way I write indexes. As well as a replacement
167 # that does the simple, straightforward thing, we actually want to have
168 # two different macros: one for concepts and one for options.
169
170 [cindex-inlinemacro]
171 # Inline index term for concepts.
172 <indexterm role="concept">
173   <primary>{1}</primary>
174   <secondary>{2}</secondary>
175   <tertiary>{3}</tertiary>
176 </indexterm>
177
178 [oindex-inlinemacro]
179 # Inline index term for options.
180 <indexterm role="option">
181   <primary>{1}</primary>
182   <secondary>{2}</secondary>
183   <tertiary>{3}</tertiary>
184 </indexterm>
185
186 # Allow for the "role" attribute for an index.
187
188 [sect-index]
189 <index{id? id="{id}"}{role? role="{role}"}>
190 <title>{title}</title>
191 |
192 </index>
193
194
195 # Allow for the "titleabbrev" attribute for chapters.
196
197 [sect1]
198 <chapter{id? id="{id}"}>
199 <title>{title}</title>
200 <titleabbrev>{titleabbrev}</titleabbrev>
201 |
202 </chapter>
203
204
205 #### End ####