0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2025-03-10 23:01:26 -05:00

feat(fonts): add more providers (#13208)

This commit is contained in:
Florian Lefebvre 2025-02-11 11:40:37 +01:00 committed by GitHub
parent c6bc00f992
commit 363faf91ae
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 52 additions and 8 deletions

View file

@ -1,18 +1,11 @@
import { createRequire } from 'node:module';
import type { AstroSettings } from '../../types/astro.js';
import { adobe } from './providers/adobe.js';
import { google } from './providers/google.js';
import { local } from './providers/local.js';
import type { FontProvider, ResolvedFontProvider } from './types.js';
import { fileURLToPath } from 'node:url';
import type { ModuleLoader } from '../../core/module-loader/loader.js';
/** TODO: jsdoc */
export const fontProviders = {
adobe,
// TODO: reexport all unifont providers
};
function resolveEntrypoint(settings: AstroSettings, entrypoint: string): string {
const require = createRequire(settings.config.root);

View file

@ -0,0 +1,13 @@
import { defineFontProvider } from '../helpers.js';
import { providers } from 'unifont';
type Provider = typeof providers.bunny;
export function bunny() {
return defineFontProvider({
name: 'bunny',
entrypoint: 'astro/assets/fonts/providers/bunny',
});
}
export const provider: Provider = providers.bunny;

View file

@ -0,0 +1,13 @@
import { defineFontProvider } from '../helpers.js';
import { providers } from 'unifont';
type Provider = typeof providers.fontshare;
export function fontshare() {
return defineFontProvider({
name: 'fontshare',
entrypoint: 'astro/assets/fonts/providers/fontshare',
});
}
export const provider: Provider = providers.fontshare;

View file

@ -0,0 +1,13 @@
import { defineFontProvider } from '../helpers.js';
import { providers } from 'unifont';
type Provider = typeof providers.fontsource;
export function fontsource() {
return defineFontProvider({
name: 'fontsource',
entrypoint: 'astro/assets/fonts/providers/fontsource',
});
}
export const provider: Provider = providers.fontsource;

View file

@ -0,0 +1,12 @@
import { adobe } from './adobe.js';
import { bunny } from './bunny.js';
import { fontshare } from './fontshare.js';
import { fontsource } from './fontsource.js';
/** TODO: jsdoc */
export const fontProviders = {
adobe,
bunny,
fontshare,
fontsource,
};

View file

@ -5,7 +5,7 @@ import type { ImageServiceConfig } from '../types/public/index.js';
export { defineConfig, getViteConfig } from './index.js';
export { envField } from '../env/config.js';
export { fontProviders } from '../assets/fonts/providers.js';
export { fontProviders } from '../assets/fonts/providers/index.js';
/**
* Return the configuration needed to use the Sharp-based image service