microweber-packages / microweber-template-fonts
Standalone Laravel package for template font management: Google Fonts, system fonts, custom TTF/WOFF uploads, CSS generation, and Filament admin. Reusable in any Laravel app.
Package info
github.com/microweber-packages/microweber-template-fonts
pkg:composer/microweber-packages/microweber-template-fonts
v1.0.0
2026-11-03 16:18 UTC
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.0
- illuminate/database: ^10.0|^11.0|^12.0|^13.0
- illuminate/filesystem: ^10.0|^11.0|^12.0|^13.0
- illuminate/http: ^10.0|^11.0|^12.0|^13.0
- illuminate/routing: ^10.0|^11.0|^12.0|^13.0
- illuminate/support: ^10.0|^11.0|^12.0|^13.0
- microweber-packages/microweber-database: *
- microweber-packages/microweber-package: *
- sabberworm/php-css-parser: ^8.4|^9.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- filament/filament: ~5.0
- larastan/larastan: ^3.9
- laravel/dusk: ^8.0|^9.0
- livewire/livewire: ^3.0|^4.0
- orchestra/testbench: ^8.0|^9.0|^10.0
- phpunit/phpunit: ^10.0|^11.0
Suggests
- filament/filament: Required for the Filament admin fonts manager
- microweber-packages/http: Use Microweber HttpClientFactory for secure downloads
Provides
None
Conflicts
None
Replaces
- microweber-packages/template-fonts: *
This package is auto-updated.
Last update: 2026-11-03 17:07:44 UTC
README
Standalone Laravel package for template font management:
- Google Fonts provider (catalog + optional local download)
- Custom font uploads (TTF, WOFF, WOFF2, OTF)
- System fonts list for pickers
template_fontsdatabase table (MySQL / SQLite / PostgreSQL)- CSS generation (
@import/@font-face) - Filament admin resource + settings page
- Legacy migration from
options.enabled_custom_fonts
Install
composer require microweber-packages/microweber-template-fonts php artisan migrate
Or path-repo in a monorepo:
{
"repositories": [{ "type": "path", "url": "packages/microweber-template-fonts" }],
"require": { "microweber-packages/microweber-template-fonts": "^1.0" }
}
Register the service provider (auto-discovery works; Microweber disables discovery and registers manually).
Usage
use MicroweberPackages\TemplateFonts\Facades\TemplateFonts; TemplateFonts::enableFont('Roboto'); TemplateFonts::getEnabledFonts(); TemplateFonts::getFontsStylesheetCss(); TemplateFonts::uploadCustomFont($uploadedFile, 'My Font');
Routes
| Method | Path | Name |
|---|---|---|
| GET | /api/template/get-fonts |
api.template.get-fonts |
| GET | /api/template/get-favorite-fonts |
api.template.get-favorite-fonts |
| POST | /api/template/save-template-fonts |
api.template.save-template-fonts |
| POST | /api/template/remove-favorite-font |
api.template.remove-favorite-font |
| POST | /api/template/upload-custom-font |
api.template.upload-custom-font |
| ANY | /api/template/print_custom_css_fonts |
print_custom_css_fonts |
Filament
$panel->plugin(\MicroweberPackages\TemplateFonts\Filament\TemplateFontsPlugin::make());
Tests / analysis
composer test composer analyse # or from monorepo root: php artisan test --filter=TemplateFonts composer analyse -- packages/microweber-template-fonts/src