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:
parent
c6bc00f992
commit
363faf91ae
6 changed files with 52 additions and 8 deletions
|
@ -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);
|
||||
|
||||
|
|
13
packages/astro/src/assets/fonts/providers/bunny.ts
Normal file
13
packages/astro/src/assets/fonts/providers/bunny.ts
Normal 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;
|
13
packages/astro/src/assets/fonts/providers/fontshare.ts
Normal file
13
packages/astro/src/assets/fonts/providers/fontshare.ts
Normal 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;
|
13
packages/astro/src/assets/fonts/providers/fontsource.ts
Normal file
13
packages/astro/src/assets/fonts/providers/fontsource.ts
Normal 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;
|
12
packages/astro/src/assets/fonts/providers/index.ts
Normal file
12
packages/astro/src/assets/fonts/providers/index.ts
Normal 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,
|
||||
};
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue