slim-embedded-minify 0.2.6 → 0.2.7

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