Some checks failed
CI / go (push) Waiting to run
CI / docker (push) Waiting to run
CI / lint-go (push) Waiting to run
CI / lint-docs (push) Waiting to run
CI / check-paperclip (push) Waiting to run
Deploy static site / Deploy to GitHub Pages (push) Has been cancelled
Deploy static site / Deploy via Docker to hatch.surf (push) Has been cancelled
Resolved conflicts by taking GitHub versions for: - .dockerignore, .gitignore, Dockerfile, README.md, docker-compose.yml Kept deploy.sh updated to: - Pull from GitHub (primary source) - Push to Gitea (push-mirror) - Build from site/ directory (GitHub structure) Co-Authored-By: Paperclip <noreply@paperclip.ing>
35 lines
1.3 KiB
JavaScript
35 lines
1.3 KiB
JavaScript
/**
|
|
* Get hrefs for fonts to preload
|
|
* Returns null if there are no fonts at all.
|
|
* Returns string[] if there are fonts to preload (font paths)
|
|
* Returns empty string[] if there are fonts but none to preload and no other fonts have been preloaded
|
|
* Returns null if there are fonts but none to preload and at least some were previously preloaded
|
|
*/ export function getPreloadableFonts(nextFontManifest, filePath, injectedFontPreloadTags) {
|
|
if (!nextFontManifest || !filePath) {
|
|
return null;
|
|
}
|
|
const filepathWithoutExtension = filePath.replace(/\.[^.]+$/, '');
|
|
const fontFiles = new Set();
|
|
let foundFontUsage = false;
|
|
const preloadedFontFiles = nextFontManifest.app[filepathWithoutExtension];
|
|
if (preloadedFontFiles) {
|
|
foundFontUsage = true;
|
|
for (const fontFile of preloadedFontFiles){
|
|
if (!injectedFontPreloadTags.has(fontFile)) {
|
|
fontFiles.add(fontFile);
|
|
injectedFontPreloadTags.add(fontFile);
|
|
}
|
|
}
|
|
}
|
|
if (fontFiles.size) {
|
|
return [
|
|
...fontFiles
|
|
].sort();
|
|
} else if (foundFontUsage && injectedFontPreloadTags.size === 0) {
|
|
return [];
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
//# sourceMappingURL=get-preloadable-fonts.js.map
|