Skip to content

Commit 6b181c8

Browse files
committed
Added build and deploy tasks thanks to xsltproc and grunt-wordpress
1 parent 02424e6 commit 6b181c8

5 files changed

Lines changed: 395 additions & 9 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
dist
22
node_modules
3+
config.json
34
.project
45
*~
56
*.diff

config-sample.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"host": "wordpress.dev",
3+
"port": 80,
4+
"path": "/xmlrpc.php",
5+
"username": "admin",
6+
"password": "admin"
7+
}

entries2html.xsl

Lines changed: 318 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,318 @@
1+
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
2+
3+
<xsl:output method="html" omit-xml-declaration="yes"/>
4+
5+
<xsl:template match="option|property">
6+
<h5 class="option">
7+
<xsl:value-of select="@name" />
8+
<xsl:if test="@added"> <span class="added">(added <xsl:value-of select="@added" />)</span></xsl:if>
9+
<xsl:if test="@deprecated"> <span class="deprecated">(deprecated <xsl:value-of select="@deprecated" />)</span></xsl:if>
10+
<xsl:if test="@removed"> <span class="removed">(removed <xsl:value-of select="@removed" />)</span></xsl:if>
11+
<span class="type">
12+
<a href="http://api.jquery.com/Types#{@type}"><xsl:value-of select="@type" /></a>
13+
</span>
14+
</h5>
15+
<xsl:if test="@default">
16+
<div class="default-value"><strong>Default: </strong> <xsl:value-of select="@default" /></div>
17+
</xsl:if>
18+
<p>
19+
<xsl:copy-of select="desc/text()|desc/*" />
20+
</p>
21+
</xsl:template>
22+
23+
24+
<xsl:template match="/">
25+
<script>
26+
{
27+
"title": "<xsl:value-of select="//entry/@name" />"
28+
}
29+
</script>
30+
<xsl:if test="count(//entry) &gt; 1">
31+
<div class="toc">
32+
<h4><span>Contents:</span></h4>
33+
<ul class="toc-list">
34+
<xsl:for-each select="//entry">
35+
<xsl:variable name="entry-name" select="@name" />
36+
<xsl:variable name="entry-name-trans" select="translate($entry-name,'$., ()/{}','s---')" />
37+
<xsl:variable name="arg-num" select="count(signature[1]/argument)" />
38+
<li>
39+
<a href="#{concat($entry-name-trans,position())}">
40+
<xsl:value-of select="@name" /><xsl:if test="@type='method'">(<xsl:if test="signature/argument"><xsl:text> </xsl:text>
41+
<xsl:for-each select="signature[1]/argument">
42+
43+
<xsl:if test="@optional">[<xsl:text>&#160;</xsl:text></xsl:if>
44+
<xsl:if test="position() &gt; 1">
45+
<xsl:text>, </xsl:text>
46+
</xsl:if>
47+
<xsl:value-of select="@name" />
48+
<xsl:if test="@optional"><xsl:text>&#160;</xsl:text>]</xsl:if>
49+
<xsl:text> </xsl:text>
50+
</xsl:for-each>
51+
<xsl:text>&#160;</xsl:text></xsl:if>)</xsl:if>
52+
<xsl:text> </xsl:text>
53+
</a>
54+
55+
<xsl:if test="@type='method'">
56+
<ul>
57+
<xsl:for-each select="signature">
58+
<li>
59+
<xsl:variable name="method-sig-arg-num" select="count(argument)" />
60+
61+
<xsl:if test="not(contains($entry-name, '.')) and $entry-name != 'jQuery'">.</xsl:if><xsl:value-of select="$entry-name" />(<xsl:if test="argument"><xsl:text> </xsl:text>
62+
<xsl:for-each select="argument">
63+
<xsl:if test="@optional"> [</xsl:if>
64+
<xsl:if test="position() &gt; 1">
65+
<xsl:text>, </xsl:text>
66+
</xsl:if>
67+
<xsl:value-of select="@name" />
68+
<xsl:if test="@optional">] </xsl:if>
69+
</xsl:for-each><xsl:text> </xsl:text></xsl:if>)
70+
</li>
71+
</xsl:for-each>
72+
</ul>
73+
</xsl:if>
74+
</li>
75+
</xsl:for-each>
76+
</ul>
77+
</div>
78+
</xsl:if>
79+
80+
<xsl:for-each select="//entry">
81+
<xsl:variable name="entry-name" select="@name" />
82+
<xsl:variable name="entry-name-trans" select="translate($entry-name,'$., ()/{}','s---')" />
83+
<xsl:variable name="entry-type" select="@type" />
84+
<xsl:variable name="plugin-name" select="@plugin" />
85+
<xsl:variable name="entry-index" select="position()" />
86+
<xsl:variable name="number-examples" select="count(example)" />
87+
<xsl:variable name="entry-pos" select="concat($entry-name-trans,$entry-index)" />
88+
89+
<div>
90+
<xsl:attribute name="id">
91+
<xsl:value-of select="$entry-pos"></xsl:value-of>
92+
</xsl:attribute>
93+
<xsl:attribute name="class">
94+
<xsl:choose>
95+
<xsl:when test="$plugin-name">
96+
<xsl:value-of select="concat('entry plugin ', $entry-type)" />
97+
</xsl:when>
98+
<xsl:otherwise>
99+
<xsl:value-of select="concat('entry ', $entry-type)" />
100+
</xsl:otherwise>
101+
</xsl:choose>
102+
103+
</xsl:attribute>
104+
<h2 class="jq-clearfix roundTop section-title">
105+
<span class="name">
106+
<xsl:choose>
107+
<xsl:when test="$entry-type='method'"><xsl:if test="not(contains($entry-name, '.')) and not(contains($entry-name, '{')) and $entry-name != 'jQuery'">.</xsl:if></xsl:when>
108+
</xsl:choose>
109+
<xsl:value-of select="@name" /><xsl:if test="@type='method'">(<xsl:if test="signature/argument"><xsl:text> </xsl:text>
110+
<xsl:variable name="sig-arg-num" select="count(signature[1]/argument)" />
111+
112+
<xsl:for-each select="signature[1]/argument">
113+
<xsl:if test="@optional"> [</xsl:if>
114+
<xsl:if test="position() &gt; 1">
115+
<xsl:text>, </xsl:text>
116+
</xsl:if>
117+
<xsl:value-of select="@name" />
118+
<xsl:if test="@optional">] </xsl:if>
119+
</xsl:for-each>
120+
<xsl:text> </xsl:text></xsl:if>)</xsl:if>
121+
</span>
122+
<xsl:text> </xsl:text>
123+
124+
<xsl:choose>
125+
<xsl:when test="$entry-type='selector'">
126+
<xsl:text> selector</xsl:text>
127+
</xsl:when>
128+
<xsl:otherwise>
129+
130+
<span class="returns">
131+
<xsl:if test="@return != ''">Returns: <a class="return" href="http://api.jquery.com/Types/#{@return}"><xsl:value-of select="@return" /></a></xsl:if>
132+
</span>
133+
</xsl:otherwise>
134+
</xsl:choose>
135+
</h2>
136+
<div class="jq-box roundBottom entry-details">
137+
<xsl:choose>
138+
<xsl:when test="$entry-type='selector'">
139+
<xsl:if test="./sample">
140+
<h4 class="name">
141+
<xsl:if test="./signature/added">
142+
<span class="versionAdded">version added: <a href="/category/version/{signature/added}/"><xsl:value-of select="signature/added" /></a></span>
143+
</xsl:if>
144+
<xsl:if test="./signature/deprecated">
145+
<span class="version-deprecated">version deprecated: <a href="/category/version/{signature/deprecated}/"><xsl:value-of select="signature/deprecated" /></a></span>
146+
</xsl:if>
147+
<xsl:if test="./signature/removed">
148+
<span class="version-removed">version removed: <a href="/category/version/{signature/removed}/"><xsl:value-of select="signature/removed" /></a></span>
149+
</xsl:if>
150+
<xsl:text>jQuery('</xsl:text><xsl:value-of select="sample" /><xsl:text>')</xsl:text>
151+
</h4>
152+
</xsl:if>
153+
<xsl:if test="signature/argument">
154+
<ul class="signatures">
155+
<li>
156+
<dl class="arguments">
157+
<xsl:for-each select="signature/argument">
158+
<dt><xsl:value-of select="@name" /></dt>
159+
<dd><xsl:copy-of select="desc/text()|desc/*" /></dd>
160+
</xsl:for-each>
161+
</dl>
162+
</li>
163+
</ul>
164+
</xsl:if>
165+
<p class="desc"><strong>Description: </strong> <xsl:value-of select="desc" /></p>
166+
</xsl:when>
167+
<xsl:otherwise>
168+
169+
<p class="desc"><strong>Description: </strong> <xsl:value-of select="desc" /></p>
170+
<ul class="signatures">
171+
<xsl:for-each select="signature">
172+
<li class="signature">
173+
<xsl:attribute name="id">
174+
<xsl:value-of select="$entry-name-trans" />
175+
<xsl:for-each select="argument">
176+
<xsl:variable name="arg-name" select="translate(@name, ',.)(', '--')" />
177+
<xsl:text>-</xsl:text><xsl:value-of select="$arg-name"/>
178+
</xsl:for-each>
179+
</xsl:attribute>
180+
<h4 class="name">
181+
<xsl:if test="./added">
182+
<span class="versionAdded">version added: <a href="/category/version/{added}/"><xsl:value-of select="added" /></a></span>
183+
</xsl:if>
184+
<xsl:if test="$entry-type='method'"><xsl:if test="not(contains($entry-name, '.')) and $entry-name != 'jQuery'">.</xsl:if></xsl:if><xsl:value-of select="$entry-name" /><xsl:if test="$entry-type='method'">(<xsl:if test="argument"><xsl:text> </xsl:text>
185+
<xsl:variable name="desc-arg-num" select="count(argument)" />
186+
187+
<xsl:for-each select="argument">
188+
<xsl:if test="@optional"> [</xsl:if>
189+
190+
<xsl:if test="position() &gt; 1">
191+
<xsl:text>, </xsl:text>
192+
</xsl:if>
193+
<xsl:value-of select="@name" />
194+
<xsl:if test="@optional">]</xsl:if>
195+
196+
</xsl:for-each>
197+
<xsl:text> </xsl:text></xsl:if>)</xsl:if>
198+
</h4>
199+
<xsl:if test="argument">
200+
<xsl:for-each select="argument">
201+
<p class="arguement"><strong><xsl:value-of select="@name" /> </strong> <xsl:copy-of select="desc/text()|desc/*" /></p>
202+
<xsl:if test="option">
203+
<div class="options">
204+
<xsl:apply-templates select="option"/>
205+
</div>
206+
</xsl:if>
207+
</xsl:for-each>
208+
</xsl:if>
209+
<xsl:if test="option|property">
210+
<div class="options">
211+
<xsl:apply-templates select="option|property"/>
212+
</div>
213+
</xsl:if>
214+
</li>
215+
216+
</xsl:for-each>
217+
</ul>
218+
219+
</xsl:otherwise>
220+
</xsl:choose>
221+
<xsl:if test="normalize-space(download/*)">
222+
<div class="download">
223+
<xsl:copy-of select="download/*" />
224+
</div>
225+
</xsl:if>
226+
227+
<xsl:if test="normalize-space(longdesc/*)">
228+
<div class="longdesc">
229+
<xsl:copy-of select="longdesc/*" />
230+
</div>
231+
</xsl:if>
232+
<xsl:if test="$number-examples &gt; 0">
233+
<h3>Example<xsl:if test="$number-examples &gt; 1">s</xsl:if>:</h3>
234+
<div class="entry-examples">
235+
<xsl:attribute name="id">
236+
<xsl:text>entry-examples</xsl:text>
237+
<xsl:if test="$entry-index &gt; 1">
238+
<xsl:text>-</xsl:text><xsl:value-of select="$entry-index - 1"/>
239+
</xsl:if>
240+
</xsl:attribute>
241+
<xsl:for-each select="example">
242+
<div>
243+
<xsl:attribute name="id">
244+
<xsl:text>example-</xsl:text>
245+
<xsl:if test="$entry-index &gt; 1">
246+
<xsl:value-of select="$entry-index - 1"/>
247+
<xsl:text>-</xsl:text>
248+
</xsl:if>
249+
<xsl:value-of select="position() - 1"/>
250+
</xsl:attribute>
251+
<h4><xsl:if test="$number-examples &gt; 1">Example: </xsl:if><span class="desc"><xsl:value-of select="desc" /></span></h4>
252+
<pre class="prettyprint"><code><xsl:choose>
253+
<xsl:when test="html"><xsl:attribute name="class">example demo-code</xsl:attribute>&lt;!DOCTYPE html&gt;
254+
&lt;html&gt;
255+
&lt;head&gt;<xsl:if test="css/text()">
256+
&lt;style&gt;<xsl:copy-of select="css/text()" />&lt;/style&gt;</xsl:if>
257+
<xsl:choose>
258+
<xsl:when test="count(js)">
259+
<xsl:for-each select="js">
260+
&lt;script src="<xsl:value-of select="@src" />"&gt;&lt;/script&gt;</xsl:for-each>
261+
</xsl:when>
262+
<xsl:otherwise>
263+
&lt;script src="http://code.jquery.com/jquery-latest.js"&gt;&lt;/script&gt;</xsl:otherwise></xsl:choose><xsl:if test="code/@location='head'">
264+
&lt;script&gt;
265+
<xsl:copy-of select="code/text()" />
266+
&lt;/script&gt;
267+
</xsl:if>
268+
&lt;/head&gt;
269+
&lt;body&gt;
270+
<xsl:copy-of select="html/text()" />
271+
<xsl:choose>
272+
<xsl:when test="code/@location='head'"></xsl:when>
273+
<xsl:otherwise>
274+
&lt;script&gt;<xsl:copy-of select="code/text()" />&lt;/script&gt;</xsl:otherwise>
275+
</xsl:choose>
276+
277+
&lt;/body&gt;
278+
&lt;/html&gt;</xsl:when>
279+
<xsl:otherwise>
280+
<xsl:attribute name="class">example</xsl:attribute>
281+
<xsl:copy-of select="code/text()" />
282+
</xsl:otherwise>
283+
</xsl:choose></code></pre>
284+
<xsl:if test="html">
285+
<h4>Demo:</h4>
286+
<div><xsl:choose>
287+
<xsl:when test="html">
288+
<xsl:attribute name="class">demo code-demo</xsl:attribute>
289+
<xsl:if test="height">
290+
<xsl:attribute name="rel"><xsl:value-of select="height"/></xsl:attribute>
291+
</xsl:if>
292+
</xsl:when>
293+
<xsl:otherwise>
294+
<xsl:attribute name="class">demo</xsl:attribute>
295+
</xsl:otherwise>
296+
</xsl:choose>
297+
</div>
298+
</xsl:if>
299+
<xsl:if test="results">
300+
<h4>Result:</h4>
301+
<pre>
302+
<code class="results">
303+
<xsl:value-of select="results"/>
304+
</code>
305+
</pre>
306+
</xsl:if>
307+
</div>
308+
</xsl:for-each>
309+
</div>
310+
</xsl:if>
311+
</div>
312+
</div>
313+
314+
</xsl:for-each>
315+
316+
</xsl:template>
317+
318+
</xsl:stylesheet>

0 commit comments

Comments
 (0)