Skip to content

Commit 4483a56

Browse files
committed
Merge pull request #86 from robhoes/newapi
Jekyllise XenAPI doc pages
2 parents 128989e + b4da7e4 commit 4483a56

File tree

8 files changed

+12325
-8011
lines changed

8 files changed

+12325
-8011
lines changed

_data/releases.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
rio: XenServer 4.0
2+
miami: XenServer 4.1
3+
symc: XenServer 4.1.1
4+
orlando: XenServer 5.0
5+
orlando-update-1: XenServer 5.0 Update 1
6+
george: XenServer 5.5
7+
midnight-ride: XenServer 5.6 (XCP 0.5)
8+
cowley: XenServer 5.6 FP1 (XCP 1.0)
9+
boston: XenServer 6.0 (XCP 1.5)
10+
tampa: XenServer 6.1 (XCP 1.6)
11+
clearwater: XenServer 6.2
12+
vgpu-tech-preview: XenServer 6.2 vGPU preview
13+
vgpu-productisation: XenServer 6.2 SP1
14+
clearwater-felton: XenServer 6.2 SP1 Hotfix 4
15+
clearwater-whetstone: XenServer 6.2 SP1 Hotfix 11
16+
creedence: XenServer 6.5
17+

_data/xenapi.json

Lines changed: 12036 additions & 7968 deletions
Large diffs are not rendered by default.

_layouts/xenapi-class.html

