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.
@@ -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
@@ -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
+
@@ -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; }