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
- 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