Lines changed: 211 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,211 @@
1+
---
2+
layout: base
3+
title: XenAPI Reference
4+
---
5+
6+
{% assign obj = site.data.xenapi | where:"name",page.class | first %}
7+
{% assign docs = site.pages | where:"class",page.class %}
8+
9+
<link rel="stylesheet" href="{{site.baseurl}}/assets/css/xenapi.css" />
10+
<script type="text/javascript" src="{{site.baseurl}}/assets/js/apidoc.js"></script>
11+
12+
<link rel="stylesheet" href="{{site.baseurl}}/assets/css/xenapi.css" />
13+
<div class="row">
14+
<div class="col-md-9" id="content">
15+
16+
<div class="lifecycle">
17+
{% assign cur = obj.lifecycle | last %}
18+
{% case cur.transition %}
19+
{% when "prototyped" %}
20+
Prototype
21+
{% when "deprecated" %}
22+
Deprecated
23+
{% when "removed" %}
24+
Removed
25+
{% endcase %}
26+
</div>
27+
28+
<h2 class="title" onclick="showhide(document.getElementById('class_details'))" style="cursor: pointer">Class: {{ page.class }}</h2>
29+
30+
<div class="description">
31+
{% assign n = content | number_of_words %}
32+
{% if n == 0 %}
33+
{{ obj.description | escape }}
34+
{% else %}
35+
{{ content }}
36+
{% endif %}
37+
</div>
38+
39+
<div id="class_details" style="display: none">
40+
<table class="field-table">
41+
{% for t in obj.lifecycle %}
42+
<tr>
43+
<td style="white-space: nowrap"><span class="field-head">{{ t.transition | capitalize }} in:</span></td>
44+
<td style="white-space: nowrap">{{ site.data.releases[t.release] }} ({{ t.release }})</td>
45+
<td>{{ t.description | escape }}</td>
46+
</tr>
47+
{% endfor %}
48+
</table>
49+
</div>
50+
51+
{% if obj.enums.size > 0 %}
52+
<h3>Enums</h3>
53+
54+
{% for x in obj.enums %}
55+
<div id="enum_{{x.name}}" class="{% cycle 'field', 'field2' %}" onclick="showhide(document.getElementById('enum_{{x.name}}_details'))">
56+
<div class="field-name">{{x.name}}</div>
57+
<div id="enum_{{x.name}}_details" style="display: none">
58+
59+
<table class="field-table">
60+
{% for v in x.values %}
61+
<tr>
62+
<td style="white-space: nowrap"><span class="field-head">{% if forloop.first %}Values:{% endif %}</span></td>
63+
<td style="white-space: nowrap">{{ v.name }}</td>
64+
<td>{{ v.doc | escape }}</td>
65+
</tr>
66+
{% endfor %}
67+
</table>
68+
</div>
69+
</div>
70+
{% endfor %}
71+
{% endif %}
72+
73+
<h3>Fields</h3>
74+
75+
{% assign fields = obj.fields | sort: "name" %}
76+
{% for x in fields %}
77+
<div class="{% cycle 'field', 'field2' %}" onclick="showhide(document.getElementById('{{x.name}}_details'))">
78+
<div class="lifecycle">
79+
{% assign cur = x.lifecycle | last %}
80+
{% case cur.transition %}
81+
{% when "prototyped" %}
82+
Prototype
83+
{% when "deprecated" %}
84+
Deprecated
85+
{% when "removed" %}
86+
Removed
87+
{% endcase %}
88+
</div>
89+
<div id="{{x.name}}">
90+
<span class="inline-type">{{x.type | replace:"->","&rarr;"}}</span>
91+
<span class="field-name">{{x.name}}</span>
92+
<span class="inline-qualifier">[{{x.qualifier}}]</span>
93+
</div>
94+
<div id="{{x.name}}_details" style="display: none">
95+
<div class="field-description">
96+
{% capture override %}
97+
{% for d in docs %}
98+
{% if d.field == x.name %}{{ d.content }}{% endif %}
99+
{% endfor %}
100+
{% endcapture %}
101+
{% assign n = override | number_of_words %}
102+
{% if n == 0 %}
103+
{{ x.description | escape }}
104+
{% else %}
105+
{{ override }}
106+
{% endif %}
107+
</div>
108+
<table class="field-table">
109+
{% if x.default %}
110+
<tr>
111+
<td style="white-space: nowrap"><span class="field-head">Default value:</span></td>
112+
<td colspan="2">{{x.default}}</td>
113+
</tr>
114+
{% endif %}
115+
{% for t in x.lifecycle %}
116+
<tr>
117+
<td style="white-space: nowrap"><span class="field-head">{{ t.transition | capitalize }} in:</span></td>
118+
<td style="white-space: nowrap">{{ site.data.releases[t.release] }} ({{ t.release }})</td>
119+
<td>{{ t.description | escape }}</td>
120+
</tr>
121+
{% endfor %}
122+
</table>
123+
</div>
124+
</div>
125+
{% endfor %}
126+
127+
<h3>Messages</h3>
128+
129+
{% assign messages = obj.messages | sort: "name" %}
130+
{% for x in messages %}
131+
<div class="{% cycle 'field', 'field2' %}" onclick="showhide(document.getElementById('{{x.name}}_details'))">
132+
<div class="lifecycle">
133+
{% assign cur = x.lifecycle | last %}
134+
{% case cur.transition %}
135+
{% when "prototyped" %}
136+
Prototype
137+
{% when "deprecated" %}
138+
Deprecated
139+
{% when "removed" %}
140+
Removed
141+
{% endcase %}
142+
</div>
143+
<div id="{{x.name}}">
144+
<span class="inline-type">{{x.result[0] | replace:"->","&rarr;"}}</span>
145+
<span class="field-name">{{x.name}}</span>
146+
<span class="inline-params">({{ x.params | map:"type" | join:", " | replace:"->","&rarr;"}})</span>
147+
</div>
148+
<div id="{{x.name}}_details" style="display: none">
149+
<div class="field-description">
150+
{% capture override %}
151+
{% for d in docs %}
152+
{% if d.message == x.name %}{{ d.content }}{% endif %}
153+
{% endfor %}
154+
{% endcapture %}
155+
{% assign n = override | number_of_words %}
156+
{% if n == 0 %}
157+
{{ x.description | escape }}
158+
{% else %}
159+
{{ override }}
160+
{% endif %}
161+
</div>
162+
<table class="field-table">
163+
{% for p in x.params %}
164+
<tr>
165+
<td style="white-space: nowrap"><span class="field-head">{% if forloop.first %}Parameters:{% endif %}</span></td>
166+
<td style="white-space: nowrap">{{ p.type | replace:"->","&rarr;" }} {{ p.name }}</td>
167+
<td>{{ p.doc | escape }}</td>
168+
</tr>
169+
{% endfor %}
170+
<tr>
171+
<td style="white-space: nowrap"><span class="field-head">Minimum role:</span></td>
172+
<td colspan="2">{{ x.roles | last }}</td>
173+
</tr>
174+
{% if x.result[0] != "void" %}
175+
<tr>
176+
<td style="white-space: nowrap"><span class="field-head">Result:</span></td>
177+
<td colspan="2">{{x.result[1]}}</td>
178+
</tr>
179+
{% endif %}
180+
{% for e in x.errors %}
181+
<tr>
182+
<td style="white-space: nowrap"><span class="field-head">{% if forloop.first %}Errors:{% endif %}</span></td>
183+
<td style="white-space: nowrap">{{ e.name }}</td>
184+
<td>{{ e.doc }}</td>
185+
</tr>
186+
{% endfor %}
187+
{% for t in x.lifecycle %}
188+
<tr>
189+
<td style="white-space: nowrap"><span class="field-head">{{ t.transition | capitalize }} in:</span></td>
190+
<td style="white-space: nowrap">{{ site.data.releases[t.release] }} ({{ t.release }})</td>
191+
<td>{{ t.description | escape }}</td>
192+
</tr>
193+
{% endfor %}
194+
</table>
195+
</div>
196+
</div>
197+
{% endfor %}
198+
199+
</div>
200+
201+
<div class="col-md-3" id="sidebar">
202+
<h2 class="title">Classes</h2>
203+
<div id="class_overview"><a href="{{ site.baseurl }}/xen-api/index.html">Overview</a></div>
204+
{% assign classes = site.pages | where:"class_index",true %}
205+
{% for c in classes %}
206+
<a href="{{ site.baseurl }}{{ c.url }}">{{ c.class }}</a><br/>
207+
{% endfor %}
208+
</div>
209+
210+
</div>
211+

