html-conditional-comment 0.0.2 → 0.0.3
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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6eb0c6ec8e092042adb1eafc23fc9ab72545cd73
|
4
|
+
data.tar.gz: 34c5fb07c9da858757ae6c4779783836027a0c38
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7936397b2ad5346ef1ee50ea656535330e30984a896568819c98a38edc0a7660f36d7c3e1cb51eb876db1635cd6d2052f61a35459b5684b6da89a721948f4088
|
7
|
+
data.tar.gz: c89ac16b04a87d9361367c2cfb8ef2dd5cdbfdb0092a672a802ee9676779dc8a41fc707afe198f746c1aec9342da468daf7b0a35575f84a3cbac58c9610af288
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module HtmlConditionalComment
|
2
2
|
class TokenError < StandardError
|
3
3
|
def initialize(rest)
|
4
|
-
super("Invalid token \"#{rest.slice(0, 25)}\"")
|
4
|
+
super("Invalid token \"#{rest.to_s.slice(0, 25)}\"")
|
5
5
|
end
|
6
6
|
end
|
7
7
|
|
@@ -24,9 +24,10 @@ module HtmlConditionalComment
|
|
24
24
|
IF_STATEMENT = /if/i
|
25
25
|
ENDIF_STATEMENT = /endif/i
|
26
26
|
#Opening statement plus positive look ahead to avoid conflicts with other
|
27
|
-
#comments
|
28
|
-
OPEN = /<!(\-\-)
|
29
|
-
|
27
|
+
#comments, could also have additional comments before "if"
|
28
|
+
OPEN = /<!(\-\-)?[^>]*?\[(?=(end)?if)/
|
29
|
+
#Closing statement with additional comments after "endif"
|
30
|
+
CLOSE = /\].*?(\-\-)?>/
|
30
31
|
WHITE_SPACE = /\s+/
|
31
32
|
FEATURE = /[a-z]+/i
|
32
33
|
VERSION_VECTOR = /\d+(\.[\d]+)?/
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module HtmlConditionalComment
|
2
2
|
class ParseError < StandardError
|
3
3
|
def initialize(msg, example)
|
4
|
-
super("#{msg} at \"#{example.slice(0, 25)}\"")
|
4
|
+
super("#{msg} at \"#{example.to_s.slice(0, 25)}\"")
|
5
5
|
end
|
6
6
|
end
|
7
7
|
|
@@ -22,6 +22,9 @@ module HtmlConditionalComment
|
|
22
22
|
#browser = feature [ version_vector ]
|
23
23
|
#
|
24
24
|
class Parser
|
25
|
+
OPEN = /\-\->$/
|
26
|
+
CLOSE = /<!\-\-$/
|
27
|
+
|
25
28
|
def initialize(tokens)
|
26
29
|
@symbol = nil
|
27
30
|
@tokens = tokens
|
@@ -153,13 +156,23 @@ protected
|
|
153
156
|
expect(:open)
|
154
157
|
expect(:if)
|
155
158
|
node.left = expression()
|
159
|
+
|
160
|
+
#TODO Goofy confirmation of non-closing HTML comment
|
161
|
+
if current(:close)
|
162
|
+
error() if @value =~ OPEN
|
163
|
+
end
|
156
164
|
expect(:close)
|
157
165
|
|
158
166
|
unless current(:open) && peek(:endif)
|
159
167
|
node.right = template()
|
160
168
|
end
|
161
169
|
|
170
|
+
#TODO More goofyness
|
171
|
+
if current(:open)
|
172
|
+
error() if @value =~ CLOSE
|
173
|
+
end
|
162
174
|
expect(:open)
|
175
|
+
|
163
176
|
expect(:endif)
|
164
177
|
expect(:close)
|
165
178
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: html-conditional-comment
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carson Reinke
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-11-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|