slim-embedded-minify 0.2.6 → 0.2.7

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: a0acd763c9c3c2869fee898e2da36f1a26aa1aa2430d9cfe9c3008db35ecd442
4
- data.tar.gz: b3d30f07bbf45aa062deac825d4e849958f495fc4cae6cb819362ebb32f8c53b
3
+ metadata.gz: 559dbaf2124f8ff4c7e5c7a41f6420ad9bd16c6ee008e3d54af3d5263ddc7509
4
+ data.tar.gz: 7a9612c610b3f4bb61a8712b3c875aca6d752e5710a55a88cfe41a3e18594322
5
5
  SHA512:
6
- metadata.gz: f7e085fd30ce3b514709e55e8999c919e2ab4f25fbdcc7c3b62617a8ee09e890d732af7d6c03064eda833b002fbc5b2cec9cccf3ef5afe7ab93a7c843b708ad5
7
- data.tar.gz: 26466135a7c571e04eb572f49906f8f17d3ccc21ae1be8ca44e9a00c1da1ae591cb7583d16cbada24d34e0f324a7bf1dd32afc7b4248ac82afed387527fffd58
6
+ metadata.gz: c3a31cce0082ecd69d49bcaffde0b9e6e992c5b178e0a6678071dfb7b3ab7196078b86d297b67680cadd4faac561fe31770b7df25dac40427c38f3f97aad787f
7
+ data.tar.gz: a6003c38359fe0f33c309554bd3d3dfa3afd527d9b1aeb42f8290074dc0488dcbd5894a5ac7a02923b422fb2168e98e6abcd02d1c437101f5e56ea4f4da7e4b0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## Unreleased
2
2
 
3
+ ## 0.2.7 - 2023-08-01
4
+
5
+ - Fix incorrect removing when using escaped quotation for css.
6
+
3
7
  ## 0.2.6 - 2023-08-01
4
8
 
5
9
  - Fix incorrect removing when using escaped quotation.
@@ -41,8 +41,11 @@ module Slim
41
41
 
42
42
  def remove_comments!(line)
43
43
  need_deletion = false
44
+ escaped = false
45
+ escaped_backslash = false
44
46
  inside_char = nil
45
47
  line[-1] = line.last.chars.each_with_index.map do |char, index|
48
+
46
49
  if char == "/" && next_char(line, index) == "*" && inside_char.nil?
47
50
  if remaining_string_range(line, index).include?("*/")
48
51
  need_deletion = true
@@ -51,22 +54,25 @@ module Slim
51
54
  elsif char == "/" && prev_char(line, index) == "*" && inside_char.nil? && need_deletion
52
55
  need_deletion = false
53
56
  next
54
- elsif char == '"' && !need_deletion
55
- if inside_char == '"'
56
- inside_char = nil
57
- next char
57
+ elsif char == "\\" && next_char(line, index) == "\\" && inside_char
58
+ escaped_backslash = true
59
+ next char
60
+ elsif char == "\\"
61
+ if ["'", '"'].include?(next_char(line, index)) && inside_char == next_char(line, index) && !escaped_backslash
62
+ escaped = true
58
63
  end
59
-
60
- inside_char = '"' if inside_char.nil?
61
- elsif char == "'" && !need_deletion
62
- if inside_char == "'"
63
- inside_char = nil
64
+ escaped_backslash = false
65
+ next char
66
+ elsif ["'", '"'].include?(char) && !need_deletion
67
+ if inside_char == char
68
+ inside_char = nil unless escaped
69
+ escaped = false
64
70
  next char
65
71
  end
66
72
 
67
- inside_char = "'" if inside_char.nil?
73
+ inside_char = char if inside_char.nil?
68
74
  end
69
- char unless need_deletion
75
+ char if !need_deletion || inside_char
70
76
  end&.compact&.join
71
77
  end
72
78
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SlimEmbeddedMinify
4
- VERSION = "0.2.6"
4
+ VERSION = "0.2.7"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slim-embedded-minify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yudai Takada