asset_hat 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. data/HISTORY +38 -19
  2. data/README.rdoc +99 -41
  3. data/Rakefile +17 -10
  4. data/VERSION.yml +3 -3
  5. data/app/helpers/asset_hat_helper.rb +40 -20
  6. data/asset_hat.gemspec +105 -101
  7. data/doc/classes/AssetHat.html +173 -59
  8. data/doc/classes/AssetHat/CSS.html +35 -26
  9. data/doc/classes/AssetHat/CSS/Engines.html +13 -12
  10. data/doc/classes/AssetHat/JS.html +11 -11
  11. data/doc/classes/AssetHat/JS/Engines.html +10 -10
  12. data/doc/classes/AssetHat/JS/Vendors.html +9 -5
  13. data/doc/classes/AssetHatHelper.html +18 -14
  14. data/doc/created.rid +1 -1
  15. data/doc/files/HISTORY.html +66 -24
  16. data/doc/files/LICENSE.html +1 -1
  17. data/doc/files/README_rdoc.html +112 -37
  18. data/doc/files/app/helpers/asset_hat_helper_rb.html +1 -1
  19. data/doc/files/lib/asset_hat/capistrano_rb.html +1 -1
  20. data/doc/files/lib/asset_hat/css_rb.html +1 -1
  21. data/doc/files/lib/asset_hat/js/vendors_rb.html +1 -1
  22. data/doc/files/lib/asset_hat/js_rb.html +1 -1
  23. data/doc/files/lib/asset_hat/tasks/css_rb.html +1 -1
  24. data/doc/files/lib/asset_hat/tasks/js_rb.html +1 -1
  25. data/doc/files/lib/asset_hat/tasks_rb.html +1 -1
  26. data/doc/files/lib/asset_hat/vcs_rb.html +1 -1
  27. data/doc/files/lib/asset_hat/version_rb.html +1 -1
  28. data/doc/files/lib/asset_hat_rb.html +1 -1
  29. data/doc/fr_method_index.html +54 -46
  30. data/lib/asset_hat.rb +100 -16
  31. data/lib/asset_hat/capistrano.rb +4 -3
  32. data/lib/asset_hat/css.rb +69 -20
  33. data/lib/asset_hat/js.rb +2 -2
  34. data/lib/asset_hat/js/vendors.rb +14 -10
  35. data/lib/asset_hat/tasks.rb +22 -3
  36. data/lib/asset_hat/tasks/css.rb +118 -74
  37. data/lib/asset_hat/tasks/js.rb +79 -35
  38. data/lib/asset_hat/vcs.rb +19 -0
  39. data/public/stylesheets/bundles/ssl/css-bundle-1.min.css +3 -0
  40. data/public/stylesheets/bundles/ssl/css-bundle-2.min.css +3 -0
  41. data/public/stylesheets/bundles/ssl/css-bundle-3.min.css +3 -0
  42. data/rails/init.rb +1 -16
  43. data/test/asset_hat_helper_test.rb +172 -28
  44. data/test/asset_hat_test.rb +167 -25
  45. metadata +54 -21
  46. data/.gitignore +0 -2
data/doc/created.rid CHANGED
@@ -1 +1 @@
1
- Wed, 21 Jul 2010 11:52:26 -0400
1
+ Wed, 08 Dec 2010 12:26:28 -0500
@@ -31,80 +31,122 @@
31
31
  </div>
32
32
  <div class='last-update'>
33
33
  Last Update:
34
- <span class='datetime'>Wed Jul 21 11:51:58 -0400 2010</span>
34
+ <span class='datetime'>Mon Nov 15 10:51:12 -0500 2010</span>
35
35
  </div>
36
36
  </div>
37
37
  <div id='content'>
38
38
  <div id='text'>
39
39
  <div id='description'>
40
40
  <h1><a href="HISTORY.html">HISTORY</a></h1>
