slim 4.0.1 → 4.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 69d6aa964ff22bb2b6cfc10cfbf3073e2f3c4256a47607f49500d4c54010bf60
4
- data.tar.gz: fe1d48dd358b5e44f3f639e55284e2c81d7859d62a7feb10e51985675394ba95
3
+ metadata.gz: 374bad17fd98e439f41336ea3a634afd4e918708803ada3d211071e565d3ba34
4
+ data.tar.gz: 94a7178a4263ec906413f4f5ce921fa2ddb12423fcd6e28bbb8fbd456bc2ebb5
5
5
  SHA512:
6
- metadata.gz: 1410081c98ad63fdbae03019edd862177b19ad675f0f3aa151dc2cdbbe4275ea17751b69eded1ebf0ddeed773d5f44b3325f74b5fa15f7ee67575df62a3f173d
7
- data.tar.gz: af294f677929992cd72f76db74e99e111096379a924daf83a7c54515321bcca5ff92e45a40a50c839a88c5ab515458c87f64cd56ea3bab116a9e26804538fa0f
6
+ metadata.gz: 282bb0085cd7e91ddffbc4fc9af6ab82ec4478ef2090a82592bf96a395f2ad172c6af9f1010f5e0e9cee57281c487e5e2bb4b25a75e2eac0df02018bc298faf9
7
+ data.tar.gz: 7924d7af215643a8207b738f3f97c46f32bb990db7a103987f14b8b9558ec7de9208aaf27c65840d7caa7d60c156e56f6f876dd7ff54190da91fc436ccc75842
@@ -1,11 +1,10 @@
1
1
  # https://www.ruby-lang.org/en/downloads/releases/
2
2
  language: ruby
3
3
  rvm:
4
- - 2.5.1
5
- - 2.5.0
6
- - 2.4.4
7
- - 2.4.3
8
- - jruby-9.2.0.0
4
+ - 2.6.1
5
+ - 2.5.3
6
+ - 2.4.5
7
+ - jruby-9.2.6.0
9
8
  - jruby-9.1.17.0
10
9
 
11
10
  # Recommend sudo required when using trusty dist
@@ -20,16 +19,20 @@ after_success:
20
19
 
21
20
  env:
22
21
  global:
23
- # travis encrypt CODECLIMATE_REPO_TOKEN=???
24
22
  - secure: "a7sD9iwPJJn3Fj+mn62GAmy/PEguh3elrilsp1KS+WfDiCiIKD8Q5KG2Jv67DGcQAGI3dPWeh7+ZhZ/W7nEipwWUBmSvGYVeoF63y8j6mNRLeekqspj94l47hXyFePj9bCadY1b1/xY4lE1pMEU8eA8AOUHUqCSuH+Kk/MuvyLM="
25
23
  matrix:
26
24
  - "TASK=test:core_and_plugins"
27
- - "TASK=test:rails RAILS=5.2.0"
28
- - "TASK=test:rails RAILS=5.1.6"
29
- - "TASK=test:sinatra SINATRA=2.0.1"
30
- - "TASK=test:sinatra SINATRA=1.4.8"
31
- - "TASK=bench"
32
- - "TASK=bench slow=1"
25
+ - "TASK=test:rails RAILS=6.0.0.beta2"
26
+ - "TASK=test:rails RAILS=5.2.2"
27
+ - "TASK=test:rails RAILS=5.2.1.1"
28
+ - "TASK=test:rails RAILS=5.2.1"
29
+ - "TASK=test:sinatra SINATRA=2.0.5"
30
+ - "TASK=test:sinatra SINATRA=2.0.4"
31
+ - "TASK=test:sinatra SINATRA=2.0.3"
33
32
 
34
- notifications:
35
- irc: "chat.freenode.net#slim-lang"
33
+ matrix:
34
+ exclude:
35
+ - rvm: 2.4.5
36
+ env: "TASK=test:rails RAILS=6.0.0.beta2"
37
+ - rvm: jruby-9.1.17.0
38
+ env: "TASK=test:rails RAILS=6.0.0.beta2"
data/CHANGES CHANGED
@@ -1,3 +1,7 @@
1
+ 4.1.0 (2020-05-07)
2
+ * Add support for Tailwind CSS - #841
3
+ * Update dependencies and testing
4
+
1
5
  4.0.1 (2018-09-02)
2
6
 
3
7
  * Fix incompatibility issue with Slim Include plugin and new ability to specifiy attributes for embedded engines #819
