xref: /unit/docs/changes.xsls (revision 369)
1*369Sdefan@nginx.comX:stylesheet {
2*369Sdefan@nginx.com
3*369Sdefan@nginx.comX:output method="text";
4*369Sdefan@nginx.com
5*369Sdefan@nginx.comX:param format="'generic'";
6*369Sdefan@nginx.comX:param pkgname="'unit'";
7*369Sdefan@nginx.comX:param configuration="'change_log_conf.xml'";
8*369Sdefan@nginx.com
9*369Sdefan@nginx.comX:var conf = "document($configuration)/configuration";
10*369Sdefan@nginx.com
11*369Sdefan@nginx.comX:var start = {
12*369Sdefan@nginx.com    X:choose {
13*369Sdefan@nginx.com        X:when "$format='rpm'" {
14*369Sdefan@nginx.com            !{$conf/rpm/start}
15*369Sdefan@nginx.com        }
16*369Sdefan@nginx.com        X:when "$format='deb'" {
17*369Sdefan@nginx.com            !{$conf/deb/start}
18*369Sdefan@nginx.com        }
19*369Sdefan@nginx.com        X:when "$format='generic'" {
20*369Sdefan@nginx.com            !{$conf/generic/start}
21*369Sdefan@nginx.com        }
22*369Sdefan@nginx.com    }
23*369Sdefan@nginx.com}
24*369Sdefan@nginx.com
25*369Sdefan@nginx.comX:var indent = {
26*369Sdefan@nginx.com    X:choose {
27*369Sdefan@nginx.com        X:when "$format='rpm'" {
28*369Sdefan@nginx.com            !{$conf/rpm/indent}
29*369Sdefan@nginx.com        }
30*369Sdefan@nginx.com        X:when "$format='deb'" {
31*369Sdefan@nginx.com            !{$conf/deb/indent}
32*369Sdefan@nginx.com        }
33*369Sdefan@nginx.com        X:when "$format='generic'" {
34*369Sdefan@nginx.com            !{$conf/generic/indent}
35*369Sdefan@nginx.com        }
36*369Sdefan@nginx.com    }
37*369Sdefan@nginx.com}
38*369Sdefan@nginx.com
39*369Sdefan@nginx.comX:var max = {
40*369Sdefan@nginx.com    X:choose {
41*369Sdefan@nginx.com        X:when "$format='rpm'" {
42*369Sdefan@nginx.com            !{$conf/rpm/length}
43*369Sdefan@nginx.com        }
44*369Sdefan@nginx.com        X:when "$format='deb'" {
45*369Sdefan@nginx.com            !{$conf/deb/length}
46*369Sdefan@nginx.com        }
47*369Sdefan@nginx.com        X:when "$format='generic'" {
48*369Sdefan@nginx.com            !{$conf/generic/length}
49*369Sdefan@nginx.com        }
50*369Sdefan@nginx.com    }
51*369Sdefan@nginx.com}
52*369Sdefan@nginx.com
53*369Sdefan@nginx.comX:var br = {<br>}
54*369Sdefan@nginx.com
55*369Sdefan@nginx.com
56*369Sdefan@nginx.comX:template = "/" { !! "change_log"; }
57*369Sdefan@nginx.comX:template = "change_log" { !! "changes"; }
58*369Sdefan@nginx.com
59*369Sdefan@nginx.com
60*369Sdefan@nginx.comX:template = "changes" {
61*369Sdefan@nginx.com    X:var pday = { !padded_day(date="@date") }
62*369Sdefan@nginx.com    X:var dow = { !day_of_week(date="@date") }
63*369Sdefan@nginx.com    X:var apply = { !string_in_list(list="@apply", string="$pkgname") }
64*369Sdefan@nginx.com    X:var pkgname_ = { !beautify(pkgname="$pkgname") }
65*369Sdefan@nginx.com
66*369Sdefan@nginx.com    X:if "$apply=$pkgname" {
67*369Sdefan@nginx.com
68*369Sdefan@nginx.com    X:if "$format='generic'" {
69*369Sdefan@nginx.com        X:text {
}
70*369Sdefan@nginx.com
71*369Sdefan@nginx.com        !{substring(concat($conf/changes/title,
72*369Sdefan@nginx.com                           $pkgname_,
73*369Sdefan@nginx.com                           ' ', @ver,
74*369Sdefan@nginx.com                           '                                                    '),
75*369Sdefan@nginx.com                    1, $conf/changes/length)}
76*369Sdefan@nginx.com
77*369Sdefan@nginx.com        !{substring(@date, 9, 2)}
78*369Sdefan@nginx.com        !{$conf/changes/month[number(substring(current()/@date,
79*369Sdefan@nginx.com                                                            6, 2))]}
80*369Sdefan@nginx.com        !{substring(@date, 1, 4)}
81*369Sdefan@nginx.com    }
82*369Sdefan@nginx.com
83*369Sdefan@nginx.com    X:if "$format='rpm'" {
84*369Sdefan@nginx.com        !{concat('* ', $conf/changes/day[number($dow)],
85*369Sdefan@nginx.com                 $conf/changes/month[number(substring(current()/@date, 6, 2))],
86*369Sdefan@nginx.com                 $pday, ' ',
87*369Sdefan@nginx.com                 substring(@date, 1, 4), ' ', @packager, ' - ',
88*369Sdefan@nginx.com                 @ver, '-', @rev, '%{?dist}.ngx')}
89*369Sdefan@nginx.com    }
90*369Sdefan@nginx.com
91*369Sdefan@nginx.com    X:if "$format='deb'" {
92*369Sdefan@nginx.com        !{concat($pkgname, ' (', @ver, '-', @rev,
93*369Sdefan@nginx.com                 '~%%CODENAME%%) %%CODENAME%%; urgency=low')}
94*369Sdefan@nginx.com
95*369Sdefan@nginx.com        X:text {
}
96*369Sdefan@nginx.com    }
97*369Sdefan@nginx.com
98*369Sdefan@nginx.com    X:text {
}
99*369Sdefan@nginx.com
100*369Sdefan@nginx.com    !! "change";
101*369Sdefan@nginx.com
102*369Sdefan@nginx.com    X:text {
}
103*369Sdefan@nginx.com
104*369Sdefan@nginx.com    X:if "$format='deb'" {
105*369Sdefan@nginx.com        !{concat(' -- ', @packager, '  ',
106*369Sdefan@nginx.com                 $conf/changes/day[number($dow)], ', ',
107*369Sdefan@nginx.com                 $pday,
108*369Sdefan@nginx.com                 $conf/changes/month[number(substring(current()/@date, 6, 2))],
109*369Sdefan@nginx.com                 substring(@date, 1, 4), ' ', @time)}
110*369Sdefan@nginx.com
111*369Sdefan@nginx.com        X:text {
}
112*369Sdefan@nginx.com        X:text {
}
113*369Sdefan@nginx.com    }
114*369Sdefan@nginx.com    }
115*369Sdefan@nginx.com}
116*369Sdefan@nginx.com
117*369Sdefan@nginx.com
118*369Sdefan@nginx.comX:template = "change" {
119*369Sdefan@nginx.com    X:var prefix = "$conf/changes/*[local-name(.)=current()/@type]"
120*369Sdefan@nginx.com
121*369Sdefan@nginx.com    X:var postfix = { X:if "$prefix" { X:text {: } } }
122*369Sdefan@nginx.com
123*369Sdefan@nginx.com    !! "para" (prefix = "concat($start, $prefix, $postfix)");
124*369Sdefan@nginx.com}
125*369Sdefan@nginx.com
126*369Sdefan@nginx.com
127*369Sdefan@nginx.comX:template para(prefix) = "para" {
128*369Sdefan@nginx.com    X:var text = { !!; }
129*369Sdefan@nginx.com
130*369Sdefan@nginx.com    X:if "$format='generic'" {
131*369Sdefan@nginx.com        X:text {
}
132*369Sdefan@nginx.com    }
133*369Sdefan@nginx.com
134*369Sdefan@nginx.com    !wrap(text = "normalize-space($text)",
135*369Sdefan@nginx.com          prefix = { X:if "position() = 1" { !{$prefix} } else { !{$indent} } })
136*369Sdefan@nginx.com}
137*369Sdefan@nginx.com
138*369Sdefan@nginx.com
139*369Sdefan@nginx.comX:template wrap(text, prefix) {
140*369Sdefan@nginx.com    X:if "$text" {
141*369Sdefan@nginx.com        X:var offset = {
142*369Sdefan@nginx.com            X:choose {
143*369Sdefan@nginx.com                X:when "starts-with($text, concat($br, ' '))" {
144*369Sdefan@nginx.com                    !{string-length($br) + 2}
145*369Sdefan@nginx.com                }
146*369Sdefan@nginx.com                X:when "starts-with($text, $br)" {
147*369Sdefan@nginx.com                    !{string-length($br) + 1}
148*369Sdefan@nginx.com                }
149*369Sdefan@nginx.com                X:otherwise {
150*369Sdefan@nginx.com                    1
151*369Sdefan@nginx.com                }
152*369Sdefan@nginx.com            }
153*369Sdefan@nginx.com        }
154*369Sdefan@nginx.com
155*369Sdefan@nginx.com        X:var length = {
156*369Sdefan@nginx.com            !length(text = "substring($text, $offset)",
157*369Sdefan@nginx.com                    prefix = "string-length($prefix)",
158*369Sdefan@nginx.com                    length = "$max")
159*369Sdefan@nginx.com        }
160*369Sdefan@nginx.com
161*369Sdefan@nginx.com        !{$prefix}
162*369Sdefan@nginx.com
163*369Sdefan@nginx.com        !{normalize-space(translate(substring($text, $offset, $length),
164*369Sdefan@nginx.com                                    ' ', ' '))}
165*369Sdefan@nginx.com
166*369Sdefan@nginx.com        X:text {
}
167*369Sdefan@nginx.com
168*369Sdefan@nginx.com        !wrap(text = "substring($text, $length + $offset)", prefix = "$indent")
169*369Sdefan@nginx.com    }
170*369Sdefan@nginx.com}
171*369Sdefan@nginx.com
172*369Sdefan@nginx.com
173*369Sdefan@nginx.comX:template length(text, prefix, length) {
174*369Sdefan@nginx.com    X:var break = "substring-before(substring($text, 1,
175*369Sdefan@nginx.com                                    $length - $prefix + string-length($br)),
176*369Sdefan@nginx.com                                    $br)"
177*369Sdefan@nginx.com
178*369Sdefan@nginx.com    X:choose {
179*369Sdefan@nginx.com        X:when "$break" { !{string-length($break)} }
180*369Sdefan@nginx.com
181*369Sdefan@nginx.com        X:when "$length = 0" { !{$max - $prefix} }
182*369Sdefan@nginx.com
183*369Sdefan@nginx.com        X:when "string-length($text) + $prefix <= $length" {
184*369Sdefan@nginx.com            !{$length - $prefix}
185*369Sdefan@nginx.com        }
186*369Sdefan@nginx.com
187*369Sdefan@nginx.com        X:when "substring($text, $length - $prefix + 1, 1) = ' '" {
188*369Sdefan@nginx.com            !{$length - $prefix + 1}
189*369Sdefan@nginx.com        }
190*369Sdefan@nginx.com
191*369Sdefan@nginx.com        X:otherwise {
192*369Sdefan@nginx.com            !length(text = "$text", prefix = "$prefix", length = "$length - 1")
193*369Sdefan@nginx.com        }
194*369Sdefan@nginx.com    }
195*369Sdefan@nginx.com}
196*369Sdefan@nginx.com
197*369Sdefan@nginx.com
198*369Sdefan@nginx.comX:template day_of_week(date) {
199*369Sdefan@nginx.com    X:param year = "substring-before($date, '-')";
200*369Sdefan@nginx.com    X:param month = "substring-before(substring-after($date, '-'), '-')";
201*369Sdefan@nginx.com    X:param day = "substring-after(substring-after($date, '-'), '-')";
202*369Sdefan@nginx.com
203*369Sdefan@nginx.com    X:var a = "floor((14 - $month) div 12)";
204*369Sdefan@nginx.com
205*369Sdefan@nginx.com    X:var y = "$year - $a";
206*369Sdefan@nginx.com
207*369Sdefan@nginx.com    X:var m = "$month + 12 * $a - 2";
208*369Sdefan@nginx.com
209*369Sdefan@nginx.com    !{($day + $y + floor($y div 4) - floor($y div 100)
210*369Sdefan@nginx.com    + floor($y div 400) + floor((31 * $m) div 12)) mod 7 + 1}
211*369Sdefan@nginx.com}
212*369Sdefan@nginx.com
213*369Sdefan@nginx.com
214*369Sdefan@nginx.comX:template padded_day(date) {
215*369Sdefan@nginx.com    !{substring(concat('  ', format-number(substring($date, 9, 2), '##')),
216*369Sdefan@nginx.com           1 + string-length(format-number(substring($date, 9, 2), '##')))}
217*369Sdefan@nginx.com}
218*369Sdefan@nginx.com
219*369Sdefan@nginx.com
220*369Sdefan@nginx.comX:template string_in_list(list, string) {
221*369Sdefan@nginx.com    X:choose {
222*369Sdefan@nginx.com        X:when "contains($list, ',')" {
223*369Sdefan@nginx.com            X:var str = "substring-before($list, ',')";
224*369Sdefan@nginx.com            !string_in_list(list="substring-after($list, ',')", string="$string")
225*369Sdefan@nginx.com        }
226*369Sdefan@nginx.com        X:otherwise {
227*369Sdefan@nginx.com            X:if "$list=$string" { !{$string} }
228*369Sdefan@nginx.com            X:if "$list='*'" { !{$string} }
229*369Sdefan@nginx.com        }
230*369Sdefan@nginx.com    }
231*369Sdefan@nginx.com}
232*369Sdefan@nginx.com
233*369Sdefan@nginx.com
234*369Sdefan@nginx.comX:template beautify(pkgname) {
235*369Sdefan@nginx.com    X:choose {
236*369Sdefan@nginx.com        X:when "$pkgname='unit'" {Unit}
237*369Sdefan@nginx.com        X:otherwise {
238*369Sdefan@nginx.com            !{$pkgname}
239*369Sdefan@nginx.com        }
240*369Sdefan@nginx.com    }
241*369Sdefan@nginx.com}
242*369Sdefan@nginx.com
243*369Sdefan@nginx.com
244*369Sdefan@nginx.comX:template = "at" {@}
245*369Sdefan@nginx.comX:template = "br" { !{$br} }
246*369Sdefan@nginx.comX:template = "nobr" { !{translate(., ' ', ' ')} }
247*369Sdefan@nginx.com
248*369Sdefan@nginx.com
249*369Sdefan@nginx.com}
250