41
+ <ul>
42
+ <li>FEATURE: Added ERb support in `config/assets.yml`.
43
+
44
+ </li>
45
+ <li>FEATURE: Added support for auto-creating SSL versions of every stylesheet.
46
+
47
+ </li>
48
+ <li>FEATURE: Added support for loading remote JS via SSL. Includes loading
49
+ popular JS from `<a
50
+ href="https://ajax.googleapis.com">ajax.googleapis.com</a>` or your own
51
+ CDN.
52
+
53
+ </li>
54
+ <li>FEATURE: Added support for `FORMAT=long|short|dot` flags for `rake
55
+ asset_hat:minify`. Useful for shortening output from deployment scripts.
56
+
57
+ </li>
58
+ <li>FEATURE: Added support for absolute paths in `config/assets.yml`. Allows
59
+ pointing to assets directly inside `public/`.
60
+
61
+ </li>
62
+ <li>FEATURE: Added `asset_hat:minify:css` and `asset_hat:minify:js` Rake task
63
+ aliases.
64
+
65
+ </li>
66
+ <li>IMPROVEMENT: Updated default CSS minification engine to remove rules that
67
+ have empty declaration blocks.
68
+
69
+ </li>
70
+ <li>IMPROVEMENT: Stopped pre-caching asset commit IDs when launching console.
71
+
72
+ </li>
73
+ <li>IMPROVEMENT: Added support for single/double quotation marks in `url()` CSS
74
+ when adding asset hosts and cache busters
75
+
76
+ </li>
77
+ <li>FIX: Fixed adding asset commit IDs to URLs containing &#8220;?&#8221; in
78
+ stylesheets.
79
+
80
+ </li>
81
+ </ul>
41
82
  <h2>Version 0.2.1 (2010-07-21)</h2>
42
83
  <ul>
43
- <li>Added WebFont Loader to supported JS vendors.
44
-
84
+ <li>FEATURE: Added WebFont Loader to supported JS vendors.
85
+
45
86
  </li>
46
- <li>Stopped adding asset hosts to `url(/htc/...)` URLs because IE 6, by
87
+ <li>FIX: Stopped adding asset hosts to `url(/htc/...)` URLs because IE 6, by
47
88
  default, refuses to run .htc files from other domains, including CDN
48
89
  subdomains.
49
-
90
+
50
91
  </li>
51
92
  </ul>
52
93
  <h2>Version 0.2.0 (2010-06-10)</h2>
53
94
  <ul>
54
- <li>Added support for loading many more JS vendors from Google&#8217;s CDN,
55
- including Prototype, MooTools, and SWFObject.
95
+ <li>FEATURE: Added support for loading many more JS vendors from Google&#8217;s
96
+ CDN, including Prototype, MooTools, and SWFObject.
56
97
 
57
98
  </li>
58
- <li>Cleaned up existing docs, and added complete RDoc documentation.
99
+ <li>FEATURE: Cleaned up existing docs, and added complete RDoc documentation.
59
100
 
60
101
  </li>
61
- <li>Added example integration script for Capistrano deployments.
102
+ <li>FEATURE: Added example integration script for Capistrano deployments.
62
103
 
63
104
  </li>
64
105
  </ul>
65
106
  <h2>Version 0.1.5 (2010-03-11)</h2>
66
107
  <ul>
67
- <li>Fixed fetching asset commit IDs in some environments. The bug was possibly
68
- caused by older versions of Git, which fail to read logs properly when
69
- given absolute paths, rather than relative paths.
108
+ <li>FIX: Fixed fetching asset commit IDs in some environments. The bug was
109
+ possibly caused by older versions of Git, which fail to read logs properly
110
+ when given absolute paths, rather than relative paths.
70
111
 
71
112
  </li>
72
- <li>Stopped app tests from running twice in some environments.
113
+ <li>FIX: Stopped app tests from running twice in some environments.
73
114
 
74
115
  </li>
75
116
  </ul>
76
117
  <h2>Version 0.1.4 (2010-03-03)</h2>
77
118
  <ul>
78
- <li>Fixed config filepaths in `asset_hat:config` task.
119
+ <li>FIX: Fixed config filepaths in `asset_hat:config` task.
79
120
 
80
121
  </li>
81
122
  </ul>
82
123
  <h2>Version 0.1.3 (2010-03-03)</h2>
83
124
  <ul>
84
- <li>Allowed adding commit IDs and asset hosts to `url(/htc/...)` URLs (e.g.,
85
- `/htc/iepngfix.htc`) in CSS, not just images.
125
+ <li>FIX: Allowed adding commit IDs and asset hosts to `url(/htc/...)` URLs
126
+ (e.g., `/htc/iepngfix.htc`) in CSS, not just images.
86
127
 
87
128
  </li>
88
- <li>Changed `<a href="../classes/AssetHat.html#M000004">AssetHat.config</a>` to
89
- memoize only if `cache?` is true. In development environments, this means
90
- the config file will be reread with every request.
129
+ <li>FIX: Changed `<a
130
+ href="../classes/AssetHat.html#M000005">AssetHat.config</a>` to memoize
131
+ only if `cache?` is true. In development environments, this means the
132
+ config file will be reread with every request.
91
133
 