_layouts/xenapi.html

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,36 +2,40 @@
22
layout: default
33
---
44

5+
{% assign class-pages = site.pages | where:"class_index",true %}
6+
57
{{ content }}
68

7-
<h2>XenAPI Fields and Functions</h2>
9+
<h2>XenAPI Fields and Messages</h2>
810

911
<h3>Fields</h3>
1012

1113
<table>
1214
<tr><th>Field name</th><th>Type</th><th>Description</th></tr>
1315
{% for c in site.data.xenapi %}
1416
{% assign class = c.name %}
17+
{% assign url = class-pages | where:"class",class | first | map: "url" %}
1518
{% assign fields = c.fields | where:"tag",page.xenapi_tag | sort: "name" %}
1619
{% for f in fields %}
1720
<tr>
18-
<td><a href="{{site.baseurl}}/xen-api/index.html?c={{class}}">{{class}}.{{f.name}}</a></td>
21+
<td><a href="{{site.baseurl}}{{url}}">{{class}}.{{f.name}}</a></td>
1922
<td>{{f.type}}</td>
20-
<td>{{f.description}}</td>
23+
<td>{{f.description | escape}}</td>
2124
</tr>
2225
{% endfor %}
2326
{% endfor %}
2427
</table>
2528

26-
<h3>Functions</h3>
29+
<h3>Messages</h3>
2730

2831
<table>
29-
<tr><th>Function name</th><th>Description</th></tr>
32+
<tr><th>Message name</th><th>Description</th></tr>
3033
{% for c in site.data.xenapi %}
3134
{% assign class = c.name %}
35+
{% assign url = class-pages | where:"class",class | first | map: "url" %}
3236
{% assign messages = c.messages | where:"tag",page.xenapi_tag | sort: "name" %}
3337
{% for m in messages %}
34-
<tr><td><a href="{{site.baseurl}}/xen-api/index.html?c={{class}}">{{class}}.{{m.name}}</a></td><td>{{m.description}}</td></tr>
38+
<tr><td><a href="{{site.baseurl}}{{url}}">{{class}}.{{m.name}}</a></td><td>{{m.description | escape}}</td></tr>
3539
{% endfor %}
3640
{% endfor %}
3741
</table>

xen-api/classes/host_cpu.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
layout: xenapi-class
3+
class: host_cpu
4+
class_index: true
5+
---
6+

xen-api/classes/pif-dns.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
class: PIF
3+
field: DNS
4+
---
5+
6+
A list of DNS servers.
7+

xen-api/classes/pif.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
layout: xenapi-class
3+
class: PIF
4+
class_index: true
5+
---
6+

xen-api/index.html

Lines changed: 32 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,6 @@
33
title: XenAPI Reference
44
---
55