data/Gemfile CHANGED
@@ -7,6 +7,12 @@ group :test do
7
7
  gem 'rack-test'
8
8
  end
9
9
 
10
+ group :perf do
11
+ gem 'benchmark-ips'
12
+ gem 'erubis'
13
+ gem 'haml'
14
+ end
15
+
10
16
  if ENV['TRAVIS']
11
17
  gem 'rails-controller-testing'
12
18
  end
@@ -30,19 +36,12 @@ if ENV['RAILS']
30
36
  else
31
37
  gem 'rails', "= #{ENV['RAILS']}"
32
38
  end
33
- end
34
39
 
35
- #Choose minitest 4.7.x for sinatra < 1.4.6 or rails 3 and 4.0 otherwise go for newer version
36
- if (ENV['SINATRA'] && ENV['SINATRA'] < '1.4.6') || (ENV['RAILS'] && ENV['RAILS'].match(/^(3|4\.0)/))
37
- gem 'minitest', '~> 4.7.4'
38
- else
39
- gem 'minitest', '~> 5.1'
40
+ gem 'slim-rails', require: false
40
41
  end
41
42
 
42
- #Ruby >= 2.2.0 has removed test/unit from Stdlib
43
- if RUBY_VERSION >= '2.2.0'
44
- gem 'test-unit', platforms: :mri
45
- end
43
+ gem 'test-unit', '~> 3.3', '>= 3.3.5'
44
+ gem 'minitest', '~> 5.14'
46
45
 
47
46
  if RUBY_ENGINE == 'rbx' && !ENV['TRAVIS']
48
47
  gem 'psych'
@@ -56,9 +55,9 @@ if ENV['SINATRA']
56
55
  end
57
56
  end
58
57
 
59
- gem 'rake', '>= 0.8.7'
60
- gem 'sass', '>= 3.1.0'
61
- gem 'kramdown'
58
+ gem 'rake', '~> 13.0', '>= 13.0.1'
59
+ gem 'sassc', '~> 2.2', '>= 2.2.1'
60
+ gem 'kramdown', '~> 2.1'
62
61
 
63
62
  if ENV['TASK'] == 'bench'
64
63
  gem 'benchmark-ips'
@@ -110,19 +110,19 @@ module Slim
110
110
  Template.new(@options[:file]) { @options[:input].read }.render(nil, locals)
111
111
  end
112
112
 
113
- rescue Exception => ex
114
- raise ex if @options[:trace] || SystemExit === ex
115
- $stderr.print "#{ex.class}: " if ex.class != RuntimeError
116
- $stderr.puts ex.message
117
- $stderr.puts ' Use --trace for backtrace.'
118
- exit 1
119
- else
120
- unless @options[:output]
121
- file = args.shift
122
- @options[:output] = file ? File.open(file, 'w') : $stdout
123
- end
124
- @options[:output].puts(result)
125
- exit 0
113
+ rescue Exception => ex
114
+ raise ex if @options[:trace] || SystemExit === ex
115
+ $stderr.print "#{ex.class}: " if ex.class != RuntimeError
116
+ $stderr.puts ex.message
117
+ $stderr.puts ' Use --trace for backtrace.'
118
+ exit 1
119
+ else
120
+ unless @options[:output]
121
+ file = args.shift
122
+ @options[:output] = file ? File.open(file, 'w') : $stdout
123
+ end
124
+ @options[:output].puts(result)
125
+ exit 0
126
126
  end
127
127
  end
128
128
  end
@@ -70,7 +70,7 @@ module Slim
70
70
  end
71
71
  end
72
72
  keys = Regexp.union @attr_shortcut.keys.sort_by {|k| -k.size }