92
134
  </li>
93
135
  </ul>
94
136
  <h2>Version 0.1.2 (2010-01-27)</h2>
95
137
  <ul>
96
- <li>Memoized HTML output from `include_css` and `include_js` when `<a
97
- href="../classes/AssetHat.html#M000007">AssetHat.cache?</a>` is true.
138
+ <li>IMPROVEMENT: Memoized HTML output from `include_css` and `include_js` when
139
+ `<a href="../classes/AssetHat.html#M000009">AssetHat.cache?</a>` is true.
98
140
 
99
141
  </li>
100
142
  </ul>
101
143
  <h2>Version 0.1.1 (2010-01-20)</h2>
102
144
  <ul>
103
- <li>Rewrote `AssetHat::VERSION` to be based on `VERSION.yml`.
145
+ <li>FIX: Rewrote `AssetHat::VERSION` to be based on `VERSION.yml`.
104
146
 
105
147
  </li>
106
- <li>Prefixed `AssetHat::CONFIG_FILEPATH` with `RAILS_ROOT`, which fixes ability
107
- to run an app&#8217;s individual test files.
148
+ <li>FIX: Prefixed `AssetHat::CONFIG_FILEPATH` with `RAILS_ROOT`, which fixes
149
+ ability to run an app&#8217;s individual test files.
108
150
 
109
151
  </li>
110
152
  </ul>
@@ -31,7 +31,7 @@
31
31
  </div>
32
32
  <div class='last-update'>
33
33
  Last Update:
34
- <span class='datetime'>Wed Jul 21 11:50:30 -0400 2010</span>
34
+ <span class='datetime'>Mon Nov 15 10:51:10 -0500 2010</span>
35
35
  </div>
36
36
  </div>
37
37
  <div id='content'>
@@ -31,7 +31,7 @@
31
31
  </div>
32
32
  <div class='last-update'>
33
33
  Last Update:
34
- <span class='datetime'>Wed Jul 21 11:50:30 -0400 2010</span>
34
+ <span class='datetime'>Wed Dec 08 12:26:25 -0500 2010</span>
35
35
  </div>
36
36
  </div>
37
37
  <div id='content'>
@@ -51,43 +51,47 @@
51
51
  sizes and HTTP requests.
52
52
 
53
53
  </li>
54
- <li>Load popular <strong>third-party JS</strong> (like jQuery and Prototype)
55
- from <a href="http://code.google.com/apis/ajaxlibs/"><strong>Google's
56
- CDN</strong></a> when in production, or from localhost in development.
54
+ <li>Load popular <b>third-party JS</b> (like jQuery and Prototype) from <a
55
+ href="http://code.google.com/apis/ajaxlibs/">Google's CDN</a> when in
56
+ production, or from localhost in development.
57
57
 
58
58
  </li>
59
- <li>Force image URLs in your CSS to use <strong>CDN subdomains</strong>, not
60
- just the current host.
59
+ <li>Force image URLs in your CSS to use <b>CDN subdomains</b> (including SSL
60
+ support), not just the current host.
61
61
 
62
62
  </li>
63
63
  <li>Add an image&#8217;s last <a href="http://git-scm.com/">Git</a> commit ID
64
- to its CSS URLs to <strong>bust browser caches</strong> (e.g.,
65
- <tt>/images/foo.png?ab12cd34e</tt>).
64
+ to its CSS URLs to <b>bust browser caches</b> (e.g.,
65
+ <tt>/images/foo.png?ab12cd3</tt>).
66
66
 
67
67
  </li>
68
68
  </ul>
69
69
  <p>
70
- After setup, you can use these in your layouts and views:
70
+ After setup, you can use this in your layouts and views:
71
71
  </p>
