Typekit Client implementation with PHP
Via Composer
$ composer require mvpasarel/typekit-php
Initialize the client with your developer API token. You can get your API token here. All method calls return the JSON representation of the return from calling the Typekit API.
$typekit = new \Mvpasarel\Typekit\TypekitClient('<API token>');
To get all your kits, use the following command:
$typekit->getKits();
To get information about a specific kit, input the kit id as the argument:
$typekit->getKit($kitId);
To create a new kit, use the method createKit($name, $domains, $families)
. Name
and domains
fields are required, but the families
field is not.
The arguments are in the following format:
- $name: string
- $domains: PHP array of strings of format
array('localhost', '*.domain.com', '127.0.0.1')
- $families: set of arrays with the following key => values
- 'id' : font family id (string)
- (optional) 'variations' : comma separated variations (string).
An example of the families format is: $families = array(array('id' => 'ftnk', 'variations' => 'n3,n4'), array('id' => 'pcpv', 'variations' => 'n4'))
in which case we would create a kit with the font families Futura-PT and Droid Sans with font variations normal 3 ($font-weight:300 and not italicized or strong), normal 4 and normal 4, respectively.
Example usage:
$name = 'example typekit kit';
$domains = array('localhost', '*.domain.com');
$families = array(array('id' => 'ftnk', 'variations' => 'n3,n4'), array('id' => 'pcpv', 'variations' => 'n4'));
$typekit->createKit($name, $domains, $families);
To create a new kit, use the method updateKit($kitId, $name='', $domains=array(), $families=array())
.
The only required field is $kitId
and name
. domains
and families
fields are not required.
Field formats are the same as createKit
.
Example usage:
$name = 'Example';
$typekit->updateKit($kitId, $name);
To remove a kit, use the method removeKit($kitId)
. The $kitId
field is required.
$typekit->removeKit($kitId);
To publish a kit, use the method publishKit($kitId)
. The $kitId
field is required.
$typekit->publishKit($kitId);
To retrieve information regarding a given font family, use the method getFontFamily($font)
. The argument font
is
a string and can be a Typekit font id or a slug of the font as named in Typekit. The method does not slugify the input, so make sure to slugify it before entering the argument.
$typekit->getFontFamily('<font_id>');
To retrieve all possible variations of a given font, use the method getFontVariations($font)
. The argument is the
same as for getFontFamily($font)
. This method returns a PHP array of all possible variations of the font.
$variations = $typekit->getFontVariations('futura-pt'); # using font slug
or
$variations = $typekit->getFontVariations('ftnk'); # using font id
OUTPUT:
array('n3', 'i3', 'n4', 'i4', 'n5', 'i5', 'n7', 'i7', 'n8', 'i8')
To add font to kit, use the method kitAddFont($kitId, $font, $variations)
. Arguments for this method is the
same format as the ones above, BUT variations should be in array. Returns nothing.
$typekit->kitAddFont('$kitId', 'futura-pt', array(n3,n5,n7));
To add font to kit, use the method kitRemoveFont($kitId, $font)
. Arguments for this method is the same format as
the ones above, BUT variations should be in array. Returns nothing.
$typekit->kitRemoveFont($kitId, 'futura-pt');
getKitValues($kitId)
- Retrieves kit values in an array of format: [$name, $domains, $families]
getKitFonts($kitId)
- Retrieves an array of font ids in a given kit
kitContainsFont($kitId, $font)
- Checks to see if a font exists in a kit.
$ TYPEKIT_TOKEN=<API token> phpunit
Please see CONTRIBUTING for details.
If you discover any security related issues, please use Contact Form instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.