GithubHelp home page GithubHelp logo

flarnie / facebook-instant-articles-sdk-php Goto Github PK

View Code? Open in Web Editor NEW

This project forked from facebookarchive/facebook-instant-articles-sdk-php

0.0 2.0 0.0 1.13 MB

The Facebook Instant Articles SDK for PHP provides a native interface for creating and publishing Instant Articles.

Home Page: https://instantarticles.fb.com/

License: Other

PHP 87.85% HTML 12.15%

facebook-instant-articles-sdk-php's Introduction

Facebook Instant Articles PHP SDK

Build Status Latest Stable Version

The Facebook Instant Articles SDK for PHP provides a native interface for creating and publishing Instant Articles. The SDK enables developers to more easily integrate Instant Articles into content management systems and in turn enables journalist and publishers to easily publish Instant Articles.

The SDK consists of three components:

  • Elements: A domain-specific language for creating an Instant Articles structure that strictly follows the specification and can be automatically serialized into the subset of HTML5 markup used in the Instant Articles format. This language allows users to programmatically create Instant Articles that are guaranteed to be in compliance with the format.
  • Transformer: An engine for transforming any markup into an Instant Article structure in the DSL. The engine runs a set of rules on the markup that will specify the selection and transformation of elements output by the CMS into their Instant Articles counterparts. The transformer ships with a base set of rules for common elements (such as a basic paragraph or an image) that can be extended and customized by developers utilizing the SDK.
  • Client: A simple wrapper around the Instant Articles API, which can be used for publishing Instant Articles on Facebook. The client provides a CRUD interface for Instant Articles as well as a helper for authentication. The client depends on the main Facebook SDK for PHP as an interface to the Graph API and Facebook Login.

Quick Start

The Facebook Instant Articles PHP SDK can be installed with the Composer dependency manager by running this command on your project's root folder:

$ composer require facebook/facebook-instant-articles-sdk-php

After the installation, you can include the auto loader script in your source with:

require_once('vendor/autoload.php');

Official Documentation

You can find examples on how to use the different components of this SDK to integrate it with your CMS in the Getting Started section of the documentation.

Contributing

Clone the repository

$ git clone https://github.com/facebook/facebook-instant-articles-sdk-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.


Testing with Docker

We have provide a Docker environment to ensure a consistent testing & development environment.

Use docker-compose run composer composer install to get started.

Troubleshooting

If you are encountering problems, the following tips may help in troubleshooting issues:

  • Warnings from the Transformer can be seen with $transformer->getWarnings() method.

  • If content is missing from your transformed article, more likely than not there isn't a Transformer Rule matching an element in your source markup. See how to configure appropriate rules for your content in the Transformer Rules documentation.

  • Set the threshold in the configuration of the Logger to DEBUG to expose more details about the items processed by the Transformer.

  • Refer to the existing tests of the Elements for examples of what is required of each and to potentially create your own tests (which can be run with $ composer test).

License

Please see the license file for more information.

facebook-instant-articles-sdk-php's People

Contributors

ahilles107 avatar alucic avatar aminnelson avatar carusogabriel avatar chrisackermann avatar demoive avatar despinouy avatar diegoquinteiro avatar dlackty avatar dodozhang21 avatar everton-rosario avatar flarnie avatar gemedet avatar jppgks avatar localheinz avatar m4olivei avatar mburak avatar oskarstark avatar pestevez avatar phelipealves avatar philipjohn avatar sakatam avatar scottfalkingham avatar scottrigby avatar simonengelhardt avatar timjacobi avatar tristangemus avatar umbrella-kirill-starikov avatar vkama avatar yssk22 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.