nb000's CSS checker - error and warning messages
Error Messages
Here are all the error messages the program can produce with a little info for each.
1001 -
There is a character that does not belong there for sure.
This parser is more restrictive then the CSS standard,
non-english chars are only allowed in comments.
Maybe You wanted it to be in a comment.
In CSS the only comment style is /* */ therefor js-like // is not working.
2001 -
In the CSS file all quotes (") must appear in pairs.
If an unpaired quote is found, then the CSS file cannot be checked.
2002 -
In the CSS file all apostrophes (') must appear in pairs.
If an unpaired one is found, then the CSS file cannot be checked.
2501 -
One (or some or all) of the three numbers are too small or too big.
See the example in the code above.
2502 -
The accepted syntax is: url("path/file_name.ext")
or: url('path\file_name.ext')
The CSS 2 specification allows ommiting the quotes
or to put spaces instead (or around) of them,
but this parser does not accept theese (yet).
3001 -
The legal format of this at-rule is: @charset "<charset>";
The <charset> is a name of a charset, for example: utf-8, iso-8859-1, ...
It may occur only in the 1st line, but this is not checked yet.
3002 -
This property can not have this value.
For example:
'font-size' can not be '30őx'.
(It could be '30px'. Note that 'ő' is next to 'p' on the keyboard.)
3100 -
After a CSS property a colon (:) is expected.
If something other comes, the parser will stop.
3101 -
After a property and a colon (:) the value for the propery is expected.
If anything other follows, the parser will stop.
3102 -
After a CSS property a colon (:) is expected.
If something other comes, the parser will stop.
3103 -
After a CSS property and a colon (:) some CSS value is expected.
If something other comes, the parser will stop.
3104 -
In the top level only at-rules and selectors can appear.
Anything else makes the parser stop.
3105 -
After the list-style-type property name a list-style-type value is expected.
Good example:
list-style-type: circle;
Bad example:
list-style-type: 20px;
3106 -
After some selectors and an opening brace ({) a CSS property is expected.
Anything else makes the parser stop.
3107 -
After one (or more) selector(s) an opening brace must occur.
Else we have an invalid syntax and the parser stops.
3300 -
In a border-* shorthand property width was given twice.
Where * may be left, right, top or bottom.
Example: border-left: 0 10px green;
3301 -
In a border-* shorthand property style was given twice.,
Where * may be left, right, top or bottom.
Example: border-left: solid red dashed;
3302 -
In a border-* shorthand property color was given twice.
Where * may be left, right, top or bottom.
Example: border-left: red 10px green;
Warning Messages
Here are all the warning messages the program can produce with a little info for each.
5001 -
At the end of each property-value pair there should be semicolon.
Even if there is only one pair in the section.
It will be easier later to add more rules.
5002 -
You got something like: .selector {}
This is not illegal only useless.
5003 -
Not all common browsers support this shorthand property well.
It is not checked by this program either.
5004 -
The CSS files that are included using import at-rules are not checked.