haml_coffee_assets 0.5.2 → 0.5.3

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
@@ -163,11 +163,8 @@ config.hamlcoffee.format = 'xhtml'
163
163
 
164
164
  ### Template namespace
165
165
 
166
- By default all Haml Coffee templates are registered under the `JST` namespace.
167
-
168
- **Example:**
169
-
170
- A template `app/assets/templates/header.hamlc` with the given content:
166
+ By default all Haml Coffee templates are registered under the `JST` namespace. A template
167
+ `app/assets/templates/header.hamlc` with the given content:
171
168
 
172
169
  ```haml
173
170
  %header
@@ -208,7 +205,7 @@ And you must make sure `MyApp` exists before any template is loaded.
208
205
  #### Template name
209
206
 
210
207
  The name under which the template can be addressed in the namespace depends not only from the filename, but also on
211
- the directory name.
208
+ the directory name by default.
212
209
 
213
210
  The following examples assumes a configured namespace `window.JST` and the asset template directory
214
211
  `app/assets/templates`:
@@ -217,6 +214,25 @@ The following examples assumes a configured namespace `window.JST` and the asset
217
214
  * `app/assets/templates/users/new.hamlc` will become `JST['users/new']`
218
215
  * `app/assets/templates/shared/form/address.hamlc` will become `JST['shared/form/address']`
219
216
 
217
+ ### Basename
218
+
219
+ If you don't want to have your directory names under which your template is located to be contained in the JST name,
220
+ you can configure Haml Coffee n your `config/application.rb` to strip off the path to the file name and only use the
221
+ basename as JST name:
222
+
223
+ ```ruby
224
+ config.hamlcoffee.basename = true
225
+ ```
226
+
227
+ With this setting enabled the following naming rule applies:
228
+
229
+ * `app/assets/templates/login.hamlc` will become `JST['login']`
230
+ * `app/assets/templates/users/new.hamlc` will become `JST['new']`
231
+ * `app/assets/templates/shared/form/address.hamlc` will become `JST['address']`
232
+
233
+ This setting has only an effect when you're using Haml Coffee to generate the JST and not when using the Sprockets
234
+ JST processor.
235
+
220
236
  ### Escaping
221
237
 
222
238
  All generated output by running CoffeeScript in your template is being escaped, but you can disable escaping of either
@@ -12,6 +12,7 @@ module HamlCoffeeAssets
12
12
  :format => 'html5',
13
13
  :namespace => 'window.JST',
14
14
  :uglify => false,
15
+ :basename => false,
15
16
  :escapeHtml => true,
16
17
  :escapeAttributes => true,
17
18
  :cleanValue => true,
@@ -39,6 +40,7 @@ module HamlCoffeeAssets
39
40
  config.namespace = options[:namespace]
40
41
  config.format = options[:format]
41
42
  config.uglify = options[:uglify]
43
+ config.basename = options[:basename]
42
44
  config.escapeHtml = options[:escapeHtml]
43
45
  config.escapeAttributes = options[:escapeAttributes]
44
46
  config.cleanValue = options[:cleanValue]
@@ -21,6 +21,11 @@ module HamlCoffeeAssets
21
21
  mattr_accessor :uglify
22
22
  self.uglify = false
23
23
 
24
+ # Ignore path when generate the JST
25
+ #
26
+ mattr_accessor :basename
27
+ self.basename = false
28
+
24
29
  # Escape template code output
25
30
  #
26
31
  mattr_accessor :escapeHtml
@@ -87,7 +92,7 @@ module HamlCoffeeAssets
87
92
  # @return [String] the compiled template in JavaScript
88
93
  #
89
94
  def compile(name, source, jst = true)
90
- runtime.call('HamlCoffeeAssets.compile', name, source, jst, HamlCoffee.namespace, HamlCoffee.format, HamlCoffee.uglify,
95
+ runtime.call('HamlCoffeeAssets.compile', name, source, jst, HamlCoffee.namespace, HamlCoffee.format, HamlCoffee.uglify, HamlCoffee.basename,
91
96
  HamlCoffee.escapeHtml, HamlCoffee.escapeAttributes, HamlCoffee.cleanValue,
92
97
  HamlCoffee.customHtmlEscape, HamlCoffee.customCleanValue,
93
98
  HamlCoffee.customPreserve, HamlCoffee.customFindAndPreserve,
@@ -25,6 +25,7 @@ var HamlCoffeeAssets = (function(){
25
25
  * @param jst [Boolean] if a JST template should be generated
26
26
  * @param format [String] output HTML format
27
27
  * @param uglify [Boolean] skip HTML indention
28
+ * @param basename [Boolean] ignore path when generate JST
28
29
  * @param escapeHtml [Boolean] whether to escape HTML output by default or not
29
30
  * @param escapeAttributes [Boolean] whether to escape HTML attributes output by default or not
30
31
  * @param customHtmlEscape [String] the name of the function to escape the output
@@ -33,7 +34,7 @@ var HamlCoffeeAssets = (function(){
33
34
  * @param selfCloseTags [String] comma separated list of tags to self-closing tags
34
35
  * @param context [String] the name of the function to merge contexts
35
36
  */
36
- compile: function(name, source, jst, namespace, format, uglify,
37
+ compile: function(name, source, jst, namespace, format, uglify, basename,
37
38
  escapeHtml, escapeAttributes, cleanValue,
38
39
  customHtmlEscape, customCleanValue, customPreserve, customFindAndPreserve,
39
40
  preserveTags, selfCloseTags,
@@ -42,6 +43,7 @@ var HamlCoffeeAssets = (function(){
42
43
  var compiler = new Compiler({
43
44
  format: format,
44
45
  uglify: uglify,
46
+ basename: basename,
45
47
  escapeHtml: escapeHtml,
46
48
  escapeAttributes: escapeAttributes,
47
49
  cleanValue: cleanValue,
@@ -1,5 +1,5 @@
1
1
  # coding: UTF-8
2
2
 
3
3
  module HamlCoffeeAssets
4
- VERSION = '0.5.2' unless defined?(HamlCoffeeAssets::VERSION)
4
+ VERSION = '0.5.3' unless defined?(HamlCoffeeAssets::VERSION)
5
5
  end
@@ -342,7 +342,7 @@ require.define("/haml-coffee.js", function (require, module, exports, __dirname,
342
342
  module.exports = HamlCoffee = (function() {
343
343
 
344
344
  function HamlCoffee(options) {
345
- var _base, _base2, _base3, _base4, _base5, _base6, _base7, _ref, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7;
345
+ var _base, _base2, _base3, _base4, _base5, _base6, _base7, _base8, _ref, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8;
346
346
  this.options = options != null ? options : {};
347
347
  if ((_ref = (_base = this.options).escapeHtml) == null) {
348
348
  _base.escapeHtml = true;
@@ -354,14 +354,17 @@ require.define("/haml-coffee.js", function (require, module, exports, __dirname,
354
354
  _base3.cleanValue = true;
355
355
  }
356
356
  if ((_ref4 = (_base4 = this.options).uglify) == null) _base4.uglify = false;
357
- if ((_ref5 = (_base5 = this.options).format) == null) {
358
- _base5.format = 'html5';
357
+ if ((_ref5 = (_base5 = this.options).basename) == null) {
358
+ _base5.basename = false;
359
359
  }
360
- if ((_ref6 = (_base6 = this.options).preserveTags) == null) {
361
- _base6.preserveTags = 'pre,textarea';
360
+ if ((_ref6 = (_base6 = this.options).format) == null) {
361
+ _base6.format = 'html5';
362
362
  }
363
- if ((_ref7 = (_base7 = this.options).selfCloseTags) == null) {
364
- _base7.selfCloseTags = 'meta,img,link,br,hr,input,area,param,col,base';
363
+ if ((_ref7 = (_base7 = this.options).preserveTags) == null) {
364
+ _base7.preserveTags = 'pre,textarea';
365
+ }
366
+ if ((_ref8 = (_base8 = this.options).selfCloseTags) == null) {
367
+ _base8.selfCloseTags = 'meta,img,link,br,hr,input,area,param,col,base';
365
368
  }
366
369
  }
367
370
 
@@ -535,7 +538,7 @@ require.define("/haml-coffee.js", function (require, module, exports, __dirname,
535
538
  if (namespace == null) namespace = 'window.HAML';
536
539
  template = '';
537
540
  segments = ("" + namespace + "." + templateName).replace(/(\s|-)+/g, '_').split(/\./);
538
- templateName = this.options.basename ? segments.pop() : segments.pop().split(/\/|\\/).pop();
541
+ templateName = this.options.basename ? segments.pop().split(/\/|\\/).pop() : segments.pop();
539
542
  namespace = segments.shift();
540
543
  if (segments.length !== 0) {
541
544
  for (_i = 0, _len = segments.length; _i < _len; _i++) {
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: 0.5.2
4
+ version: 0.5.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-12-16 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70339708662680 !ruby/object:Gem::Requirement
16
+ requirement: &70224478216460 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '3.1'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70339708662680
24
+ version_requirements: *70224478216460
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: execjs
27
- requirement: &70339708661640 !ruby/object:Gem::Requirement
27
+ requirement: &70224478215660 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.2.9
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70339708661640
35
+ version_requirements: *70224478215660
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bundler
38
- requirement: &70339708646600 !ruby/object:Gem::Requirement
38
+ requirement: &70224478214980 !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: :development
45
45
  prerelease: false
46
- version_requirements: *70339708646600
46
+ version_requirements: *70224478214980
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &70339708645420 !ruby/object:Gem::Requirement
49
+ requirement: &70224478214240 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 2.7.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70339708645420
57
+ version_requirements: *70224478214240
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: guard-rspec
60
- requirement: &70339708644520 !ruby/object:Gem::Requirement
60
+ requirement: &70224478212900 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 0.5.0
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70339708644520
68
+ version_requirements: *70224478212900
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: yard
71
- requirement: &70339708643120 !ruby/object:Gem::Requirement
71
+ requirement: &70224478211260 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 0.7.3
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70339708643120
79
+ version_requirements: *70224478211260
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: redcarpet
82
- requirement: &70339708642040 !ruby/object:Gem::Requirement
82
+ requirement: &70224478209740 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 1.17.2
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70339708642040
90
+ version_requirements: *70224478209740
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: pry
93
- requirement: &70339708639580 !ruby/object:Gem::Requirement
93
+ requirement: &70224478208080 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ~>
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 0.9.6.2
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *70339708639580
101
+ version_requirements: *70224478208080
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: rake
104
- requirement: &70339708638140 !ruby/object:Gem::Requirement
104
+ requirement: &70224478206860 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ~>
@@ -109,7 +109,7 @@ dependencies:
109
109
  version: 0.9.2.2
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *70339708638140
112
+ version_requirements: *70224478206860
113
113
  description: Compile Haml CoffeeScript templates in the Rails asset pipeline.
114
114
  email:
115
115
  - michi@netzpiraten.ch