glyph 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. data/AUTHORS.textile +8 -0
  2. data/CHANGELOG.textile +260 -0
  3. data/LICENSE.textile +26 -0
  4. data/README.textile +49 -21
  5. data/Rakefile +17 -7
  6. data/VERSION +1 -1
  7. data/book/config.yml +11 -5
  8. data/book/document.glyph +24 -13
  9. data/book/lib/macros/reference.rb +41 -14
  10. data/book/output/html/glyph.html +2298 -687
  11. data/book/output/pdf/glyph.pdf +6218 -2698
  12. data/book/script/authors +1 -0
  13. data/book/script/changelog +1 -0
  14. data/book/script/compile.rb +8 -0
  15. data/book/script/license +1 -0
  16. data/book/script/prof +1 -0
  17. data/book/script/prof_results.htm +21079 -0
  18. data/book/script/readme +1 -0
  19. data/book/snippets.yml +3 -4
  20. data/book/text/acknowledgement.glyph +8 -0
  21. data/book/text/authoring.glyph +548 -0
  22. data/book/text/changelog.glyph +76 -0
  23. data/book/text/extending.glyph +224 -0
  24. data/book/text/{getting_started.textile → getting_started.glyph} +30 -24
  25. data/book/text/{introduction.textile → introduction.glyph} +22 -12
  26. data/book/text/license.glyph +21 -0
  27. data/book/text/{ref_commands.textile → ref_commands.glyph} +30 -8
  28. data/book/text/ref_config.glyph +108 -0
  29. data/book/text/ref_macros.glyph +378 -0
  30. data/book/text/troubleshooting.glyph +179 -0
  31. data/config.yml +16 -4
  32. data/glyph.gemspec +83 -22
  33. data/lib/glyph.rb +164 -31
  34. data/lib/glyph/commands.rb +98 -23
  35. data/lib/glyph/document.rb +13 -7
  36. data/lib/glyph/glyph_language.rb +9 -1
  37. data/lib/glyph/glyph_language.treetop +1 -1
  38. data/lib/glyph/interpreter.rb +19 -9
  39. data/lib/glyph/macro.rb +88 -11
  40. data/lib/glyph/macro_validators.rb +48 -0
  41. data/lib/glyph/node.rb +13 -1
  42. data/lib/glyph/system_extensions.rb +0 -28
  43. data/macros/common.rb +125 -31
  44. data/macros/filters.rb +19 -13
  45. data/macros/html/block.rb +119 -68
  46. data/macros/html/inline.rb +29 -3
  47. data/macros/html/structure.rb +40 -40
  48. data/spec/files/article.glyph +5 -0
  49. data/spec/lib/commands_spec.rb +98 -3
  50. data/spec/lib/document_spec.rb +15 -2
  51. data/spec/lib/glyph_spec.rb +39 -10
  52. data/spec/lib/interpreter_spec.rb +8 -2
  53. data/spec/lib/macro_spec.rb +54 -6
  54. data/spec/lib/macro_validators_spec.rb +33 -0
  55. data/spec/lib/node_spec.rb +11 -3
  56. data/spec/macros/filters_spec.rb +5 -5
  57. data/spec/macros/macros_spec.rb +185 -8
  58. data/spec/macros/textile_spec.rb +217 -0
  59. data/spec/spec_helper.rb +25 -15
  60. data/spec/tasks/generate_spec.rb +3 -3
  61. data/spec/tasks/load_spec.rb +11 -1
  62. data/spec/tasks/project_spec.rb +0 -3
  63. data/styles/coderay.css +121 -0
  64. data/styles/default.css +54 -20
  65. data/{book/styles/css3.css → styles/pagination.css} +35 -7
  66. data/styles/ultraviolet/active4d.css +114 -0
  67. data/styles/ultraviolet/all_hallows_eve.css +72 -0
  68. data/styles/ultraviolet/amy.css +147 -0
  69. data/styles/ultraviolet/blackboard.css +88 -0
  70. data/styles/ultraviolet/brilliance_black.css +605 -0
  71. data/styles/ultraviolet/brilliance_dull.css +599 -0
  72. data/styles/ultraviolet/cobalt.css +149 -0
  73. data/styles/ultraviolet/dawn.css +121 -0
  74. data/styles/ultraviolet/eiffel.css +121 -0
  75. data/styles/ultraviolet/espresso_libre.css +109 -0
  76. data/styles/ultraviolet/idle.css +62 -0
  77. data/styles/ultraviolet/iplastic.css +80 -0
  78. data/styles/ultraviolet/lazy.css +73 -0
  79. data/styles/ultraviolet/mac_classic.css +123 -0
  80. data/styles/ultraviolet/magicwb_amiga.css +104 -0
  81. data/styles/ultraviolet/pastels_on_dark.css +188 -0
  82. data/styles/ultraviolet/slush_poppies.css +85 -0
  83. data/styles/ultraviolet/spacecadet.css +51 -0
  84. data/styles/ultraviolet/sunburst.css +180 -0
  85. data/styles/ultraviolet/twilight.css +137 -0
  86. data/styles/ultraviolet/zenburnesque.css +91 -0
  87. data/tasks/generate.rake +45 -26
  88. data/tasks/load.rake +21 -18
  89. data/tasks/project.rake +3 -1
  90. metadata +210 -41
  91. data/book/styles/default.css +0 -190
  92. data/book/text/authoring.textile +0 -351
  93. data/book/text/extending.textile +0 -148
  94. data/book/text/ref_config.textile +0 -0
  95. data/book/text/ref_macros.textile +0 -256
  96. data/book/text/troubleshooting.textile +0 -118
  97. data/styles/css3.css +0 -220
