forked from mkmcdonald/Matt-s-DOM-Utils
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html.in
277 lines (277 loc) · 9.19 KB
/
index.html.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
@BEGIN@
@HEAD@
<meta name="description"
content="Matt's DOM Utils (@LIBRARY_NAME@) is a modular HTML
DOM Library written in JavaScript that facilitates Graceful
Degradation. It is highly compatible with browsers both
new and old.">
<title>Matt's DOM Utils (@LIBRARY_NAME@)</title>
@ROOT_STYLESHEET@
@ROOT_RESOURCES@
@BODY@
@ROOT_HEADER@
<ul class="nav_row row">
<li class="active cell home nav_cell">
<a href="./" title="Home">Home</a>
</li>
<li class="cell demos nav_cell">
<a href="./Demos" title="Demos">Demos</a>
</li>
<li class="cell download nav_cell">
<a href="./Download" title="Download">Download</a>
</li>
<li class="cell docs nav_cell">
<a href="./Docs" title="Documentation">Documentation</a>
</li>
<li class="cell nav_cell tests">
<a href="./Tests" title="Tests">Tests</a>
</li>
<li class="cell github nav_cell">
<a href="https://www.github.com/mkmcdonald/Matt-s-DOM-@LIBRARY_NAME@/" title="GitHub">GitHub</a>
</li>
<li class="about cell nav_cell">
<a href="about.html" title="About">About</a>
</li>
</ul>
<div class="primary_row row ">
<div class="cell primary_cell">
<h2 class="heading" title="Home">Home</h2>
</div>
</div>
<div class="column secondary_column">
<div class="cell secondary_cell">
<h3 class="heading"
title="Introduction">Introduction</h3>
<p>
<em>@LIBRARY_NAME@</em> is a fully modular DOM library
that enables developers to write DOM scripts that gracefully
degrade. It has been widely tested in browsers both new and old in
order to maximize compatibility.
</p>
</div>
<div class="cell secondary_cell">
<h3 class="heading"
title="Quick Facts">Quick Facts</h3>
<ul class="fact_list">
<li>
<h4 class="heading"
title="Standards-based">Standards-based</h4>
<p>
<em>@LIBRARY_NAME@</em> is developed with standards in mind.
Most “forks” used in the API implement algorithms
specified in either the DOM 4 or HTML 5 specifications.
</p>
</li>
<li>
<h4 class="heading"
title="Developer Friendly">Developer Friendly</h4>
<p>
<em>@LIBRARY_NAME@</em> is heavily documented and contains
very strict code. This means that both developers
and users alike can easily study the API.
</p>
</li>
<li>
<h4 class="heading"
title="Portable">Portable</h4>
<p>
<em>@LIBRARY_NAME@</em> is developed to work in a maximal
amount of environments. Because documentation is
provided within the script itself, developers
have no need to consult the full documentation.
The web site itself is built to be accessible
to as many browsers as possible; mobile browsers
are encouraged.
</p>
</li>
<li>
<h4 class="heading"
title="Customisable">Customisable</h4>
<p>
<em>@LIBRARY_NAME@</em> is developed to operate under
any namespace. Developers have the ability to generate
one through a build step that resonates throughout the
entire project tree. A specific article<a href="#footnote_0"
title="Footnote Zero">[0]</a> has been
written to guide developers in doing so.
</p>
<p>
<em>@LIBRARY_NAME@</em> is fully modular. This means
that every single module is optional and order-independent.
Developers have the ability to only include the features
they need, and nothing more.
</p>
</li>
</ul>
</div>
</div>
<div class="column secondary_column">
<div class="cell secondary_cell">
<h3 class="heading"
title="License">License</h3>
<p>
<em>@LIBRARY_NAME@</em> is provided under the MIT license, which
is provided as a separate file<a href="#footnote_1"
title="Footnote One">[1]</a>.
for viewing. The MIT license was chosen to provide the freedom
for developers to use the code in any scenario.
</p>
</div>
<div class="cell secondary_cell">
<h3 class="heading"
title="Tenets">Tenets</h3>
<p>
<em>@LIBRARY_NAME@</em> is developed with the following core
tenets in mind:
</p>
<dl>
<dt>Graceful Degradation;</dt>
<dd>
Code will not execute if an incapable environment is detected.
Coupled with defensive programming, this is the most powerful
way to write “cross-browser” scripts.
</dd>
<dt>Namespacing;</dt>
<dd>
Code is split up into objects with distinctive names which encapsulate
internal methods and properties.
</dd>
<dt>Modularity;</dt>
<dd>
Code is split into files with minimal dependencies. This enables
developers to easily swap out “modules” that are undesired or
irrelevant.
</dd>
<dt>Minimal DOM Abstraction.</dt>
<dd>
API design largely sticks to the nomenclature of the DOM API.
This enables a flat learning curve, as developers should be
somewhat familiar with the DOM API.
</dd>
</dl>
</div>
</div>
<div class="column secondary_column">
<div class="cell secondary_cell">
<h3 class="heading"
title="Support">Support</h3>
<p>
<em>@LIBRARY_NAME@</em> is developed to gracefully degrade in as many
environments as possible.
</p>
<h4 class="heading"
title="Supported Environments">Supported Environments</h4>
<p>
The following environments have been explicitly tested
and passed tests with a 100% grade
(permitting sufficient DOM support to run tests):
</p>
<ul>
<li>Internet Explorer 5-9;</li>
<li>Firefox 1-13;</li>
<li>Opera 5-12;</li>
<li>Safari 3.1-5;</li>
<li>Chrome 1-4<a href="#stipulation_0"
title="Stipulation Zero"><sup>0</sup></a>.</li>
</ul>
<h4 class="heading"
title="Testing">Testing</h4>
<p>
<em>@LIBRARY_NAME@</em> has been tested in older versions of
the above along with miscellaneous environments. Support
for the preceding is positive, but not qualitative.
</p>
<p>
Tests are conducted with a basic subset of the DOM
Level 1 Core API. Any environment that does not support
the preceding API will then be tested with a basic
subset of the “DOM 0” API. ECMAScript language features
such as <code>throw</code> and
<code> try { ... } catch (err) { ... }</code> are required
to evaluate an environment. Environments without these
features currently cannot have qualitative testing performed.
</p>
</div>
<div class="cell secondary_cell">
<h3 class="heading"
title="Style">Style</h3>
<p>
<em>@LIBRARY_NAME@</em> is written in a style that's subjectively
easy to read and follow. No line of code exceeds 72 columns;
every function's body is 25<a href="#stipulation_1"
title="Stipulation One"><sup>1</sup></a> lines of code or
less; each function contains documentation for portability and
clarity. Furthermore, the code is intended to be reliable and
friendly; zero corners are cut.
</p>
<h4 class="heading"
title="Linters">Linters</h4>
<p>
<em>@LIBRARY_NAME@</em> passes <a href="http://www.jslint.com"
title="JSLint">JSLint</a> with only two options
selected: whitespace and <code>"use strict";</code>.
</p>
<p>
<em>@LIBRARY_NAME@</em> also passes <a href="http://www.jshint.com"
title="JSHint">JSHint</a> with only
<code>"use strict";</code> disabled and
no environmental assumptions.
</p>
</div>
</div>
<div class="column primary_column">
<div class="cell primary_cell" id="stipulations">
<h3 class="heading">
<a href="#stipulations"
title="Stipulations">Stipulations</a>
</h3>
<dl>
<dt class="fragment stipulation" id="stipulation_0">
<a href="#stipulation_0"
title="Stipulation Zero"><sup>0</sup></a>
</dt>
<dd>
<em>@LIBRARY_NAME@</em> is presumed to work well on Chrome versions
4 and up. However, due to Chrome's intrusive installation,
only one version can be installed per virtual machine.
As only four virtual machines utilized for the testing of
<em>@LIBRARY_NAME@</em> can run Chrome, only four versions can be tested.
</dd>
<dt class="fragment stipulation" id="stipulation_1">
<a href="#stipulation_1"
title="Stipulation One"><sup>1</sup></a>
</dt>
<dd>
<em>@LIBRARY_NAME@</em> is authored
with a strict ceiling of 20 lines of code per function body,
but some difficult cases remain.
</dd>
</dl>
</div>
<div class="cell primary_cell" id="footnotes">
<h3 class="heading">
<a href="#footnotes"
title="Footnotes">Footnotes</a>
</h3>
<dl>
<dt class="footnote fragment" id="footnote_0">
<a href="#footnote_0"
title="Footnote 0">[0]</a>
</dt>
<dd>
<a href="./Docs/HOWTO/customisation.html"
title="Build Customisation">Customisation</a>
</dd>
<dt class="footnote fragment" id="footnote_1">
<a href="#footnote_1"
title="Footnote 1">[1]</a>
</dt>
<dd>
<a href="./LICENSE"
title="License File">License</a>
</dd>
</dl>
</div>
</div>
@FOOTER@
@END@