73
- @attr_shortcut_re = /\A(#{keys}+)((?:\p{Word}|-)*)/
73
+ @attr_shortcut_re = /\A(#{keys}+)((?:\p{Word}|-|\/\d+|:(\w|-)+)*)/
74
74
  keys = Regexp.union @tag_shortcut.keys.sort_by {|k| -k.size }
75
75
  @tag_re = /\A(?:#{keys}|\*(?=[^\s]+)|(\p{Word}(?:\p{Word}|:|-)*\p{Word}|\p{Word}+))/
76
76
  keys = Regexp.escape @code_attr_delims.keys.join
@@ -1,5 +1,5 @@
1
1
  module Slim
2
2
  # Slim version string
3
3
  # @api public
4
- VERSION = '4.0.1'
4
+ VERSION = '4.1.0'
5
5
  end
@@ -368,7 +368,7 @@ You don't need the explicit `\` if the line ends with a comma `,`.
368
368
 
369
369
  ~~~ slim
370
370
  ruby:
371
- def test(*args)
371
+ def self.test(*args)
372
372
  args.join('-')
373
373
  end
374
374
  = test('arg1',
@@ -961,7 +961,7 @@ You don't need the explicit `\` if the line ends with a comma `,`.
961
961
 
962
962
  ~~~ slim
963
963
  ruby:
964
- def test(*args)
964
+ def self.test(*args)
965
965
  args.join('-')
966
966
  end
967
967
  a href=test('arg1',
@@ -1073,7 +1073,7 @@ with the :tag key.
1073
1073
 
1074
1074
  ~~~ slim
1075
1075
  ruby:
1076
- def a_unless_current
1076
+ def self.a_unless_current
1077
1077
  @page_current ? {tag: 'span'} : {tag: 'a', href: 'http://slim-lang.com/'}
1078
1078
  end
1079
1079
  - @page_current = true
@@ -1186,13 +1186,15 @@ renders to
1186
1186
 
1187
1187
  #### ID shortcut and class shortcut `.`
1188
1188
 
1189
- ID and class shortcuts can contain dashes.
1189
+ ID and class shortcuts can contain dashes, slashes with digits, and colons.
1190
1190
 
1191
1191
  ~~~ slim
1192
1192
  .-test text
1193
1193
  #test- text
1194
1194
  .--a#b- text
1195
1195
  .a--test-123#--b text
1196
+ .a-1/2#b-1/2 text
1197
+ .ab:c-test#d:e text
1196
1198
  ~~~
1197
1199
 
1198
1200
  renders as
@@ -1210,6 +1212,12 @@ renders as
1210
1212
  <div class="a--test-123" id="--b">
1211
1213
  text
1212
1214
  </div>
1215
+ <div class="a-1/2" id="b-1/2">
1216
+ text
1217
+ </div>
1218
+ <div class="ab:c-test" id="d:e">
1219
+ text
1220
+ </div>
1213
1221
  ~~~
1214
1222
 
1215
1223
  ## Text interpolation
@@ -0,0 +1 @@
1
+ // file required by sprockets >= 4.0
@@ -5,9 +5,10 @@ require 'action_controller/railtie'
5
5
  require 'action_view/railtie'
6
6
  #require 'active_record/railtie'
7
7
  #require 'action_mailer/railtie'
8
- require "sprockets/railtie"
8
+ require 'sprockets/railtie'
9
9
 
10
10
  require 'slim'
11
+ require 'slim-rails/register_engine'
11
12
 
12
13
  module Dummy
13
14
  class Application < Rails::Application
@@ -48,7 +49,7 @@ module Dummy
48
49
  config.assets.configure do |env|
49
50
  if env.respond_to?(:register_transformer) && Sprockets::VERSION.to_i > 3
50
51
  env.register_mime_type 'text/slim', extensions: ['.slim', '.slim.html']
51
- env.register_transformer 'text/slim', 'text/html', RegisterEngine::Transformer
52
+ env.register_transformer 'text/slim', 'text/html', Slim::Rails::RegisterEngine::Transformer
52
53
  elsif env.respond_to?(:register_engine)
53
54
  args = ['.slim', Slim::Template]
54
55
  args << { silence_deprecation: true } if Sprockets::VERSION.start_with?('3')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slim
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.1
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Mendler
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-09-02 00:00:00.000000000 Z
13
+ date: 2020-05-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: temple
@@ -148,6 +148,7 @@ files:
148
148
  - test/literate/run.rb
149
149
  - test/logic_less/test_logic_less.rb
150
150
  - test/rails/Rakefile
151
+ - test/rails/app/assets/config/manifest.js
151
152
  - test/rails/app/controllers/application_controller.rb
152
153
  - test/rails/app/controllers/entries_controller.rb
153
154
  - test/rails/app/controllers/slim_controller.rb
@@ -213,8 +214,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
213
214
  - !ruby/object:Gem::Version
214
215
  version: '0'
215
216
  requirements: []
216
- rubyforge_project:
217
- rubygems_version: 2.7.6
217
+ rubygems_version: 3.1.2
218
218
  signing_key:
219
219
  specification_version: 4
220
220
  summary: Slim is a template language.