tilt-jade 0.0.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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
- License
59
+
60
+
61
+
62
+
63
+ License
64
+ =======
51
65
 
52
66
  (The MIT License)
53
67
 
@@ -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
@@ -1,3 +1,3 @@
1
1
  module TiltJade
2
- VERSION = "0.0.3"
2
+ VERSION = "1.0.0"
3
3
  end
@@ -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(obj);
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
- * `str` of jade, `filename`, and `lineno`.
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, str, filename, lineno){
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.3
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: 2011-09-23 00:00:00.000000000Z
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: &2156023820 !ruby/object:Gem::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: *2156023820
24
+ version_requirements: *11879460
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: execjs
27
- requirement: &2156022760 !ruby/object:Gem::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: *2156022760
35
+ version_requirements: *11879040
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: tilt
38
- requirement: &2156021240 !ruby/object:Gem::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: *2156021240
46
+ version_requirements: *11878620
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: sprockets
49
- requirement: &2156019820 !ruby/object:Gem::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: *2156019820
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.10
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