blueprintr 0.1.0

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.
Files changed (77) hide show
  1. data/.document +5 -0
  2. data/.gitignore +21 -0
  3. data/LICENSE +20 -0
  4. data/README.rdoc +35 -0
  5. data/Rakefile +53 -0
  6. data/VERSION +1 -0
  7. data/bin/blueprintr +3 -0
  8. data/blueprintr.gemspec +119 -0
  9. data/lib/blueprint-css/.gitignore +5 -0
  10. data/lib/blueprint-css/AUTHORS.textile +42 -0
  11. data/lib/blueprint-css/CHANGELOG +159 -0
  12. data/lib/blueprint-css/LICENSE +314 -0
  13. data/lib/blueprint-css/README.textile +81 -0
  14. data/lib/blueprint-css/TUTORIAL.textile +206 -0
  15. data/lib/blueprint-css/blueprint/ie.css +35 -0
  16. data/lib/blueprint-css/blueprint/plugins/buttons/icons/cross.png +0 -0
  17. data/lib/blueprint-css/blueprint/plugins/buttons/icons/key.png +0 -0
  18. data/lib/blueprint-css/blueprint/plugins/buttons/icons/tick.png +0 -0
  19. data/lib/blueprint-css/blueprint/plugins/buttons/readme.txt +32 -0
  20. data/lib/blueprint-css/blueprint/plugins/buttons/screen.css +97 -0
  21. data/lib/blueprint-css/blueprint/plugins/fancy-type/readme.txt +14 -0
  22. data/lib/blueprint-css/blueprint/plugins/fancy-type/screen.css +71 -0
  23. data/lib/blueprint-css/blueprint/plugins/link-icons/icons/doc.png +0 -0
  24. data/lib/blueprint-css/blueprint/plugins/link-icons/icons/email.png +0 -0
  25. data/lib/blueprint-css/blueprint/plugins/link-icons/icons/external.png +0 -0
  26. data/lib/blueprint-css/blueprint/plugins/link-icons/icons/feed.png +0 -0
  27. data/lib/blueprint-css/blueprint/plugins/link-icons/icons/im.png +0 -0
  28. data/lib/blueprint-css/blueprint/plugins/link-icons/icons/pdf.png +0 -0
  29. data/lib/blueprint-css/blueprint/plugins/link-icons/icons/visited.png +0 -0
  30. data/lib/blueprint-css/blueprint/plugins/link-icons/icons/xls.png +0 -0
  31. data/lib/blueprint-css/blueprint/plugins/link-icons/readme.txt +18 -0
  32. data/lib/blueprint-css/blueprint/plugins/link-icons/screen.css +40 -0
  33. data/lib/blueprint-css/blueprint/plugins/rtl/readme.txt +10 -0
  34. data/lib/blueprint-css/blueprint/plugins/rtl/screen.css +110 -0
  35. data/lib/blueprint-css/blueprint/print.css +29 -0
  36. data/lib/blueprint-css/blueprint/screen.css +258 -0
  37. data/lib/blueprint-css/blueprint/src/forms.css +65 -0
  38. data/lib/blueprint-css/blueprint/src/grid.css +280 -0
  39. data/lib/blueprint-css/blueprint/src/grid.png +0 -0
  40. data/lib/blueprint-css/blueprint/src/ie.css +76 -0
  41. data/lib/blueprint-css/blueprint/src/print.css +85 -0
  42. data/lib/blueprint-css/blueprint/src/reset.css +45 -0
  43. data/lib/blueprint-css/blueprint/src/typography.css +106 -0
  44. data/lib/blueprint-css/lib/blueprint/blueprint.rb +39 -0
  45. data/lib/blueprint-css/lib/blueprint/compressor.rb +265 -0
  46. data/lib/blueprint-css/lib/blueprint/core_ext.rb +39 -0
  47. data/lib/blueprint-css/lib/blueprint/css_parser.rb +69 -0
  48. data/lib/blueprint-css/lib/blueprint/custom_layout.rb +71 -0
  49. data/lib/blueprint-css/lib/blueprint/grid.css.erb +146 -0
  50. data/lib/blueprint-css/lib/blueprint/grid_builder.rb +54 -0
  51. data/lib/blueprint-css/lib/blueprint/namespace.rb +38 -0
  52. data/lib/blueprint-css/lib/blueprint/semantic_class_names.rb +57 -0
  53. data/lib/blueprint-css/lib/blueprint/validate/COPYRIGHT.html +93 -0
  54. data/lib/blueprint-css/lib/blueprint/validate/JIGSAW_COPYRIGHT +64 -0
  55. data/lib/blueprint-css/lib/blueprint/validate/README.html +83 -0
  56. data/lib/blueprint-css/lib/blueprint/validate/XERCES_COPYING.txt +56 -0
  57. data/lib/blueprint-css/lib/blueprint/validate/css-validator-javadoc.jar +0 -0
  58. data/lib/blueprint-css/lib/blueprint/validate/css-validator.jar +0 -0
  59. data/lib/blueprint-css/lib/blueprint/validate/jigsaw.jar +0 -0
  60. data/lib/blueprint-css/lib/blueprint/validate/xerces.jar +0 -0
  61. data/lib/blueprint-css/lib/blueprint/validator.rb +49 -0
  62. data/lib/blueprint-css/lib/compress.rb +149 -0
  63. data/lib/blueprint-css/lib/settings.example.yml +33 -0
  64. data/lib/blueprint-css/lib/validate.rb +15 -0
  65. data/lib/blueprint-css/templates/psd/fixed-width.psd +0 -0
  66. data/lib/blueprint-css/tests/index.html +83 -0
  67. data/lib/blueprint-css/tests/parts/elements.html +247 -0
  68. data/lib/blueprint-css/tests/parts/forms.html +191 -0
  69. data/lib/blueprint-css/tests/parts/grid.html +163 -0
  70. data/lib/blueprint-css/tests/parts/sample.html +75 -0
  71. data/lib/blueprint-css/tests/parts/test-small.jpg +0 -0
  72. data/lib/blueprint-css/tests/parts/test.jpg +0 -0
  73. data/lib/blueprint-css/tests/parts/valid.png +0 -0
  74. data/lib/blueprintr.rb +23 -0
  75. data/test/helper.rb +9 -0
  76. data/test/test_blueprintr.rb +14 -0
  77. metadata +139 -0
