haml_coffee_assets 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +4 -4
- data/lib/haml_coffee_assets/version.rb +1 -1
- data/lib/js/hamlcoffee.js +31 -4
- metadata +86 -70
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Haml Coffee Assets [![Build Status](https://secure.travis-ci.org/netzpirat/haml_coffee_assets.png)](http://travis-ci.org/netzpirat/haml_coffee_assets)
|
2
2
|
|
3
|
-
Haml Coffee Assets compiles [Haml Coffee](https://github.com/
|
3
|
+
Haml Coffee Assets compiles [Haml Coffee](https://github.com/netzpirat/haml-coffee) templates in the Rails 3.1
|
4
4
|
asset pipeline, so you can use them as JavaScript templates in your JavaScript heavy Rails application. It also works as [Tilt](https://github.com/rtomayko/tilt/) template without Rails.
|
5
5
|
|
6
6
|
Tested on MRI Ruby 1.8.7, 1.9.2, 1.9.3, REE and the latest version of JRuby.
|
@@ -344,7 +344,7 @@ display of the tag. In order to avoid this, the content is preserved by converti
|
|
344
344
|
entity. You can set your own list of whitespace sensitive tags in your `config/application.rb`:
|
345
345
|
|
346
346
|
```ruby
|
347
|
-
config.hamlcoffee.
|
347
|
+
config.hamlcoffee.preserveTags = 'pre,textarea,abbr'
|
348
348
|
```
|
349
349
|
|
350
350
|
This list is also taken into account for the `HAML.preserveAndFind` helper function that is provided and its shortcut
|
@@ -376,7 +376,7 @@ to, you can set custom functions for:
|
|
376
376
|
* config.hamlcoffee.customPrecede
|
377
377
|
|
378
378
|
You can see the [default implementation](https://github.com/netzpirat/haml_coffee_assets/blob/master/vendor/assets/javascripts/hamlcoffee.js.coffee.erb)
|
379
|
-
and the [Haml Coffee documentation](https://github.com/
|
379
|
+
and the [Haml Coffee documentation](https://github.com/netzpirat/haml-coffee#custom-helper-function-compiler-options)
|
380
380
|
for more information about each helper function.
|
381
381
|
|
382
382
|
## Author
|
@@ -412,7 +412,7 @@ See the [CHANGELOG](https://github.com/netzpirat/haml_coffee_assets/blob/master/
|
|
412
412
|
|
413
413
|
* [Jeremy Ashkenas](http://twitter.com/#!/jashkenas) for CoffeeScript, that little language that compiles into
|
414
414
|
JavaScript.
|
415
|
-
* The people at [9elements](https://github.com/9elements) who
|
415
|
+
* The people at [9elements](https://github.com/9elements) who started
|
416
416
|
[haml-coffee](https://github.com/9elements/haml-coffee), an elegant JavaScript template solution.
|
417
417
|
|
418
418
|
## License
|
data/lib/js/hamlcoffee.js
CHANGED
@@ -1235,7 +1235,7 @@ require.define("/nodes/haml.js", function (require, module, exports, __dirname,
|
|
1235
1235
|
};
|
1236
1236
|
|
1237
1237
|
Haml.prototype.parseAttributes = function(exp) {
|
1238
|
-
var attributes, hasDataAttribute, inDataAttribute, key, keyValue, keys, pairs, quoted, type, value, _ref, _ref1;
|
1238
|
+
var attributes, ch, hasDataAttribute, inDataAttribute, key, keyValue, keys, level, marker, markers, pairs, pos, quoted, start, type, value, _i, _j, _len, _ref, _ref1, _ref2, _ref3;
|
1239
1239
|
attributes = {};
|
1240
1240
|
if (exp === void 0) {
|
1241
1241
|
return attributes;
|
@@ -1244,6 +1244,33 @@ require.define("/nodes/haml.js", function (require, module, exports, __dirname,
|
|
1244
1244
|
exp = exp.replace(/(=|:|=>)\s*('([^\\']|\\\\|\\')*'|"([^\\"]|\\\\|\\")*")/g, function(match, type, value) {
|
1245
1245
|
return type + (value != null ? value.replace(/(:|=|=>)/, '\u0090$1') : void 0);
|
1246
1246
|
});
|
1247
|
+
level = 0;
|
1248
|
+
start = 0;
|
1249
|
+
markers = [];
|
1250
|
+
for (pos = _i = 0, _ref = exp.length; 0 <= _ref ? _i <= _ref : _i >= _ref; pos = 0 <= _ref ? ++_i : --_i) {
|
1251
|
+
ch = exp[pos];
|
1252
|
+
if (ch === '(') {
|
1253
|
+
level += 1;
|
1254
|
+
start = pos;
|
1255
|
+
}
|
1256
|
+
if (ch === ')') {
|
1257
|
+
if (level === 1) {
|
1258
|
+
if (start !== 0 && pos - start !== 1) {
|
1259
|
+
markers.push({
|
1260
|
+
start: start,
|
1261
|
+
end: pos
|
1262
|
+
});
|
1263
|
+
}
|
1264
|
+
} else {
|
1265
|
+
level -= 1;
|
1266
|
+
}
|
1267
|
+
}
|
1268
|
+
}
|
1269
|
+
_ref1 = markers.reverse();
|
1270
|
+
for (_j = 0, _len = _ref1.length; _j < _len; _j++) {
|
1271
|
+
marker = _ref1[_j];
|
1272
|
+
exp = exp.substring(0, marker.start) + exp.substring(marker.start, marker.end).replace(/(:|=|=>)/, '\u0090$1') + exp.substring(marker.end);
|
1273
|
+
}
|
1247
1274
|
switch (type) {
|
1248
1275
|
case '(':
|
1249
1276
|
keys = /\(\s*([-\w]+[\w:-]*\w?)\s*=|\s+([-\w]+[\w:-]*\w?)\s*=|\(\s*('\w+[\w:-]*\w?')\s*=|\s+('\w+[\w:-]*\w?')\s*=|\(\s*("\w+[\w:-]*\w?")\s*=|\s+("\w+[\w:-]*\w?")\s*=/g;
|
@@ -1256,11 +1283,11 @@ require.define("/nodes/haml.js", function (require, module, exports, __dirname,
|
|
1256
1283
|
hasDataAttribute = false;
|
1257
1284
|
while (pairs.length) {
|
1258
1285
|
keyValue = pairs.splice(0, 2);
|
1259
|
-
key = (
|
1286
|
+
key = (_ref2 = keyValue[0]) != null ? _ref2.replace(/^\s+|\s+$/g, '').replace(/^:/, '') : void 0;
|
1260
1287
|
if (quoted = key.match(/^("|')(.*)\1$/)) {
|
1261
1288
|
key = quoted[2];
|
1262
1289
|
}
|
1263
|
-
value = (
|
1290
|
+
value = (_ref3 = keyValue[1]) != null ? _ref3.replace(/^\s+|[\s,]+$/g, '').replace(/\u0090/, '') : void 0;
|
1264
1291
|
if (key === 'data') {
|
1265
1292
|
inDataAttribute = true;
|
1266
1293
|
hasDataAttribute = true;
|
@@ -1390,7 +1417,7 @@ require.define("/nodes/haml.js", function (require, module, exports, __dirname,
|
|
1390
1417
|
}
|
1391
1418
|
} else {
|
1392
1419
|
if (value.indexOf('#{') === -1) {
|
1393
|
-
result = "'" + (value.replace(/'/g, '\\\"')) + "'";
|
1420
|
+
result = "'" + (value.replace(/"/g, '\\\"').replace(/'/g, '\\\"')) + "'";
|
1394
1421
|
} else {
|
1395
1422
|
result = "'" + value + "'";
|
1396
1423
|
}
|
metadata
CHANGED
@@ -1,87 +1,94 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: haml_coffee_assets
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 17
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 1
|
9
|
+
- 1
|
10
|
+
version: 1.1.1
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Michael Kessler
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
17
|
+
|
18
|
+
date: 2012-06-19 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
15
21
|
name: execjs
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ! '>='
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: 1.2.9
|
22
|
-
type: :runtime
|
23
22
|
prerelease: false
|
24
|
-
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
24
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 13
|
29
|
+
segments:
|
30
|
+
- 1
|
31
|
+
- 2
|
32
|
+
- 9
|
29
33
|
version: 1.2.9
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: tilt
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ! '>='
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: 1.3.3
|
38
34
|
type: :runtime
|
35
|
+
version_requirements: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: tilt
|
39
38
|
prerelease: false
|
40
|
-
|
39
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
40
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
hash: 29
|
45
|
+
segments:
|
46
|
+
- 1
|
47
|
+
- 3
|
48
|
+
- 3
|
45
49
|
version: 1.3.3
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: sprockets
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: 2.0.3
|
54
50
|
type: :runtime
|
51
|
+
version_requirements: *id002
|
52
|
+
- !ruby/object:Gem::Dependency
|
53
|
+
name: sprockets
|
55
54
|
prerelease: false
|
56
|
-
|
55
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
57
56
|
none: false
|
58
|
-
requirements:
|
59
|
-
- -
|
60
|
-
- !ruby/object:Gem::Version
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
hash: 9
|
61
|
+
segments:
|
62
|
+
- 2
|
63
|
+
- 0
|
64
|
+
- 3
|
61
65
|
version: 2.0.3
|
62
|
-
|
66
|
+
type: :runtime
|
67
|
+
version_requirements: *id003
|
68
|
+
- !ruby/object:Gem::Dependency
|
63
69
|
name: bundler
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ! '>='
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '0'
|
70
|
-
type: :development
|
71
70
|
prerelease: false
|
72
|
-
|
71
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
73
72
|
none: false
|
74
|
-
requirements:
|
75
|
-
- -
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
hash: 3
|
77
|
+
segments:
|
78
|
+
- 0
|
79
|
+
version: "0"
|
80
|
+
type: :development
|
81
|
+
version_requirements: *id004
|
78
82
|
description: Compile Haml CoffeeScript templates in the Rails asset pipeline.
|
79
|
-
email:
|
83
|
+
email:
|
80
84
|
- michi@netzpiraten.ch
|
81
85
|
executables: []
|
86
|
+
|
82
87
|
extensions: []
|
88
|
+
|
83
89
|
extra_rdoc_files: []
|
84
|
-
|
90
|
+
|
91
|
+
files:
|
85
92
|
- lib/haml_coffee_assets/compiler.rb
|
86
93
|
- lib/haml_coffee_assets/configuration.rb
|
87
94
|
- lib/haml_coffee_assets/rails/engine.rb
|
@@ -97,30 +104,39 @@ files:
|
|
97
104
|
- README.md
|
98
105
|
homepage: https://github.com/netzpirat/haml_coffee_assets
|
99
106
|
licenses: []
|
107
|
+
|
100
108
|
post_install_message:
|
101
109
|
rdoc_options: []
|
102
|
-
|
110
|
+
|
111
|
+
require_paths:
|
103
112
|
- lib
|
104
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
113
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
105
114
|
none: false
|
106
|
-
requirements:
|
107
|
-
- -
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
|
110
|
-
segments:
|
115
|
+
requirements:
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
hash: 3
|
119
|
+
segments:
|
111
120
|
- 0
|
112
|
-
|
113
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
|
+
version: "0"
|
122
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
123
|
none: false
|
115
|
-
requirements:
|
116
|
-
- -
|
117
|
-
- !ruby/object:Gem::Version
|
124
|
+
requirements:
|
125
|
+
- - ">="
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
hash: 23
|
128
|
+
segments:
|
129
|
+
- 1
|
130
|
+
- 3
|
131
|
+
- 6
|
118
132
|
version: 1.3.6
|
119
133
|
requirements: []
|
134
|
+
|
120
135
|
rubyforge_project: haml_coffee_assets
|
121
|
-
rubygems_version: 1.8.
|
136
|
+
rubygems_version: 1.8.15
|
122
137
|
signing_key:
|
123
138
|
specification_version: 3
|
124
139
|
summary: Haml CoffeeScript templates
|
125
140
|
test_files: []
|
141
|
+
|
126
142
|
has_rdoc:
|