72
- <pre>&lt;%= include_css :bundle =&gt; 'application' %&gt;&#x000A; # =&gt; &lt;link href=&quot;/stylesheets/bundles/application.min.css&quot;&#x000A; # media=&quot;screen,projection&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;&#x000A;&#x000A;&lt;%= include_js :bundles =&gt; ['plugins', 'common'] %&gt;&#x000A; # =&gt; &lt;script src=&quot;/javascripts/bundles/plugins.min.js&quot;&#x000A; # type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&#x000A; # &lt;script src=&quot;/javascripts/bundles/common.min.js&quot;&#x000A; # type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</pre>
72
+ <pre>&lt;%= include_css :bundle =&gt; 'application' %&gt;&#x000A;&lt;%= include_js :jquery, :bundles =&gt; ['plugins', 'common'] %&gt;</pre>
73
+ <p>
74
+ Which turns into:
75
+ </p>
76
+ <pre>&lt;link href=&quot;/stylesheets/bundles/application.min.css&quot;&#x000A; media=&quot;screen,projection&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;&#x000A;&lt;script src=&quot;/javascripts/jquery-1.x.x.min.js&quot;&#x000A; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&#x000A; &lt;!-- In production, jQuery loads from Google's CDN instead. --&gt;&#x000A;&lt;script src=&quot;/javascripts/bundles/plugins.min.js&quot;&#x000A; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&#x000A;&lt;script src=&quot;/javascripts/bundles/common.min.js&quot;&#x000A; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;</pre>
73
77
  <p>
74
78
  And this in your deploy script:
75
79
  </p>
76
80
  <pre>rake asset_hat:minify</pre>
77
81
  <p>
78
- Tested with Rails 2.3.x.
82
+ Tested with Rails 2.3.x. For the gritty details, check the <a
83
+ href="http://mintdigital.github.com/asset_hat/doc/">complete docs</a> and
84
+ <a
85
+ href="http://mintdigital.github.com/asset_hat/doc/files/HISTORY.html">change
86
+ history</a>.
79
87
  </p>
80
88
  <h2>Installation</h2>
81
89
  <ol>
82
- <li>Install the gem:
83
-
84
- <pre>gem install asset_hat</pre>
85
- </li>
86
90
  <li>Configure the gem:
87
91
 
88
92
  <ul>
89
- <li>If you&#8217;re using <a href="http://github.com/carlhuda/bundler">Bundler
90
- 0.9+</a>:
93
+ <li>If you&#8217;re using Rails 3 and/or <a
94
+ href="http://github.com/carlhuda/bundler">Bundler 0.9+</a>:
91
95
 
92
96
  <ol>
93
97
  <li>Add to your app&#8217;s Gemfile: <tt>gem 'asset_hat', '0.x.x'</tt>
@@ -98,16 +102,22 @@
98
102
  </li>
99
103
  </ol>
100
104
  </li>
101
- <li>If you&#8217;re using Rails&#8217; <tt>config.gem</tt>, add to your
102
- app&#8217;s <tt>config/environment.rb</tt>:
105
+ <li>If you&#8217;re using Rails 2.x&#8217;s <tt>config.gem</tt>:
103
106
 
104
- <pre>config.gem 'asset_hat', :version =&gt; '0.x.x'</pre>
107
+ <ol>
108
+ <li>Add to your app&#8217;s <tt>config/environment.rb</tt>: <tt>config.gem
109
+ 'asset_hat', :version =&gt; '0.x.x'</tt>
110
+
111
+ </li>
112
+ <li>Command-line: <tt>gem install asset_hat</tt>
113
+
114
+ </li>
115
+ </ol>
105
116
  </li>
106
117
  </ul>
107
118
  </li>
108
- <li>Add to your app&#8217;s Rakefile:
119
+ <li>Add to your app&#8217;s Rakefile: <tt>require 'asset_hat/tasks'</tt>
109
120
 
110
- <pre>require 'asset_hat/tasks'</pre>
111
121
  </li>
112
122
  </ol>
113
123
  <h2>Configuration</h2>
@@ -131,12 +141,12 @@
131
141
  <p>
132
142
  Bundles are created as new files in <tt>public/stylesheets/bundles/</tt>
133
143
  and <tt>public/javascripts/bundles/</tt>. Your original CSS/JS files remain
134
- intact.
144
+ untouched.
135
145
  </p>
136
146
  </li>
137
147
  <li>Set your deployment script to run <tt>rake asset_hat:minify</tt> after
138
148
  deploying your latest CSS/JS. This overwrites previously minified bundles,
139
- and leaves your original CSS/JS files intact.
149
+ and leaves your original CSS/JS files untouched.
140
150
 
141
151
  </li>
142
152
  </ol>
@@ -148,6 +158,11 @@
148
158
  href="lib/asset_hat/capistrano_rb.html">lib/asset_hat/capistrano.rb</a></tt>.
149
159
  </p>
150
160
  <p>
161
+ If you want shorter output during deployments, you can use `rake
162
+ asset_hat:minify FORMAT=short` (one output line per bundle) or `FORMAT=dot`
163
+ (one output line total) in your deploy script.
164
+ </p>
165
+ <p>
151
166
  Additional settings are supported in <tt>config/assets.yml</tt>:
