source: doc/user-guide/help.xsl

Last change on this file was 5dd725d, checked in by Wilmer van der Gaast <wilmer@…>, at 2011-11-14T11:08:22Z

Document command shortening in another place.

  • Property mode set to 100644
File size: 5.7 KB
Line 
1<?xml version='1.0'?>
2<!--
3        Convert DocBook documentation to help.txt file used by bitlbee
4        (C) 2004 Jelmer Vernooij
5-->
6<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
7        version="1.1">
8
9        <xsl:output method="text" encoding="utf-8" standalone="yes"/>
10        <xsl:strip-space elements="*"/>
11
12        <xsl:template match="text()">
13                <xsl:if test="starts-with(.,' ') and preceding-sibling::* and
14                        not(preceding-sibling::*[1]/node()[1][self::text() and contains(concat(.,'^$%'),' ^$%')])">
15                        <xsl:text> </xsl:text>
16                </xsl:if>
17       
18                <xsl:value-of select="normalize-space(.)"/>
19                <xsl:if test="contains(concat(.,'^$%'),' ^$%') and following-sibling::* and
20                        not(following-sibling::*[1]/node()[1][self::text() and starts-with(.,' ')])">
21                        <xsl:text> </xsl:text>
22                </xsl:if>
23        </xsl:template>
24
25        <xsl:template match="para">
26                <xsl:apply-templates/><xsl:text>&#10;</xsl:text>
27                <xsl:if test="$extraparanewline = '1'">
28                        <xsl:text>&#10;</xsl:text>
29                </xsl:if>
30        </xsl:template>
31
32        <xsl:template name="subject">
33                <xsl:param name="id"/>
34                <xsl:message><xsl:text>Processing: </xsl:text><xsl:value-of select="$id"/></xsl:message>
35                <xsl:text>?</xsl:text><xsl:value-of select="$id"/><xsl:text>&#10;</xsl:text>
36
37                <xsl:for-each select="para|variablelist|simplelist|command-list|ircexample">
38                        <xsl:if test="title != ''">
39                                <xsl:value-of select="title"/><xsl:text>&#10;</xsl:text>
40                        </xsl:if>
41                        <xsl:apply-templates select="."/>
42                </xsl:for-each>
43                <xsl:text>%&#10;</xsl:text>
44
45                <xsl:for-each select="sect1|sect2">
46                        <xsl:call-template name="subject">
47                                <xsl:with-param name="id" select="@id"/>
48                        </xsl:call-template>
49                </xsl:for-each>
50
51                <xsl:for-each select="bitlbee-command">
52                        <xsl:call-template name="cmd">
53                                <xsl:with-param name="prefix" select="''"/>
54                        </xsl:call-template>
55                </xsl:for-each>
56
57                <xsl:for-each select="bitlbee-setting">
58                        <xsl:message><xsl:text>Processing setting '</xsl:text><xsl:value-of select="@name"/><xsl:text>'</xsl:text></xsl:message>
59                        <xsl:text>?set </xsl:text><xsl:value-of select="@name"/><xsl:text>&#10;</xsl:text>
60                        <xsl:text>_b_Type:_b_ </xsl:text><xsl:value-of select="@type"/><xsl:text>&#10;</xsl:text>
61                        <xsl:text>_b_Scope:_b_ </xsl:text><xsl:value-of select="@scope"/><xsl:text>&#10;</xsl:text>
62                        <xsl:if test="default">
63                                <xsl:text>_b_Default:_b_ </xsl:text><xsl:value-of select="default"/><xsl:text>&#10;</xsl:text>
64                        </xsl:if>
65                        <xsl:if test="possible-values">
66                                <xsl:text>_b_Possible Values:_b_ </xsl:text><xsl:value-of select="possible-values"/><xsl:text>&#10;</xsl:text>
67                        </xsl:if>
68                        <xsl:text>&#10;</xsl:text>
69                        <xsl:apply-templates select="description"/>
70                        <xsl:text>%&#10;</xsl:text>
71                </xsl:for-each>
72        </xsl:template>
73
74        <xsl:template match="command-list">
75                <xsl:text>These are all root commands. See _b_help &lt;command name&gt;_b_ for more details on each command.&#10;&#10;</xsl:text>
76                <xsl:for-each select="../bitlbee-command">
77                        <xsl:text> * _b_</xsl:text><xsl:value-of select="@name"/><xsl:text>_b_ - </xsl:text><xsl:value-of select="short-description"/><xsl:text>&#10;</xsl:text>
78                </xsl:for-each>
79                <xsl:text>&#10;Most commands can be shortened. For example instead of _b_account list_b_, try _b_ac l_b_.&#10;</xsl:text>
80                <xsl:text>&#10;</xsl:text>
81        </xsl:template>
82
83        <xsl:template match="preface|chapter|sect1|sect2">
84                <xsl:call-template name="subject">
85                        <xsl:with-param name="id" select="@id"/>
86                </xsl:call-template>
87        </xsl:template>
88
89        <xsl:template match="emphasis">
90                <xsl:text>_b_</xsl:text>
91                <xsl:apply-templates/>
92                <xsl:text>_b_</xsl:text>
93        </xsl:template>
94
95        <xsl:template match="book">
96                <xsl:apply-templates/>
97        </xsl:template>
98
99        <xsl:template match="variablelist">
100                <xsl:for-each select="varlistentry">
101                        <xsl:text> _b_</xsl:text><xsl:value-of select="term"/><xsl:text>_b_ - </xsl:text><xsl:value-of select="listitem/para"/><xsl:text>&#10;</xsl:text>
102                </xsl:for-each>
103                <xsl:text>&#10;</xsl:text>
104        </xsl:template>
105
106        <xsl:template match="simplelist">
107                <xsl:for-each select="member">
108                        <xsl:text> - </xsl:text><xsl:apply-templates/><xsl:text>&#10;</xsl:text>
109                </xsl:for-each>
110                <xsl:text>&#10;</xsl:text>
111        </xsl:template>
112
113        <xsl:template match="ircline">
114                <xsl:text>_b_&lt;</xsl:text><xsl:value-of select="@nick"/><xsl:text>&gt;_b_ </xsl:text><xsl:value-of select="."/><xsl:text>&#10;</xsl:text>
115        </xsl:template>
116
117        <xsl:template match="ircaction">
118                <xsl:text>_b_* </xsl:text><xsl:value-of select="@nick"/><xsl:text>_b_ </xsl:text><xsl:value-of select="."/><xsl:text>&#10;</xsl:text>
119        </xsl:template>
120
121        <xsl:template match="ircexample">
122                <xsl:apply-templates/>
123                <xsl:text>&#10;</xsl:text>
124        </xsl:template>
125
126        <xsl:template name="cmd">
127                <xsl:param name="prefix"/>
128                <xsl:variable name="thiscmd"><xsl:value-of select="$prefix"/><xsl:value-of select="@name"/></xsl:variable>
129                <xsl:message><xsl:text>Processing command '</xsl:text><xsl:value-of select="$thiscmd"/><xsl:text>'</xsl:text></xsl:message>
130                <xsl:text>?</xsl:text><xsl:value-of select="$thiscmd"/><xsl:text>&#10;</xsl:text>
131                <xsl:for-each select="syntax">
132                        <xsl:text>_b_Syntax:_b_ </xsl:text><xsl:value-of select="."/><xsl:text>&#10;</xsl:text>
133                </xsl:for-each>
134                <xsl:text>&#10;</xsl:text>
135
136                <xsl:apply-templates select="description"/>
137
138                <xsl:for-each select="ircexample">
139                        <xsl:text>_b_Example:_b_&#10;</xsl:text>
140                        <xsl:apply-templates select="."/>
141                </xsl:for-each>
142
143                <!--
144                <xsl:if test="bitlbee-command != ''">
145                        <xsl:text>Subcommands: </xsl:text>
146                        <xsl:for-each select="bitlbee-command">
147                                <xsl:value-of select="@name"/><xsl:text>, </xsl:text>
148                        </xsl:for-each>
149                        <xsl:text>&#10;</xsl:text>
150                </xsl:if>
151                -->
152
153                <xsl:text>%&#10;</xsl:text>
154
155                <xsl:for-each select="bitlbee-command">
156                        <xsl:call-template name="cmd">
157                                <xsl:with-param name="prefix"><xsl:value-of select="$thiscmd"/><xsl:text> </xsl:text></xsl:with-param>
158                        </xsl:call-template>
159                </xsl:for-each>
160
161        </xsl:template>
162
163</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.