compass-jquery-plugin 0.3.0.beta.18 → 0.3.0.beta.19

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.
data/README.textile CHANGED
@@ -187,7 +187,8 @@ h3. jQuery Plugins included
187
187
  * Chris Domigan for <b>"jQuery ContextMenu Plugin":http://www.trendskitchens.co.nz/jquery/contextmenu/</b>
188
188
  * Denis Howlett for <b>"jQuery Table Drag and Drop Plugin":http://www.isocra.com/2008/02/table-drag-and-drop-jquery-plugin/</b>
189
189
  * Michael Aufreiter for <b>"jQuery UI Multiselect Plugin":http://quasipartikel.at</b>
190
- * Tim Caswell for <b>"jQuery haml Plugin":http://github.com/creationix/haml-js</b>
190
+ * Tim Caswell for <b>"jQuery haml Plugin":http://github.com/creationix/jquery-haml</b>
191
+ * Tim Caswell for <b>"halm-js":http://github.com/creationix/haml-js</b> Server side templating language for JavaScript
191
192
  * Rick DeNatale for <b>"ri_cal":http://github.com/rubyredrick/ri_cal/</b>
192
193
  * Andrew M Andrews III for <b>"Any+Time":http://www.ama3.com/anytime/</b>
193
194
  * Adam Shaw for <b>"FullCalendar":http://arshaw.com/fullcalendar/</b>
data/VERSION.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  ---
2
- :commit: beta.18
2
+ :commit: beta.19
3
3
  :patch: 0
4
4
  :minor: 3
5
5
  :major: 0
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{compass-jquery-plugin}
8
- s.version = "0.3.0.beta.18"
8
+ s.version = "0.3.0.beta.19"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Kosmas Schuetz"]
12
- s.date = %q{2010-09-15}
12
+ s.date = %q{2010-09-17}
13
13
  s.description = %q{A compass plugin that integrates jRails, jQuery, jQuery UI and Themes, jqGrid and more into the Compass Sass framework.}
14
14
  s.email = %q{kosmas.schuetz@gmx.com}