152
167
  </p>
153
168
  <ul>
@@ -159,28 +174,70 @@
159
174
  Ruby port of Crockford&#8217;s JSMin).
160
175
 
161
176
  <p>
162
- If the default engines cause problems by minifying too strongly, try
163
- switching each to <tt>weak</tt>. The <tt>weak</tt> engines are much safer,
164
- but don&#8217;t save as many bytes.
177
+ If you&#8217;d prefer to have slightly more readable code for debugging
178
+ purposes, you can switch both the CSS and JS engines to <tt>weak</tt>.
179
+ However, the <tt>weak</tt> engines don&#8217;t save as many bytes.
165
180
  </p>
166
181
  </li>
167
- <li><tt>vendors</tt>: Currently only allows for setting the jQuery version
168
- number:
182
+ <li><tt>vendors</tt>: Configures third-party JS that&#8217;s loaded from a CDN
183
+ or other external source. The following example configures jQuery and
184
+ jQuery UI for use throughout the app:
185
+
186
+ <pre>js:&#x000A; vendors:&#x000A; jquery:&#x000A; version: 1.4.4&#x000A; jquery_ui:&#x000A; version: 1.8.5&#x000A; remote_url: http://cdn.example.com/js/jquery-ui-1.8.5.min.js&#x000A; remote_ssl_url: https://cdn-ssl.example.com/js/jquery-ui-1.8.5.min.js</pre>
187
+ <p>
188
+ Configuration keys per vendor:
189
+ </p>
190
+ <ul>
191
+ <li><tt>version</tt>: Sets the default version across the app. In the example
192
+ above, <tt>&lt;%= include_js :jquery %&gt;</tt> uses version 1.4.4 by
193
+ default. You can override this for special layouts/views with <tt>&lt;%=
194
+ include_js :jquery, :version =&gt; '1.3.2' %&gt;</tt>.
195
+
196
+ </li>
197
+ <li><tt>remote_url</tt>, <tt>remote_ssl_url</tt>: By default, vendor JS will
198
+ load from <a href="http://code.google.com/apis/ajaxlibs/">Google's CDN</a>
199
+ in production (or any environment where
200
+ <tt>config.action_controller.consider_all_requests_local</tt> is set to
201
+ <tt>true</tt>). If the original request to your app used SSL, the vendor JS
202
+ will also load from Google&#8217;s CDN via SSL. If you prefer to use a
203
+ different CDN, specify its SSL/non-SSL URLs, and the appropriate URL will
204
+ be used per request.
169
205
 
170
- <pre>js:&#x000A; vendors:&#x000A; jquery:&#x000A; version: 1.4</pre>
206
+ </li>
207
+ </ul>
171
208
  <p>
172
- In the future, this will be used for configuring the retrieval of other
173
- third-party code.
209
+ A full list of supported vendors is in the <a
210
+ href="../classes/AssetHat/JS/Vendors.html">AssetHat::JS::Vendors</a>
211
+ module.
174
212
  </p>
175
213
  </li>
176
214
  </ul>