data/AUTHORS.textile ADDED
@@ -0,0 +1,8 @@
1
+ Glyph was designed and developed by <a href="http://www.h3rald.com">Fabio Cevasco</a> (h3rald).
2
+
3
+ Special thanks to the following individuals who contributed to Glyph by reporting and fixing issues and/or proposing and implementing new features:
4
+ * <a href="http://www.jabbslad.com">Jamie Atkinson</a> (Jabbslad)
5
+ * <a href="http://koraktor.github.com">Sebastian Staudt</a> (koraktor)
6
+
7
+
8
+
data/CHANGELOG.textile ADDED
@@ -0,0 +1,260 @@
1
+
2
+
3
+ <div class="section">
4
+ <h2 id="h_1">v0.2.0 &ndash; May 9th 2010</h2>
5
+ <div class="section">
6
+ <h3 id="h_2">11 Features Implemented</h3>
7
+ <table>
8
+ <tr>
9
+ <th>ID</th>
10
+ <th>Description</th>
11
+ </tr>
12
+ <tr>
13
+ <td>
14
+ <a href="http://github.com/h3rald/glyph/issues/closed#issue/62">#62</a>
15
+
16
+ </td>
17
+ <td>
18
+ <p>A new highlight macro is available to highlight source code (CodeRay or UltraViolet requireed).</p>
19
+
20
+ </td>
21
+ </tr>
22
+
23
+
24
+ <tr>
25
+ <td>
26
+ <a href="http://github.com/h3rald/glyph/issues/closed#issue/76">#76</a>
27
+
28
+ </td>
29
+ <td>
30
+ <p>It is now possible to use Glyph programmatically via the new <code>Glyph#filter</code> and <code>Glyph#compile</code> methods.</p>
31
+
32
+ </td>
33
+ </tr>
34
+
35
+
36
+ <tr>
37
+ <td>
38
+ <a href="http://github.com/h3rald/glyph/issues/closed#issue/87">#87</a>
39
+
40
+ </td>
41
+ <td>
42
+ <p>It is now possible to define snippets inside a Glyph source file using the snippet: macro.</p>
43
+
44
+ </td>
45
+ </tr>
46
+
47
+
48
+ <tr>
49
+ <td>
50
+ <a href="http://github.com/h3rald/glyph/issues/closed#issue/88">#88</a>
51
+
52
+ </td>
53
+ <td>
54
+ <p>It is now possible to change configuration settings inside a Glyph source file using the config: macro macro (Jabbslad).</p>
55
+
56
+ </td>
57
+ </tr>
58
+
59
+
60
+ <tr>
61
+ <td>
62
+ <a href="http://github.com/h3rald/glyph/issues/closed#issue/89">#89</a>
63
+
64
+ </td>
65
+ <td>
66
+ <p>It is now possible to compile a single Glyph source file without creating a Glyph project.</p>
67
+
68
+ </td>
69
+ </tr>
70
+
71
+
72
+ <tr>
73
+ <td>
74
+ <a href="http://github.com/h3rald/glyph/issues/closed#issue/92">#92</a>
75
+
76
+ </td>
77
+ <td>
78
+ <p>6 new macros have been defined to allow conditional processing (condition macro, eq macro, not macro, and macro, or macro, match macro)</p>
79
+
80
+ </td>
81
+ </tr>
82
+
83
+
84
+ <tr>
85
+ <td>
86
+ <a href="http://github.com/h3rald/glyph/issues/closed#issue/94">#94</a>
87
+
88
+ </td>
89
+ <td>
90
+ <p>It is now possible to add <em>validators</em> to macros, for example to check the number of parameters they take.</p>
91
+
92
+ </td>
93
+ </tr>
94
+
95
+
96
+ <tr>
97
+ <td>
98
+ <a href="http://github.com/h3rald/glyph/issues/closed#issue/97">#97</a>
99
+
100
+ </td>
101
+ <td>
102
+ <p>The compile command command can now take an extra <code>--auto</code> switch to trigger document auto-regeneration whenever a source file is changed (koraktor).</p>
103
+
104
+ </td>
105
+ </tr>
106
+
107
+
108
+ <tr>
109
+ <td>
110
+ <a href="http://github.com/h3rald/glyph/issues/closed#issue/99">#99</a>
111
+
112
+ </td>
113
+ <td>
114
+ <p>Added a <code>document.draft</code> setting. If set to <code>true</code>, comments and TODOs are rendered in output files.</p>
115
+
116
+ </td>
117
+ </tr>
118
+
119
+
120
+ <tr>
121
+ <td>
122
+ <a href="http://github.com/h3rald/glyph/issues/closed#issue/100">#100</a>
123
+
124
+ </td>
125
+ <td>
126
+ <p><a id="system_css"></a>Glyph <span class="caps">CSS</span> files are no longer copied to new projects, but they can be referenced as if they were (see also <a href="#css_not_copied">#93</a>).</p>
127
+
128
+ </td>
129
+ </tr>
130
+
131
+
132
+ <tr>
133
+ <td>
134
+ <a href="http://github.com/h3rald/glyph/issues/closed#issue/108">#108</a>
135
+
136
+ </td>
137
+ <td>
138
+ <p>It is now possible to define Glyph macros within Glyph source files using the macro: macro.</p>
139
+
140
+ </td>
141
+ </tr>
142
+ </table>
143
+
144
+ </div>
145
+
146
+
147
+ <div class="section">
148
+ <h3 id="h_3">8 Bugs Fixed</h3>
149
+ <table>
150
+ <tr>
151
+ <th>ID</th>
152
+ <th>Description</th>
153
+ </tr>
154
+ <tr>
155
+ <td>
156
+ <a href="http://github.com/h3rald/glyph/issues/closed#issue/86">#86</a>
157
+
158
+ </td>
159
+ <td>
160
+ <p>Warning and error messages have been updated, and it is now possible to show additional debug information. Additionally, syntax errors are now handled before the document is processed.</p>
161
+
162
+ </td>
163
+ </tr>
164
+
165
+
166
+ <tr>
167
+ <td>
168
+ <a href="http://github.com/h3rald/glyph/issues/closed#issue/93">#93</a>
169
+
170
+ </td>
171
+ <td>
172
+ <p><a id="css_not_copied"></a>Default css files were not copied when creating a new project. The issue has been resolved by allowing the style macro to reference Glyph&#8217;s system styles (see also <a href="#system_css">#100</a>).</p>
173
+
174
+ </td>
175
+ </tr>
176
+
177
+
178
+ <tr>
179
+ <td>
180
+ <a href="http://github.com/h3rald/glyph/issues/closed#issue/95">#95</a>
181
+
182
+ </td>
183
+ <td>
184
+ <p>The config command did not save data to <span class="caps">YAML</span> configuration files. This has been fixed ensuring that internal configuration overrides are not saved to the <span class="caps">YAML</span> file too.</p>
185
+
186
+ </td>
187
+ </tr>
188
+
189
+
190
+ <tr>
191
+ <td>
192
+ <a href="http://github.com/h3rald/glyph/issues/closed#issue/98">#98</a>
193
+
194
+ </td>
195
+ <td>
196
+ <p>Glyph is now fully compatible with Ruby 1.9.1 and JRuby 1.4.0.</p>
197
+
198
+ </td>
199
+ </tr>
200
+
201
+
202
+ <tr>
203
+ <td>
204
+ <a href="http://github.com/h3rald/glyph/issues/closed#issue/101">#101</a>
205
+
206
+ </td>
207
+ <td>
208
+ <p>Additional tests have been developed to improve Textile support. There should no longer be errors when using textile block elements inside Glyph macros.</p>
209
+
210
+ </td>
211
+ </tr>
212
+
213
+
214
+ <tr>
215
+ <td>
216
+ <a href="http://github.com/h3rald/glyph/issues/closed#issue/103">#103</a>
217
+
218
+ </td>
219
+ <td>
220
+ <p>Fixed a bug that caused test failures when deleting the test project directory.</p>
221
+
222
+ </td>
223
+ </tr>
224
+
225
+
226
+ <tr>
227
+ <td>
228
+ <a href="http://github.com/h3rald/glyph/issues/closed#issue/104">#104</a>
229
+
230
+ </td>
231
+ <td>
232
+ <p>Nested Glyph macros calling <code>Macro#interpret</code> no longer ignore escape delimiters.</p>
233
+
234
+ </td>
235
+ </tr>
236
+
237
+
238
+ <tr>
239
+ <td>
240
+ <a href="http://github.com/h3rald/glyph/issues/closed#issue/107">#107</a>
241
+
242
+ </td>
243
+ <td>
244
+ <p>Added the possibility to encode (using the encode macro) and decode (using the decode macro) macros so that they can be interpreted later.</p>
245
+
246
+ </td>
247
+ </tr>
248
+ </table>
249
+
250
+ </div>
251
+
252
+ </div>
253
+
254
+
255
+ <div class="section">
256
+ <h2 id="h_4">v0.1.0 &ndash; April 8th 2010</h2>
257
+ Initial release.
258
+
259
+ </div>
260
+
data/LICENSE.textile ADDED
@@ -0,0 +1,26 @@
1
+ Copyright (c) 2010 **Fabio Cevasco**, <a href="http://www.h3rald.com">http://www.h3rald.com</a>
2
+
3
+
4
+ <div class="code">
5
+ <pre>
6
+ <code>
7
+ Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ of this software and associated documentation files (the "Software"), to deal
9
+ in the Software without restriction, including without limitation the rights
10
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ copies of the Software, and to permit persons to whom the Software is
12
+ furnished to do so, subject to the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be included in
15
+ all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ THE SOFTWARE.
24
+ </code>
25
+ </pre>
26
+ </div>
data/README.textile CHANGED
@@ -1,8 +1,9 @@
1
1
  Glyph is a _Rapid Document Authoring Framework_.
2
2
 
3
- Think of it like a sort of "Ruby On Rails":http://www.rubyonrails.org but for creating text documents instead of web sites. With Glyph, you can manage your documents tidily in _projects_ that can be used to generate deliverables in different formats such as HTML or PDF (through "Prince":http://www.princexml.com).
3
+ Think of it like a sort of <a href="http://www.rubyonrails.org">Ruby on Rails</a> but for creating text documents instead of web sites. With Glyph, you can manage your documents tidily in _projects_ that can be used to generate deliverables in different formats such as HTML or PDF (through <a href="http://www.princexml.com/">Prince</a>).
4
4
 
5
- h3. Main Features
5
+ <div class="section">
6
+ <h2 id="h_1">Main Features</h2>
6
7
 
7
8
  Glyph uses a simple macro system to perform a wide variety of advanced tasks:
8
9
  * Generate block-level HTML tags not commonly managed by lightweight markups, like @head@, @body@, @div@ and @table@.
@@ -13,32 +14,45 @@ Glyph uses a simple macro system to perform a wide variety of advanced tasks:
13
14
  * Store common snippets of text in a single YAML file and use them anywhere in your document, as many times as you need.
14
15
  * Store configuration settings in a YAML file and use them anywhere in your document, as many times as you need.
15
16
  * Evaluate Ruby code within your document.
16
- * Call macros from other macros (including snippets), carefully avoiding mutual calls.
17
+ * Call macros from other macros (including snippets), avoiding mutual calls.
17
18
  * Include text files in other text files.
18
- * Include the contents of configuration settings (author, title) in the document.
19
+ * Include the value of any configuration setting (like author, title) in the document.
19
20
  * Filter input explicitly or implicitly, based on file extensions when including files.
20
21
  * Manage comments and todo items.
21
22
 
22
- h3. Installation
23
+ </div>
24
+
25
+ <div class="section">
26
+ <h2 id="h_2">Installation</h2>
23
27
 
24
28
  @gem install glyph@ -- simple, as always.
25
29
 
26
- h3. Essential Glyph Commands
30
+ </div>
31
+
32
+ <div class="section">
33
+ <h2 id="h_3">Essential Glyph commands</h2>
27
34
 
28
- Glyph is 100% command line. Its interface "Git's":http://git-scm.com/ for its simplicity and power (thanks to the "Gli":http://github.com/davetron5000/gli gem). Here are some example commands:
35
+ Glyph is 100% command line. Its interface resambles <a href="http://git-scm.com/">Git's</a> for its simplicity and power (thanks to the <a href="http://github.com/davetron5000/gli">gli</a> gem). Here are some example commands:
29
36
 
30
37
  * @glyph init@ -- to initialize a new Glyph project in the current (empty) directory.
31
38
  * @glyph add introduction.textile@ -- to create a new file called _introduction.textile_.
32
39
  * @glyph compile@ -- to compile the current document into a single HTML file.
33
- * @glyph compile -f pdf@ -- to compile the current document into HTML and then transform it into PDF using "Prince":http://www.princexml.com.
40
+ * @glyph compile -f pdf@ -- to compile the current document into HTML and then transform it into PDF using <a href="http://www.princexml.com/">Prince</a>.
41
+ * @glyph compile readme.glyph@ -- to compile a _readme.glyph_ located in the current directory into a single HTML file.
34
42
 
35
- h3. Glyph macros in a nutshell
43
+ </div>
44
+
45
+ <div class="section">
46
+ <h2 id="macros_nutshell">Glyph macros in a nutshell</h2>
36
47
 
37
48
  Format your documents using Textile or Markdown, and use Glyph Macros to do everything else:
38
49
 
39
50
  **Glyph Source:**
40
51
 
41
- <pre><code>
52
+
53
+ <div class="code">
54
+ <pre>
55
+ <code>
42
56
  section[header[Something about Glyph]
43
57
  You can use Glyph macros in conjunction
44
58
  with _Textile_ or _Markdown_ to
@@ -50,13 +64,18 @@ extremely easy with a 3rd-party
50
64
  renderer like =>[http://www.princexml.com|Prince].
51
65
  ]
52
66
  ]
53
- </code></pre>
67
+ </code>
68
+ </pre>
69
+ </div>
54
70
 
55
71
  **HTML Output:**
56
72
 
57
- <pre><code>
73
+
74
+ <div class="code">
75
+ <pre>
76
+ <code>
58
77
  <div class="section">
59
- <h2 id="h_1">Something about Glyph</h2>
78
+ <h2 id="h_10">Something about Glyph</h2>
60
79
  <p>You can use Glyph macros in conjunction with
61
80
  <em>Textile</em> or <em>Markdown</em> to
62
81
  produce HTML files effortlessly.</p>
@@ -68,13 +87,22 @@ renderer like =>[http://www.princexml.com|Prince].
68
87
  like <a href="http://www.princexml.com">Prince</a>.</p>
69
88
  </div>
70
89
  </div>
71
- </code></pre>
90
+ </code>
91
+ </pre>
92
+ </div>
72
93
 
73
- h3. Resources
94
+ </div>
74
95
 
75
- * Home Page: "http://www.h3rald.com/glyph/":http://www.h3rald.com/glyph/
76
- * Repository: "http://www.github.com/h3rald/glyph/":http://www.github.com/h3rald/glyph/
77
- * Bug Tracking: "http://www.github.com/h3rald/glyph/issues":http://www.github.com/h3rald/glyph/issues
78
- * Book (PDF): "http://github.com/h3rald/glyph/tree/master/book/output/pdf/glyph.pdf":http://github.com/h3rald/glyph/tree/master/book/output/pdf/glyph.pdf
79
- * Reference Documentation: "http://yardoc.org/docs/h3rald-glyph/":http://yardoc.org/docs/h3rald-glyph/
80
- * User Group: "http://groups.google.com/group/glyph-framework":http://groups.google.com/group/glyph-framework
96
+ <div class="section">
97
+ <h2 id="h_5">Resources</h2>
98
+
99
+ * Home Page: <a href="http://www.h3rald.com/glyph/">http://www.h3rald.com/glyph/</a>
100
+ * Repository: <a href="http://www.github.com/h3rald/glyph/">http://www.github.com/h3rald/glyph/</a>
101
+ * Bug Tracking: <a href="http://www.github.com/h3rald/glyph/issues">http://www.github.com/h3rald/glyph/issues</a>
102
+ * Development Wiki <a href="http://wiki.github.com/h3rald/glyph">http://wiki.github.com/h3rald/glyph</a>
103
+ * RubyGem Download <a href="http://www.rubygems.org/gems/glyph">http://www.rubygems.org/gems/glyph</a>
104
+ * Book (PDF): <a href="http://github.com/h3rald/glyph/raw/0.1.0/book/output/pdf/glyph.pdf">http://github.com/h3rald/glyph/raw/0.1.0/book/output/pdf/glyph.pdf</a>
105
+ * Reference Documentation: <a href="http://yardoc.org/docs/h3rald-glyph/">http://yardoc.org/docs/h3rald-glyph/</a>
106
+ * User Group: <a href="http://groups.google.com/group/glyph-framework">http://groups.google.com/group/glyph-framework</a>
107
+
108
+ </div>
data/Rakefile CHANGED
@@ -9,7 +9,7 @@ task :default => :spec
9
9
  begin
10
10
  require 'yard'
11
11
  YARD::Rake::YardocTask.new(:yardoc) do |t|
12
- t.files = ['lib/**/*.rb', 'README.textile', 'lib/*.rb']
12
+ t.files = ['lib/**/*.rb', './README.textile', 'lib/*.rb']
13
13
  t.options = ['--no-private']
14
14
  end
15
15
  rescue LoadError
@@ -27,12 +27,21 @@ begin
27
27
  s.email = "h3rald@h3rald.com"
28
28
  s.homepage = "http://www.h3rald.com/glyph/"
29
29
  s.authors = ["Fabio Cevasco"]
30
- s.add_dependency 'gli', '>= 0.3.1'
31
- s.add_dependency 'extlib', '>= 0.9.12'
32
- s.add_dependency 'treetop', '>= 0.4.3'
33
- s.add_dependency 'rake', '>= 0.8.7'
34
- s.add_development_dependency 'rspec'
35
- s.add_development_dependency 'yard'
30
+ s.files.include "styles/**/*"
31
+ s.files.include "book/**/*"
32
+ s.add_dependency 'gli', '>= 0.3.1' # Command line interface
33
+ s.add_dependency 'extlib', '>= 0.9.12' # Extension methods
34
+ s.add_dependency 'treetop', '>= 0.4.3' # Glyph Language Parser
35
+ s.add_dependency 'rake', '>= 0.8.7' # Glyph rasks
36
+ s.add_development_dependency 'rspec', '>= 1.1.11' # Test suite
37
+ s.add_development_dependency 'yard', '>= 1.5.4' # Documentation suite
38
+ s.add_development_dependency 'jeweler', '1.4.0' # Gem management
39
+ s.add_development_dependency 'directory_watcher', ">= 1.3.2" # Auto-regeneration
40
+ s.add_development_dependency 'haml', ">= 2.2.3" # Sass filter
41
+ s.add_development_dependency 'RedCloth', ">= 4.2.3" # Textile filter
42
+ s.add_development_dependency 'bluecloth', ">= 2.0.7" # Markdown filter
43
+ s.add_development_dependency 'coderay', ">= 0.9.3" # Syntax Highlighting
44
+ s.add_development_dependency 'ruby-prof', ">= 0.8.1" # Code profiling
36
45
  end
37
46
  Jeweler::GemcutterTasks.new
38
47
  rescue LoadError
@@ -43,6 +52,7 @@ begin
43
52
  require 'spec/rake/spectask'
44
53
  Spec::Rake::SpecTask.new('spec') do |t|
45
54
  t.spec_files = FileList['spec/**/*_spec.rb']
55
+ t.spec_opts = ["--color"]
46
56
  end
47
57
  rescue LoadError
48
58
  puts "RSpec is not available. Install it with: gem install rspec"