28 lines
1.3 KiB
JavaScript
28 lines
1.3 KiB
JavaScript
export default function setupFont(options) {
|
|
const family = `${options.family}:100,300,400,500,700,900&display=swap`;
|
|
if (this.options.modules.some(mod => mod === 'nuxt-webfontloader')) {
|
|
this.options.webfontloader = this.options.webfontloader || {};
|
|
this.options.webfontloader.google = this.options.webfontloader.google || {};
|
|
this.options.webfontloader.google.families = [...this.options.webfontloader.google.families || [], family];
|
|
}
|
|
else {
|
|
this.options.head.link.push({
|
|
rel: 'stylesheet',
|
|
type: 'text/css',
|
|
href: `https://fonts.googleapis.com/css?family=${family}`
|
|
});
|
|
}
|
|
const sass = this.options.build.loaders.sass;
|
|
// Add font-family custom variable (only if not Roboto, cause already default in Vuetify styles)
|
|
if (options.family !== 'Roboto') {
|
|
const userFontFamily = Array.isArray(options.family)
|
|
? options.family.map(x => `'${x}'`).join(', ')
|
|
: `'${options.family}'`;
|
|
sass.prependData = [`$body-font-family: ${userFontFamily}, sans-serif`, sass.prependData].join('\n');
|
|
}
|
|
// Add font-size custom variable
|
|
if (options.size) {
|
|
sass.prependData = [`$font-size-root: ${options.size}px`, sass.prependData].join('\n');
|
|
}
|
|
}
|
|
//# sourceMappingURL=font.js.map
|