импортировать SASS частично через http вместо файловой системы - PullRequest
3 голосов
/ 28 июля 2011

У меня есть проект rails, в котором я хочу динамически создать файл sass на основе пользовательских переменных (как способ настройки сайта пользователями).Мне нужно импортировать этот файл в основной файл sass сайта через http, поскольку он динамически генерируется и фактически не записывается в файловую систему.

Как мне сконфигурировать директиву: load_paths, чтобы SASS искала этот файл через http, а не через файловую систему?

В документации сказано, что это возможно, но я не могу найти никаких примеров в Интернете,http://sass -lang.com / документы / yardoc / file.SASS_REFERENCE.html # custom_importers

1 Ответ

5 голосов
/ 28 июля 2011

В этой документации обсуждается тот факт, что вы можете реализовать свой собственный импортер;HTTP используется в качестве примера.К счастью, это не так сложно сделать.

Здесь я реализовал простой импортер HTTP: https://gist.github.com/1111803

Он не кеширует так агрессивно, как мог бы, и выСледует помнить, что Sass будет использовать его в дополнение к файловой системе для поиска всех типов импорта (если вы используете такую ​​среду, как Compass, их много).Если вам нужно больше производительности, вам, вероятно, следует кэшировать сбои в этом случае.Тем не менее, похоже, что он работает в моем тестировании.

Вы можете использовать его, просто запросив файл sass_http.rb и добавив его в путь загрузки:

require 'sass_http'
Sass::Plugin.options[:load_paths] ||= []
Sass::Plugin.options[:load_paths] << Sass::Importers::HTTP.new("http://stylesheets.example.com/")

Путь в настоящее время долженобратитесь к каталогу (т. е. косая черта).Вы должны получить всю обычную отладочную информацию (с HTTP, а не с файловой системой, путями).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...