-
Notifications
You must be signed in to change notification settings - Fork 798
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Google Fonts provider and register a selection of fonts (#23045)
Co-authored-by: Jeremy Herve <[email protected]>
- Loading branch information
1 parent
90240dd
commit 898986c
Showing
18 changed files
with
883 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# Files not needed to be distributed in the package. | ||
.gitattributes export-ignore | ||
.github/ export-ignore | ||
package.json export-ignore | ||
|
||
# Files to include in the mirror repo, but excluded via gitignore | ||
# Remember to end all directories with `/**` to properly tag every file. | ||
# /src/js/example.min.js production-include | ||
|
||
# Files to exclude from the mirror repo, but included in the monorepo. | ||
# Remember to end all directories with `/**` to properly tag every file. | ||
.gitignore production-exclude | ||
changelog/** production-exclude | ||
phpunit.xml.dist production-exclude | ||
.phpcs.dir.xml production-exclude | ||
tests/** production-exclude |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
vendor/ | ||
node_modules/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
<?xml version="1.0"?> | ||
<ruleset> | ||
|
||
<rule ref="WordPress.WP.I18n"> | ||
<properties> | ||
<property name="text_domain" type="array"> | ||
<element value="jetpack-google-fonts-provider" /> | ||
</property> | ||
</properties> | ||
</rule> | ||
<rule ref="Jetpack.Functions.I18n"> | ||
<properties> | ||
<property name="text_domain" value="jetpack-google-fonts-provider" /> | ||
</properties> | ||
</rule> | ||
|
||
<rule ref="WordPress.Utils.I18nTextDomainFixer"> | ||
<properties> | ||
<property name="old_text_domain" type="array" /> | ||
<property name="new_text_domain" value="jetpack-google-fonts-provider" /> | ||
</properties> | ||
</rule> | ||
|
||
</ruleset> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
# Changelog | ||
|
||
All notable changes to this project will be documented in this file. | ||
|
||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) | ||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
# Jetpack Google Fonts Provider Package | ||
|
||
WordPress Webfonts provider for Google Fonts | ||
|
||
## How to install google-fonts-provider | ||
|
||
Package is published in [Packagist](https://packagist.org/packages/automattic/jetpack-google-fonts-provider). We recommend using the latest version there. You can install it in a composer managed project with `composer require automattic/jetpack-google-fonts-provider`. | ||
|
||
You can also test with the latest development versions like below: | ||
|
||
```json | ||
"require": { | ||
"automattic/jetpack-google-fonts-provider": "dev-master" | ||
} | ||
``` | ||
|
||
## Usage | ||
|
||
The WordPress Webfonts API is available by activating the Gutenberg plugin and is planned to be included in WordPress 6.0. | ||
|
||
### Register the provider | ||
|
||
This package contains the provider class, but the provider needs to be registered before it can be used. | ||
|
||
```php | ||
wp_register_webfont_provider( 'google-fonts', '\Automattic\Jetpack\Fonts\Google_Fonts_Provider' ); | ||
``` | ||
|
||
### Register fonts | ||
|
||
After registering the provider, you can register any of the fonts available in the [Google Fonts catalog](https://fonts.google.com) to make them available for use in the block editor typography settings, Global styles, and your site's CSS. | ||
|
||
```php | ||
wp_register_webfont( | ||
array( | ||
'font-family' => 'Lato', | ||
'provider' => 'google-fonts', | ||
), | ||
); | ||
``` | ||
|
||
### Add preconnect link | ||
|
||
Adding a preconnect link to the `<head>` of the page will help make sure the font files load as soon as possible, and reduce the layout shift when they are displayed. See [this list of webfont best practices](https://web.dev/font-best-practices/#preconnect-to-critical-third-party-origins) for more details. | ||
|
||
```php | ||
// Run on an early priority to print out the preconnect link tag near the start of the page source. | ||
add_action( 'wp_head', '\Automattic\Jetpack\Fonts\Google_Fonts_Provider::preconnect_font_source', 0 ); | ||
``` | ||
|
||
### Additional info | ||
|
||
For a discussion about the Webfonts API in WordPress, see https://make.wordpress.org/core/2021/09/28/implementing-a-webfonts-api-in-wordpress-core/. | ||
|
||
## Security | ||
|
||
Need to report a security vulnerability? Go to [https://automattic.com/security/](https://automattic.com/security/) or directly to our security bug bounty site [https://hackerone.com/automattic](https://hackerone.com/automattic). | ||
|
||
## License | ||
|
||
Jetpack Google Fonts Provider is licensed under [GNU General Public License v2 (or later)](./LICENSE.txt) | ||
|
Empty file.
4 changes: 4 additions & 0 deletions
4
projects/packages/google-fonts-provider/changelog/add-google-webfonts-provider
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
Significance: major | ||
Type: added | ||
|
||
Adds a provider for Google Fonts using the new Webfonts API in Gutenberg |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
{ | ||
"name": "automattic/jetpack-google-fonts-provider", | ||
"description": "WordPress Webfonts provider for Google Fonts", | ||
"type": "library", | ||
"license": "GPL-2.0-or-later", | ||
"require": {}, | ||
"require-dev": { | ||
"yoast/phpunit-polyfills": "1.0.3", | ||
"automattic/jetpack-changelogger": "^3.0", | ||
"brain/monkey": "^2.6" | ||
}, | ||
"autoload": { | ||
"classmap": [ | ||
"src/" | ||
] | ||
}, | ||
"scripts": { | ||
"phpunit": [ | ||
"./vendor/phpunit/phpunit/phpunit --colors=always" | ||
], | ||
"test-coverage": [ | ||
"php -dpcov.directory=. ./vendor/bin/phpunit --coverage-clover \"$COVERAGE_DIR/clover.xml\"" | ||
], | ||
"test-php": [ | ||
"@composer phpunit" | ||
] | ||
}, | ||
"repositories": [ | ||
{ | ||
"type": "path", | ||
"url": "../../packages/*", | ||
"options": { | ||
"monorepo": true | ||
} | ||
} | ||
], | ||
"minimum-stability": "dev", | ||
"prefer-stable": true, | ||
"extra": { | ||
"autotagger": true, | ||
"mirror-repo": "Automattic/jetpack-google-fonts-provider", | ||
"changelogger": { | ||
"link-template": "https://github.com/Automattic/jetpack-google-fonts-provider/compare/v${old}...v${new}" | ||
}, | ||
"branch-alias": { | ||
"dev-master": "0.1.x-dev" | ||
}, | ||
"textdomain": "jetpack-google-fonts-provider" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
{ | ||
"private": true, | ||
"name": "@automattic/jetpack-google-fonts-provider", | ||
"version": "0.1.0-alpha", | ||
"description": "WordPress Webfonts provider for Google Fonts", | ||
"homepage": "https://jetpack.com", | ||
"bugs": { | ||
"url": "https://github.com/Automattic/jetpack/issues" | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/Automattic/jetpack.git" | ||
}, | ||
"license": "GPL-2.0-or-later", | ||
"author": "Automattic", | ||
"scripts": { | ||
"build": "echo 'Not implemented.", | ||
"build-js": "echo 'Not implemented.", | ||
"build-production": "echo 'Not implemented.", | ||
"build-production-js": "echo 'Not implemented.", | ||
"clean": "true" | ||
}, | ||
"devDependencies": {}, | ||
"engines": { | ||
"node": "^14.18.3 || ^16.13.2", | ||
"pnpm": "^6.23.6", | ||
"yarn": "use pnpm instead - see docs/yarn-upgrade.md" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
<?xml version="1.0"?> | ||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" bootstrap="tests/php/bootstrap.php" backupGlobals="false" colors="true" convertDeprecationsToExceptions="true" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd"> | ||
<coverage processUncoveredFiles="false"> | ||
<!-- Better to only include "src" than to add "." and then exclude "tests", "vendor", and so on, as PHPUnit still scans the excluded directories. --> | ||
<!-- Add additional lines for any files or directories outside of src/ that need coverage. --> | ||
<include> | ||
<directory suffix=".php">src</directory> | ||
</include> | ||
</coverage> | ||
<testsuites> | ||
<testsuite name="main"> | ||
<directory prefix="test" suffix=".php">tests/php</directory> | ||
</testsuite> | ||
</testsuites> | ||
</phpunit> |
Oops, something went wrong.