215
+ <h3>SSL configuration</h3>
216
+ <p>
217
+ When you request a page via SSL, some browsers (euphemism for
218
+ &#8220;IE&#8221;) show errors if any assets &#8212; stylesheets, JS files,
219
+ images &#8212; are served <em>without</em> SSL.
220
+ </p>
221
+ <p>
222
+ <a href="../classes/AssetHat.html">AssetHat</a> plays well with SSL pages
223
+ that load assets from a CDN. Put this in
224
+ <tt>config/environments/production.rb</tt> or similar:
225
+ </p>
226
+ <pre>config.action_controller.asset_host = Proc.new do |source, request|&#x000A; &quot;#{request.protocol}cdn#{source.hash % 4}.example.com&quot;&#x000A; # =&gt; 'http://cdn0.example.com', 'https://cdn1.example.com', etc.&#x000A;end</pre>
227
+ <p>
228
+ This switches to a different CDN URL if the request used SSL. When you run
229
+ <tt>rake asset_hat:minify</tt> at deploy time, <a
230
+ href="../classes/AssetHat.html">AssetHat</a> detects this configuration,
231
+ and generates special SSL versions of each stylesheet that also load images
232
+ from CDN via SSL. (Non-SSL pages still get non-SSL stylesheets.)
233
+ </p>
177
234
  <h2>Usage</h2>
178
235
  <p>
179
- In your layouts and views, instead of these:
236
+ In your layouts and views, <b>instead of these</b>:
180
237
  </p>
181
238
  <pre>&lt;%= stylesheet_link_tag 'reset', 'application', 'clearfix',&#x000A; :media =&gt; 'screen,projection',&#x000A; :cache =&gt; 'bundles/application' %&gt;&#x000A;&lt;%= javascript_include_tag 'plugin-1', 'plugin-2', 'plugin-3',&#x000A; :cache =&gt; 'bundles/application' %&gt;</pre>
182
239
  <p>
183
- <strong>Use these:</strong>
240
+ <b>Use these:</b>
184
241
  </p>
185
242
  <pre>&lt;%= include_css :bundle =&gt; 'application' %&gt;&#x000A;&lt;%= include_js :bundle =&gt; 'application' %&gt;</pre>
186
243
  <p>
@@ -199,6 +256,12 @@
199
256
  included, based on the bundle contents you define in
200
257
  <tt>config/assets.yml</tt>.
201
258
  </p>
259
+ <p>
260
+ If your environment has <tt>config.action_controller.asset_host</tt>
261
+ pointing to a CDN, your CSS/JS files will load from there. If your
262
+ configuration supports using the CDN via SSL (see the section &#8220;SSL
263
+ configuration&#8221;), SSL requests will also load CSS/JS files via SSL.
264
+ </p>
202
265
  <h3>Advanced usage</h3>
203
266
  <p>
204
267
  You can also include single files as expected:
@@ -216,10 +279,22 @@
216
279
  You may want to use multiple bundles to separate plugins (rarely changed)
217
280
  from application code (frequently changed). If all code is in one huge
218
281
  bundle, then whenever there&#8217;s a change, browsers have to re-download
219
- the whole bundle. By using multiple bundles based on change frequency,
220
- browsers cache the rarely changed code, and only re-download the frequently
221
- changed code.
282
+ the whole bundle. By using multiple bundles based on update frequency,
283
+ browsers cache the rarely updated code, and only re-download the frequently
284
+ updated code.
222
285
  </p>
286
+ <h2><a href="http://www.youtube.com/watch?v=V30tyaXv6EI">What is best in AssetHat?</a></h2>
287
+ <ul>
288
+ <li>To crush your assets;
289
+
290
+ </li>
291
+ <li>See them bundled before you; and
292
+
293
+ </li>
294
+ <li>Hear no more lamentation about slow page loads.
295
+
296
+ </li>
297
+ </ul>
223
298
  </div>
224
299
  <div id='section'>
225
300
  </div>
@@ -31,7 +31,7 @@
31
31
  </div>
32
32
  <div class='last-update'>
33
33
  Last Update:
34
- <span class='datetime'>Wed Jul 21 11:50:30 -0400 2010</span>
34
+ <span class='datetime'>Mon Nov 15 10:51:10 -0500 2010</span>
35
35
  </div>
36
36
  </div>
37
37
  <div id='content'>
@@ -31,7 +31,7 @@
31
31
  </div>
32
32
  <div class='last-update'>
33
33
  Last Update:
34
- <span class='datetime'>Wed Jul 21 11:50:30 -0400 2010</span>
34
+ <span class='datetime'>Mon Nov 15 10:51:11 -0500 2010</span>
35
35
  </div>
36
36
  </div>
37
37
  <div id='content'>
@@ -31,7 +31,7 @@
31
31
  </div>
32
32
  <div class='last-update'>
33
33
  Last Update:
34
- <span class='datetime'>Wed Jul 21 11:52:16 -0400 2010</span>
34
+ <span class='datetime'>Mon Nov 15 10:51:12 -0500 2010</span>
35
35
  </div>
36
36
  </div>
37
37
  <div id='content'>
@@ -31,7 +31,7 @@
31
31
  </div>
32
32
  <div class='last-update'>
33
33
  Last Update:
34
- <span class='datetime'>Wed Jul 21 11:50:30 -0400 2010</span>
34
+ <span class='datetime'>Mon Nov 15 10:51:11 -0500 2010</span>
35
35
  </div>
36
36
  </div>
37
37
  <div id='content'>
@@ -31,7 +31,7 @@
31
31
  </div>
32
32
  <div class='last-update'>
33
33
  Last Update:
34
- <span class='datetime'>Wed Jul 21 11:50:30 -0400 2010</span>
34
+ <span class='datetime'>Mon Nov 15 10:51:11 -0500 2010</span>
35
35
  </div>
36
36
  </div>
37
37
  <div id='content'>