SlimTest 4.6.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.autotest +21 -0
- data/.gemtest +0 -0
- data/History.txt +795 -0
- data/Manifest.txt +38 -0
- data/README.txt +107 -0
- data/Rakefile +52 -0
- data/articles/Article.css +721 -0
- data/articles/getting_started_with_autotest.html +533 -0
- data/articles/how_to_use_zentest.txt +393 -0
- data/bin/slim-autotest +6 -0
- data/bin/slim-multigem +4 -0
- data/bin/slim-multiruby +76 -0
- data/bin/slim-multiruby_setup +74 -0
- data/bin/slim-unit_diff +38 -0
- data/bin/slim-zentest +23 -0
- data/example.txt +42 -0
- data/example1.rb +7 -0
- data/example2.rb +15 -0
- data/example_dot_autotest.rb +16 -0
- data/lib/autotest.rb +852 -0
- data/lib/autotest/autoupdate.rb +26 -0
- data/lib/autotest/bundler.rb +10 -0
- data/lib/autotest/isolate.rb +19 -0
- data/lib/autotest/once.rb +9 -0
- data/lib/autotest/preload.rb +56 -0
- data/lib/autotest/rcov.rb +27 -0
- data/lib/autotest/restart.rb +14 -0
- data/lib/autotest/timestamp.rb +9 -0
- data/lib/focus.rb +25 -0
- data/lib/functional_test_matrix.rb +92 -0
- data/lib/multiruby.rb +412 -0
- data/lib/unit_diff.rb +274 -0
- data/lib/zentest.rb +594 -0
- data/lib/zentest_mapping.rb +117 -0
- data/test/test_autotest.rb +527 -0
- data/test/test_focus.rb +35 -0
- data/test/test_unit_diff.rb +372 -0
- data/test/test_zentest.rb +566 -0
- data/test/test_zentest_mapping.rb +242 -0
- metadata +151 -0
data/Manifest.txt
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
.autotest
|
2
|
+
History.txt
|
3
|
+
Manifest.txt
|
4
|
+
README.txt
|
5
|
+
Rakefile
|
6
|
+
articles/Article.css
|
7
|
+
articles/getting_started_with_autotest.html
|
8
|
+
articles/how_to_use_zentest.txt
|
9
|
+
bin/slim-autotest
|
10
|
+
bin/slim-multigem
|
11
|
+
bin/slim-multiruby
|
12
|
+
bin/slim-multiruby_setup
|
13
|
+
bin/slim-unit_diff
|
14
|
+
bin/slim-zentest
|
15
|
+
example.txt
|
16
|
+
example1.rb
|
17
|
+
example2.rb
|
18
|
+
example_dot_autotest.rb
|
19
|
+
lib/autotest.rb
|
20
|
+
lib/autotest/autoupdate.rb
|
21
|
+
lib/autotest/bundler.rb
|
22
|
+
lib/autotest/isolate.rb
|
23
|
+
lib/autotest/once.rb
|
24
|
+
lib/autotest/preload.rb
|
25
|
+
lib/autotest/rcov.rb
|
26
|
+
lib/autotest/restart.rb
|
27
|
+
lib/autotest/timestamp.rb
|
28
|
+
lib/focus.rb
|
29
|
+
lib/functional_test_matrix.rb
|
30
|
+
lib/multiruby.rb
|
31
|
+
lib/unit_diff.rb
|
32
|
+
lib/zentest.rb
|
33
|
+
lib/zentest_mapping.rb
|
34
|
+
test/test_autotest.rb
|
35
|
+
test/test_focus.rb
|
36
|
+
test/test_unit_diff.rb
|
37
|
+
test/test_zentest.rb
|
38
|
+
test/test_zentest_mapping.rb
|
data/README.txt
ADDED
@@ -0,0 +1,107 @@
|
|
1
|
+
= ZenTest
|
2
|
+
|
3
|
+
home :: https://github.com/seattlerb/zentest
|
4
|
+
rdoc :: http://zentest.rubyforge.org/ZenTest
|
5
|
+
|
6
|
+
== DESCRIPTION
|
7
|
+
|
8
|
+
ZenTest provides 4 different tools: zentest, unit_diff, autotest, and
|
9
|
+
multiruby.
|
10
|
+
|
11
|
+
ZenTest scans your target and unit-test code and writes your missing
|
12
|
+
code based on simple naming rules, enabling XP at a much quicker
|
13
|
+
pace. ZenTest only works with Ruby and Test::Unit. Nobody uses this
|
14
|
+
tool anymore but it is the package namesake, so it stays.
|
15
|
+
|
16
|
+
unit_diff is a command-line filter to diff expected results from
|
17
|
+
actual results and allow you to quickly see exactly what is wrong.
|
18
|
+
Do note that minitest 2.2+ provides an enhanced assert_equal obviating
|
19
|
+
the need for unit_diff
|
20
|
+
|
21
|
+
autotest is a continous testing facility meant to be used during
|
22
|
+
development. As soon as you save a file, autotest will run the
|
23
|
+
corresponding dependent tests.
|
24
|
+
|
25
|
+
multiruby runs anything you want on multiple versions of ruby. Great
|
26
|
+
for compatibility checking! Use multiruby_setup to manage your
|
27
|
+
installed versions.
|
28
|
+
|
29
|
+
== STRATEGERY
|
30
|
+
|
31
|
+
There are two strategeries intended for ZenTest: test conformance
|
32
|
+
auditing and rapid XP.
|
33
|
+
|
34
|
+
For auditing, ZenTest provides an excellent means of finding methods
|
35
|
+
that have slipped through the testing process. I've run it against my
|
36
|
+
own software and found I missed a lot in a well tested
|
37
|
+
package. Writing those tests found 4 bugs I had no idea existed.
|
38
|
+
|
39
|
+
ZenTest can also be used to evaluate generated code and execute your
|
40
|
+
tests, allowing for very rapid development of both tests and
|
41
|
+
implementation.
|
42
|
+
|
43
|
+
== FEATURES
|
44
|
+
|
45
|
+
* Scans your ruby code and tests and generates missing methods for you.
|
46
|
+
* Includes a very helpful filter for Test/Spec output called unit_diff.
|
47
|
+
* Continually and intelligently test only those files you change with autotest.
|
48
|
+
* Test against multiple versions with multiruby.
|
49
|
+
* Enhance and automatically audit your rails tests using Test::Rails.
|
50
|
+
* Includes a LinuxJournal article on testing with ZenTest written by Pat Eyler.
|
51
|
+
* See also: http://blog.zenspider.com/archives/zentest/
|
52
|
+
* See also: http://blog.segment7.net/articles/category/zentest
|
53
|
+
|
54
|
+
== SYNOPSYS
|
55
|
+
|
56
|
+
ZenTest MyProject.rb TestMyProject.rb > missing.rb
|
57
|
+
|
58
|
+
./TestMyProject.rb | unit_diff
|
59
|
+
|
60
|
+
autotest
|
61
|
+
|
62
|
+
multiruby_setup mri:svn:current
|
63
|
+
multiruby ./TestMyProject.rb
|
64
|
+
|
65
|
+
(and other stuff for Test::Rails)
|
66
|
+
|
67
|
+
== Windows and Color
|
68
|
+
|
69
|
+
Read this: http://blog.mmediasys.com/2010/11/24/we-all-love-colors/
|
70
|
+
|
71
|
+
== REQUIREMENTS
|
72
|
+
|
73
|
+
* Ruby 1.6+, JRuby 1.1.2+, or rubinius
|
74
|
+
* A test/spec framework of your choice.
|
75
|
+
* Hoe (development)
|
76
|
+
* rubygems
|
77
|
+
* diff.exe on windows. Use http://gnuwin32.sourceforge.net/packages.html
|
78
|
+
|
79
|
+
== INSTALL
|
80
|
+
|
81
|
+
* sudo gem install ZenTest
|
82
|
+
|
83
|
+
== LICENSE
|
84
|
+
|
85
|
+
(The MIT License)
|
86
|
+
|
87
|
+
Copyright (c) Ryan Davis, Eric Hodel, seattle.rb
|
88
|
+
|
89
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
90
|
+
a copy of this software and associated documentation files (the
|
91
|
+
"Software"), to deal in the Software without restriction, including
|
92
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
93
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
94
|
+
permit persons to whom the Software is furnished to do so, subject to
|
95
|
+
the following conditions:
|
96
|
+
|
97
|
+
The above copyright notice and this permission notice shall be
|
98
|
+
included in all copies or substantial portions of the Software.
|
99
|
+
|
100
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
101
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
102
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
103
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
104
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
105
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
106
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
107
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
|
3
|
+
$LOAD_PATH << 'lib'
|
4
|
+
|
5
|
+
require 'rubygems'
|
6
|
+
require 'hoe'
|
7
|
+
|
8
|
+
Hoe.add_include_dirs("../../minitest/dev/lib")
|
9
|
+
|
10
|
+
Hoe.plugin :seattlerb
|
11
|
+
|
12
|
+
Hoe.spec "SlimTest" do
|
13
|
+
developer 'Ryan Davis', 'ryand-ruby@zenspider.com'
|
14
|
+
developer 'Eric Hodel', 'drbrain@segment7.net'
|
15
|
+
end
|
16
|
+
|
17
|
+
desc "run autotest on itself"
|
18
|
+
task :autotest do
|
19
|
+
ruby "-Ilib -w ./bin/autotest"
|
20
|
+
end
|
21
|
+
|
22
|
+
desc "update example_dot_autotest.rb with all possible constants"
|
23
|
+
task :update do
|
24
|
+
system "p4 edit example_dot_autotest.rb"
|
25
|
+
File.open "example_dot_autotest.rb", "w" do |f|
|
26
|
+
f.puts "# -*- ruby -*-"
|
27
|
+
f.puts
|
28
|
+
Dir.chdir "lib" do
|
29
|
+
Dir["autotest/*.rb"].sort.each do |s|
|
30
|
+
next if s =~ /rails|discover/
|
31
|
+
f.puts "# require '#{s[0..-4]}'"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
f.puts
|
36
|
+
|
37
|
+
Dir["lib/autotest/*.rb"].sort.each do |file|
|
38
|
+
file = File.read(file)
|
39
|
+
m = file[/module.*/].split(/ /).last rescue nil
|
40
|
+
next unless m
|
41
|
+
|
42
|
+
file.grep(/def[^(]+=/).each do |setter|
|
43
|
+
setter = setter.sub(/^ *def self\./, '').sub(/\s*=\s*/, ' = ')
|
44
|
+
f.puts "# #{m}.#{setter}"
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
system "p4 diff -du example_dot_autotest.rb"
|
49
|
+
end
|
50
|
+
|
51
|
+
# vim:syntax=ruby
|
52
|
+
|
@@ -0,0 +1,721 @@
|
|
1
|
+
/*
|
2
|
+
* Basic styles for core document typography.
|
3
|
+
*
|
4
|
+
* Influenced by:
|
5
|
+
* - "How to size text using ems" [http://www.clagnut.com/blog/348]
|
6
|
+
*/
|
7
|
+
|
8
|
+
/*************************** Basic Typography ******************************/
|
9
|
+
|
10
|
+
a:link { color: black; } /* unvisited link */
|
11
|
+
a:visited { color: black; } /* visited link */
|
12
|
+
a:hover { color: black; } /* mouse over link */
|
13
|
+
a:active { color: black; } /* selected link */
|
14
|
+
|
15
|
+
html {
|
16
|
+
background: white;
|
17
|
+
color: black;
|
18
|
+
text-align: center; /* IE hack to workaround for block centering. */
|
19
|
+
margin: 0;
|
20
|
+
padding: 0;
|
21
|
+
}
|
22
|
+
|
23
|
+
|
24
|
+
body {
|
25
|
+
margin: 0;
|
26
|
+
padding: 0;
|
27
|
+
font-family: Lucida Grande, sans-serif;
|
28
|
+
}
|
29
|
+
|
30
|
+
* {
|
31
|
+
font-family: Lucida Grande, sans-serif;
|
32
|
+
}
|
33
|
+
|
34
|
+
img { vertical-align: middle; }
|
35
|
+
|
36
|
+
p, li, dt, dd {
|
37
|
+
line-height: 1.5;
|
38
|
+
font-size: .95em;
|
39
|
+
}
|
40
|
+
|
41
|
+
p, ul, ol, dl {
|
42
|
+
margin-left: 3em;
|
43
|
+
margin-right: 2em;
|
44
|
+
}
|
45
|
+
|
46
|
+
p + p {
|
47
|
+
text-indent: 1.4em;
|
48
|
+
}
|
49
|
+
|
50
|
+
dl {
|
51
|
+
margin: 1em 3em;
|
52
|
+
}
|
53
|
+
|
54
|
+
dl dt a {
|
55
|
+
font: 1.5em bold Lucida Grande, sans-serif;
|
56
|
+
}
|
57
|
+
|
58
|
+
dl dt {
|
59
|
+
font-weight: bold;
|
60
|
+
}
|
61
|
+
|
62
|
+
dl dd {
|
63
|
+
margin: 0em 3em;
|
64
|
+
}
|
65
|
+
|
66
|
+
ul {
|
67
|
+
list-style: square outside;
|
68
|
+
}
|
69
|
+
|
70
|
+
li p { /* Markdown define paragraphs for list items. */
|
71
|
+
margin: 0;
|
72
|
+
}
|
73
|
+
|
74
|
+
/*
|
75
|
+
* Ensure that nested items have the same size as their parent as we are
|
76
|
+
* using (relative) em sizing.
|
77
|
+
*/
|
78
|
+
li li, li p, td p, blockquote p {
|
79
|
+
font-size: 1em;
|
80
|
+
}
|
81
|
+
|
82
|
+
abbr, acronym {
|
83
|
+
letter-spacing:0.1em
|
84
|
+
font-variant: small-caps;
|
85
|
+
}
|
86
|
+
|
87
|
+
em {
|
88
|
+
font-style: italic;
|
89
|
+
}
|
90
|
+
|
91
|
+
term {
|
92
|
+
font-style: italic;
|
93
|
+
}
|
94
|
+
|
95
|
+
cite {
|
96
|
+
font-style: italic;
|
97
|
+
}
|
98
|
+
input, select, th, td {font-size:1em}
|
99
|
+
|
100
|
+
/******************************* Headers ********************************/
|
101
|
+
|
102
|
+
h1 {
|
103
|
+
text-align: center;
|
104
|
+
padding: .3em 2em 0em 2em;
|
105
|
+
margin: 0;
|
106
|
+
color: black;
|
107
|
+
font-size: 1.3em;
|
108
|
+
}
|
109
|
+
|
110
|
+
h2 {
|
111
|
+
margin-left: 0.4em;
|
112
|
+
font-weight: bold;
|
113
|
+
font-size: 1.2em;
|
114
|
+
border-bottom: medium #5089da solid;
|
115
|
+
}
|
116
|
+
|
117
|
+
h3 {
|
118
|
+
font-size: 1.2em;
|
119
|
+
margin-left: .5em;
|
120
|
+
margin-right: auto;
|
121
|
+
color: #929292;
|
122
|
+
border-bottom: thin solid #929292;
|
123
|
+
}
|
124
|
+
|
125
|
+
/************************ Editing / Authoring ********************/
|
126
|
+
|
127
|
+
.todo {
|
128
|
+
background: red;
|
129
|
+
color: yellow;
|
130
|
+
font-weight: bold;
|
131
|
+
}
|
132
|
+
|
133
|
+
/************************ Samples, Input, Code, Commands ********************/
|
134
|
+
|
135
|
+
code {
|
136
|
+
font-family: monospace;
|
137
|
+
}
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
kbd:before {
|
142
|
+
content: open-quote;
|
143
|
+
}
|
144
|
+
|
145
|
+
kbd:after {
|
146
|
+
content: close-quote;
|
147
|
+
}
|
148
|
+
|
149
|
+
|
150
|
+
code, kbd, var, pre {
|
151
|
+
font-family: monaco, "Courier New", courier, monospace;
|
152
|
+
font-size: 14px;
|
153
|
+
}
|
154
|
+
|
155
|
+
.command-box {
|
156
|
+
clear: right; /* Side notes. */
|
157
|
+
border: 1px dotted #888;
|
158
|
+
background: #151515;
|
159
|
+
color: #eee;
|
160
|
+
margin: .5em 2em .5em 3em;
|
161
|
+
padding: .5em;
|
162
|
+
text-align: left;
|
163
|
+
font-family: monospace;
|
164
|
+
-moz-border-radius: .5em;
|
165
|
+
-webkit-border-radius: .5em;
|
166
|
+
border-radius: .5em;
|
167
|
+
|
168
|
+
}
|
169
|
+
|
170
|
+
span.placeholder {
|
171
|
+
font-style: italic;
|
172
|
+
}
|
173
|
+
|
174
|
+
span.placeholder:before {
|
175
|
+
content: "<";
|
176
|
+
}
|
177
|
+
|
178
|
+
span.placeholder:after {
|
179
|
+
content: ">";
|
180
|
+
}
|
181
|
+
|
182
|
+
.command-box span.placeholder {
|
183
|
+
font-style: normal;
|
184
|
+
color: #cc2;
|
185
|
+
}
|
186
|
+
|
187
|
+
.source-code-box {
|
188
|
+
border: 1px dotted #888;
|
189
|
+
background: #151515;
|
190
|
+
color: #eee;
|
191
|
+
margin: .5em 2em .5em 3em;
|
192
|
+
padding: .5em;
|
193
|
+
text-align: left;
|
194
|
+
font-family: monospace;
|
195
|
+
-moz-border-radius: .5em;
|
196
|
+
-webkit-border-radius: .5em;
|
197
|
+
border-radius: .5em;
|
198
|
+
}
|
199
|
+
|
200
|
+
.output-box {
|
201
|
+
border: 1px dotted #888;
|
202
|
+
background: #151515;
|
203
|
+
color: #eee;
|
204
|
+
margin: .5em 2em .5em 3em;
|
205
|
+
padding: .5em;
|
206
|
+
text-align: left;
|
207
|
+
font-family: monospace;
|
208
|
+
}
|
209
|
+
|
210
|
+
.sample-box {
|
211
|
+
border: 1px dotted #444;
|
212
|
+
margin: .5em 2em .5em 3em;
|
213
|
+
padding: .5em;
|
214
|
+
text-align: left;
|
215
|
+
}
|
216
|
+
|
217
|
+
/*
|
218
|
+
* Global styles for PH Web
|
219
|
+
*/
|
220
|
+
|
221
|
+
/*
|
222
|
+
* Banner and Main navigation menu
|
223
|
+
*/
|
224
|
+
|
225
|
+
div.banner {
|
226
|
+
margin: 0;
|
227
|
+
padding: 0;
|
228
|
+
float: left;
|
229
|
+
width: 100%;
|
230
|
+
font-size: 110%;
|
231
|
+
line-height: normal;
|
232
|
+
background: #5089da url( Main-Menu-Background-2.jpg ) repeat-y bottom left;
|
233
|
+
border-bottom: thin #666 solid;
|
234
|
+
}
|
235
|
+
|
236
|
+
div.banner div.signature span.by {
|
237
|
+
font: italic .7em Didot, serif;
|
238
|
+
padding-right: .6em;
|
239
|
+
text-shadow: .2em .2em .2em #222;
|
240
|
+
}
|
241
|
+
|
242
|
+
div.banner div.signature {
|
243
|
+
float: right;
|
244
|
+
color: gainsboro;
|
245
|
+
font: 1.1em Didot, serif;
|
246
|
+
margin: 0;
|
247
|
+
padding: 60px .1em 0 0;
|
248
|
+
vertical-align: baseline;
|
249
|
+
}
|
250
|
+
|
251
|
+
img#banner-logo {
|
252
|
+
float: left;
|
253
|
+
margin: .3em 6em .1em 1em;
|
254
|
+
border: 0;
|
255
|
+
}
|
256
|
+
|
257
|
+
|
258
|
+
div.banner a#feed_link img {
|
259
|
+
vertical-align: middle;
|
260
|
+
border: 0;
|
261
|
+
float: right;
|
262
|
+
margin: .5em 1em;
|
263
|
+
}
|
264
|
+
|
265
|
+
div.banner a#contact_me_link img {
|
266
|
+
vertical-align: middle;
|
267
|
+
border: 0;
|
268
|
+
float: right;
|
269
|
+
margin: .5em 1em;
|
270
|
+
}
|
271
|
+
|
272
|
+
ul.section-menu {
|
273
|
+
float: left;
|
274
|
+
margin: 0 auto;
|
275
|
+
padding: 0;
|
276
|
+
width: 40em;
|
277
|
+
list-style: none;
|
278
|
+
}
|
279
|
+
|
280
|
+
ul.section-menu li {
|
281
|
+
display:block;
|
282
|
+
float: left;
|
283
|
+
margin: .8em 1px .5em 1px;
|
284
|
+
padding: 1em 0;
|
285
|
+
background: transparent url( 'Button Gradient.png' ) repeat-x center;
|
286
|
+
text-shadow: .1em .1em .2em #444;
|
287
|
+
}
|
288
|
+
|
289
|
+
|
290
|
+
ul.section-menu li a:visited {
|
291
|
+
color: gainsboro;
|
292
|
+
}
|
293
|
+
|
294
|
+
ul.section-menu li a {
|
295
|
+
padding: 0 1em;
|
296
|
+
margin: 0;
|
297
|
+
font: bold .9em Lucida Grande, sans-serif;
|
298
|
+
text-decoration: none;
|
299
|
+
color: gainsboro;
|
300
|
+
}
|
301
|
+
|
302
|
+
ul.section-menu li.first a {
|
303
|
+
padding-left: .6em;
|
304
|
+
}
|
305
|
+
|
306
|
+
ul.section-menu li.last a {
|
307
|
+
padding-left: .6em;
|
308
|
+
}
|
309
|
+
|
310
|
+
ul.section-menu li a:hover {
|
311
|
+
color: white;
|
312
|
+
}
|
313
|
+
|
314
|
+
ul.section-menu li#current a {
|
315
|
+
color: #ff8;
|
316
|
+
}
|
317
|
+
|
318
|
+
div.content {
|
319
|
+
float: left;
|
320
|
+
background: url(Shore.jpg) no-repeat left top;
|
321
|
+
width: 100%;
|
322
|
+
padding: 0;
|
323
|
+
padding-top: 1.3em;
|
324
|
+
padding-bottom: 1.3em;
|
325
|
+
text-align: left;
|
326
|
+
clear: both;
|
327
|
+
margin: 0;
|
328
|
+
}
|
329
|
+
|
330
|
+
|
331
|
+
p.Cartouche {
|
332
|
+
float: right;
|
333
|
+
width: 15em;
|
334
|
+
margin: 0 2em 2em 3em;
|
335
|
+
background: #5089da;
|
336
|
+
padding: 1em;
|
337
|
+
text-align: center;
|
338
|
+
color: white;
|
339
|
+
font-weight: bold;
|
340
|
+
border: 0;
|
341
|
+
text-indent: 0;
|
342
|
+
|
343
|
+
-moz-border-radius: .5em;
|
344
|
+
-webkit-border-radius: .5em;
|
345
|
+
border-radius: .5em;
|
346
|
+
-webkit-box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.5)
|
347
|
+
}
|
348
|
+
|
349
|
+
p.Cartouche a img {
|
350
|
+
border: 0;
|
351
|
+
}
|
352
|
+
|
353
|
+
.Copyright {
|
354
|
+
clear: both;
|
355
|
+
text-align: center;
|
356
|
+
font: italic 1em Lucida Grande, sans-serif;
|
357
|
+
color: #444;
|
358
|
+
margin-bottom: .2em;
|
359
|
+
}
|
360
|
+
|
361
|
+
.License {
|
362
|
+
margin-top: 0;
|
363
|
+
font: italic 1em Lucida Grande, sans-serif;
|
364
|
+
color: #444;
|
365
|
+
}
|
366
|
+
|
367
|
+
a.discussion_link {
|
368
|
+
text-decoration: none;
|
369
|
+
}
|
370
|
+
|
371
|
+
a.comment_counter {
|
372
|
+
color: #5089da;
|
373
|
+
padding: 0 1.5em;
|
374
|
+
}
|
375
|
+
|
376
|
+
h2.document_reference a {
|
377
|
+
text-decoration: none;
|
378
|
+
}
|
379
|
+
|
380
|
+
span.tag_list {
|
381
|
+
padding-left: 4em;
|
382
|
+
font-weight: normal;
|
383
|
+
}
|
384
|
+
|
385
|
+
span.tag_list img {
|
386
|
+
vertical-align: middle;
|
387
|
+
}
|
388
|
+
|
389
|
+
span.tag_list:before {
|
390
|
+
content: '[';
|
391
|
+
}
|
392
|
+
|
393
|
+
span.tag_list:after {
|
394
|
+
content: ']';
|
395
|
+
}
|
396
|
+
|
397
|
+
p.read_more, p.read_more a {
|
398
|
+
font-variant : small-caps;
|
399
|
+
font-weight: bold;
|
400
|
+
color: #5089da;
|
401
|
+
}
|
402
|
+
|
403
|
+
h2 span.post_date {
|
404
|
+
padding-right: 1em;
|
405
|
+
color: #5089da;
|
406
|
+
}
|
407
|
+
|
408
|
+
div#contact_form {
|
409
|
+
margin: 2em;
|
410
|
+
}
|
411
|
+
|
412
|
+
div#contact_form label {
|
413
|
+
margin-bottom: 100px;
|
414
|
+
padding: 5em 1em 5em 0;
|
415
|
+
}
|
416
|
+
|
417
|
+
div#contact_form textarea {
|
418
|
+
margin-top: 1.5em;
|
419
|
+
width: 50em;
|
420
|
+
}
|
421
|
+
|
422
|
+
div.errorExplanation {
|
423
|
+
background: #fbb;
|
424
|
+
color: red;
|
425
|
+
padding: 1em;
|
426
|
+
margin: 1em;
|
427
|
+
-moz-border-radius: 1em;
|
428
|
+
-webkit-border-radius: 1em;
|
429
|
+
border-radius: 1em;
|
430
|
+
}
|
431
|
+
|
432
|
+
div.errorExplanation h2 {
|
433
|
+
font-size: 1em;
|
434
|
+
border: 0;
|
435
|
+
color: red;
|
436
|
+
}
|
437
|
+
|
438
|
+
/*
|
439
|
+
* Round box
|
440
|
+
*/
|
441
|
+
table.box {
|
442
|
+
table-layout: fixed;
|
443
|
+
border-spacing: 0;
|
444
|
+
border: none;
|
445
|
+
}
|
446
|
+
|
447
|
+
table.box tr, table.box tr td {
|
448
|
+
padding: 0;
|
449
|
+
margin: 0;
|
450
|
+
border: none;
|
451
|
+
}
|
452
|
+
|
453
|
+
table.box tr.top, table.box tr.bottom {
|
454
|
+
height: 30px;
|
455
|
+
}
|
456
|
+
|
457
|
+
table.box tr.bottom td { /* Fix for Safari who does not pick up height from the <tr> rule. */
|
458
|
+
height: 30px;
|
459
|
+
}
|
460
|
+
|
461
|
+
table.box tr td.left, table.box tr td.right {
|
462
|
+
width: 30px;
|
463
|
+
}
|
464
|
+
|
465
|
+
table.box tr.top td.left {
|
466
|
+
background: url('Blue Box Top Left.png') no-repeat top left;
|
467
|
+
}
|
468
|
+
|
469
|
+
table.box tr.top td.center {
|
470
|
+
background: url('Blue Box Top.png') repeat-x top;
|
471
|
+
}
|
472
|
+
|
473
|
+
table.box tr.top td.right {
|
474
|
+
background: url('Blue Box Top Right.png') no-repeat top right;
|
475
|
+
}
|
476
|
+
|
477
|
+
table.box tr.middle td.left {
|
478
|
+
background: url('Blue Box Left.png') repeat-y left;
|
479
|
+
}
|
480
|
+
|
481
|
+
table.box tr.middle td.center {
|
482
|
+
background: url('Blue Box Center.png') repeat;
|
483
|
+
padding: 0px;
|
484
|
+
}
|
485
|
+
|
486
|
+
table.box tr.middle td.right {
|
487
|
+
background: url('Blue Box Right.png') repeat-y right;
|
488
|
+
}
|
489
|
+
|
490
|
+
table.box tr.bottom td.left {
|
491
|
+
background: url('Blue Box Bottom Left.png') no-repeat bottom left;
|
492
|
+
}
|
493
|
+
|
494
|
+
table.box tr.bottom td.center {
|
495
|
+
background: url('Blue Box Bottom.png') repeat-x bottom;
|
496
|
+
}
|
497
|
+
|
498
|
+
table.box tr.bottom td.right {
|
499
|
+
background: url('Blue Box Bottom Right.png') no-repeat bottom right;
|
500
|
+
}
|
501
|
+
|
502
|
+
|
503
|
+
/*
|
504
|
+
* Styles for PH articles.
|
505
|
+
*/
|
506
|
+
|
507
|
+
div.content {
|
508
|
+
float: left;
|
509
|
+
width: 90%;
|
510
|
+
padding: 0 3em;
|
511
|
+
}
|
512
|
+
|
513
|
+
div.content * {
|
514
|
+
text-align: left;
|
515
|
+
}
|
516
|
+
|
517
|
+
div.content h1 {
|
518
|
+
padding: 1em 2em 1em 2em;
|
519
|
+
text-align: center;
|
520
|
+
font-size: 1.7em;
|
521
|
+
text-shadow: .1em .1em .2em #666;
|
522
|
+
}
|
523
|
+
|
524
|
+
div.content table.reference-table {
|
525
|
+
margin-left: 4em;
|
526
|
+
}
|
527
|
+
div.content table.reference-table tr td, div.content table.reference-table tr th {
|
528
|
+
padding: .3em 1em;
|
529
|
+
text-align: left;
|
530
|
+
}
|
531
|
+
|
532
|
+
div.Header {
|
533
|
+
margin: .5em 3em 1em 3em;
|
534
|
+
padding: .5em 1em .5em 1em;
|
535
|
+
background: #999;
|
536
|
+
color: #fff;
|
537
|
+
border: thin solid #888;
|
538
|
+
text-align: center;
|
539
|
+
}
|
540
|
+
|
541
|
+
div.Author {
|
542
|
+
padding: 0;
|
543
|
+
margin: 0;
|
544
|
+
color: #fff;
|
545
|
+
font: italic 1em serif;
|
546
|
+
}
|
547
|
+
|
548
|
+
div.Author:before {
|
549
|
+
content: "By "
|
550
|
+
}
|
551
|
+
|
552
|
+
div.LastUpdate:before {
|
553
|
+
content: "Last significant update: "
|
554
|
+
}
|
555
|
+
|
556
|
+
p.LastUpdate {
|
557
|
+
padding: 0;
|
558
|
+
margin: -.5em 0 1.2em 0;
|
559
|
+
color: #222;
|
560
|
+
font: italic 1em sans-serif;
|
561
|
+
text-align: center;
|
562
|
+
}
|
563
|
+
|
564
|
+
div.Abstract {
|
565
|
+
margin: .5em 6em;
|
566
|
+
background: #5089da;
|
567
|
+
color: white;
|
568
|
+
text-align: justify;
|
569
|
+
padding: 1.2em 1.2em;
|
570
|
+
|
571
|
+
-moz-border-radius: 1em;
|
572
|
+
-webkit-border-radius: 1em;
|
573
|
+
border-radius: 1em;
|
574
|
+
-webkit-box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.5)
|
575
|
+
}
|
576
|
+
|
577
|
+
div.Abstract p {
|
578
|
+
margin: 1em 0 0 0;
|
579
|
+
padding: 0;
|
580
|
+
}
|
581
|
+
|
582
|
+
div.Abstract p.first {
|
583
|
+
margin-top: 0;
|
584
|
+
}
|
585
|
+
|
586
|
+
div.Audience:before {
|
587
|
+
content: "Audience: ";
|
588
|
+
}
|
589
|
+
|
590
|
+
div.Audience {
|
591
|
+
margin: .5em 2em;
|
592
|
+
color: #444;
|
593
|
+
font: italic 1em Verdana sans-serif;
|
594
|
+
text-align: justify;
|
595
|
+
}
|
596
|
+
|
597
|
+
|
598
|
+
h2 {
|
599
|
+
margin-top: 1.5em;
|
600
|
+
margin-left: 0em;
|
601
|
+
font-weight: bold;
|
602
|
+
font-size: 1.2em;
|
603
|
+
border-bottom: medium #5089da solid;
|
604
|
+
text-shadow: .1em .1em .2em #666;
|
605
|
+
}
|
606
|
+
|
607
|
+
h3 {
|
608
|
+
font-size: 1.1em;
|
609
|
+
margin-top: 1em;
|
610
|
+
margin-left: 1em;
|
611
|
+
margin-right: auto;
|
612
|
+
color: #5089da;
|
613
|
+
border-bottom: thin solid #929292;
|
614
|
+
text-shadow: .1em .1em .2em #bbb;
|
615
|
+
}
|
616
|
+
|
617
|
+
h4 {
|
618
|
+
font-size: 1em;
|
619
|
+
font-weight: bold;
|
620
|
+
margin-left: 2em;
|
621
|
+
margin-right: auto;
|
622
|
+
color: #000;
|
623
|
+
border-bottom: thin #5089da solid;
|
624
|
+
}
|
625
|
+
|
626
|
+
div#what-s-next {
|
627
|
+
margin: .5em 0em;
|
628
|
+
background: #5089da;
|
629
|
+
color: white;
|
630
|
+
text-align: justify;
|
631
|
+
padding: 1.5em 1em 1em 1em;
|
632
|
+
|
633
|
+
-moz-border-radius: 1em;
|
634
|
+
-webkit-border-radius: 1em;
|
635
|
+
border-radius: 1em;
|
636
|
+
-webkit-box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.5)
|
637
|
+
}
|
638
|
+
|
639
|
+
div#what-s-next h2 {
|
640
|
+
color: white;
|
641
|
+
padding-top: 0em;
|
642
|
+
padding: 0;
|
643
|
+
margin: 0;
|
644
|
+
}
|
645
|
+
|
646
|
+
div#what-s-next h3 {
|
647
|
+
color: #060c14;
|
648
|
+
border-color: #305282;
|
649
|
+
}
|
650
|
+
|
651
|
+
div.side-note {
|
652
|
+
float: right;
|
653
|
+
width: 23em;
|
654
|
+
margin: 0 0 1.2em 2em;
|
655
|
+
padding: 0;
|
656
|
+
|
657
|
+
background: lightyellow;
|
658
|
+
border: thin solid #a8a86d;
|
659
|
+
}
|
660
|
+
|
661
|
+
div.side-note .header {
|
662
|
+
margin: .25em 1em;
|
663
|
+
padding: 0 0 .3em 0;
|
664
|
+
|
665
|
+
color: black;
|
666
|
+
border-bottom: solid medium #5089da;
|
667
|
+
}
|
668
|
+
|
669
|
+
div.side-note p {
|
670
|
+
margin: .5em 1em;
|
671
|
+
}
|
672
|
+
|
673
|
+
div.side-note .header p {
|
674
|
+
text-align: center;
|
675
|
+
font-weight: bold;
|
676
|
+
margin: 0;
|
677
|
+
padding: 0;
|
678
|
+
}
|
679
|
+
|
680
|
+
h2, h3 {
|
681
|
+
clear: both;
|
682
|
+
}
|
683
|
+
|
684
|
+
div.maruku_toc ul {
|
685
|
+
margin: 0 2em;
|
686
|
+
padding: 0;
|
687
|
+
}
|
688
|
+
|
689
|
+
div.maruku_toc ul li ul {
|
690
|
+
margin: 0 2em;
|
691
|
+
padding: 0;
|
692
|
+
}
|
693
|
+
|
694
|
+
div.content li {
|
695
|
+
margin-top: 1em;
|
696
|
+
margin-bottom: 1em;
|
697
|
+
}
|
698
|
+
|
699
|
+
blockquote {
|
700
|
+
color: #333;
|
701
|
+
font-style: Italic;
|
702
|
+
}
|
703
|
+
|
704
|
+
.ruby .normal {}
|
705
|
+
.ruby .comment { color: #005; font-style: italic; }
|
706
|
+
.ruby .keyword { color: #A00; font-weight: bold; }
|
707
|
+
.ruby .method { color: #077; }
|
708
|
+
.ruby .class { color: #074; }
|
709
|
+
.ruby .module { color: #050; }
|
710
|
+
.ruby .punct { color: #447; font-weight: bold; }
|
711
|
+
.ruby .symbol { color: #099; }
|
712
|
+
.ruby .string { color: #944; background: #FFE; }
|
713
|
+
.ruby .char { color: #F07; }
|
714
|
+
.ruby .ident { color: #004; }
|
715
|
+
.ruby .constant { color: #07F; }
|
716
|
+
.ruby .regex { color: #B66; background: #FEF; }
|
717
|
+
.ruby .number { color: #F99; }
|
718
|
+
.ruby .attribute { color: #7BB; }
|
719
|
+
.ruby .global { color: #7FB; }
|
720
|
+
.ruby .expr { color: #227; }
|
721
|
+
.ruby .escape { color: #277; }
|