2015-03-18 3 views
0

Я использую Stylus для написания CSS и метод stylus.url() для base64 кодировать все изображения. Моя проблема в том, что стилус также кодирует один из шрифтов. Это только один шрифт woff2, который кодируется. Все остальные остаются в виде URL-адресов.stylus.url() base64 encodes woff2 font

Как игнорировать файл шрифта или иным образом препятствовать его кодированию base64 при использовании метода stylus.url().

font.styl:

@font-face { 
    font-family: 'GillSansMTStd'; 
    src: url('../fonts/2D770A_6_0.eot'); 
    src: local('☺︎'), 
     url('../fonts/2D770A_6_0.woff2') format('woff2'), 
     url('../fonts/2D770A_6_0.woff') format('woff'), 
     url('../fonts/2D770A_6_0.ttf') format('truetype'); 
} 

main.css:

@font-face { 
    font-family: 'GillSansMTStd'; 
    src: url("../fonts/2D770A_6_0.eot"); 
    src: local('☺︎'), 
     url("data:application/font-woff2;base64,d09GMgABA[...]") format('woff2'), 
     url('../fonts/2D770A_6_0.woff') format('woff'), 
     url('../fonts/2D770A_6_0.ttf') format('truetype'); 
} 

ответ

3

Чтение через исходный код для stylus.url() Я нашел вариант mimes. Который я не нашел документально нигде. Я могу установить, какие типы mime я хочу кодировать base64, установив эту опцию:

stylus(str) 
    .set('filename', __dirname + '/css/test.styl') 
    .define('url', stylus.url({ 
     mimes: { 
      '.gif': 'image/gif', 
      '.png': 'image/png', 
      '.jpg': 'image/jpeg', 
      '.jpeg': 'image/jpeg', 
      '.svg': 'image/svg+xml' 
     } 
    })) 
    .render(function(err, css){ 

    }); 
Смежные вопросы