将unicode字符串插入CleverCSS

时间:2010-03-08 05:05:06

标签: css parsing unicode escaping clevercss

如何将Unicode字符串CSS插入CleverCSS

特别是,如何使用CleverCSS生成以下CSS:

li:after { 
   content: "\00BB \0020";
}

我已经找到了CleverCSS的解析规则,但足以让我认为合理的排列失败,例如:

li:
   content: "\\00BB \\0020" // becomes content: 'BB 0'

编辑:我的其他示例和帖子的其余部分未保存。我只想说我有一长串缺少的例子。

我很感激任何想法和意见。

布赖恩

编辑:我注意到插入unicode是其中一个问题(一旦你开始使用utf-8编码上传CSS就可以了)。引号字符的包装是另一个,我用疯狂的东西解决了这个问题:

content: "'".string() + " ".string() ».string() + "'".string()

希望能帮助别人。

2 个答案:

答案 0 :(得分:2)

这可能很愚蠢,但是当你可以输入/粘贴实际字符时,为什么仍然需要使用转义序列呢? "A CSS style sheet is a sequence of characters from the Universal Character Set"

这在眼睛上更容易,在维护现有代码时尤其有用。

或者CleverCSS是不支持Unicode的?

答案 1 :(得分:1)

在查看代码(CleverCSS 0.1)时,似乎部分正则表达式_r_string(在第414行定义)是您需要启动的地方。这用于定义其他几个RE,包括在解析规则中使用的_string_re(第1374行)。这导致我们process_string()(第1359行)看起来就像接受Unicode一样。

不幸的是,手工构建的解析器往往有点奇怪,代码并没有完全在评论中游动。如果你真的需要这样做,我会专注于process_string()并在那里放一堆前/后打印语句,看看你是否能理解go-intos和out-outofs。

您也可以尝试用啤酒贿赂原作者或???祝你好运。