haml_coffee_assets 1.4.3 → 1.4.5
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/lib/haml_coffee_assets/version.rb +1 -1
- data/lib/js/hamlcoffee.js +116 -25
- metadata +3 -3
data/lib/js/hamlcoffee.js
CHANGED
@@ -363,7 +363,7 @@ require.define("/haml-coffee.coffee", function (require, module, exports, __dirn
|
|
363
363
|
|
364
364
|
module.exports = HamlCoffee = (function() {
|
365
365
|
|
366
|
-
HamlCoffee.VERSION = '1.4.
|
366
|
+
HamlCoffee.VERSION = '1.4.5';
|
367
367
|
|
368
368
|
function HamlCoffee(options) {
|
369
369
|
var _base, _base2, _base3, _base4, _base5, _base6, _base7, _base8, _base9, _ref, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9;
|
@@ -723,10 +723,14 @@ require.define("/haml-coffee.coffee", function (require, module, exports, __dirn
|
|
723
723
|
};
|
724
724
|
|
725
725
|
HamlCoffee.prototype.convertBooleans = function(code) {
|
726
|
-
if (
|
727
|
-
|
726
|
+
if (code.indexOf('$c') !== -1) {
|
727
|
+
if (this.options.format === 'xhtml') {
|
728
|
+
return '.replace(/\\s(\\w+)=\'\u0093true\'/mg, " $1=\'$1\'").replace(/\\s(\\w+)=\'\u0093false\'/mg, \'\')';
|
729
|
+
} else {
|
730
|
+
return '.replace(/\\s(\\w+)=\'\u0093true\'/mg, \' $1\').replace(/\\s(\\w+)=\'\u0093false\'/mg, \'\')';
|
731
|
+
}
|
728
732
|
} else {
|
729
|
-
return '
|
733
|
+
return '';
|
730
734
|
}
|
731
735
|
};
|
732
736
|
|
@@ -1074,7 +1078,7 @@ require.define("/nodes/haml.coffee", function (require, module, exports, __dirna
|
|
1074
1078
|
var attributes, classes, id, key, tag, value, _ref, _ref2;
|
1075
1079
|
tag = this.parseTag(exp);
|
1076
1080
|
if (this.preserveTags.indexOf(tag.tag) !== -1) this.preserve = true;
|
1077
|
-
id = this.
|
1081
|
+
id = this.interpolateCodeAttribute((_ref = tag.ids) != null ? _ref.pop() : void 0, true);
|
1078
1082
|
classes = tag.classes;
|
1079
1083
|
attributes = {};
|
1080
1084
|
if (tag.attributes) {
|
@@ -1083,9 +1087,9 @@ require.define("/nodes/haml.coffee", function (require, module, exports, __dirna
|
|
1083
1087
|
value = _ref2[key];
|
1084
1088
|
if (key === 'id') {
|
1085
1089
|
if (id) {
|
1086
|
-
id += '_' + this.
|
1090
|
+
id += '_' + this.interpolateCodeAttribute(value, true);
|
1087
1091
|
} else {
|
1088
|
-
id = this.
|
1092
|
+
id = this.interpolateCodeAttribute(value, true);
|
1089
1093
|
}
|
1090
1094
|
} else if (key === 'class') {
|
1091
1095
|
classes || (classes = []);
|
@@ -1281,7 +1285,7 @@ require.define("/nodes/haml.coffee", function (require, module, exports, __dirna
|
|
1281
1285
|
_results = [];
|
1282
1286
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
1283
1287
|
name = _ref[_i];
|
1284
|
-
name = this.
|
1288
|
+
name = this.interpolateCodeAttribute(name, true);
|
1285
1289
|
if (name.indexOf('#{') !== -1) hasDynamicClass = true;
|
1286
1290
|
_results.push(name);
|
1287
1291
|
}
|
@@ -1313,14 +1317,14 @@ require.define("/nodes/haml.coffee", function (require, module, exports, __dirna
|
|
1313
1317
|
}
|
1314
1318
|
}
|
1315
1319
|
} else {
|
1316
|
-
tagParts.push("" + key + "=" + (this.quoteAndEscapeAttributeValue(this.
|
1320
|
+
tagParts.push("" + key + "=" + (this.quoteAndEscapeAttributeValue(this.interpolateCodeAttribute(value))));
|
1317
1321
|
}
|
1318
1322
|
}
|
1319
1323
|
}
|
1320
1324
|
return tagParts.join(' ');
|
1321
1325
|
};
|
1322
1326
|
|
1323
|
-
Haml.prototype.
|
1327
|
+
Haml.prototype.interpolateCodeAttribute = function(text, unwrap) {
|
1324
1328
|
var quoted;
|
1325
1329
|
if (unwrap == null) unwrap = false;
|
1326
1330
|
if (!text) return;
|
@@ -1344,7 +1348,7 @@ require.define("/nodes/haml.coffee", function (require, module, exports, __dirna
|
|
1344
1348
|
};
|
1345
1349
|
|
1346
1350
|
Haml.prototype.quoteAndEscapeAttributeValue = function(value, code) {
|
1347
|
-
var escaped, hasDoubleQuotes, hasInterpolation, hasSingleQuotes, quoted, result, token, tokens
|
1351
|
+
var escaped, hasDoubleQuotes, hasInterpolation, hasSingleQuotes, quoted, result, token, tokens;
|
1348
1352
|
if (code == null) code = false;
|
1349
1353
|
if (!value) return;
|
1350
1354
|
if (quoted = value.match(/^("|')(.*)\1$/)) value = quoted[2];
|
@@ -1352,15 +1356,32 @@ require.define("/nodes/haml.coffee", function (require, module, exports, __dirna
|
|
1352
1356
|
hasSingleQuotes = false;
|
1353
1357
|
hasDoubleQuotes = false;
|
1354
1358
|
hasInterpolation = false;
|
1355
|
-
|
1356
|
-
|
1357
|
-
|
1358
|
-
|
1359
|
-
|
1360
|
-
if (
|
1361
|
-
|
1359
|
+
tokens = (function() {
|
1360
|
+
var _i, _len, _results;
|
1361
|
+
_results = [];
|
1362
|
+
for (_i = 0, _len = tokens.length; _i < _len; _i++) {
|
1363
|
+
token = tokens[_i];
|
1364
|
+
if (token.slice(0, 2) === '#{') {
|
1365
|
+
if (token.indexOf('$e') === -1 && token.indexOf('$c') === -1) {
|
1366
|
+
if (this.escapeAttributes) {
|
1367
|
+
if (this.cleanValue) {
|
1368
|
+
token = '#{ $e($c(' + token.slice(2, -1) + ')) }';
|
1369
|
+
} else {
|
1370
|
+
token = '#{ $e(' + token.slice(2, -1) + ') }';
|
1371
|
+
}
|
1372
|
+
} else {
|
1373
|
+
if (this.cleanValue) token = '#{ $c(' + token.slice(2, -1) + ') }';
|
1374
|
+
}
|
1375
|
+
}
|
1376
|
+
hasInterpolation = true;
|
1377
|
+
} else {
|
1378
|
+
if (!hasSingleQuotes) hasSingleQuotes = token.indexOf("'") !== -1;
|
1379
|
+
if (!hasDoubleQuotes) hasDoubleQuotes = token.indexOf('"') !== -1;
|
1380
|
+
}
|
1381
|
+
_results.push(token);
|
1362
1382
|
}
|
1363
|
-
|
1383
|
+
return _results;
|
1384
|
+
}).call(this);
|
1364
1385
|
if (code) {
|
1365
1386
|
if (hasInterpolation) {
|
1366
1387
|
result = "\"" + (tokens.join('')) + "\"";
|
@@ -1376,10 +1397,10 @@ require.define("/nodes/haml.coffee", function (require, module, exports, __dirna
|
|
1376
1397
|
}
|
1377
1398
|
if (hasDoubleQuotes && !hasSingleQuotes) {
|
1378
1399
|
escaped = (function() {
|
1379
|
-
var
|
1400
|
+
var _i, _len, _results;
|
1380
1401
|
_results = [];
|
1381
|
-
for (
|
1382
|
-
token = tokens[
|
1402
|
+
for (_i = 0, _len = tokens.length; _i < _len; _i++) {
|
1403
|
+
token = tokens[_i];
|
1383
1404
|
_results.push(escapeQuotes(token));
|
1384
1405
|
}
|
1385
1406
|
return _results;
|
@@ -1388,10 +1409,10 @@ require.define("/nodes/haml.coffee", function (require, module, exports, __dirna
|
|
1388
1409
|
}
|
1389
1410
|
if (hasSingleQuotes && hasDoubleQuotes) {
|
1390
1411
|
escaped = (function() {
|
1391
|
-
var
|
1412
|
+
var _i, _len, _results;
|
1392
1413
|
_results = [];
|
1393
|
-
for (
|
1394
|
-
token = tokens[
|
1414
|
+
for (_i = 0, _len = tokens.length; _i < _len; _i++) {
|
1415
|
+
token = tokens[_i];
|
1395
1416
|
_results.push(escapeQuotes(token).replace(/'/g, '''));
|
1396
1417
|
}
|
1397
1418
|
return _results;
|
@@ -1691,3 +1712,73 @@ require.define("/nodes/filter.coffee", function (require, module, exports, __dir
|
|
1691
1712
|
}).call(this);
|
1692
1713
|
|
1693
1714
|
});
|
1715
|
+
|
1716
|
+
require.define("/hamlc.coffee", function (require, module, exports, __dirname, __filename) {
|
1717
|
+
(function() {
|
1718
|
+
var CoffeeScript, Compiler, fs, __expressCache;
|
1719
|
+
|
1720
|
+
fs = require('fs');
|
1721
|
+
|
1722
|
+
Compiler = require('./haml-coffee');
|
1723
|
+
|
1724
|
+
if (process.title === 'node') {
|
1725
|
+
CoffeeScript = require('coffee-script');
|
1726
|
+
} else {
|
1727
|
+
CoffeeScript = window.CoffeeScript;
|
1728
|
+
}
|
1729
|
+
|
1730
|
+
__expressCache = {};
|
1731
|
+
|
1732
|
+
module.exports = {
|
1733
|
+
compile: function(source, options) {
|
1734
|
+
var compiler, template;
|
1735
|
+
if (options == null) options = {};
|
1736
|
+
compiler = new Compiler(options);
|
1737
|
+
compiler.parse(source);
|
1738
|
+
template = new Function(CoffeeScript.compile(compiler.precompile(), {
|
1739
|
+
bare: true
|
1740
|
+
}));
|
1741
|
+
return function(params) {
|
1742
|
+
return template.call(params);
|
1743
|
+
};
|
1744
|
+
},
|
1745
|
+
template: function(source, name, namespace, options) {
|
1746
|
+
var compiler;
|
1747
|
+
if (options == null) options = {};
|
1748
|
+
compiler = new Compiler(options);
|
1749
|
+
compiler.parse(source);
|
1750
|
+
return CoffeeScript.compile(compiler.render(name, namespace));
|
1751
|
+
},
|
1752
|
+
__express: function(filename, options, callback) {
|
1753
|
+
var source;
|
1754
|
+
if (!!(options && options.constructor && options.call && options.apply)) {
|
1755
|
+
callback = options;
|
1756
|
+
options = {};
|
1757
|
+
}
|
1758
|
+
try {
|
1759
|
+
if (options.cache && __expressCache[filename]) {
|
1760
|
+
return callback(null, __expressCache[filename](options));
|
1761
|
+
} else {
|
1762
|
+
options.filename = filename;
|
1763
|
+
source = fs.readFileSync(filename, 'utf8');
|
1764
|
+
if (options.cache) {
|
1765
|
+
__expressCache[filename] = module.exports.compile(source, options);
|
1766
|
+
return callback(null, __expressCache[filename](options));
|
1767
|
+
} else {
|
1768
|
+
return callback(null, module.exports.compile(source, options)(options));
|
1769
|
+
}
|
1770
|
+
}
|
1771
|
+
} catch (err) {
|
1772
|
+
return callback(err);
|
1773
|
+
}
|
1774
|
+
}
|
1775
|
+
};
|
1776
|
+
|
1777
|
+
}).call(this);
|
1778
|
+
|
1779
|
+
});
|
1780
|
+
|
1781
|
+
require.define("fs", function (require, module, exports, __dirname, __filename) {
|
1782
|
+
// nothing to see here... no file methods for the browser
|
1783
|
+
|
1784
|
+
});
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: haml_coffee_assets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-08-
|
12
|
+
date: 2012-08-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: coffee-script
|
@@ -108,7 +108,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
108
108
|
version: '0'
|
109
109
|
segments:
|
110
110
|
- 0
|
111
|
-
hash:
|
111
|
+
hash: 4005685903116156639
|
112
112
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
113
113
|
none: false
|
114
114
|
requirements:
|