postcss fontpie
v2.0.1
fontpie 사용하여 글꼴 로딩 레이아웃 이동을 최적화하기위한 PostCSS 플러그인!fontpie 이로 구동됩니다 $ npm i postcss-fontpie입력 .CSS
@font-face {
font-family : 'Noto Serif' ;
font-weight : 400 ;
font-style : italic;
font-display : swap;
src : url (NotoSerif-Italic.ttf) format ( 'ttf' );
}
@font-face {
font-family : 'Roboto' ;
font-weight : 400 ;
font-style : normal;
font-display : swap;
src : url (Roboto-Regular.ttf) format ( 'ttf' );
}
@font-face {
font-family : 'Ubuntu Mono' ;
font-weight : 700 ;
font-style : normal;
font-display : swap;
src : url (UbuntuMono-Bold.ttf) format ( 'ttf' );
}index.js :
import fs from 'node:fs/promises'
import { join } from 'node:path'
import postcss from 'postcss'
import postcssFontpie from 'postcss-fontpie'
const inputPath = `input.css`
const inputCss = await fs . readFile ( inputPath , `utf8` )
const outputPath = `output.css`
const outputCss = (
await postcss ( [
postcssFontpie ( {
// A mapping from `font-family` to its font type (`sans-serif`, `serif`, or `mono`).
fontTypes : {
'Noto Serif' : `serif` ,
Roboto : `sans-serif` ,
'Ubuntu Mono' : `mono` ,
} ,
// An optional function that transforms a font face to a path to the font
// file.
resolveFilename : fontFace => join ( `./path/to/fonts` , fontFace . src ) ,
} ) ,
] ) . process ( css , { from : inputPath , to : outputPath } )
) . css
await fs . writeFile ( outputPath , outputCss )output.css :
@font-face {
font-family : 'Noto Serif Fallback' ;
font-style : italic;
font-weight : 400 ;
src : local (Times New Roman Italic);
ascent-override : 91.94 % ;
descent-override : 25.2 % ;
line-gap-override : 0 % ;
size-adjust : 116.25 % ;
}
@font-face {
font-family : 'Noto Serif' ;
font-weight : 400 ;
font-style : italic;
font-display : swap;
src : url (NotoSerif-Italic.ttf) format ( 'ttf' );
}
@font-face {
font-family : 'Roboto Fallback' ;
font-style : normal;
font-weight : 400 ;
src : local (Arial);
ascent-override : 92.49 % ;
descent-override : 24.34 % ;
line-gap-override : 0 % ;
size-adjust : 100.3 % ;
}
@font-face {
font-family : 'Roboto' ;
font-weight : 400 ;
font-style : normal;
font-display : swap;
src : url (Roboto-Regular.ttf) format ( 'ttf' );
}
@font-face {
font-family : 'Ubuntu Mono Fallback' ;
font-style : normal;
font-weight : 700 ;
src : local (Courier New Bold);
ascent-override : 99.62 % ;
descent-override : 20.4 % ;
line-gap-override : 0 % ;
size-adjust : 83.32 % ;
}
@font-face {
font-family : 'Ubuntu Mono' ;
font-weight : 700 ;
font-style : normal;
font-display : swap;
src : url (UbuntuMono-Bold.ttf) format ( 'ttf' );
} 플러그인은 postcss.config.js 에서도 사용할 수 있습니다. Font Format 지원 및 브라우저 호환성은 fontpie 참조하십시오.
별은 항상 환영합니다!
버그 및 기능 요청은 문제를 만듭니다.
풀 요청은 기여 지침을 읽으십시오.
아파치 라이센스 2.0
이것은 공식적인 Google 제품이 아닙니다.