tilt-jade 0.0.3 → 1.0.0
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.md
CHANGED
@@ -8,6 +8,16 @@ works).
|
|
8
8
|
Probably best combined with the jst engine for attaching the compiled
|
9
9
|
function to the window.
|
10
10
|
|
11
|
+
|
12
|
+
Limitations
|
13
|
+
============
|
14
|
+
|
15
|
+
Includes don't work with this implementation (since the point is to let you execute includes client side).
|
16
|
+
A workaround is to use something like `= JST['include/foo']()`
|
17
|
+
|
18
|
+
What You Get
|
19
|
+
============
|
20
|
+
|
11
21
|
hello.js.jst.jade:
|
12
22
|
|
13
23
|
h1 Hello #{sayHelloTo}!
|
@@ -46,8 +56,12 @@ runtime.js before anything else):
|
|
46
56
|
//= require tilt-jade/runtime
|
47
57
|
//= require hello
|
48
58
|
$('body').html(JST['hello']({sayHelloTo: 'World'}))
|
49
|
-
|
50
|
-
|
59
|
+
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
License
|
64
|
+
=======
|
51
65
|
|
52
66
|
(The MIT License)
|
53
67
|
|
data/lib/tilt-jade/jade_js.rb
CHANGED
@@ -65,7 +65,10 @@ module JadeJs
|
|
65
65
|
# options[:bare] = false
|
66
66
|
# end
|
67
67
|
|
68
|
+
|
68
69
|
Source.context.eval("jade.compile(#{script.to_json}, #{options.to_json}).toString()")
|
70
|
+
rescue ExecJS::ProgramError => e
|
71
|
+
%(console.warn("Error compiling tilt template: #{options[:filename]}"))
|
69
72
|
end
|
70
73
|
end
|
71
74
|
end
|
data/lib/tilt-jade/version.rb
CHANGED
@@ -12,7 +12,7 @@ var jade = (function(exports){
|
|
12
12
|
|
13
13
|
if (!Array.isArray) {
|
14
14
|
Array.isArray = function(arr){
|
15
|
-
return '[object Array]' == toString.call(arr);
|
15
|
+
return '[object Array]' == Object.prototype.toString.call(arr);
|
16
16
|
};
|
17
17
|
}
|
18
18
|
|
@@ -25,11 +25,11 @@ if (!Object.keys) {
|
|
25
25
|
var arr = [];
|
26
26
|
for (var key in obj) {
|
27
27
|
if (obj.hasOwnProperty(key)) {
|
28
|
-
arr.push(
|
28
|
+
arr.push(key);
|
29
29
|
}
|
30
30
|
}
|
31
31
|
return arr;
|
32
|
-
}
|
32
|
+
}
|
33
33
|
}
|
34
34
|
|
35
35
|
/**
|
@@ -85,20 +85,22 @@ exports.escape = function escape(html){
|
|
85
85
|
|
86
86
|
/**
|
87
87
|
* Re-throw the given `err` in context to the
|
88
|
-
*
|
88
|
+
* the jade in `filename` at the given `lineno`.
|
89
89
|
*
|
90
90
|
* @param {Error} err
|
91
|
-
* @param {String} str
|
92
91
|
* @param {String} filename
|
93
92
|
* @param {String} lineno
|
94
93
|
* @api private
|
95
94
|
*/
|
96
95
|
|
97
|
-
exports.rethrow = function rethrow(err,
|
96
|
+
exports.rethrow = function rethrow(err, filename, lineno){
|
97
|
+
if (!filename) throw err;
|
98
|
+
|
98
99
|
var context = 3
|
100
|
+
, str = require('fs').readFileSync(filename, 'utf8')
|
99
101
|
, lines = str.split('\n')
|
100
102
|
, start = Math.max(lineno - context, 0)
|
101
|
-
, end = Math.min(lines.length, lineno + context);
|
103
|
+
, end = Math.min(lines.length, lineno + context);
|
102
104
|
|
103
105
|
// Error context
|
104
106
|
var context = lines.slice(start, end).map(function(line, i){
|
@@ -111,7 +113,7 @@ exports.rethrow = function rethrow(err, str, filename, lineno){
|
|
111
113
|
|
112
114
|
// Alter exception message
|
113
115
|
err.path = filename;
|
114
|
-
err.message = (filename || 'Jade') + ':' + lineno
|
116
|
+
err.message = (filename || 'Jade') + ':' + lineno
|
115
117
|
+ '\n' + context + '\n\n' + err.message;
|
116
118
|
throw err;
|
117
119
|
};
|
@@ -119,4 +121,3 @@ exports.rethrow = function rethrow(err, str, filename, lineno){
|
|
119
121
|
return exports;
|
120
122
|
|
121
123
|
})({});
|
122
|
-
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tilt-jade
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 1.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-05-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: jade-js-source
|
16
|
-
requirement: &
|
16
|
+
requirement: &11879460 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *11879460
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: execjs
|
27
|
-
requirement: &
|
27
|
+
requirement: &11879040 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *11879040
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: tilt
|
38
|
-
requirement: &
|
38
|
+
requirement: &11878620 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *11878620
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: sprockets
|
49
|
-
requirement: &
|
49
|
+
requirement: &11878200 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *11878200
|
58
58
|
description: Jade is a high performance template engine heavily influenced by Haml
|
59
59
|
and implemented with JavaScript for node.
|
60
60
|
email:
|
@@ -78,6 +78,7 @@ files:
|
|
78
78
|
- test/jade_rails/Rakefile
|
79
79
|
- test/jade_rails/app/assets/images/rails.png
|
80
80
|
- test/jade_rails/app/assets/javascripts/application.js
|
81
|
+
- test/jade_rails/app/assets/javascripts/templates/error.js.jst.jade
|
81
82
|
- test/jade_rails/app/assets/javascripts/templates/hello.js.jst.jade
|
82
83
|
- test/jade_rails/app/assets/stylesheets/application.css
|
83
84
|
- test/jade_rails/app/controllers/application_controller.rb
|
@@ -144,7 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
144
145
|
version: '0'
|
145
146
|
requirements: []
|
146
147
|
rubyforge_project: tilt-jade
|
147
|
-
rubygems_version: 1.8.
|
148
|
+
rubygems_version: 1.8.17
|
148
149
|
signing_key:
|
149
150
|
specification_version: 3
|
150
151
|
summary: Tilt engine to compile Jade templates into JS closures via ExecJS
|
@@ -155,6 +156,7 @@ test_files:
|
|
155
156
|
- test/jade_rails/Rakefile
|
156
157
|
- test/jade_rails/app/assets/images/rails.png
|
157
158
|
- test/jade_rails/app/assets/javascripts/application.js
|
159
|
+
- test/jade_rails/app/assets/javascripts/templates/error.js.jst.jade
|
158
160
|
- test/jade_rails/app/assets/javascripts/templates/hello.js.jst.jade
|
159
161
|
- test/jade_rails/app/assets/stylesheets/application.css
|
160
162
|
- test/jade_rails/app/controllers/application_controller.rb
|