Closure样式表使用Twitter的bootstrap.css解析错误

时间:2011-12-10 01:39:38

标签: google-closure-compiler twitter-bootstrap

我正在使用closure-stylesheets-20111202.jar来组合和缩小我的所有CSS。然而,它在Twitter的bootstrap.css上抛出了一个错误,对我来说很好看。

Compiler parsing error: Parse error in bootstrap.css at line 1404 column 95:
background-image: -khtml-gradient(linear, left top, left bottom, from(#333333), to(#222222));

有什么想法?我知道我可以将他们已经缩小的版本连接到我的,但是想知道是否有人有适当的解决方案。

1 个答案:

答案 0 :(得分:3)

这是Closure Stylesheets中的一个错误。我正在修复。

基本上,GssParserCC.jj需要在第59行更改:

private static final Pattern FUNCTIONS_WITH_SPACE_SEP_OK = Pattern.compile(
    "(?:-(?:O|MOZ|WEBKIT|MS)-)?(?:REPEATING-)?(?:LINEAR|RADIAL)-GRADIENT"
    + "|RECT|-WEBKIT-GRADIENT|-KHTML-GRADIENT",
    Pattern.CASE_INSENSITIVE);

CssFunctionNode.java需要在其列表中添加-khtml-gradient

然而,这并不能解决所有问题,因为Closure Stylesheets尚未识别以下内容:

border-radius: 0 \0;

特别是,这就是抛弃它的斜线。

即使我用以下内容替换该行:

border-radius: 0;

然后我得到各种各样的96个错误。

--allow-unrecognized-functions将该数字降至85。

剩下的85看起来是这样的形式:

Detected multiple identical, non-alternate declarations in the same ruleset. If this is intentional please use the /* @alternate */ annotation. background-image:[-o-linear-gradient(top,#5bc0de,#339bb9)] in bootstrap.css at line 1872 column 1:

目前没有任何标志可以禁止此类警告。

此对话可能最适合http://code.google.com/p/closure-stylesheets/issues/list