15
15
  s.extra_rdoc_files = [
@@ -619,6 +619,8 @@ Gem::Specification.new do |s|
619
619
  "templates/jqtouch/jquery.jqtouch.min.js",
620
620
  "templates/jqtouch/manifest.rb",
621
621
  "templates/jrails/config/initializers/jrails.rb",
622
+ "templates/jrails/haml.js",
623
+ "templates/jrails/haml.min.js",
622
624
  "templates/jrails/i18n/jquery.ui/datepicker-af.js",
623
625
  "templates/jrails/i18n/jquery.ui/datepicker-af.min.js",
624
626
  "templates/jrails/i18n/jquery.ui/datepicker-ar.js",
@@ -1213,14 +1215,14 @@ Gem::Specification.new do |s|
1213
1215
  "templates/jstree/jquery.ui/jstree.aqua/d.png",
1214
1216
  "templates/jstree/jquery.ui/jstree.aqua/hovered.png",
1215
1217
  "templates/jstree/jquery.ui/jstree.aqua/throbber.gif",
1216
- "templates/jstree/jquery.ui/jstree.chrystal.scss",
1217
- "templates/jstree/jquery.ui/jstree.chrystal/d.gif",
1218
- "templates/jstree/jquery.ui/jstree.chrystal/d.png",
1219
- "templates/jstree/jquery.ui/jstree.chrystal/throbber.gif",
1220
1218
  "templates/jstree/jquery.ui/jstree.classic.scss",
1221
1219
  "templates/jstree/jquery.ui/jstree.classic/d.png",
1222
1220
  "templates/jstree/jquery.ui/jstree.classic/dot_for_ie.gif",
1223
1221
  "templates/jstree/jquery.ui/jstree.classic/throbber.gif",
1222
+ "templates/jstree/jquery.ui/jstree.crystal.scss",
1223
+ "templates/jstree/jquery.ui/jstree.crystal/d.gif",
1224
+ "templates/jstree/jquery.ui/jstree.crystal/d.png",
1225
+ "templates/jstree/jquery.ui/jstree.crystal/throbber.gif",
1224
1226
  "templates/jstree/jquery.ui/jstree.default-rtl.scss",
1225
1227
  "templates/jstree/jquery.ui/jstree.default-rtl/d.gif",
1226
1228
  "templates/jstree/jquery.ui/jstree.default-rtl/d.png",
@@ -7,6 +7,7 @@ JRAILS_SRC = File.join(GEM_ROOT, 'src', 'jrails', 'jrails.1.4.2')
7
7
  JRAILS_SRC_SCRIPTS = JRAILS_SRC + "/*.js"
8
8
 
9
9
  JHAML_SRC_SCRIPTS = File.join(GEM_ROOT, 'src', 'jrails', 'jquery-haml') + "/*.js"
10
+ HAML_JS_SRC_SCRIPTS = File.join(GEM_ROOT, 'src', 'jrails', 'haml-js') + "/*.js"
10
11
 
11
12
  FLASH_SRC = File.join(GEM_ROOT, 'src', 'jrails', 'flash_messages')
12
13
  FLASH_SRC_IMAGES = File.join(FLASH_SRC, 'images')
@@ -86,7 +87,19 @@ namespace :build do
86
87
  open File.join(JRAILS_DEST_TEMPLATES, 'jquery.haml.min.js'), 'w' do |f|
87
88
  f.print compress_js(all_files(JHAML_SRC_SCRIPTS), "google")
88
89
  end
89
- manifest.print "javascript 'jquery.haml.min.js'\n"
90
+ manifest.print "javascript 'jquery.haml.min.js'\n"
91
+
92
+ # HAML Js
93
+
94
+ open File.join(JRAILS_DEST_TEMPLATES, 'haml.js'), 'w' do |f|
95
+ f.print concat_files(all_files(HAML_JS_SRC_SCRIPTS))
96
+ end
97
+ manifest.print "javascript 'haml.js'\n"
98
+
99
+ open File.join(JRAILS_DEST_TEMPLATES, 'haml.min.js'), 'w' do |f|
100
+ f.print compress_js(all_files(JHAML_SRC_SCRIPTS), "google")
101
+ end
102
+ manifest.print "javascript 'haml.min.js'\n"
90
103
 
91
104
  # jQuery 1.4
92
105
 
data/lib/jquery.rb CHANGED
@@ -1,11 +1,11 @@
1
- require 'yaml'
2
- require File.join(File.dirname(__FILE__), 'jquery', 'compass_plugin')
3
-
4
- module CompassJqueryPlugin
5
- version = YAML.load_file(File.dirname(__FILE__) + '/../VERSION.yml')
6
- if version[:commit]
7
- VERSION = "#{version[:major]}.#{version[:minor]}.#{version[:patch]}.#{version[:commit]}"
8
- else
9
- VERSION = "#{version[:major]}.#{version[:minor]}.#{version[:patch]}"
10
- end
11
- end
1
+ require 'yaml'
2
+ require File.join(File.dirname(__FILE__), 'jquery', 'compass_plugin')
3
+
4
+ module CompassJqueryPlugin
5
+ version = YAML.load_file(File.dirname(__FILE__) + '/../VERSION.yml')
6
+ if version[:commit]
7
+ VERSION = "#{version[:major]}.#{version[:minor]}.#{version[:patch]}.#{version[:commit]}"
8
+ else
9
+ VERSION = "#{version[:major]}.#{version[:minor]}.#{version[:patch]}"
10
+ end
11
+ end
@@ -20,6 +20,7 @@ ActionView::Helpers::AssetTagHelper::reset_javascript_include_default
20
20
  ActionView::Helpers::AssetTagHelper.register_javascript_expansion :jquery_142 => ['jquery-1.4.2.min', 'jquery-ui-1.8.4.min']
21
21
  ActionView::Helpers::AssetTagHelper.register_javascript_expansion :jrails => ['jrails.min']
22
22
  ActionView::Helpers::AssetTagHelper.register_javascript_expansion :jhaml => ['jquery.haml.min']
23
+ ActionView::Helpers::AssetTagHelper.register_javascript_expansion :haml_js => ['haml-js.min']
23
24
  ActionView::Helpers::AssetTagHelper.register_stylesheet_expansion :contextMenu => ['compiled/jquery.ui/contextMenu.css']
24
25
  ActionView::Helpers::AssetTagHelper.register_javascript_expansion :contextMenu => ['jquery.contextMenu.min']
25
26
  ActionView::Helpers::AssetTagHelper.register_stylesheet_expansion :farbtastic => ['compiled/jquery.ui/farbtastic.css']
@@ -0,0 +1,506 @@
1
+ var Haml;
2
+
3
+ (function () {
4
+
5
+ var matchers, self_close_tags, embedder, forceXML;
6
+
7
+ function html_escape(text) {
8
+ return (text + "").
9
+ replace(/&/g, "&amp;").
10
+ replace(/</g, "&lt;").
11
+ replace(/>/g, "&gt;").
12
+ replace(/\"/g, "&quot;");
13
+ }
14
+
15
+ function render_attribs(attribs) {
16
+ var key, value, result = [];
17
+ for (key in attribs) {
18
+ if (key !== '_content' && attribs.hasOwnProperty(key)) {
19
+ switch (attribs[key]) {
20
+ case 'undefined':
21
+ case 'false':
22
+ case 'null':
23
+ case '""':
24
+ break;
25
+ default:
26
+ try {
27
+ value = JSON.parse("[" + attribs[key] +"]")[0];
28
+ if (value === true) {
29
+ value = key;
30
+ } else if (typeof value === 'string' && embedder.test(value)) {
31
+ value = '" +\n' + parse_interpol(html_escape(value)) + ' +\n"';
32
+ } else {
33
+ value = html_escape(value);
34
+ }
35
+ result.push(" " + key + '=\\"' + value + '\\"');
36
+ } catch (e) {
37
+ result.push(" " + key + '=\\"" + html_escape(' + attribs[key] + ') + "\\"');
38
+ }
39
+ }
40
+ }
41
+ }
42
+ return result.join("");
43
+ }
44
+
45
+ // Parse the attribute block using a state machine
46
+ function parse_attribs(line) {
47
+ var attributes = {},
48
+ l = line.length,
49
+ i, c,
50
+ count = 1,
51
+ quote = false,
52
+ skip = false,
53
+ open, close, joiner, seperator,
54
+ pair = {
55
+ start: 1,
56
+ middle: null,
57
+ end: null
58
+ };
59
+
60
+ if (!(l > 0 && (line.charAt(0) === '{' || line.charAt(0) === '('))) {
61
+ return {
62
+ _content: line[0] === ' ' ? line.substr(1, l) : line
63
+ };
64
+ }
65
+ open = line.charAt(0);
66
+ close = (open === '{') ? '}' : ')';
67
+ joiner = (open === '{') ? ':' : '=';
68
+ seperator = (open === '{') ? ',' : ' ';
69
+
70
+ function process_pair() {
71
+ if (typeof pair.start === 'number' &&
72
+ typeof pair.middle === 'number' &&
73
+ typeof pair.end === 'number') {
74
+ var key = line.substr(pair.start, pair.middle - pair.start).trim(),
75
+ value = line.substr(pair.middle + 1, pair.end - pair.middle - 1).trim();
76
+ attributes[key] = value;
77
+ }
78
+ pair = {
79
+ start: null,
80
+ middle: null,
81
+ end: null
82
+ };
83
+ }
84
+
85
+ for (i = 1; count > 0; i += 1) {
86
+
87
+ // If we reach the end of the line, then there is a problem
88
+ if (i > l) {
89
+ throw "Malformed attribute block";
90
+ }
91
+
92
+ c = line.charAt(i);
93
+ if (skip) {
94
+ skip = false;
95
+ } else {
96
+ if (quote) {
97
+ if (c === '\\') {
98
+ skip = true;
99
+ }
100
+ if (c === quote) {
101
+ quote = false;
102
+ }
103
+ } else {
104
+ if (c === '"' || c === "'") {
105
+ quote = c;
106
+ }
107
+
108
+ if (count === 1) {
109
+ if (c === joiner) {
110
+ pair.middle = i;
111
+ }
112
+ if (c === seperator || c === close) {
113
+ pair.end = i;
114
+ process_pair();
115
+ if (c === seperator) {
116
+ pair.start = i + 1;
117
+ }
118
+ }
119
+ }
120
+
121
+ if (c === open || c === "(") {
122
+ count += 1;
123
+ }
124
+ if (c === close || (count > 1 && c === ")")) {
125
+ count -= 1;
126
+ }
127
+ }
128
+ }
129
+ }
130
+ attributes._content = line.substr(i, line.length);
131
+ return attributes;
132
+ }
133
+
134
+ // Split interpolated strings into an array of literals and code fragments.
135
+ function parse_interpol(value) {
136
+ var items = [],
137
+ pos = 0,
138
+ next = 0,
139
+ match;
140
+ while (true) {
141
+ // Match up to embedded string
142
+ next = value.substr(pos).search(embedder);
143
+ if (next < 0) {
144
+ if (pos < value.length) {
145
+ items.push(JSON.stringify(value.substr(pos)));
146
+ }
147
+ break;
148
+ }
149
+ items.push(JSON.stringify(value.substr(pos, next)));
150
+ pos += next;
151
+
152
+ // Match embedded string
153
+ match = value.substr(pos).match(embedder);
154
+ next = match[0].length;
155
+ if (next < 0) { break; }
156
+ items.push(match[1] || match[2]);
157
+ pos += next;
158
+ }
159
+ return items.filter(function (part) { return part && part.length > 0}).join(" +\n");
160
+ }
161
+
162
+ // Used to find embedded code in interpolated strings.
163
+ embedder = /\#\{([^}]*)\}/;
164
+
165
+ self_close_tags = ["meta", "img", "link", "br", "hr", "input", "area", "base"];
166
+
167
+ // All matchers' regexps should capture leading whitespace in first capture
168
+ // and trailing content in last capture
169
+ matchers = [
170
+ // html tags
171
+ {
172
+ regexp: /^(\s*)((?:[.#%][a-z_\-][a-z0-9_:\-]*)+)(.*)$/i,
173
+ process: function () {
174
+ var tag, classes, ids, attribs, content;
175
+ tag = this.matches[2];
176
+ classes = tag.match(/\.([a-z_\-][a-z0-9_\-]*)/gi);
177
+ ids = tag.match(/\#([a-z_\-][a-z0-9_\-]*)/gi);
178
+ tag = tag.match(/\%([a-z_\-][a-z0-9_:\-]*)/gi);
179
+
180
+ // Default to <div> tag
181
+ tag = tag ? tag[0].substr(1, tag[0].length) : 'div';
182
+
183
+ attribs = this.matches[3];
184
+ if (attribs) {
185
+ attribs = parse_attribs(attribs);
186
+ if (attribs._content) {
187
+ this.contents.unshift(attribs._content.trim());
188
+ delete(attribs._content);
189
+ }
190
+ } else {
191
+ attribs = {};
192
+ }
193
+
194
+ if (classes) {
195
+ classes = classes.map(function (klass) {
196
+ return klass.substr(1, klass.length);
197
+ }).join(' ');
198
+ if (attribs['class']) {
199
+ try {
200
+ attribs['class'] = JSON.stringify(classes + " " + JSON.parse(attribs['class']));
201
+ } catch (e) {
202
+ attribs['class'] = JSON.stringify(classes + " ") + " + " + attribs['class'];
203
+ }
204
+ } else {
205
+ attribs['class'] = JSON.stringify(classes);
206
+ }
207
+ }
208
+ if (ids) {
209
+ ids = ids.map(function (id) {
210
+ return id.substr(1, id.length);
211
+ }).join(' ');
212
+ if (attribs.id) {
213
+ attribs.id = JSON.stringify(ids + " ") + attribs.id;
214
+ } else {
215
+ attribs.id = JSON.stringify(ids);
216
+ }
217
+ }
218
+
219
+ attribs = render_attribs(attribs);
220
+
221
+ content = this.render_contents();
222
+ if (content === '""') {
223
+ content = '';
224
+ }
225
+
226
+ if (forceXML ? content.length > 0 : self_close_tags.indexOf(tag) == -1) {
227
+ return '"<' + tag + attribs + '>"' +
228
+ (content.length > 0 ? ' + \n' + content : "") +
229
+ ' + \n"</' + tag + '>"';
230
+ } else {
231
+ return '"<' + tag + attribs + ' />"';
232
+ }
233
+ }
234
+ },
235
+
236
+ // each loops
237
+ {
238
+ regexp: /^(\s*)(?::for|:each)\s+(?:([a-z_][a-z_\-]*),\s*)?([a-z_][a-z_\-]*)\s+in\s+(.*)(\s*)$/i,
239
+ process: function () {
240
+ var ivar = this.matches[2] || '__key__', // index
241
+ vvar = this.matches[3], // value
242
+ avar = this.matches[4], // array
243
+ rvar = '__result__'; // results
244
+
245
+ if (this.matches[5]) {
246
+ this.contents.unshift(this.matches[5]);
247
+ }
248
+ return '(function () { ' +
249
+ 'var ' + rvar + ' = [], ' + ivar + ', ' + vvar + '; ' +
250
+ 'for (' + ivar + ' in ' + avar + ') { ' +
251
+ 'if (' + avar + '.hasOwnProperty(' + ivar + ')) { ' +
252
+ vvar + ' = ' + avar + '[' + ivar + ']; ' +
253
+ rvar + '.push(\n' + (this.render_contents() || "''") + '\n); ' +
254
+ '} } return ' + rvar + '.join(""); }).call(this)';
255
+ }
256
+ },
257
+
258
+ // if statements
259
+ {
260
+ regexp: /^(\s*):if\s+(.*)\s*$/i,
261
+ process: function () {
262
+ var condition = this.matches[2];
263
+ return '(function () { ' +
264
+ 'if (' + condition + ') { ' +
265
+ 'return (\n' + (this.render_contents() || '') + '\n);' +
266
+ '} else { return ""; } }).call(this)';
267
+ }
268
+ },
269
+
270
+ // declarations
271
+ {
272
+ regexp: /^()!!!(?:\s*(.*))\s*$/,
273
+ process: function () {
274
+ var line = '';
275
+ switch ((this.matches[2] || '').toLowerCase()) {
276
+ case '':
277
+ // XHTML 1.0 Transitional
278
+ line = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
279
+ break;
280
+ case 'strict':
281
+ case '1.0':
282
+ // XHTML 1.0 Strict
283
+ line = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">';
284
+ break;
285
+ case 'frameset':
286
+ // XHTML 1.0 Frameset
287
+ line = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">';
288
+ break;
289
+ case '5':
290
+ // XHTML 5
291
+ line = '<!DOCTYPE html>';
292
+ break;
293
+ case '1.1':
294
+ // XHTML 1.1
295
+ line = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">';
296
+ break;
297
+ case 'basic':
298
+ // XHTML Basic 1.1
299
+ line = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">';
300
+ break;
301
+ case 'mobile':
302
+ // XHTML Mobile 1.2
303
+ line = '<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd">';
304
+ break;
305
+ case 'xml':
306
+ // XML
307
+ line = "<?xml version='1.0' encoding='utf-8' ?>";
308
+ break;
309
+ case 'xml iso-8859-1':
310
+ // XML iso-8859-1
311
+ line = "<?xml version='1.0' encoding='iso-8859-1' ?>";
312
+ break;
313
+ }
314
+ return JSON.stringify(line + "\n");
315
+ }
316
+ },
317
+
318
+ // Embedded markdown. Needs to be added to exports externally.
319
+ {
320
+ regexp: /^(\s*):markdown\s*$/i,
321
+ process: function () {
322
+ return parse_interpol(exports.Markdown.encode(this.contents.join("\n")));
323
+ }
324
+ },
325
+
326
+ // script blocks
327
+ {
328
+ regexp: /^(\s*):(?:java)?script\s*$/,
329
+ process: function () {
330
+ return parse_interpol('\n<script type="text/javascript">\n' +
331
+ '//<![CDATA[\n' +
332
+ this.contents.join("\n") +
333
+ "\n//]]>\n</script>\n");
334
+ }
335
+ },
336
+
337
+ // css blocks
338
+ {
339
+ regexp: /^(\s*):css\s*$/,
340
+ process: function () {
341
+ return JSON.stringify('\n<style type="text/css">\n' +
342
+ this.contents.join("\n") +
343
+ "\n</style>\n");
344
+ }
345
+ },
346
+
347
+ ];
348
+
349
+ function compile(lines) {
350
+ var block = false,
351
+ output = [];
352
+
353
+ // If lines is a string, turn it into an array
354
+ if (typeof lines === 'string') {
355
+ lines = lines.trim().split("\n");
356
+ }
357
+
358
+ lines.forEach(function(line) {
359
+ var match, found = false;
360
+
361
+ // Collect all text as raw until outdent
362
+ if (block) {
363
+ match = block.check_indent(line);
364
+ if (match) {
365
+ block.contents.push(match[1] || "");
366
+ return;
367
+ } else {
368
+ output.push(block.process());
369
+ block = false;
370
+ }
371
+ }
372
+
373
+ matchers.forEach(function (matcher) {
374
+ if (!found) {
375
+ match = matcher.regexp(line);
376
+ if (match) {
377
+ block = {
378
+ contents: [],
379
+ matches: match,
380
+ check_indent: new RegExp("^(?:\\s*|" + match[1] + " (.*))$"),
381
+ process: matcher.process,
382
+ render_contents: function () {
383
+ return compile(this. contents);
384
+ }
385
+ };
386
+ found = true;
387
+ }
388
+ }
389
+ });
390
+
391
+ // Match plain text
392
+ if (!found) {
393
+ output.push(function () {
394
+ // Escaped plain text
395
+ if (line[0] === '\\') {
396
+ return parse_interpol(line.substr(1, line.length));
397
+ }
398
+
399
+ // Plain variable data
400
+ if (line[0] === '=') {
401
+ line = line.substr(1, line.length).trim();
402
+ try {
403
+ return parse_interpol(JSON.parse(line));
404
+ } catch (e) {
405
+ return line;
406
+ }
407
+ }
408
+
409
+ // HTML escape variable data
410
+ if (line.substr(0, 2) === "&=") {
411
+ line = line.substr(2, line.length).trim();
412
+ try {
413
+ return JSON.stringify(html_escape(JSON.parse(line)));
414
+ } catch (e2) {
415
+ return 'html_escape(' + line + ')';
416
+ }
417
+ }
418
+
419
+ // Plain text
420
+ return parse_interpol(line);
421
+ }());
422
+ }
423
+
424
+ });
425
+ if (block) {
426
+ output.push(block.process());
427
+ }
428
+ return output.filter(function (part) { return part && part.length > 0}).join(" +\n");
429
+ };
430
+
431
+ function optimize(js) {
432
+ var new_js = [], buffer = [], part, end;
433
+
434
+ function flush() {
435
+ if (buffer.length > 0) {
436
+ new_js.push(JSON.stringify(buffer.join("")) + end);
437
+ buffer = [];
438
+ }
439
+ }
440
+ js.split("\n").forEach(function (line) {
441
+ part = line.match(/^(\".*\")(\s*\+\s*)?$/);
442
+ if (!part) {
443
+ flush();
444
+ new_js.push(line);
445
+ return;
446
+ }
447
+ end = part[2] || "";
448
+ part = part[1];
449
+ try {
450
+ buffer.push(JSON.parse(part));
451
+ } catch (e) {
452
+ flush();
453
+ new_js.push(line);
454
+ }
455
+ });
456
+ flush();
457
+ return new_js.join("\n");
458
+ };
459
+
460
+ function render(text, options) {
461
+ options = options || {};
462
+ text = text || "";
463
+ var js = compile(text);
464
+ if (options.optimize) {
465
+ js = Haml.optimize(js);
466
+ }
467
+ return execute(js, options.context || Haml, options.locals);
468
+ };
469
+
470
+ function execute(js, self, locals) {
471
+ return (function () {
472
+ with(locals || {}) {
473
+ try {
474
+ return eval("(" + js + ")");
475
+ } catch (e) {
476
+ return "\n<pre class='error'>" + html_escape(e.stack) + "</pre>\n";
477
+ }
478
+
479
+ }
480
+ }).call(self);
481
+ };
482
+
483
+ Haml = function Haml(haml, xml) {
484
+ forceXML = xml;
485
+ var js = optimize(compile(haml));
486
+ return new Function("locals",
487
+ html_escape + "\n" +
488
+ "with(locals || {}) {\n" +
489
+ " try {\n" +
490
+ " return (" + js + ");\n" +
491
+ " } catch (e) {\n" +
492
+ " return \"\\n<pre class='error'>\" + html_escape(e.stack) + \"</pre>\\n\";\n" +
493
+ " }\n" +
494
+ "}");
495
+ }
496
+ Haml.compile = compile;
497
+ Haml.optimize = optimize;
498
+ Haml.render = render;
499
+ Haml.execute = execute;
500
+
501
+ }());
502
+
503
+ // Hook into module system
504
+ if (typeof module !== 'undefined') {
505
+ module.exports = Haml;
506
+ }
@@ -0,0 +1,5 @@
1
+ (function(e){function l(a,b){if(a===undefined)return b==="undefined";if(a===null)return b==="null";return a.constructor.toString().match(RegExp(b,"i"))!==null}function q(a,b){if(a&&a[b]){var g=a[b];delete a[b];return g}}function u(a){if(typeof a!=="string"||a.length<2)return false;a=a.charAt(0);if(!(a==="."||a==="#"||a==="%"))return false;return true}function r(a,b){function g(h,c){if(!(c===undefined||c===null))if(c.nodeType||c.jquery)h.append(c);else if(l(c,"String")&&c.length>0){if(c[0]==="\\")c=
2
+ c.substr(1);h.append(document.createTextNode(c))}else if(l(c,"Number"))h.append(document.createTextNode(c));else l(c,"Array")&&c.length>0&&r(h,c)}var i,k,d,f,m,n,j;d=Array.prototype.slice.call(b,0);if(d.length&&d.length>0){if(u(d[0])){f=d.shift();m=f.match(/\.[^\.#]+/g);n=f.match(/#[^\.#]+/g);f=(f=f.match(/^%([^\.#]+)/g))?f[0].substr(1):"div";j=e(document.createElement(f));if(d.length>0&&l(d[0],"Object")&&!d[0].nodeType&&!d[0].jquery){f=d.shift();i=q(f,"css");k=q(f,"$");j.attr(f)}n&&e.each(n,function(){var h,
3
+ c;h=this.substr(1);(c=j.attr("id"))?j.attr("id",c+" "+h):j.attr("id",h)});m&&e.each(m,function(){j.addClass(this.substr(1))});i&&j.css(i);a.append(j);a=j;k&&e.each(k,function(h){o.push({node:a,method:h,params:this})})}e.each(d,function(){g(a,this)})}else g(a,d)}function s(){e.each(o,function(){if(this.method==="$")this.params.apply(this.node,[]);else{if(!l(this.params,"Array"))this.params=[this.params];this.node[this.method].apply(this.node,this.params)}});o=[]}function t(a){var b;b=e(document.createElement("div"));
4
+ r(b,a);this.append(b.contents());this.closest("body").length>0&&s();return b.contents()}var o=[],p={};e.fn.insertHaml=function(){return t.call(this,Array.prototype.slice.call(arguments,0))};e.fn.haml=function(){t.call(this,Array.prototype.slice.call(arguments,0));return this};e.haml={placeholder:function(a){function b(){var i=e(document.createElement("div"));i.haml(a.apply(this,arguments));return g=i.contents()}var g;return{inject:b,update:function(){var i=arguments;e.each(g,function(k,d){k===0?e(d).replaceWith(b.apply(this,
5
+ i)):e(d).remove()});s()}}},onDemand:function(a,b){var g;b=["%div",{style:"text-align: center; cursor: wait"},b||"Loading..."];return function(i){var k=Array.prototype.slice.call(arguments,1);return g=e.haml.placeholder(function(){var d=Util.stringify(k);if(p[d]!==undefined)return i(p[d]);else{a.apply(this,[function(f){p[d]=f;g.update()}].concat(k));return b}})}}}})(jQuery);
@@ -13,6 +13,8 @@ image 'jquery.ui/flash_messages/flash-warning-bg.png'
13
13
  image 'jquery.ui/flash_messages/flash-warning.png'
14
14
  javascript 'jquery.haml.js'
15
15
  javascript 'jquery.haml.min.js'
16
+ javascript 'haml.js'
17
+ javascript 'haml.min.js'
16
18
  javascript 'jquery-1.4.2.js'
17
19
  javascript 'jquery-1.4.2.min.js'
18
20
  javascript 'jquery.compat-1.3.js'
@@ -7,6 +7,8 @@
7
7
  */
8
8
 
9
9
  .jstree-aero {
10
+ font-family: segoe ui, Verdana, Geneva, Arial, Helvetica, sans-serif;
11
+ font-size: 1.0em;
10
12
  li, ins {
11
13
  background-image: image_url("jquery.ui/jstree.aero/d.png");
12
14
  background-repeat: no-repeat;
@@ -7,6 +7,8 @@
7
7
  */
8
8
 
9
9
  .jstree-aqua {
10
+ font-family: "Lucida Grande", Verdana, Geneva, Arial, Helvetica, sans-serif;
11
+ font-size: 1.0em;
10
12
  li, ins {
11
13
  background-image: image_url("jquery.ui/jstree.aqua/d.png");
12
14
  background-repeat: no-repeat;
@@ -7,6 +7,8 @@
7
7
  */
8
8
 
9
9
  .jstree-classic {
10
+ font-family: tahoma, arial, helvetica;
11
+ font-size: 10pt;
10
12
  li, ins {
11
13
  background-image: image_url("jquery.ui/jstree.classic/d.png");
12
14
  background-repeat: no-repeat;
@@ -1,14 +1,16 @@
1
1
  // Generated by compass-jquery-plugin/gem-tasks/jstree.rake
2
2
 
3
3
  /*
4
- * jsTree chrystal theme 1.0
4
+ * jsTree crystal theme 1.0
5
5
  * Supported features: dots/no-dots, icons/no-icons, focused, loading
6
6
  * Supported plugins: ui (hovered, clicked), checkbox, radio, contextmenu, search
7
7
  */
8
8
 
9
- .jstree-chrystal {
9
+ .jstree-crystal {
10
+ font-family: "Lucida Grande", Verdana, Geneva, Arial, Helvetica, sans-serif;
11
+ font-size: 1.0em;
10
12
  li, ins {
11
- background-image: image_url("jquery.ui/jstree.chrystal/d.png");
13
+ background-image: image_url("jquery.ui/jstree.crystal/d.png");
12
14
  background-repeat: no-repeat;
13
15
  background-color: transparent; }
14
16
  li {
@@ -39,7 +41,7 @@
39
41
  .jstree-open > a .jstree-icon {
40
42
  background-position: -56px -54px; }
41
43
  a.jstree-loading .jstree-icon {
42
- background: image_url("jquery.ui/jstree.chrystal/throbber.gif") center center no-repeat !important; }
44
+ background: image_url("jquery.ui/jstree.crystal/throbber.gif") center center no-repeat !important; }
43
45
  &.jstree-focused {
44
46
  background: white; }
45
47
  .jstree-no-dots {
@@ -90,21 +92,21 @@
90
92
  .jstree-undetermined > a > .jstree-radio:hover {
91
93
  background-position: -20px -91px; } }
92
94
 
93
- #vakata-dragged.jstree-chrystal {
95
+ #vakata-dragged.jstree-crystal {
94
96
  ins {
95
97
  background: transparent !important; }
96
98
  .jstree-ok {
97
- background: image_url("jquery.ui/jstree.chrystal/d.png") -56px -71px no-repeat !important; }
99
+ background: image_url("jquery.ui/jstree.crystal/d.png") -56px -71px no-repeat !important; }
98
100
  .jstree-invalid {
99
- background: image_url("jquery.ui/jstree.chrystal/d.png") -72px -71px no-repeat !important; } }
101
+ background: image_url("jquery.ui/jstree.crystal/d.png") -72px -71px no-repeat !important; } }
100
102
 
101
- #jstree-marker.jstree-chrystal {
102
- background: image_url("jquery.ui/jstree.chrystal/d.png") -95px -75px no-repeat !important; }
103
+ #jstree-marker.jstree-crystal {
104
+ background: image_url("jquery.ui/jstree.crystal/d.png") -95px -75px no-repeat !important; }
103
105
 
104
- .jstree-chrystal a.jstree-search {
106
+ .jstree-crystal a.jstree-search {
105
107
  color: aqua; }
106
108
 
107
- #vakata-contextmenu.jstree-chrystal-context {
109
+ #vakata-contextmenu.jstree-crystal-context {
108
110
  background: #f0f0f0;
109
111
  border: 1px solid #979797;
110
112
  -moz-box-shadow: 1px 1px 2px #999;
@@ -154,18 +156,18 @@
154
156
 
155
157
  /* IE6 BEGIN */
156
158
 
157
- .jstree-chrystal {
159
+ .jstree-crystal {
158
160
  li, ins {
159
- _background-image: image_url("jquery.ui/jstree.chrystal/d.gif"); } }
161
+ _background-image: image_url("jquery.ui/jstree.crystal/d.gif"); } }
160
162
 
161
- #vakata-dragged.jstree-chrystal {
163
+ #vakata-dragged.jstree-crystal {
162
164
  .jstree-invalid, .jstree-ok {
163
- _background-image: image_url("jquery.ui/jstree.chrystal/d.gif"); } }
165
+ _background-image: image_url("jquery.ui/jstree.crystal/d.gif"); } }
164
166
 
165
- #jstree-marker.jstree-chrystal {
166
- _background-image: image_url("jquery.ui/jstree.chrystal/d.gif"); }
167
+ #jstree-marker.jstree-crystal {
168
+ _background-image: image_url("jquery.ui/jstree.crystal/d.gif"); }
167
169
 
168
- .jstree-chrystal {
170
+ .jstree-crystal {
169
171
  .jstree-leaf ins {
170
172
  _background-position: -72px 0; }
171
173
  .jstree-open ins {
@@ -182,13 +184,13 @@
182
184
  &.jstree-open {
183
185
  _background-position: -56px -54px; } } }
184
186
 
185
- #vakata-contextmenu.jstree-chrystal-context {
187
+ #vakata-contextmenu.jstree-crystal-context {
186
188
  ins {
187
189
  _display: none; }
188
190
  li {
189
191
  _zoom: 1; } }
190
192
 
191
- .jstree-chrystal {
193
+ .jstree-crystal {
192
194
  .jstree-undetermined a .jstree-checkbox {
193
195
  _background-position: -20px -37px; }
194
196
  .jstree-checked a .jstree-checkbox {
@@ -16,14 +16,14 @@ image 'jquery.ui/jstree.aqua/d.gif'
16
16
  image 'jquery.ui/jstree.aqua/d.png'
17
17
  image 'jquery.ui/jstree.aqua/hovered.png'
18
18
  image 'jquery.ui/jstree.aqua/throbber.gif'
19
- stylesheet 'jquery.ui/jstree.chrystal.scss', :media => 'screen, projection'
20
- image 'jquery.ui/jstree.chrystal/d.gif'
21
- image 'jquery.ui/jstree.chrystal/d.png'
22
- image 'jquery.ui/jstree.chrystal/throbber.gif'
23
19
  stylesheet 'jquery.ui/jstree.classic.scss', :media => 'screen, projection'
24
20
  image 'jquery.ui/jstree.classic/d.png'
25
21
  image 'jquery.ui/jstree.classic/dot_for_ie.gif'
26
22
  image 'jquery.ui/jstree.classic/throbber.gif'
23
+ stylesheet 'jquery.ui/jstree.crystal.scss', :media => 'screen, projection'
24
+ image 'jquery.ui/jstree.crystal/d.gif'
25
+ image 'jquery.ui/jstree.crystal/d.png'
26
+ image 'jquery.ui/jstree.crystal/throbber.gif'
27
27
  stylesheet 'jquery.ui/jstree.default.scss', :media => 'screen, projection'
28
28
  image 'jquery.ui/jstree.default/d.gif'
29
29
  image 'jquery.ui/jstree.default/d.png'
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: compass-jquery-plugin
3
3
  version: !ruby/object:Gem::Version
4
- hash: 62196407
4
+ hash: 62196405
5
5
  prerelease: true
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
9
  - 0
10
10
  - beta
11
- - 18
12
- version: 0.3.0.beta.18
11
+ - 19
12
+ version: 0.3.0.beta.19
13
13
  platform: ruby
14
14
  authors:
15
15
  - Kosmas Schuetz
@@ -17,7 +17,7 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2010-09-15 00:00:00 +02:00
20
+ date: 2010-09-17 00:00:00 +02:00
21
21
  default_executable:
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency
@@ -680,6 +680,8 @@ files:
680
680
  - templates/jqtouch/jquery.jqtouch.min.js
681
681
  - templates/jqtouch/manifest.rb
682
682
  - templates/jrails/config/initializers/jrails.rb
683
+ - templates/jrails/haml.js
684
+ - templates/jrails/haml.min.js
683
685
  - templates/jrails/i18n/jquery.ui/datepicker-af.js
684
686
  - templates/jrails/i18n/jquery.ui/datepicker-af.min.js
685
687
  - templates/jrails/i18n/jquery.ui/datepicker-ar.js
@@ -1274,14 +1276,14 @@ files:
1274
1276
  - templates/jstree/jquery.ui/jstree.aqua/d.png
1275
1277
  - templates/jstree/jquery.ui/jstree.aqua/hovered.png
1276
1278
  - templates/jstree/jquery.ui/jstree.aqua/throbber.gif
1277
- - templates/jstree/jquery.ui/jstree.chrystal.scss
1278
- - templates/jstree/jquery.ui/jstree.chrystal/d.gif
1279
- - templates/jstree/jquery.ui/jstree.chrystal/d.png
1280
- - templates/jstree/jquery.ui/jstree.chrystal/throbber.gif
1281
1279
  - templates/jstree/jquery.ui/jstree.classic.scss
1282
1280
  - templates/jstree/jquery.ui/jstree.classic/d.png
1283
1281
  - templates/jstree/jquery.ui/jstree.classic/dot_for_ie.gif
1284
1282
  - templates/jstree/jquery.ui/jstree.classic/throbber.gif
1283
+ - templates/jstree/jquery.ui/jstree.crystal.scss
1284
+ - templates/jstree/jquery.ui/jstree.crystal/d.gif
1285
+ - templates/jstree/jquery.ui/jstree.crystal/d.png
1286
+ - templates/jstree/jquery.ui/jstree.crystal/throbber.gif
1285
1287
  - templates/jstree/jquery.ui/jstree.default-rtl.scss
1286
1288
  - templates/jstree/jquery.ui/jstree.default-rtl/d.gif
1287
1289
  - templates/jstree/jquery.ui/jstree.default-rtl/d.png