Skip to content

Commit ab88ef0

Browse files
Parse Comments
1 parent 8bc4c44 commit ab88ef0

File tree

4 files changed

+27
-5
lines changed

4 files changed

+27
-5
lines changed

index.js

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ module.exports = function(css){
3333
var node;
3434
var rules = [];
3535
whitespace();
36-
comments();
36+
comments(rules);
3737
while (css[0] != '}' && (node = atrule() || rule())) {
38-
comments();
3938
rules.push(node);
39+
comments(rules);
4040
}
4141
return rules;
4242
}
@@ -64,8 +64,11 @@ module.exports = function(css){
6464
* Parse comments;
6565
*/
6666

67-
function comments() {
68-
while (comment()) ;
67+
function comments(rules) {
68+
rules = rules || [];
69+
var c;
70+
while (c = comment()) rules.push(c);
71+
return rules;
6972
}
7073

7174
/**
@@ -77,9 +80,10 @@ module.exports = function(css){
7780
var i = 2;
7881
while ('*' != css[i] || '/' != css[i + 1]) ++i;
7982
i += 2;
83+
var comment = css.slice(2, i - 2);
8084
css = css.slice(i);
8185
whitespace();
82-
return true;
86+
return {comment: comment};
8387
}
8488
}
8589

test/cases/charset.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,14 @@
44
{
55
"charset": "\"UTF-8\""
66
},
7+
{
8+
"comment": " Set the encoding of the style sheet to Unicode UTF-8"
9+
},
710
{
811
"charset": "'iso-8859-15'"
12+
},
13+
{
14+
"comment": " Set the encoding of the style sheet to Latin-9 (Western European languages, with euro sign) "
915
}
1016
]
1117
}

test/cases/comment.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
{
22
"stylesheet": {
33
"rules": [
4+
{
5+
"comment": " foo "
6+
},
7+
{
8+
"comment": " bar "
9+
},
10+
{
11+
"comment": " baz\n\nasdfasdfasdf\nasdfasdfasdf\nasdfasdfasdf\nasdfasdfasdf\n\n"
12+
},
413
{
514
"selectors": [
615
"foo"

test/cases/comment.url.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
{
22
"stylesheet": {
33
"rules": [
4+
{
5+
"comment": " http://foo.com/bar/baz.html "
6+
},
47
{
58
"selectors": [
69
"foo"

0 commit comments

Comments
 (0)