bootstrap.styl ломается при разборе стилусом

Я пытаюсь использовать стилус для препроцессора css с twitter bootstrap версии 2.04. Когда я загружаю boostrap, я запускаю «stylus --css ‹ bootstrap.css > bootstrap.styl», чтобы создать файл bootstrap.styl. Однако я получаю следующую ошибку, когда мой браузер пытается проанализировать bootstrap.styl

ParseError: /Users/user/Projects/node_tutorials/project/static/css/bootstrap.styl:1835
   1831|   background-position: -313px -119px
   1832| 
   1833| .icon-retweet
   1834|   background-position: -336px -120px
 > 1835| 
   1836| .icon-shopping-cart
   1837|   background-position: -360px -120px
   1838| 

expected "indent", got "outdent"

at Parser.error (/Users/user/Projects/node_tutorials/project/node_modules/stylus/lib/parser.js:166:11)
at Parser.expect (/Users/user/Projects/node_tutorials/project/node_modules/stylus/lib/parser.js:194:12)
at Parser.block (/Users/user/Projects/node_tutorials/project/node_modules/stylus/lib/parser.js:597:12)
at Parser.selector (/Users/user/Projects/node_tutorials/project/node_modules/stylus/lib/parser.js:1099:24)
at Parser.property (/Users/user/Projects/node_tutorials/project/node_modules/stylus/lib/parser.js:1013:47)
at Parser.ident (/Users//Projects/node_tutorials/project/node_modules/stylus/lib/parser.js:970:25)
at Parser.stmt (/Users/user/Projects/node_tutorials/project/node_modules/stylus/lib/parser.js:546:25)
at Parser.statement (/Users/user/Projects/node_tutorials/project/node_modules/stylus/lib/parser.js:458:21)
at Parser.block (/Users/user/Projects/node_tutorials/project/node_modules/stylus/lib/parser.js:609:21)
at Parser.selector (/Users/user/Projects/node_tutorials/project/node_modules/stylus/lib/parser.js:1099:24)

Я проверил наличие дополнительных пробелов и даже сделал шестнадцатеричный дамп файла, и ничего не случилось. Кто-нибудь может определить проблему?


person oibe    schedule 24.06.2012    source источник
comment
вы не сможете, так как Bootstrap использует фильтрацию MS, а Stylus не может ее проанализировать.   -  person Jonathan Ong    schedule 07.07.2012


Ответы (2)


@ Джонатан прав. проблема в фильтре

Я нашел обходной путь с помощью функции стилуса unquote

просто замените регулярное выражение filter: (.+)$ => filter: unquote("\1") на bootstrap.styl

person McFog    schedule 30.12.2012
comment
Работает идеально. Небольшое примечание: если вы используете WebStorm, вам нужно сделать так, чтобы строка замены выглядела так: filter: unquote("$1"), чтобы действительно соответствовать находке в строке поиска! - person Sgoettschkes; 31.05.2013

Вы проверили отступ всего файла? Такое сообщение часто может быть вызвано ошибкой, обнаруженной задолго до того, как синтаксический анализатор увидит что-то не так.

person ebohlman    schedule 25.06.2012
comment
В vim я выделил лишнее белое пространство и ничего не увидел. Есть ли другой верный способ найти пробелы, которые вызывают мою проблему? - person oibe; 25.06.2012