TwP-webby 0.9.3 → 0.9.4
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +8 -0
- data/Manifest.txt +35 -29
- data/{README.txt → README.rdoc} +9 -9
- data/Rakefile +9 -2
- data/examples/webby/content/communicate/index.txt +2 -2
- data/examples/webby/content/index.txt +1 -1
- data/examples/website/content/css/blueprint/ie.css +26 -0
- data/examples/website/content/css/blueprint/plugins/buttons/{Readme → readme.txt} +3 -2
- data/examples/website/content/css/blueprint/plugins/buttons/{buttons.css → screen.css} +1 -1
- data/examples/website/content/css/blueprint/plugins/fancy-type/readme.txt +14 -0
- data/examples/website/content/css/blueprint/plugins/fancy-type/{fancy-type.css → screen.css} +71 -74
- data/examples/website/content/css/blueprint/plugins/link-icons/icons/doc.png +0 -0
- data/examples/website/content/css/blueprint/plugins/link-icons/icons/email.png +0 -0
- data/examples/website/content/css/blueprint/plugins/link-icons/icons/external.png +0 -0
- data/examples/website/content/css/blueprint/plugins/link-icons/icons/feed.png +0 -0
- data/examples/website/content/css/blueprint/plugins/link-icons/icons/im.png +0 -0
- data/examples/website/content/css/blueprint/plugins/link-icons/icons/pdf.png +0 -0
- data/examples/website/content/css/blueprint/plugins/link-icons/icons/visited.png +0 -0
- data/examples/website/content/css/blueprint/plugins/link-icons/icons/xls.png +0 -0
- data/examples/website/content/css/blueprint/plugins/link-icons/readme.txt +18 -0
- data/examples/website/content/css/blueprint/plugins/link-icons/screen.css +40 -0
- data/examples/website/content/css/blueprint/plugins/rtl/readme.txt +10 -0
- data/examples/website/content/css/blueprint/plugins/rtl/screen.css +109 -0
- data/examples/website/content/css/blueprint/print.css +30 -68
- data/examples/website/content/css/blueprint/screen.css +251 -22
- data/examples/website/content/css/blueprint/src/forms.css +49 -0
- data/examples/website/content/css/blueprint/src/grid.css +212 -0
- data/examples/website/content/css/blueprint/src/ie.css +59 -0
- data/examples/website/content/css/blueprint/src/print.css +85 -0
- data/examples/website/content/css/blueprint/{lib → src}/reset.css +14 -15
- data/examples/website/content/css/blueprint/src/typography.css +105 -0
- data/examples/website/layouts/default.txt +5 -2
- data/lib/webby/apps/main.rb +4 -1
- data/lib/webby/auto_builder.rb +3 -3
- data/lib/webby/builder.rb +5 -13
- data/lib/webby/filters/maruku.rb +16 -0
- data/lib/webby/filters/outline.rb +1 -1
- data/lib/webby/link_validator.rb +59 -51
- data/lib/webby/tasks/create.rake +4 -1
- data/lib/webby/tasks/validate.rake +1 -1
- data/lib/webby.rb +14 -3
- data/spec/data/html/anchor.html +11 -0
- data/spec/data/html/external.html +10 -0
- data/spec/data/html/invalid-relative.html +10 -0
- data/spec/data/html/relative-anchor.html +10 -0
- data/spec/data/html/relative-invalid-anchor.html +10 -0
- data/spec/data/html/relative.html +10 -0
- data/spec/spec_helper.rb +7 -0
- data/spec/webby/filters/maruku_spec.rb +31 -0
- data/spec/webby/filters/textile_spec.rb +15 -4
- data/spec/webby/link_validator_spec.rb +154 -0
- data/tasks/mswin32.rake +38 -0
- data/tasks/website.rake +0 -1
- metadata +52 -24
- data/examples/website/content/css/blueprint/License.txt +0 -21
- data/examples/website/content/css/blueprint/Readme.txt +0 -100
- data/examples/website/content/css/blueprint/compressed/print.css +0 -76
- data/examples/website/content/css/blueprint/compressed/screen.css +0 -696
- data/examples/website/content/css/blueprint/lib/forms.css +0 -45
- data/examples/website/content/css/blueprint/lib/grid.css +0 -193
- data/examples/website/content/css/blueprint/lib/ie.css +0 -30
- data/examples/website/content/css/blueprint/lib/typography.css +0 -116
- data/examples/website/content/css/blueprint/plugins/css-classes/Readme +0 -14
- data/examples/website/content/css/blueprint/plugins/css-classes/css-classes.css +0 -24
- data/examples/website/content/css/blueprint/plugins/fancy-type/Readme +0 -22
- data/examples/website/content/css/blueprint/plugins/fancy-type/fancy-type-compressed.css +0 -5
- data/tasks/ann.rake +0 -81
- data/tasks/bones.rake +0 -21
- data/tasks/gem.rake +0 -187
- data/tasks/git.rake +0 -41
- data/tasks/manifest.rake +0 -48
- data/tasks/notes.rake +0 -28
- data/tasks/post_load.rake +0 -39
- data/tasks/rdoc.rake +0 -51
- data/tasks/rubyforge.rake +0 -55
- data/tasks/setup.rb +0 -268
- data/tasks/spec.rake +0 -55
- /data/examples/website/content/css/blueprint/{lib → src}/grid.png +0 -0
@@ -1,193 +0,0 @@
|
|
1
|
-
/* --------------------------------------------------------------
|
2
|
-
|
3
|
-
grid.css
|
4
|
-
* Sets up an easy-to-use grid of 24 columns.
|
5
|
-
|
6
|
-
Based on work by:
|
7
|
-
* Nathan Borror [playgroundblues.com]
|
8
|
-
* Jeff Croft [jeffcroft.com]
|
9
|
-
* Christian Metts [mintchaos.com]
|
10
|
-
* Khoi Vinh [subtraction.com]
|
11
|
-
|
12
|
-
By default, the grid is 950px wide, with 24 columns
|
13
|
-
spanning 30px, and a 10px margin between columns.
|
14
|
-
|
15
|
-
If you need fewer or more columns, use this
|
16
|
-
formula to find the new total width:
|
17
|
-
Total width = (columns * 40) - 10
|
18
|
-
|
19
|
-
Read more about using a grid here:
|
20
|
-
* subtraction.com/archives/2007/0318_oh_yeeaahh.php
|
21
|
-
|
22
|
-
-------------------------------------------------------------- */
|
23
|
-
|
24
|
-
/* A container should group all your columns. */
|
25
|
-
.container {
|
26
|
-
width: 950px;
|
27
|
-
margin: 0 auto;
|
28
|
-
}
|
29
|
-
|
30
|
-
|
31
|
-
/* Columns
|
32
|
-
-------------------------------------------------------------- */
|
33
|
-
|
34
|
-
/* Use this class together with the .span-x classes
|
35
|
-
to create any composition of columns in a layout. */
|
36
|
-
|
37
|
-
.column {
|
38
|
-
float: left;
|
39
|
-
margin-right: 10px;
|
40
|
-
}
|
41
|
-
|
42
|
-
|
43
|
-
/* The last column in a row needs this class. */
|
44
|
-
.last { margin-right: 0; }
|
45
|
-
|
46
|
-
/* Use these classes to set the width of a column. */
|
47
|
-
.span-1 { width: 30px; }
|
48
|
-
.span-2 { width: 70px; }
|
49
|
-
.span-3 { width: 110px; }
|
50
|
-
.span-4 { width: 150px; }
|
51
|
-
.span-5 { width: 190px; }
|
52
|
-
.span-6 { width: 230px; }
|
53
|
-
.span-7 { width: 270px; }
|
54
|
-
.span-8 { width: 310px; }
|
55
|
-
.span-9 { width: 350px; }
|
56
|
-
.span-10 { width: 390px; }
|
57
|
-
.span-11 { width: 430px; }
|
58
|
-
.span-12 { width: 470px; }
|
59
|
-
.span-13 { width: 510px; }
|
60
|
-
.span-14 { width: 550px; }
|
61
|
-
.span-15 { width: 590px; }
|
62
|
-
.span-16 { width: 630px; }
|
63
|
-
.span-17 { width: 670px; }
|
64
|
-
.span-18 { width: 710px; }
|
65
|
-
.span-19 { width: 750px; }
|
66
|
-
.span-20 { width: 790px; }
|
67
|
-
.span-21 { width: 830px; }
|
68
|
-
.span-22 { width: 870px; }
|
69
|
-
.span-23 { width: 910px; }
|
70
|
-
.span-24 { width: 950px; margin: 0; }
|
71
|
-
|
72
|
-
/* Add these to a column to append empty cols. */
|
73
|
-
.append-1 { padding-right: 40px; }
|
74
|
-
.append-2 { padding-right: 80px; }
|
75
|
-
.append-3 { padding-right: 120px; }
|
76
|
-
.append-4 { padding-right: 160px; }
|
77
|
-
.append-5 { padding-right: 200px; }
|
78
|
-
.append-6 { padding-right: 240px; }
|
79
|
-
.append-7 { padding-right: 280px; }
|
80
|
-
.append-8 { padding-right: 320px; }
|
81
|
-
.append-9 { padding-right: 360px; }
|
82
|
-
.append-10 { padding-right: 400px; }
|
83
|
-
.append-11 { padding-right: 440px; }
|
84
|
-
.append-12 { padding-right: 480px; }
|
85
|
-
.append-13 { padding-right: 520px; }
|
86
|
-
.append-14 { padding-right: 560px; }
|
87
|
-
.append-15 { padding-right: 600px; }
|
88
|
-
.append-16 { padding-right: 640px; }
|
89
|
-
.append-17 { padding-right: 680px; }
|
90
|
-
.append-18 { padding-right: 720px; }
|
91
|
-
.append-19 { padding-right: 760px; }
|
92
|
-
.append-20 { padding-right: 800px; }
|
93
|
-
.append-21 { padding-right: 840px; }
|
94
|
-
.append-22 { padding-right: 880px; }
|
95
|
-
.append-23 { padding-right: 920px; }
|
96
|
-
|
97
|
-
/* Add these to a column to prepend empty cols. */
|
98
|
-
.prepend-1 { padding-left: 40px; }
|
99
|
-
.prepend-2 { padding-left: 80px; }
|
100
|
-
.prepend-3 { padding-left: 120px; }
|
101
|
-
.prepend-4 { padding-left: 160px; }
|
102
|
-
.prepend-5 { padding-left: 200px; }
|
103
|
-
.prepend-6 { padding-left: 240px; }
|
104
|
-
.prepend-7 { padding-left: 280px; }
|
105
|
-
.prepend-8 { padding-left: 320px; }
|
106
|
-
.prepend-9 { padding-left: 360px; }
|
107
|
-
.prepend-10 { padding-left: 400px; }
|
108
|
-
.prepend-11 { padding-left: 440px; }
|
109
|
-
.prepend-12 { padding-left: 480px; }
|
110
|
-
.prepend-13 { padding-left: 520px; }
|
111
|
-
.prepend-14 { padding-left: 560px; }
|
112
|
-
.prepend-15 { padding-left: 600px; }
|
113
|
-
.prepend-16 { padding-left: 640px; }
|
114
|
-
.prepend-17 { padding-left: 680px; }
|
115
|
-
.prepend-18 { padding-left: 720px; }
|
116
|
-
.prepend-19 { padding-left: 760px; }
|
117
|
-
.prepend-20 { padding-left: 800px; }
|
118
|
-
.prepend-21 { padding-left: 840px; }
|
119
|
-
.prepend-22 { padding-left: 880px; }
|
120
|
-
.prepend-23 { padding-left: 920px; }
|
121
|
-
|
122
|
-
|
123
|
-
/* Border on right hand side of a column. */
|
124
|
-
.border {
|
125
|
-
padding-right: 4px;
|
126
|
-
margin-right: 5px;
|
127
|
-
border-right: 1px solid #eee;
|
128
|
-
}
|
129
|
-
|
130
|
-
/* Border with more whitespace, spans one column. */
|
131
|
-
.colborder {
|
132
|
-
padding-right: 24px;
|
133
|
-
margin-right: 25px;
|
134
|
-
border-right: 1px solid #eee;
|
135
|
-
}
|
136
|
-
|
137
|
-
|
138
|
-
/* Use these classes on an element to push it into the
|
139
|
-
next column, or to pull it into the previous column. */
|
140
|
-
|
141
|
-
.pull-1 { margin-left: -40px; }
|
142
|
-
.pull-2 { margin-left: -80px; }
|
143
|
-
.pull-3 { margin-left: -120px; }
|
144
|
-
.pull-4 { margin-left: -160px; }
|
145
|
-
|
146
|
-
.push-0 { margin: 0 0 0 18px; }
|
147
|
-
.push-1 { margin: 0 -40px 0 18px; }
|
148
|
-
.push-2 { margin: 0 -80px 0 18px; }
|
149
|
-
.push-3 { margin: 0 -120px 0 18px; }
|
150
|
-
.push-4 { margin: 0 -160px 0 18px; }
|
151
|
-
.push-0, .push-1, .push-2, .push-3, .push-4 { float: right; }
|
152
|
-
|
153
|
-
|
154
|
-
/* Misc classes and elements
|
155
|
-
-------------------------------------------------------------- */
|
156
|
-
|
157
|
-
/* Use a .box to create a padded box inside a column. */
|
158
|
-
.box {
|
159
|
-
padding: 1.5em;
|
160
|
-
margin-bottom: 1.5em;
|
161
|
-
background: #eee;
|
162
|
-
}
|
163
|
-
|
164
|
-
/* Use this to create a horizontal ruler across a column. */
|
165
|
-
hr {
|
166
|
-
background: #ddd;
|
167
|
-
color: #ddd;
|
168
|
-
clear: both;
|
169
|
-
float: none;
|
170
|
-
width: 100%;
|
171
|
-
height: .1em;
|
172
|
-
margin: 0 0 1.4em;
|
173
|
-
border: none;
|
174
|
-
}
|
175
|
-
hr.space {
|
176
|
-
background: #fff;
|
177
|
-
color: #fff;
|
178
|
-
}
|
179
|
-
|
180
|
-
/* Clearing floats without extra markup
|
181
|
-
Based on How To Clear Floats Without Structural Markup by PiE
|
182
|
-
[http://www.positioniseverything.net/easyclearing.html] */
|
183
|
-
|
184
|
-
.clear { display: inline-block; }
|
185
|
-
.clear:after, .container:after {
|
186
|
-
content: ".";
|
187
|
-
display: block;
|
188
|
-
height: 0;
|
189
|
-
clear: both;
|
190
|
-
visibility: hidden;
|
191
|
-
}
|
192
|
-
* html .clear { height: 1%; }
|
193
|
-
.clear { display: block; }
|
@@ -1,30 +0,0 @@
|
|
1
|
-
/* --------------------------------------------------------------
|
2
|
-
|
3
|
-
ie.css
|
4
|
-
|
5
|
-
Contains every hack for Internet Explorer versions prior
|
6
|
-
to IE7, so that our core files stay sweet and nimble.
|
7
|
-
|
8
|
-
-------------------------------------------------------------- */
|
9
|
-
|
10
|
-
/* Make sure the layout is centered in IE5 */
|
11
|
-
body { text-align: center; }
|
12
|
-
.container { text-align: left; }
|
13
|
-
|
14
|
-
|
15
|
-
/* This fixes the problem where IE6 adds an extra 3px margin to
|
16
|
-
two columns that are floated up against each other. */
|
17
|
-
|
18
|
-
* html .column { overflow-x: hidden; } /* IE6 fix */
|
19
|
-
|
20
|
-
.pull-1, .pull-2, .pull-3, .pull-4,
|
21
|
-
.push-1, .push-2, .push-3, .push-4,
|
22
|
-
ul, ol {
|
23
|
-
position: relative; /* Keeps IE6 from cutting pulled/pushed images */
|
24
|
-
}
|
25
|
-
|
26
|
-
/* Fixes incorrect styling of legend in IE6 fieldsets. */
|
27
|
-
legend { margin-bottom:1.4em; }
|
28
|
-
|
29
|
-
/* Fixes incorrect placement of numbers in ol's in IE6/7 */
|
30
|
-
ol { margin-left:2em; }
|
@@ -1,116 +0,0 @@
|
|
1
|
-
/* --------------------------------------------------------------
|
2
|
-
|
3
|
-
typography.css
|
4
|
-
* Sets up some sensible default typography.
|
5
|
-
|
6
|
-
Based on work by:
|
7
|
-
* Nathan Borror [playgroundblues.com]
|
8
|
-
* Jeff Croft [jeffcroft.com]
|
9
|
-
* Christian Metts [mintchaos.com]
|
10
|
-
* Wilson Miner [wilsonminer.com]
|
11
|
-
* Richard Rutter [clagnut.com]
|
12
|
-
|
13
|
-
Read more about using a baseline here:
|
14
|
-
* alistapart.com/articles/settingtypeontheweb
|
15
|
-
|
16
|
-
-------------------------------------------------------------- */
|
17
|
-
|
18
|
-
/* This is where you set your desired font size. The line-heights
|
19
|
-
and vertical margins are automatically calculated from this.
|
20
|
-
The percentage is of 16px (0.75 * 16px = 12px). */
|
21
|
-
|
22
|
-
body { font-size: 75%; }
|
23
|
-
|
24
|
-
|
25
|
-
/* Default fonts and colors.
|
26
|
-
If you prefer serif fonts, remove the font-family
|
27
|
-
on the headings, and apply this one to the body:
|
28
|
-
font: 1em Georgia, "lucida bright", "times new roman", serif; */
|
29
|
-
|
30
|
-
body {
|
31
|
-
color: #222;
|
32
|
-
font-family: "Helvetica Neue", "Lucida Grande", Helvetica, Arial, Verdana, sans-serif;
|
33
|
-
}
|
34
|
-
h1,h2,h3,h4,h5,h6 {
|
35
|
-
color: #111;
|
36
|
-
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
37
|
-
}
|
38
|
-
|
39
|
-
|
40
|
-
/* Headings
|
41
|
-
-------------------------------------------------------------- */
|
42
|
-
|
43
|
-
h1,h2,h3,h4,h5,h6 { font-weight: normal; }
|
44
|
-
|
45
|
-
h1 { font-size: 3em; line-height: 1; margin-bottom: 0.5em; }
|
46
|
-
h2 { font-size: 2em; margin-bottom: 0.75em; }
|
47
|
-
h3 { font-size: 1.5em; line-height: 1; margin-bottom: 1em; }
|
48
|
-
h4 { font-size: 1.2em; line-height: 1.25; margin-bottom: 1.25em; }
|
49
|
-
h5 { font-size: 1em; font-weight: bold; margin-bottom: 1.5em; }
|
50
|
-
h6 { font-size: 1em; font-weight: bold; }
|
51
|
-
|
52
|
-
|
53
|
-
/* Text elements
|
54
|
-
-------------------------------------------------------------- */
|
55
|
-
|
56
|
-
p { margin: 0 0 1.5em; }
|
57
|
-
p.last { margin-bottom: 0; }
|
58
|
-
p img { float: left; margin: 1.5em 1.5em 1.5em 0; padding: 0; }
|
59
|
-
p img.top { margin-top: 0; } /* Use this if the image is at the top of the <p>. */
|
60
|
-
img { margin: 0 0 1.5em; }
|
61
|
-
|
62
|
-
ul, ol { margin:0 1.5em 1.5em 1.5em; }
|
63
|
-
ul { list-style-type: circle; }
|
64
|
-
ol { list-style-type: decimal; }
|
65
|
-
dl { margin: 0 0 1.5em 0; }
|
66
|
-
dl dt { font-weight: bold; }
|
67
|
-
dd { margin-left: 1.5em;}
|
68
|
-
|
69
|
-
abbr,
|
70
|
-
acronym { border-bottom: 1px dotted #666; }
|
71
|
-
address { margin-top: 1.5em; font-style: italic; }
|
72
|
-
del { color:#666; }
|
73
|
-
|
74
|
-
a:focus,
|
75
|
-
a:hover { color: #000; }
|
76
|
-
a { color: #009; text-decoration: underline; }
|
77
|
-
|
78
|
-
blockquote { margin: 1.5em; color: #666; font-style: italic; }
|
79
|
-
strong { font-weight: bold; }
|
80
|
-
em,dfn { font-style: italic; background: #ffc; }
|
81
|
-
dfn { font-weight: bold; }
|
82
|
-
pre,code { margin: 1.5em 0; white-space: pre; }
|
83
|
-
pre,code,tt { font: 1em 'andale mono', 'monotype.com', 'lucida console', monospace; line-height: 1.5; }
|
84
|
-
tt { display: block; margin: 1.5em 0; line-height: 1.5; }
|
85
|
-
|
86
|
-
|
87
|
-
/* Tables
|
88
|
-
-------------------------------------------------------------- */
|
89
|
-
|
90
|
-
table { margin-bottom: 1.4em; }
|
91
|
-
th { border-bottom: 2px solid #ccc; font-weight: bold; }
|
92
|
-
td { border-bottom: 1px solid #ddd; }
|
93
|
-
th,td { padding: 4px 10px 4px 0; }
|
94
|
-
tfoot { font-style: italic; }
|
95
|
-
caption { background: #ffc; }
|
96
|
-
|
97
|
-
/* Use this if you use span-x classes on th/td. */
|
98
|
-
table .last { padding-right: 0; }
|
99
|
-
|
100
|
-
|
101
|
-
/* Some default classes
|
102
|
-
-------------------------------------------------------------- */
|
103
|
-
|
104
|
-
.small { font-size: .8em; margin-bottom: 1.875em; line-height: 1.875em; }
|
105
|
-
.large { font-size: 1.2em; line-height: 2.5em; margin-bottom: 1.25em; }
|
106
|
-
.quiet { color: #666; }
|
107
|
-
|
108
|
-
.hide { display: none; }
|
109
|
-
.highlight { background:#ff0; }
|
110
|
-
.added { color:#060; }
|
111
|
-
.removed { color:#900; }
|
112
|
-
|
113
|
-
.top { margin-top:0; padding-top:0; }
|
114
|
-
.bottom { margin-bottom:0; padding-bottom:0; }
|
115
|
-
|
116
|
-
|
@@ -1,14 +0,0 @@
|
|
1
|
-
CSS Development Classes Plugin
|
2
|
-
|
3
|
-
Sets up some classes to use in CSS development
|
4
|
-
|
5
|
-
This is an experimental plugin, and the tools it provides
|
6
|
-
are not exactly semantically correct, so use with care,
|
7
|
-
and preferably only in development. :)
|
8
|
-
|
9
|
-
|
10
|
-
Usage
|
11
|
-
----------------------------------------------------------------
|
12
|
-
|
13
|
-
1) Add this line to "blueprint/screen.css", and you're done:
|
14
|
-
@import 'plugins/css-classes/css-classes.css';
|
@@ -1,24 +0,0 @@
|
|
1
|
-
/* --------------------------------------------------------------
|
2
|
-
|
3
|
-
css-classes.css
|
4
|
-
* Classes for CSS development
|
5
|
-
|
6
|
-
See the Readme file in this directory
|
7
|
-
for further instructions.
|
8
|
-
|
9
|
-
-------------------------------------------------------------- */
|
10
|
-
|
11
|
-
.left { float:left; }
|
12
|
-
.right { float:right; }
|
13
|
-
|
14
|
-
.hide { display:none; }
|
15
|
-
|
16
|
-
.reset-margin { margin:0; }
|
17
|
-
.reset-padding { padding:0; }
|
18
|
-
.reset { margin:0; padding:0; }
|
19
|
-
|
20
|
-
.align-justify { text-align:justify; }
|
21
|
-
.align-left { text-align:left; }
|
22
|
-
.align-center { text-align:center; }
|
23
|
-
.align-right { text-align:right; }
|
24
|
-
|
@@ -1,22 +0,0 @@
|
|
1
|
-
Fancy Type
|
2
|
-
* Gives you classes to use if you'd like some
|
3
|
-
extra fancy typography.
|
4
|
-
|
5
|
-
Credits and instructions are specified above each class
|
6
|
-
in the fancy-type.css file in this directory.
|
7
|
-
|
8
|
-
|
9
|
-
Usage
|
10
|
-
----------------------------------------------------------------
|
11
|
-
|
12
|
-
1) Add this line to "blueprint/screen.css", and you're done:
|
13
|
-
@import 'plugins/fancy-type/fancy-type-compressed.css';
|
14
|
-
|
15
|
-
Note that this uses the compressed version of the CSS file,
|
16
|
-
as the original file contains a lot of instructing comments.
|
17
|
-
|
18
|
-
Remember to re-compress (or change) the compressed file
|
19
|
-
if you make any changes to the original CSS file.
|
20
|
-
|
21
|
-
Here's a pretty good CSS compressor:
|
22
|
-
http://teenage.cz/acidofil/tools/cssformat.php
|
@@ -1,5 +0,0 @@
|
|
1
|
-
p + p { text-indent:2em; margin-top:-1.5em; }
|
2
|
-
.alt{color:#666;font-family:"Warnock Pro","Goudy Old Style","Palatino","Book Antiqua",Georgia,serif;font-size:1.2em;line-height:80%;font-style:italic;}
|
3
|
-
.dquo{margin-left:-.5em;}
|
4
|
-
p.incr,.incr p{font-size:10px;line-height:1.44em;margin-bottom:1.5em;}
|
5
|
-
.caps{font-variant:small-caps;letter-spacing:1px;text-transform:lowercase;font-size:1.2em;line-height:1%;font-weight:bold;}
|
data/tasks/ann.rake
DELETED
@@ -1,81 +0,0 @@
|
|
1
|
-
# $Id$
|
2
|
-
|
3
|
-
begin
|
4
|
-
require 'bones/smtp_tls'
|
5
|
-
rescue LoadError
|
6
|
-
require 'net/smtp'
|
7
|
-
end
|
8
|
-
require 'time'
|
9
|
-
|
10
|
-
namespace :ann do
|
11
|
-
|
12
|
-
# A prerequisites task that all other tasks depend upon
|
13
|
-
task :prereqs
|
14
|
-
|
15
|
-
file PROJ.ann.file do
|
16
|
-
ann = PROJ.ann
|
17
|
-
puts "Generating #{ann.file}"
|
18
|
-
File.open(ann.file,'w') do |fd|
|
19
|
-
fd.puts("#{PROJ.name} version #{PROJ.version}")
|
20
|
-
fd.puts(" by #{Array(PROJ.authors).first}") if PROJ.authors
|
21
|
-
fd.puts(" #{PROJ.url}") if PROJ.url.valid?
|
22
|
-
fd.puts(" (the \"#{PROJ.release_name}\" release)") if PROJ.release_name
|
23
|
-
fd.puts
|
24
|
-
fd.puts("== DESCRIPTION")
|
25
|
-
fd.puts
|
26
|
-
fd.puts(PROJ.description)
|
27
|
-
fd.puts
|
28
|
-
fd.puts(PROJ.changes.sub(%r/^.*$/, '== CHANGES'))
|
29
|
-
fd.puts
|
30
|
-
ann.paragraphs.each do |p|
|
31
|
-
fd.puts "== #{p.upcase}"
|
32
|
-
fd.puts
|
33
|
-
fd.puts paragraphs_of(PROJ.readme_file, p).join("\n\n")
|
34
|
-
fd.puts
|
35
|
-
end
|
36
|
-
fd.puts ann.text if ann.text
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
desc "Create an announcement file"
|
41
|
-
task :announcement => ['ann:prereqs', PROJ.ann.file]
|
42
|
-
|
43
|
-
desc "Send an email announcement"
|
44
|
-
task :email => ['ann:prereqs', PROJ.ann.file] do
|
45
|
-
ann = PROJ.ann
|
46
|
-
from = ann.email[:from] || PROJ.email
|
47
|
-
to = Array(ann.email[:to])
|
48
|
-
|
49
|
-
### build a mail header for RFC 822
|
50
|
-
rfc822msg = "From: #{from}\n"
|
51
|
-
rfc822msg << "To: #{to.join(',')}\n"
|
52
|
-
rfc822msg << "Subject: [ANN] #{PROJ.name} #{PROJ.version}"
|
53
|
-
rfc822msg << " (#{PROJ.release_name})" if PROJ.release_name
|
54
|
-
rfc822msg << "\n"
|
55
|
-
rfc822msg << "Date: #{Time.new.rfc822}\n"
|
56
|
-
rfc822msg << "Message-Id: "
|
57
|
-
rfc822msg << "<#{"%.8f" % Time.now.to_f}@#{ann.email[:domain]}>\n\n"
|
58
|
-
rfc822msg << File.read(ann.file)
|
59
|
-
|
60
|
-
params = [:server, :port, :domain, :acct, :passwd, :authtype].map do |key|
|
61
|
-
ann.email[key]
|
62
|
-
end
|
63
|
-
|
64
|
-
params[3] = PROJ.email if params[3].nil?
|
65
|
-
|
66
|
-
if params[4].nil?
|
67
|
-
STDOUT.write "Please enter your e-mail password (#{params[3]}): "
|
68
|
-
params[4] = STDIN.gets.chomp
|
69
|
-
end
|
70
|
-
|
71
|
-
### send email
|
72
|
-
Net::SMTP.start(*params) {|smtp| smtp.sendmail(rfc822msg, from, to)}
|
73
|
-
end
|
74
|
-
end # namespace :ann
|
75
|
-
|
76
|
-
desc 'Alias to ann:announcement'
|
77
|
-
task :ann => 'ann:announcement'
|
78
|
-
|
79
|
-
CLOBBER << PROJ.ann.file
|
80
|
-
|
81
|
-
# EOF
|
data/tasks/bones.rake
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
# $Id$
|
2
|
-
|
3
|
-
if HAVE_BONES
|
4
|
-
|
5
|
-
namespace :bones do
|
6
|
-
|
7
|
-
desc 'Show the PROJ open struct'
|
8
|
-
task :debug do |t|
|
9
|
-
atr = if t.application.top_level_tasks.length == 2
|
10
|
-
t.application.top_level_tasks.pop
|
11
|
-
end
|
12
|
-
|
13
|
-
if atr then Bones::Debug.show_attr(PROJ, atr)
|
14
|
-
else Bones::Debug.show PROJ end
|
15
|
-
end
|
16
|
-
|
17
|
-
end # namespace :bones
|
18
|
-
|
19
|
-
end # HAVE_BONES
|
20
|
-
|
21
|
-
# EOF
|
data/tasks/gem.rake
DELETED
@@ -1,187 +0,0 @@
|
|
1
|
-
|
2
|
-
require 'find'
|
3
|
-
require 'rake/packagetask'
|
4
|
-
require 'rubygems/user_interaction'
|
5
|
-
require 'rubygems/builder'
|
6
|
-
|
7
|
-
class Bones::GemPackageTask < Rake::PackageTask
|
8
|
-
# Ruby GEM spec containing the metadata for this package. The
|
9
|
-
# name, version and package_files are automatically determined
|
10
|
-
# from the GEM spec and don't need to be explicitly provided.
|
11
|
-
#
|
12
|
-
attr_accessor :gem_spec
|
13
|
-
|
14
|
-
# Create a GEM Package task library. Automatically define the gem
|
15
|
-
# if a block is given. If no block is supplied, then +define+
|
16
|
-
# needs to be called to define the task.
|
17
|
-
#
|
18
|
-
def initialize(gem_spec)
|
19
|
-
init(gem_spec)
|
20
|
-
yield self if block_given?
|
21
|
-
define if block_given?
|
22
|
-
end
|
23
|
-
|
24
|
-
# Initialization tasks without the "yield self" or define
|
25
|
-
# operations.
|
26
|
-
#
|
27
|
-
def init(gem)
|
28
|
-
super(gem.name, gem.version)
|
29
|
-
@gem_spec = gem
|
30
|
-
@package_files += gem_spec.files if gem_spec.files
|
31
|
-
end
|
32
|
-
|
33
|
-
# Create the Rake tasks and actions specified by this
|
34
|
-
# GemPackageTask. (+define+ is automatically called if a block is
|
35
|
-
# given to +new+).
|
36
|
-
#
|
37
|
-
def define
|
38
|
-
super
|
39
|
-
task :prereqs
|
40
|
-
task :package => ['gem:prereqs', "#{package_dir_path}/#{gem_file}"]
|
41
|
-
file "#{package_dir_path}/#{gem_file}" => [package_dir_path] + package_files do
|
42
|
-
when_writing("Creating GEM") {
|
43
|
-
chdir(package_dir_path) do
|
44
|
-
Gem::Builder.new(gem_spec).build
|
45
|
-
verbose(true) {
|
46
|
-
mv gem_file, "../#{gem_file}"
|
47
|
-
}
|
48
|
-
end
|
49
|
-
}
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
def gem_file
|
54
|
-
if @gem_spec.platform == Gem::Platform::RUBY
|
55
|
-
"#{package_name}.gem"
|
56
|
-
else
|
57
|
-
"#{package_name}-#{@gem_spec.platform}.gem"
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end # class Bones::GemPackageTask
|
61
|
-
|
62
|
-
namespace :gem do
|
63
|
-
|
64
|
-
PROJ.gem._spec = Gem::Specification.new do |s|
|
65
|
-
s.name = PROJ.name
|
66
|
-
s.version = PROJ.version
|
67
|
-
s.summary = PROJ.summary
|
68
|
-
s.authors = Array(PROJ.authors)
|
69
|
-
s.email = PROJ.email
|
70
|
-
s.homepage = Array(PROJ.url).first
|
71
|
-
s.rubyforge_project = PROJ.rubyforge.name
|
72
|
-
|
73
|
-
s.description = PROJ.description
|
74
|
-
|
75
|
-
PROJ.gem.dependencies.each do |dep|
|
76
|
-
s.add_dependency(*dep)
|
77
|
-
end
|
78
|
-
|
79
|
-
s.files = PROJ.gem.files
|
80
|
-
s.executables = PROJ.gem.executables.map {|fn| File.basename(fn)}
|
81
|
-
s.extensions = PROJ.gem.files.grep %r/extconf\.rb$/
|
82
|
-
|
83
|
-
s.bindir = 'bin'
|
84
|
-
dirs = Dir["{#{PROJ.libs.join(',')}}"]
|
85
|
-
s.require_paths = dirs unless dirs.empty?
|
86
|
-
|
87
|
-
incl = Regexp.new(PROJ.rdoc.include.join('|'))
|
88
|
-
excl = PROJ.rdoc.exclude.dup.concat %w[\.rb$ ^(\.\/|\/)?ext]
|
89
|
-
excl = Regexp.new(excl.join('|'))
|
90
|
-
rdoc_files = PROJ.gem.files.find_all do |fn|
|
91
|
-
case fn
|
92
|
-
when excl; false
|
93
|
-
when incl; true
|
94
|
-
else false end
|
95
|
-
end
|
96
|
-
s.rdoc_options = PROJ.rdoc.opts + ['--main', PROJ.rdoc.main]
|
97
|
-
s.extra_rdoc_files = rdoc_files
|
98
|
-
s.has_rdoc = true
|
99
|
-
|
100
|
-
if test ?f, PROJ.test.file
|
101
|
-
s.test_file = PROJ.test.file
|
102
|
-
else
|
103
|
-
s.test_files = PROJ.test.files.to_a
|
104
|
-
end
|
105
|
-
|
106
|
-
# Do any extra stuff the user wants
|
107
|
-
PROJ.gem.extras.each do |msg, val|
|
108
|
-
case val
|
109
|
-
when Proc
|
110
|
-
val.call(s.send(msg))
|
111
|
-
else
|
112
|
-
s.send "#{msg}=", val
|
113
|
-
end
|
114
|
-
end
|
115
|
-
end # Gem::Specification.new
|
116
|
-
|
117
|
-
Bones::GemPackageTask.new(PROJ.gem._spec) do |pkg|
|
118
|
-
pkg.need_tar = PROJ.gem.need_tar
|
119
|
-
pkg.need_zip = PROJ.gem.need_zip
|
120
|
-
end
|
121
|
-
|
122
|
-
desc 'Show information about the gem'
|
123
|
-
task :debug => 'gem:prereqs' do
|
124
|
-
puts PROJ.gem._spec.to_ruby
|
125
|
-
end
|
126
|
-
|
127
|
-
desc 'Install the gem'
|
128
|
-
task :install => [:clobber, 'gem:package'] do
|
129
|
-
sh "#{SUDO} #{GEM} install --local pkg/#{PROJ.gem._spec.full_name}"
|
130
|
-
|
131
|
-
# use this version of the command for rubygems > 1.0.0
|
132
|
-
#sh "#{SUDO} #{GEM} install --no-update-sources pkg/#{PROJ.gem._spec.full_name}"
|
133
|
-
end
|
134
|
-
|
135
|
-
desc 'Uninstall the gem'
|
136
|
-
task :uninstall do
|
137
|
-
installed_list = Gem.source_index.find_name(PROJ.name)
|
138
|
-
if installed_list and installed_list.collect { |s| s.version.to_s}.include?(PROJ.version) then
|
139
|
-
sh "#{SUDO} #{GEM} uninstall --version '#{PROJ.version}' --ignore-dependencies --executables #{PROJ.name}"
|
140
|
-
end
|
141
|
-
end
|
142
|
-
|
143
|
-
desc 'Reinstall the gem'
|
144
|
-
task :reinstall => [:uninstall, :install]
|
145
|
-
|
146
|
-
desc 'Cleanup the gem'
|
147
|
-
task :cleanup do
|
148
|
-
sh "#{SUDO} #{GEM} cleanup #{PROJ.gem._spec.name}"
|
149
|
-
end
|
150
|
-
|
151
|
-
namespace :mswin32 do
|
152
|
-
win32_spec = PROJ.gem._spec.dup
|
153
|
-
win32_spec.platform = 'x86-mswin32'
|
154
|
-
|
155
|
-
pkg = Bones::GemPackageTask.new(win32_spec)
|
156
|
-
class << pkg
|
157
|
-
def package_dir_path() "#{package_dir}/#{package_name}-x86-mswin32"; end
|
158
|
-
end
|
159
|
-
pkg.define
|
160
|
-
|
161
|
-
file "#{pkg.package_dir_path}/#{pkg.gem_file}" => :unix2dos
|
162
|
-
|
163
|
-
task :unix2dos do
|
164
|
-
reject = %w[.gif .jpg .jpeg]
|
165
|
-
Find.find(File.join(pkg.package_dir_path, 'examples')) do |fn|
|
166
|
-
next unless test(?f, fn)
|
167
|
-
next if reject.include?(File.extname(fn))
|
168
|
-
sh %{unix2dos #{fn}}
|
169
|
-
end
|
170
|
-
end
|
171
|
-
end # namespace :mswin32
|
172
|
-
end # namespace :gem
|
173
|
-
|
174
|
-
|
175
|
-
desc 'Alias to gem:package'
|
176
|
-
task :gem => ['gem:package', 'gem:mswin32:package']
|
177
|
-
|
178
|
-
task :clobber => ['gem:clobber_package', 'gem:mswin32:clobber_package']
|
179
|
-
|
180
|
-
%w[
|
181
|
-
gem:clobber_package
|
182
|
-
gem:mswin32:clobber_package
|
183
|
-
gem:mswin32:package
|
184
|
-
gem:mswin32:repackage
|
185
|
-
].each {|name| remove_desc_for_task name}
|
186
|
-
|
187
|
-
# EOF
|