slim 4.0.1 → 4.1.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.
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.