@@ -0,0 +1,314 @@
1
+ Blueprint CSS Framework License
2
+ ----------------------------------------------------------------
3
+
4
+ Copyright (c) 2007-2009 blueprintcss.org
5
+
6
+ The Blueprint CSS Framework is available for use in all personal or
7
+ commercial projects, under both the (modified) MIT and the GPL license. You
8
+ may choose the one that fits your project.
9
+
10
+
11
+ The (modified) MIT License
12
+ ----------------------------------------------------------------
13
+
14
+ Permission is hereby granted, free of charge, to any person obtaining a copy
15
+ of this software and associated documentation files (the "Software"), to deal
16
+ in the Software without restriction, including without limitation the rights
17
+ to use, copy, modify, merge, publish, distribute, sub-license, and/or sell
18
+ copies of the Software, and to permit persons to whom the Software is
19
+ furnished to do so, subject to the following conditions:
20
+
21
+ The above copyright notice, and every other copyright notice found in this
22
+ software, and all the attributions in every file, and this permission notice
23
+ shall be included in all copies or substantial portions of the Software.
24
+
25
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
26
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
27
+ FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
28
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
29
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
30
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
31
+ THE SOFTWARE.
32
+
33
+
34
+ The GPL License
35
+ ----------------------------------------------------------------
36
+
37
+ GNU GENERAL PUBLIC LICENSE
38
+ Version 2, June 1991
39
+
40
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
41
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
42
+ Everyone is permitted to copy and distribute verbatim copies
43
+ of this license document, but changing it is not allowed.
44
+
45
+ Preamble
46
+
47
+ The licenses for most software are designed to take away your
48
+ freedom to share and change it. By contrast, the GNU General Public
49
+ License is intended to guarantee your freedom to share and change free
50
+ software--to make sure the software is free for all its users. This
51
+ General Public License applies to most of the Free Software
52
+ Foundation's software and to any other program whose authors commit to
53
+ using it. (Some other Free Software Foundation software is covered by
54
+ the GNU Lesser General Public License instead.) You can apply it to
55
+ your programs, too.
56
+
57
+ When we speak of free software, we are referring to freedom, not
58
+ price. Our General Public Licenses are designed to make sure that you
59
+ have the freedom to distribute copies of free software (and charge for
60
+ this service if you wish), that you receive source code or can get it
61
+ if you want it, that you can change the software or use pieces of it
62
+ in new free programs; and that you know you can do these things.
63
+
64
+ To protect your rights, we need to make restrictions that forbid
65
+ anyone to deny you these rights or to ask you to surrender the rights.
66
+ These restrictions translate to certain responsibilities for you if you
67
+ distribute copies of the software, or if you modify it.
68
+
69
+ For example, if you distribute copies of such a program, whether
70
+ gratis or for a fee, you must give the recipients all the rights that
71
+ you have. You must make sure that they, too, receive or can get the
72
+ source code. And you must show them these terms so they know their
73
+ rights.
74
+
75
+ We protect your rights with two steps: (1) copyright the software, and
76
+ (2) offer you this license which gives you legal permission to copy,
77
+ distribute and/or modify the software.
78
+
79
+ Also, for each author's protection and ours, we want to make certain
80
+ that everyone understands that there is no warranty for this free
81
+ software. If the software is modified by someone else and passed on, we
82
+ want its recipients to know that what they have is not the original, so
83
+ that any problems introduced by others will not reflect on the original
84
+ authors' reputations.
85
+
86
+ Finally, any free program is threatened constantly by software
87
+ patents. We wish to avoid the danger that redistributors of a free
88
+ program will individually obtain patent licenses, in effect making the
89
+ program proprietary. To prevent this, we have made it clear that any
90
+ patent must be licensed for everyone's free use or not licensed at all.
91
+
92
+ The precise terms and conditions for copying, distribution and
93
+ modification follow.
94
+
95
+ GNU GENERAL PUBLIC LICENSE
96
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
97
+
98
+ 0. This License applies to any program or other work which contains
99
+ a notice placed by the copyright holder saying it may be distributed
100
+ under the terms of this General Public License. The "Program", below,
101
+ refers to any such program or work, and a "work based on the Program"
102
+ means either the Program or any derivative work under copyright law:
103
+ that is to say, a work containing the Program or a portion of it,
104
+ either verbatim or with modifications and/or translated into another
105
+ language. (Hereinafter, translation is included without limitation in
106
+ the term "modification".) Each licensee is addressed as "you".
107
+
108
+ Activities other than copying, distribution and modification are not
109
+ covered by this License; they are outside its scope. The act of
110
+ running the Program is not restricted, and the output from the Program
111
+ is covered only if its contents constitute a work based on the
112
+ Program (independent of having been made by running the Program).
113
+ Whether that is true depends on what the Program does.
114
+
115
+ 1. You may copy and distribute verbatim copies of the Program's
116
+ source code as you receive it, in any medium, provided that you
117
+ conspicuously and appropriately publish on each copy an appropriate
118
+ copyright notice and disclaimer of warranty; keep intact all the
119
+ notices that refer to this License and to the absence of any warranty;
120
+ and give any other recipients of the Program a copy of this License
121
+ along with the Program.
122
+
123
+ You may charge a fee for the physical act of transferring a copy, and
124
+ you may at your option offer warranty protection in exchange for a fee.
125
+
126
+ 2. You may modify your copy or copies of the Program or any portion
127
+ of it, thus forming a work based on the Program, and copy and
128
+ distribute such modifications or work under the terms of Section 1
129
+ above, provided that you also meet all of these conditions:
130
+
131
+ a) You must cause the modified files to carry prominent notices
132
+ stating that you changed the files and the date of any change.
133
+
134
+ b) You must cause any work that you distribute or publish, that in
135
+ whole or in part contains or is derived from the Program or any
136
+ part thereof, to be licensed as a whole at no charge to all third
137
+ parties under the terms of this License.
138
+
139
+ c) If the modified program normally reads commands interactively
140
+ when run, you must cause it, when started running for such
141
+ interactive use in the most ordinary way, to print or display an
142
+ announcement including an appropriate copyright notice and a
143
+ notice that there is no warranty (or else, saying that you provide
144
+ a warranty) and that users may redistribute the program under
145
+ these conditions, and telling the user how to view a copy of this
146
+ License. (Exception: if the Program itself is interactive but
147
+ does not normally print such an announcement, your work based on
148
+ the Program is not required to print an announcement.)
149
+
150
+ These requirements apply to the modified work as a whole. If
151
+ identifiable sections of that work are not derived from the Program,
152
+ and can be reasonably considered independent and separate works in
153
+ themselves, then this License, and its terms, do not apply to those
154
+ sections when you distribute them as separate works. But when you
155
+ distribute the same sections as part of a whole which is a work based
156
+ on the Program, the distribution of the whole must be on the terms of
157
+ this License, whose permissions for other licensees extend to the
158
+ entire whole, and thus to each and every part regardless of who wrote it.
159
+
160
+ Thus, it is not the intent of this section to claim rights or contest
161
+ your rights to work written entirely by you; rather, the intent is to
162
+ exercise the right to control the distribution of derivative or
163
+ collective works based on the Program.
164
+
165
+ In addition, mere aggregation of another work not based on the Program
166
+ with the Program (or with a work based on the Program) on a volume of
167
+ a storage or distribution medium does not bring the other work under
168
+ the scope of this License.
169
+
170
+ 3. You may copy and distribute the Program (or a work based on it,
171
+ under Section 2) in object code or executable form under the terms of
172
+ Sections 1 and 2 above provided that you also do one of the following:
173
+
174
+ a) Accompany it with the complete corresponding machine-readable
175
+ source code, which must be distributed under the terms of Sections
176
+ 1 and 2 above on a medium customarily used for software interchange; or,
177
+
178
+ b) Accompany it with a written offer, valid for at least three
179
+ years, to give any third party, for a charge no more than your
180
+ cost of physically performing source distribution, a complete
181
+ machine-readable copy of the corresponding source code, to be
182
+ distributed under the terms of Sections 1 and 2 above on a medium
183
+ customarily used for software interchange; or,
184
+
185
+ c) Accompany it with the information you received as to the offer
186
+ to distribute corresponding source code. (This alternative is
187
+ allowed only for noncommercial distribution and only if you
188
+ received the program in object code or executable form with such
189
+ an offer, in accord with Subsection b above.)
190
+
191
+ The source code for a work means the preferred form of the work for
192
+ making modifications to it. For an executable work, complete source
193
+ code means all the source code for all modules it contains, plus any
194
+ associated interface definition files, plus the scripts used to
195
+ control compilation and installation of the executable. However, as a
196
+ special exception, the source code distributed need not include
197
+ anything that is normally distributed (in either source or binary
198
+ form) with the major components (compiler, kernel, and so on) of the
199
+ operating system on which the executable runs, unless that component
200
+ itself accompanies the executable.
201
+
202
+ If distribution of executable or object code is made by offering
203
+ access to copy from a designated place, then offering equivalent
204
+ access to copy the source code from the same place counts as
205
+ distribution of the source code, even though third parties are not
206
+ compelled to copy the source along with the object code.
207
+
208
+ 4. You may not copy, modify, sublicense, or distribute the Program
209
+ except as expressly provided under this License. Any attempt
210
+ otherwise to copy, modify, sublicense or distribute the Program is
211
+ void, and will automatically terminate your rights under this License.
212
+ However, parties who have received copies, or rights, from you under
213
+ this License will not have their licenses terminated so long as such
214
+ parties remain in full compliance.
215
+
216
+ 5. You are not required to accept this License, since you have not
217
+ signed it. However, nothing else grants you permission to modify or
218
+ distribute the Program or its derivative works. These actions are
219
+ prohibited by law if you do not accept this License. Therefore, by
220
+ modifying or distributing the Program (or any work based on the
221
+ Program), you indicate your acceptance of this License to do so, and
222
+ all its terms and conditions for copying, distributing or modifying
223
+ the Program or works based on it.
224
+
225
+ 6. Each time you redistribute the Program (or any work based on the
226
+ Program), the recipient automatically receives a license from the
227
+ original licensor to copy, distribute or modify the Program subject to
228
+ these terms and conditions. You may not impose any further
229
+ restrictions on the recipients' exercise of the rights granted herein.
230
+ You are not responsible for enforcing compliance by third parties to
231
+ this License.
232
+
233
+ 7. If, as a consequence of a court judgment or allegation of patent
234
+ infringement or for any other reason (not limited to patent issues),
235
+ conditions are imposed on you (whether by court order, agreement or
236
+ otherwise) that contradict the conditions of this License, they do not
237
+ excuse you from the conditions of this License. If you cannot
238
+ distribute so as to satisfy simultaneously your obligations under this
239
+ License and any other pertinent obligations, then as a consequence you
240
+ may not distribute the Program at all. For example, if a patent
241
+ license would not permit royalty-free redistribution of the Program by
242
+ all those who receive copies directly or indirectly through you, then
243
+ the only way you could satisfy both it and this License would be to
244
+ refrain entirely from distribution of the Program.
245
+
246
+ If any portion of this section is held invalid or unenforceable under
247
+ any particular circumstance, the balance of the section is intended to
248
+ apply and the section as a whole is intended to apply in other
249
+ circumstances.
250
+
251
+ It is not the purpose of this section to induce you to infringe any
252
+ patents or other property right claims or to contest validity of any
253
+ such claims; this section has the sole purpose of protecting the
254
+ integrity of the free software distribution system, which is
255
+ implemented by public license practices. Many people have made
256
+ generous contributions to the wide range of software distributed
257
+ through that system in reliance on consistent application of that
258
+ system; it is up to the author/donor to decide if he or she is willing
259
+ to distribute software through any other system and a licensee cannot
260
+ impose that choice.
261
+
262
+ This section is intended to make thoroughly clear what is believed to
263
+ be a consequence of the rest of this License.
264
+
265
+ 8. If the distribution and/or use of the Program is restricted in
266
+ certain countries either by patents or by copyrighted interfaces, the
267
+ original copyright holder who places the Program under this License
268
+ may add an explicit geographical distribution limitation excluding
269
+ those countries, so that distribution is permitted only in or among
270
+ countries not thus excluded. In such case, this License incorporates
271
+ the limitation as if written in the body of this License.
272
+
273
+ 9. The Free Software Foundation may publish revised and/or new versions
274
+ of the General Public License from time to time. Such new versions will
275
+ be similar in spirit to the present version, but may differ in detail to
276
+ address new problems or concerns.
277
+
278
+ Each version is given a distinguishing version number. If the Program
279
+ specifies a version number of this License which applies to it and "any
280
+ later version", you have the option of following the terms and conditions
281
+ either of that version or of any later version published by the Free
282
+ Software Foundation. If the Program does not specify a version number of
283
+ this License, you may choose any version ever published by the Free Software
284
+ Foundation.
285
+
286
+ 10. If you wish to incorporate parts of the Program into other free
287
+ programs whose distribution conditions are different, write to the author
288
+ to ask for permission. For software which is copyrighted by the Free
289
+ Software Foundation, write to the Free Software Foundation; we sometimes
290
+ make exceptions for this. Our decision will be guided by the two goals
291
+ of preserving the free status of all derivatives of our free software and
292
+ of promoting the sharing and reuse of software generally.
293
+
294
+ NO WARRANTY
295
+
296
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
297
+ FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
298
+ OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
299
+ PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
300
+ OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
301
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
302
+ TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
303
+ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
304
+ REPAIR OR CORRECTION.
305
+
306
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
307
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
308
+ REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
309
+ INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
310
+ OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
311
+ TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
312
+ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
313
+ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
314
+ POSSIBILITY OF SUCH DAMAGES.
@@ -0,0 +1,81 @@
1
+ h1. Blueprint CSS Framework Readme
2
+
3
+ Welcome to Blueprint! This is a CSS framework designed to cut down on your CSS development time. It gives you a solid foundation to build your own CSS on. Here are some of the features BP provides out-of-the-box:
4
+
5
+ * An easily customizable grid
6
+ * Sensible default typography
7
+ * A typographic baseline
8
+ * Perfected browser CSS reset
9
+ * A stylesheet for printing
10
+ * Powerful scripts for customization
11
+ * Absolutely no bloat!
12
+
13
+ h2. Project Info
14
+
15
+ * *Web*: "http://blueprintcss.org":http://blueprintcss.org
16
+ * *Source*: "http://github.com/joshuaclayton/blueprint-css":http://github.com/joshuaclayton/blueprint-css
17
+ * *Wiki*: "http://github.com/joshuaclayton/blueprint-css/wikis/home":http://github.com/joshuaclayton/blueprint-css/wikis/home
18
+ * *Bug/Feature Tracking*: "http://blueprintcss.lighthouseapp.com":http://blueprintcss.lighthouseapp.com
19
+
20
+ h2. Setup Instructions
21
+
22
+ Here's how you set up Blueprint on your site.
23
+
24
+ # Upload the "blueprint" folder in this folder to your server, and place it in whatever folder you'd like. A good choice would be your CSS folder.
25
+ # Add the following three lines to every @<head/>@ of your site. Make sure the three @href@ paths are correct (here, BP is in my CSS folder): <pre><code>
26
+ <link rel="stylesheet" href="css/blueprint/screen.css" type="text/css" media="screen, projection">
27
+ <link rel="stylesheet" href="css/blueprint/print.css" type="text/css" media="print">
28
+ <!--[if lt IE 8]>
29
+ <link rel="stylesheet" href="css/blueprint/ie.css" type="text/css" media="screen, projection">
30
+ <![endif]--></code></pre>
31
+ Remember to include trailing slashes (" />") in these lines if you're using XHTML.
32
+ # For development, add the .showgrid class to any container or column to see the underlying grid. Check out the @plugins@ directory for more advanced functionality.
33
+
34
+
35
+ h2. Tutorials
36
+
37
+ * "How to customize BP with the compressor script":http://jdclayton.com/blueprints_compress_a_walkthrough.html
38
+ * "How to use a grid in a layout":http://subtraction.com/2007/03/18/oh-yeeaahh
39
+ * "How to use a baseline in your typography":http://alistapart.com/articles/settingtypeontheweb
40
+
41
+ h2. Files in Blueprint
42
+
43
+ The framework has a few files you should check out. Every file in the @src@ directory contains lots of (hopefully) clarifying comments.
44
+
45
+ Compressed files (these go in the HTML):
46
+
47
+ * @blueprint/screen.css@
48
+ * @blueprint/print.css@
49
+ * @blueprint/ie.css@
50
+
51
+ Source files:
52
+ * @blueprint/src/reset.css@<br/>
53
+ This file resets CSS values that browsers tend to set for you.
54
+ * @blueprint/src/grid.css@<br/>
55
+ This file sets up the grid (it's true). It has a lot of classes you apply to @<div/>@ elements to set up any sort of column-based grid.
56
+ * @blueprint/src/typography.css@<br/>
57
+ This file sets some default typography. It also has a few methods for some really fancy stuff to do with your text.
58
+ * @blueprint/src/forms.css@<br/>
59
+ Includes some minimal styling of forms.
60
+ * @blueprint/src/print.css@<br/>
61
+ This file sets some default print rules, so that printed versions of your site looks better than they usually would. It should be included on every page.
62
+ * @blueprint/src/ie.css@<br/>
63
+ Includes every hack for our beloved IE6 and 7.
64
+
65
+ Scripts:
66
+ * @lib/compress.rb@<br/>
67
+ A Ruby script for compressing and customizing your CSS. Set a custom namespace, column count, widths, output paths, multiple projects, and semantic class names. See commenting in @compress.rb@ or run @$ruby compress.rb -h@ for more information.
68
+ * @lib/validate.rb@<br/>
69
+ Validates the Blueprint core files with the W3C CSS validator.
70
+
71
+ Other:
72
+ * @blueprint/plugins/@<br/>
73
+ Contains additional functionality in the form of simple plugins for Blueprint. See individual readme files in the directory of each plugin for further instructions.
74
+ * @tests/@<br/>
75
+ Contains html files which tests most aspects of Blueprint. Open @tests/index.html@ for further instructions.
76
+
77
+ h2. Extra Information
78
+
79
+ * For credits and origins, see AUTHORS.
80
+ * For license instructions, see LICENSE.
81
+ * For the latest updates, see CHANGELOG.
@@ -0,0 +1,206 @@
1
+ h1. Blueprint CSS Framework Tutorial
2
+
3
+ Welcome to this tutorial on Blueprint. It will give you a thorough intro to what you can do with the framework, and a few notes on what you shouldn't do with it. Let's get started.
4
+
5
+ h2. About Blueprint
6
+
7
+ Blueprint is a CSS framework, designed to cut down on your development time. It gives you a solid foundation to build your CSS on top of, including some sensible default typography, a customizable grid, a print stylesheet and much more.
8
+
9
+ However, BP is not a silver bullet, and it's best suited for websites where each page may require its own design. Take a look at existing BP pages before deciding if the framework is right for you. You may also check out the test files in the @tests@ directory, which demonstrates most of the features in Blueprint.
10
+
11
+ The word "framework" may be a bit misleading in this context, since BP does not make suggestions on how you should organize or write your CSS. It's more like a "css toolbox" with helpful bits and pieces, from which you may pick and choose based on your needs.
12
+
13
+ h2. Structural Overview
14
+
15
+ From the bottom up, here are the CSS layers in Blueprint:
16
+
17
+ # *CSS reset*: Removes any default CSS rules set by each browser.
18
+ # *Typography*: Gives you some nice default typography and colors.
19
+ # *Grid*: Provides a set of CSS classes for making grid layouts.
20
+
21
+ The second part of Blueprint are the scripts, which let you customize most
22
+ aspects of the framework, from column count and widths, to output paths and
23
+ CSS class namespaces. We have two scripts:
24
+
25
+ # *Compressor*: For compressing and customizing the source files.
26
+ # *Validator*: For validating the Blueprint core files.
27
+
28
+ That's the quick overview, so now we can finally get into the details. First, we'll take
29
+ a look at the CSS in Blueprint. We'll then move on to the scripts, where I'll show you
30
+ how to customize the framework.
31
+
32
+ h2. Setting Up Blueprint
33
+
34
+ To use Blueprint, you must include three files in your HTML:
35
+
36
+ * @blueprint/screen.css@: All CSS for screen, projection viewing.
37
+ * @blueprint/print.css@: A basic stylesheet for printing.
38
+ * @blueprint/ie.css@: A few needed corrections for Internet Explorer
39
+
40
+ To include them, use the following HTML (make sure the href paths are correct):
41
+ <pre>
42
+ <link rel="stylesheet" href="css/blueprint/screen.css" type="text/css" media="screen, projection">
43
+ <link rel="stylesheet" href="css/blueprint/print.css" type="text/css" media="print">
44
+ <!--[if lt IE 8]>
45
+ <link rel="stylesheet" href="css/blueprint/ie.css" type="text/css" media="screen, projection">
46
+ <![endif]-->
47
+ </pre>
48
+ Remember to add trailing slashes if you're using XHTML (" />").
49
+
50
+ h2. Using the CSS in Blueprint
51
+
52
+ As mentioned before, there's basically three layers of CSS in Blueprint. The first two layers, the browser CSS reset and the default typography, apply themselves by changing the CSS of standard HTML elements. In other words, you don't need to change anything in these files. If you, for instance, want to change the font size, do this in your own stylesheet, so that it's easy to upgrade Blueprint when new versions arrive.
53
+
54
+ h3. Classes for Typography
55
+
56
+ While the typography of Blueprint mainly applies itself, there's a few classes
57
+ provided. Here's a list of their names and what they do:
58
+
59
+ <dl>
60
+ <dt>@.small@</dt><dd>Makes the text of this element smaller.</dd>
61
+ <dt>@.large@</dt><dd>Makes the text of this element larger.</dd>
62
+ <dt>@.hide@</dt><dd>Hides an element.</dd>
63
+ <dt>@.quiet@</dt><dd>Tones down the font color for this element.</dd>
64
+ <dt>@.loud@</dt><dd>Makes this elements text black.</dd>
65
+ <dt>@.highlight@</dt><dd>Adds a yellow background to the text.</dd>
66
+ <dt>@.added@</dt><dd>Adds green background to the text.</dd>
67
+ <dt>@.removed@</dt><dd>Adds red background to the text.</dd>
68
+ <dt>@.first@</dt><dd>Removes any left sided margin/padding from the element.</dd>
69
+ <dt>@.last@</dt><dd>Removes any right sided margin/padding from the element.</dd>
70
+ <dt>@.top@</dt><dd>Removes any top margin/padding from the element.</dd>
71
+ <dt>@.bottom@</dt><dd>Removes any bottom margin/padding from the element.</dd>
72
+ </dl>
73
+
74
+ h3. Styling Forms
75
+
76
+ To make Blueprint style your input elements, each text input element should
77
+ have the class @.text@, or @.title@, where @.text@ is the normal size,
78
+ and @.title@ gives you an input field with larger text.
79
+
80
+ There's also a few classes you may use for success and error messages:
81
+
82
+ <dl>
83
+ <dt>@div.error@</dt><dd>Creates an error box (red).</dd>
84
+ <dt>@div.notice@</dt><dd>Creates a box for notices (yellow).</dd>
85
+ <dt>@div.success@</dt><dd>Creates a box for success messages (green).</dd>
86
+ </dl>
87
+
88
+ h3. Creating a Grid
89
+
90
+ The third layer is the grid CSS classes, which is the tool Blueprint gives you to create almost any kind of grid layout for your site. Keep in mind that most of the CSS behind the grid can be customized (explained below). In this section however, I'm using the default settings.
91
+
92
+ The default grid is made up of 24 columns, each spanning 30px, with a 10px margin between each column. The total width comes to 950px, which is a good width for 1024x768 resolution displays. If you're interested in a narrower design, see the section on customizing the grid, below.
93
+
94
+ So how do you set up a grid? By using classes provided by Blueprint. To create a column, make a new @<div/>@, and apply one of the @.span-x@ classes to it. For instance, if you want a 3-column setup, with two narrow and one wide column, a header and a footer here's how you do it:
95
+
96
+ <pre>
97
+ <div class="container">
98
+ <div class="span-24">
99
+ The header
100
+ </div>
101
+
102
+ <div class="span-4">
103
+ The first column
104
+ </div>
105
+ <div class="span-16">
106
+ The center column
107
+ </div>
108
+ <div class="span-4 last">
109
+ The last column
110
+ </div>
111
+
112
+ <div class="span-24">
113
+ The footer
114
+ </div>
115
+ </div>
116
+ </pre>
117
+
118
+ In addition to the spans, there are two important classes you need to know about. First of all, every Blueprint site needs to be wrapped in a div with the class @.container@, which is usually placed right after the body tag.
119
+
120
+ Second, the last column in a row (which by default has 24 columns), needs the class @.last@ to remove its left hand margin. Note, however, that each @.span-24@ don't need the @.last@ class, since these always span the entire width of the page.
121
+
122
+ To create basic grids, this is all you need to know. The grid CSS however, provides many more classes for more intricate designs. To see some of them in action, check out the files in @tests/parts/@. These files demonstrate what's possible with the grid in Blueprint.
123
+
124
+ Here's a quick overview of the other classes you can use in to make your grid:
125
+
126
+ <dl>
127
+ <dt>@.append-x@</dt><dd>Appends x number of empty columns after a column.</dd>
128
+ <dt>@.prepend-x@</dt><dd>Preppends x number of empty columns before a column.</dd>
129
+ <dt>@.push-x@</dt><dd>Pushes a column x columns to the left. Can be used to swap columns.</dd>
130
+ <dt>@.pull-x@</dt><dd>Pulls a column x columns to the right. Can be used to swap columns.</dd>
131
+ <dt>@.border@</dt><dd>Applies a border to the right side of the column.</dd>
132
+ <dt>@.colborder@</dt><dd>Appends one empty column, with a border down the middle.</dd>
133
+ <dt>@.clear@</dt><dd>Makes a column drop below a row, regardless of space.</dd>
134
+ <dt>@.showgrid@</dt><dd>Add to container or column to see the grid and baseline.</dd>
135
+ </dl>
136
+
137
+ In this list, @x@ is a number from 1 through 23 for append/prepend and 1 through 24 for push/pull. These numbers will of course change if you set a new number of columns in the settings file.
138
+
139
+ Here's another example where we have four columns of equal width, with a border between the two first and the two last columns, as well as a four column gap in the middle:
140
+
141
+ <pre>
142
+ <div class="container">
143
+ <div class="span-5 border">
144
+ The first column
145
+ </div>
146
+ <div class="span-5 append-4">
147
+ The second column
148
+ </div>
149
+ <div class="span-5 border">
150
+ The third column
151
+ </div>
152
+ <div class="span-5 last">
153
+ The fourth (last) column
154
+ </div>
155
+ </div>
156
+ </pre>
157
+
158
+ You may also nest columns to achieve the desired layout. Here's a setup where we want four rectangles with two on top and two below on the first half of the page, and one single column spanning the second half of the page:
159
+
160
+ <pre>
161
+ <div class="container">
162
+ <div class="span-12">
163
+ <div class="span-6">
164
+ Top left
165
+ </div>
166
+ <div class="span-6 last">
167
+ Top right
168
+ </div>
169
+ <div class="span-6">
170
+ Bottom left
171
+ </div>
172
+ <div class="span-6 last">
173
+ Bottom right
174
+ </div>
175
+ </div>
176
+ <div class="span-12 last">
177
+ Second half of page
178
+ </div>
179
+ </div>
180
+ </pre>
181
+
182
+ Try this code in your browser it it's difficult to understand what it would look like. To see more examples on how to use these classes, check out @/tests/parts/grid.html@.
183
+
184
+ h2. The Scripts
185
+
186
+ Blueprint comes with two scripts: one for compressing and customizing the CSS, and one for validating the core CSS files, which is handy if you're making changes to these files.
187
+
188
+ h3. The Validator
189
+
190
+ The validator has a fairly simple job - validate the CSS in the core BP files. The script uses a bundled version of the W3C CSS validator to accomplish this. To run it, you'll need to have Ruby installed on your machine. You can then run the script like so: @$ ruby validate.rb@.
191
+
192
+ Note that there are a few validation errors shipping with Blueprint. These are known, and comes from a few CSS hacks needed to ensure consistent rendering across the vast browser field.
193
+
194
+ h3. The Compressor
195
+
196
+ As the files you'll include in your HTML are the compressed versions of the core CSS files, you'll have to recompress the core if you've made any changes. This is what the compressor script is for.
197
+
198
+ In addition this is where you customize the grid. To customize the grid, a special settings file is used, and the new CSS is generated once you run the compressor. The new compressed files will then reflect your settings file.
199
+
200
+ To recompress, you just have to run the script. This will parse the core CSS files and output new compressed files in the blueprint folder. As with the validator, Ruby has to be installed to use this script. In the @lib@ directory, run: @$ruby compress.rb@
201
+
202
+ Calling this file by itself will pull files from @blueprint/src@ and concatenate them into three files; @ie.css@, @print.css@, and @screen.css@. However, argument variables can be set to change how this works. Calling @$ruby compress.rb -h@ will reveal basic arguments you can pass to the script.
203
+
204
+ h3. Custom Settings
205
+
206
+ To learn how to use custom settings, read through the documentation within @lib/compress.rb@