Конвейер активов, компас font-face и eot? Iefix вызов шрифта - PullRequest
5 голосов
/ 09 октября 2011

Я пытаюсь использовать Compin font-face mixin, который содержит включение
* .eot? Iefix

В моем приложении / assets / fonts содержатся все необходимые типы шрифтов, включая .eot,

Когда я пытаюсь запустить ресурсы: прекомпилировать задачу не удается, говоря что-то вроде: webfont.eot? Iefix не прекомпилируется

Знаете ли вы возможное решение этой проблемы?

Он работает без ошибок, если у меня есть config.assets.compile = true, но, как я понял, лучше не использовать его на производстве.

Ответы [ 3 ]

10 голосов
/ 23 ноября 2011

Вы можете сделать это с чистым Scss тоже:

@font-face {
  font-family: 'DroidSans';
  src: url(font-path('DroidSans-webfont.eot'));
  src: url(font-path('DroidSans-webfont.eot') + '?#iefix') format('embedded-opentype'),
       url(font-path('DroidSans-webfont.woff')) format('woff'),
       url(font-path('DroidSans-webfont.ttf')) format('truetype'),
       url(font-path('DroidSans-webfont.svg') + '#DroidSansRegular') format('svg');
  font-weight: normal;
  font-style: normal;
}
4 голосов
/ 12 октября 2011

Я только что решил эту проблему с небольшим (поддерживаемым) взломом.

Я создал новый файл CSS font.css.erb и поместил @import "font" вместо объявления @font-face.

@font-face {
    font-family: 'SketchBlockBold';
    src: font_url('font/sketch_block-webfont.eot');
    src: url('<%= asset_path('font/sketch_block-webfont.eot')+"?#iefix" %>') format('embedded-opentype'),
         font_url('font/sketch_block-webfont.woff') format('woff'),
         font_url('font/sketch_block-webfont.ttf') format('truetype'),
         url('<%= asset_path('font/sketch_block-webfont.svg')+"#SketchBlockBold" %>') format('svg');
    font-weight: normal;
    font-style: normal;
}

Обратите внимание на использование пути к активу и объединение специальных окончаний файлов.

1 голос
/ 10 октября 2011

Кажется, что это известная проблема https://github.com/rails/rails/issues/3045 Использование config.assets.compile = true на данный момент.

...