6-
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
7-
<script type="text/javascript" src="api/branding.js"></script>
8-
<script type="text/javascript" src="api/index.json"></script>
9-
<script type="text/javascript" src="api/releases.json"></script>
10-
<script type="text/javascript" src="{{site.baseurl}}/assets/js/apidoc.js"></script>
11-
<script>
12-
if (cls != "")
13-
document.write('<script src="api/', cls, '.json" type="text/JavaScript"><\/script>');
14-
</script>
156
<link rel="stylesheet" href="{{site.baseurl}}/assets/css/xenapi.css" />
167
<div class="row">
178
<div class="col-md-9" id="content">
@@ -20,30 +11,30 @@ <h2 class="title">XenAPI Classes</h2>
2011

2112
<img src="classes.png" alt="Xen-api class diagram" usemap="#graph" border="0" />
2213
<map id="graph" name="graph">
23-
<area shape="poly" href="?c=task" title="an asynchronous server&#45;side task" alt="" coords="408,233 406,227 402,222 395,217 387,214 378,213 369,214 360,217 354,222 349,227 348,233 349,240 354,245 360,250 369,252 378,253 387,252 395,250 402,245 406,240"/>
24-
<area shape="poly" href="?c=event" title="allows event registration and reading" alt="" coords="408,296 406,289 402,284 395,279 387,277 378,276 369,277 360,279 354,284 349,289 348,296 349,302 354,307 360,312 369,315 378,316 387,315 395,312 402,307 406,302"/>
25-
<area shape="poly" href="?c=pool" title="a Resource Pool" alt="" coords="470,78 469,72 464,66 458,62 449,59 440,58 431,59 422,62 416,66 411,72 410,78 411,84 416,90 422,94 431,97 440,98 449,97 458,94 464,90 469,84"/>
26-
<area shape="rect" href="?c=session" title="an authenticated session" alt="" coords="92,211,152,251"/>
27-
<area shape="rect" href="?c=user" title="a user" alt="" coords="6,201,66,241"/>
28-
<area shape="rect" href="?c=host" title="a physical host" alt="" coords="187,223,247,263"/>
29-
<area shape="rect" href="?c=VM" title="a Virtual Machine" alt="" coords="508,279,568,319"/>
30-
<area shape="poly" href="?c=VM_metrics" title="dynamic VM configuration information" alt="" coords="673,301 671,295 665,289 656,285 644,282 631,281 618,282 607,285 597,289 591,295 589,301 591,307 597,313 607,317 618,320 631,321 644,320 656,317 665,313 671,307"/>
31-
<area shape="poly" href="?c=VM_guest_metrics" title="dynamic information from inside the guest" alt="" coords="670,360 667,354 658,348 645,344 628,341 610,340 592,341 575,344 562,348 553,354 550,360 553,366 562,372 575,376 592,379 610,380 628,379 645,376 658,372 667,366"/>
32-
<area shape="poly" href="?c=crashdump" title="VM crashdump" alt="" coords="650,246 648,239 642,234 633,229 622,227 609,226 596,227 585,229 576,234 570,239 568,246 570,252 576,257 585,262 596,265 609,266 622,265 633,262 642,257 648,252"/>
33-
<area shape="poly" href="?c=console" title="location information for a guest&#39;s console" alt="" coords="590,387 589,380 584,375 577,370 569,368 559,367 549,368 540,370 533,375 529,380 527,387 529,393 533,398 540,403 549,406 559,407 569,406 577,403 584,398 589,393"/>
34-
<area shape="rect" href="?c=PBD" title="the connection between an SR and a host" alt="" coords="244,147,304,187"/>
35-
<area shape="poly" href="?c=host_metrics" title="dynamic host information" alt="" coords="202,307 199,300 193,295 183,290 170,288 156,287 141,288 128,290 118,295 112,300 109,307 112,313 118,318 128,323 141,326 156,327 170,326 183,323 193,318 199,313"/>
36-
<area shape="poly" href="?c=host_cpu" title="a physical CPU on a host" alt="" coords="206,164 204,158 199,153 191,148 182,145 171,144 160,145 151,148 143,153 138,158 136,164 138,171 143,176 151,181 160,183 171,184 182,183 191,181 199,176 204,171"/>
37-
<area shape="rect" href="?c=network" title="an ethernet network" alt="" coords="331,331,391,371"/>
38-
<area shape="rect" href="?c=VIF" title="a network interface for a Virtual Machine" alt="" coords="423,334,483,374"/>
39-
<area shape="poly" href="?c=VIF_metrics" title="IO stats and configuration information for a virtual interface" alt="" coords="498,451 496,445 490,439 481,435 470,432 457,431 444,432 432,435 423,439 417,445 415,451 417,457 423,463 432,467 444,470 457,471 470,470 481,467 490,463 496,457"/>
40-
<area shape="rect" href="?c=PIF" title="a network interface for a physical host" alt="" coords="241,306,301,346"/>
41-
<area shape="poly" href="?c=PIF_metrics" title="IO stats and configuration information for a physical interface" alt="" coords="274,412 272,406 266,400 257,396 245,393 232,392 219,393 208,396 198,400 193,406 191,412 193,418 198,424 208,428 219,431 232,432 245,431 257,428 266,424 272,418"/>
42-
<area shape="rect" href="?c=SR" title="Storage Repository, a container for virtual disk images (VDIs)" alt="" coords="323,97,383,137"/>
43-
<area shape="rect" href="?c=VDI" title="a virtual disk image" alt="" coords="412,124,472,164"/>
44-
<area shape="poly" href="?c=SM" title="storage manager plugin module" alt="" coords="377,26 375,19 371,14 364,9 356,7 347,6 337,7 329,9 322,14 318,19 317,26 318,32 322,37 329,42 337,45 347,46 356,45 364,42 371,37 375,32"/>
45-
<area shape="rect" href="?c=VBD" title="a virtual block device" alt="" coords="486,181,546,221"/>
46-
<area shape="poly" href="?c=VBD_metrics" title="IO stats and configuration information for a virtual block device" alt="" coords="623,128 620,122 614,116 604,112 592,109 578,108 564,109 551,112 541,116 535,122 533,128 535,134 541,140 551,144 564,147 578,148 592,147 604,144 614,140 620,134"/>
14+
<area shape="poly" href="classes/task.html" title="an asynchronous server&#45;side task" alt="" coords="408,233 406,227 402,222 395,217 387,214 378,213 369,214 360,217 354,222 349,227 348,233 349,240 354,245 360,250 369,252 378,253 387,252 395,250 402,245 406,240"/>
15+
<area shape="poly" href="classes/event.html" title="allows event registration and reading" alt="" coords="408,296 406,289 402,284 395,279 387,277 378,276 369,277 360,279 354,284 349,289 348,296 349,302 354,307 360,312 369,315 378,316 387,315 395,312 402,307 406,302"/>
16+
<area shape="poly" href="classes/pool.html" title="a Resource Pool" alt="" coords="470,78 469,72 464,66 458,62 449,59 440,58 431,59 422,62 416,66 411,72 410,78 411,84 416,90 422,94 431,97 440,98 449,97 458,94 464,90 469,84"/>
17+
<area shape="rect" href="classes/session.html" title="an authenticated session" alt="" coords="92,211,152,251"/>
18+
<area shape="rect" href="classes/user.html" title="a user" alt="" coords="6,201,66,241"/>
19+
<area shape="rect" href="classes/host.html" title="a physical host" alt="" coords="187,223,247,263"/>
20+
<area shape="rect" href="classes/vm.html" title="a Virtual Machine" alt="" coords="508,279,568,319"/>
21+
<area shape="poly" href="classes/vm_metrics.html" title="dynamic VM configuration information" alt="" coords="673,301 671,295 665,289 656,285 644,282 631,281 618,282 607,285 597,289 591,295 589,301 591,307 597,313 607,317 618,320 631,321 644,320 656,317 665,313 671,307"/>
22+
<area shape="poly" href="classes/vm_guest_metrics.html" title="dynamic information from inside the guest" alt="" coords="670,360 667,354 658,348 645,344 628,341 610,340 592,341 575,344 562,348 553,354 550,360 553,366 562,372 575,376 592,379 610,380 628,379 645,376 658,372 667,366"/>
23+
<area shape="poly" href="classes/crashdump.html" title="VM crashdump" alt="" coords="650,246 648,239 642,234 633,229 622,227 609,226 596,227 585,229 576,234 570,239 568,246 570,252 576,257 585,262 596,265 609,266 622,265 633,262 642,257 648,252"/>
24+
<area shape="poly" href="classes/console.html" title="location information for a guest&#39;s console" alt="" coords="590,387 589,380 584,375 577,370 569,368 559,367 549,368 540,370 533,375 529,380 527,387 529,393 533,398 540,403 549,406 559,407 569,406 577,403 584,398 589,393"/>
25+
<area shape="rect" href="classes/pbd.html" title="the connection between an SR and a host" alt="" coords="244,147,304,187"/>
26+
<area shape="poly" href="classes/host_metrics.html" title="dynamic host information" alt="" coords="202,307 199,300 193,295 183,290 170,288 156,287 141,288 128,290 118,295 112,300 109,307 112,313 118,318 128,323 141,326 156,327 170,326 183,323 193,318 199,313"/>
27+
<area shape="poly" href="classes/host_cpu.html" title="a physical CPU on a host" alt="" coords="206,164 204,158 199,153 191,148 182,145 171,144 160,145 151,148 143,153 138,158 136,164 138,171 143,176 151,181 160,183 171,184 182,183 191,181 199,176 204,171"/>
28+
<area shape="rect" href="classes/network.html" title="an ethernet network" alt="" coords="331,331,391,371"/>
29+
<area shape="rect" href="classes/vif.html" title="a network interface for a Virtual Machine" alt="" coords="423,334,483,374"/>
30+
<area shape="poly" href="classes/vif_metrics.html" title="IO stats and configuration information for a virtual interface" alt="" coords="498,451 496,445 490,439 481,435 470,432 457,431 444,432 432,435 423,439 417,445 415,451 417,457 423,463 432,467 444,470 457,471 470,470 481,467 490,463 496,457"/>
31+
<area shape="rect" href="classes/pif.html" title="a network interface for a physical host" alt="" coords="241,306,301,346"/>
32+
<area shape="poly" href="classes/pif_metrics.html" title="IO stats and configuration information for a physical interface" alt="" coords="274,412 272,406 266,400 257,396 245,393 232,392 219,393 208,396 198,400 193,406 191,412 193,418 198,424 208,428 219,431 232,432 245,431 257,428 266,424 272,418"/>
33+
<area shape="rect" href="classes/sr.html" title="Storage Repository, a container for virtual disk images (VDIs)" alt="" coords="323,97,383,137"/>
34+
<area shape="rect" href="classes/vdi.html" title="a virtual disk image" alt="" coords="412,124,472,164"/>
35+
<area shape="poly" href="classes/sm.html" title="storage manager plugin module" alt="" coords="377,26 375,19 371,14 364,9 356,7 347,6 337,7 329,9 322,14 318,19 317,26 318,32 322,37 329,42 337,45 347,46 356,45 364,42 371,37 375,32"/>
36+
<area shape="rect" href="classes/vbd.html" title="a virtual block device" alt="" coords="486,181,546,221"/>
37+
<area shape="poly" href="classes/vbd_metrics.html" title="IO stats and configuration information for a virtual block device" alt="" coords="623,128 620,122 614,116 604,112 592,109 578,108 564,109 551,112 541,116 535,122 533,128 535,134 541,140 551,144 564,147 578,148 592,147 604,144 614,140 620,134"/>
4738
</map>
4839
<h2>Classes, Fields and Messages</h2>
4940
<p>Classes have both <i>fields</i> and <i>messages.</i> Messages are either <i>implicit</i> or <i>explicit</i> where an implicit message is one of:</p>
@@ -64,9 +55,13 @@ <h2>Classes, Fields and Messages</h2>
6455
<li> remove_from_X: remove a key (only if a field has type set or map).</li>
6556
</ul>
6657
</div>
67-
<div class="col-md-3" id="sidebar"></div>
58+
<div class="col-md-3" id="sidebar">
59+
<h2 class="title">Classes</h2>
60+
<div id="class_overview"><a href="{{ site.baseurl }}/xen-api/index.html">Overview</a></div>
61+
{% assign classes = site.pages | where:"class_index",true %}
62+
{% for c in classes %}
63+
<a href="{{ site.baseurl }}{{ c.url }}">{{ c.class }}</a><br/>
64+
{% endfor %}
65+
</div>
6866
</div>
69-
<script>
70-
build();
71-
</script>
7267

0 commit comments

Comments
 (0)