2025-2-26-fixed
This commit is contained in:
29
themes/next/scripts/helpers/font.js
Normal file
29
themes/next/scripts/helpers/font.js
Normal file
@@ -0,0 +1,29 @@
|
||||
/* global hexo */
|
||||
|
||||
'use strict';
|
||||
|
||||
hexo.extend.helper.register('next_font', () => {
|
||||
const config = hexo.theme.config.font;
|
||||
|
||||
if (!config || !config.enable) return '';
|
||||
|
||||
const fontDisplay = '&display=swap';
|
||||
const fontSubset = '&subset=latin,latin-ext';
|
||||
const fontStyles = ':300,300italic,400,400italic,700,700italic';
|
||||
const fontHost = config.host || '//fonts.googleapis.com';
|
||||
|
||||
//Get a font list from config
|
||||
let fontFamilies = ['global', 'title', 'headings', 'posts', 'codes'].map(item => {
|
||||
if (config[item] && config[item].family && config[item].external) {
|
||||
return config[item].family + fontStyles;
|
||||
}
|
||||
return '';
|
||||
});
|
||||
|
||||
fontFamilies = fontFamilies.filter(item => item !== '');
|
||||
fontFamilies = [...new Set(fontFamilies)];
|
||||
fontFamilies = fontFamilies.join('|');
|
||||
|
||||
// Merge extra parameters to the final processed font string
|
||||
return fontFamilies ? `<link rel="stylesheet" href="${fontHost}/css?family=${fontFamilies.concat(fontDisplay, fontSubset)}">` : '';
|
||||
});
|
||||
Reference in New Issue
Block a user