Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
* Web Fonts Component and Plugin ** Description The Web Fonts component and plugin are Joomla! extensions that connect to web services to allow Joomla! site owners to integrate non-web safe fonts into their websites via a simple interface. ** License The Web Fonts component and plugin are licensed to the GPL 3.0 or later. ** Sponsor Fonts.com has sponsored development for their API and for Google Web Fonts. However, per their request, the extension is open to the implementation of other font services. ** Author Blue Bridge Development authored the first iteration of the extension and this document. ** Compatibility The extensions are compatible with versions 1.6, 1.7, and 2.5 of Joomla! The extensions are tested for Opera, Chrome, Safari, Firefox, and IE 8 and IE 9. ** Integrations Currently, only the Fonts.com service is integrated. However, the extension is open to integration with other services. *** General Component Integration Generally, the extension can be extended by building according to Joomla's MVC architecture. Accordingly, each new service will need a model, view, and sub-controller. This will manage the font vendor's area within the component. *** Key Component Classes **** models/stylesheet.php Vendor models needed to be added to the list of vendors in the model. Additionally, there is an implied interface which can be viewed in this class. Future improvements will explicitly define this. **** views/vendors/view.html.php This view needs to have the primary key of the new service mapped to a value that represents the view to use for that service. This is done by adding the key => value to the protected property $_views. **** helpers/fonts.php When the stylesheet model requests a list of fonts from a vendor, it needs to be returned in an array of objects according to the inteface "StylesheetFontWrapper", defined in this file. This allows the stylesheet view to properly display the font and its properties if they exist. *** Key Component Schema Information Each vendor has an id, name, and properties field in the #__webfonts_vendors table. Additional vendors need to be updated in the install.sql file to insert this data. The properties field is intended to hold json encoded metadata about the vendor (e.g. username information, keys, etc). The #__webfonts table holds information about fonts selected for the project and maps it to vendors individual tables. *** Key Plugin Information The Web Fonts plugin is a container for other Web Fonts plugins. It currently only triggers the onBeforeCompileHead event, however it is generic enough to support any other system events. Individual actions for those events need to be inserted in the "handlers" directory and will be triggered by the main plugin via the "execute" method.