The Facebook Instant Articles SDK Extensions in PHP provides a native PHP interface for converting valid Instant Articles into AMP. This gives developers the ability to have AMP content right after getting his own Instant Article markup format ready.
The Extension package consists of:
- Environment: PHP >= 5.4
- Dependencies: It relies solely on the Instant Articles SDK and its dependencies to get the Instant Article markup format available into the Elements object tree structure. It also depends on Composer dependency manager.
- AMP: The AMP transformation was based on the current implementation and definition from AMP project.
$ composer require facebook/facebook-instant-articles-sdk-extensions-in-php
After the installation, you can include the auto loader script in your source with:
require_once('vendor/autoload.php');
Also be sure to check the quick start example.
You can find examples on how to use the different components of this SDK to integrate with your CMS in the Quick Start Guide of the documentation.
Clone the repository
$ git clone https://github.com/facebook/facebook-instant-articles-sdk-extensions-in-php.git
Composer is a prerequisite for testing and developing. Install composer globally, then install project dependencies by running this command in the project's root directory:
$ composer install
To run the tests:
$ composer test
To fix and check for coding style issues:
$ composer cs
Extra lazy? Run
$ composer all
to fix and check for coding style issues, and run the tests.
If you change structure, paths, namespaces, etc., make sure you run the autoload generator:
$ composer dump-autoload
For us to accept contributions you will have to first sign the Contributor License Agreement. Please see CONTRIBUTING for details.
If you are encountering problems, the following tips may help in troubleshooting issues:
- If your images are having dimension/aspect ratio problems, please check the the quick start example for more information.
- At the moment, we have no way to determine a video's width and height, you need to explicitly pass that information via properties, see how to do it here.
-
Be sure you've looked for the similar issue into the Issues list
-
Inform the Canonical URL of your Instant Article being converted
-
Inform the exported JSON from the style editor
Issue template:
# Issue Data
Instant Article Canonical URL: `http://yourdomain.com/path/article.html`
Exported Style JSON: `{...}`
Page ID: `12345`
# Problem noticed
1. Image XYZ missing
# Expected result
1. The Image XYZ should be present.
Please see the license file for more information.