diff --git a/README.md b/README.md index 92d2cf6..2992740 100644 --- a/README.md +++ b/README.md @@ -1,159 +1,29 @@ # Link Preview -[![Build Status](https://travis-ci.org/dusterio/link-preview.svg)](https://travis-ci.org/dusterio/link-preview) -[![Code Climate](https://codeclimate.com/github/dusterio/link-preview/badges/gpa.svg)](https://codeclimate.com/github/dusterio/link-preview/badges) -[![Test Coverage](https://codeclimate.com/github/dusterio/link-preview/badges/coverage.svg)](https://codeclimate.com/github/dusterio/link-preview/badges) -[![Total Downloads](https://poser.pugx.org/dusterio/link-preview/d/total.svg)](https://packagist.org/packages/dusterio/link-preview) -[![Latest Stable Version](https://poser.pugx.org/dusterio/link-preview/v/stable.svg)](https://packagist.org/packages/dusterio/link-preview) -[![Latest Unstable Version](https://poser.pugx.org/dusterio/link-preview/v/unstable.svg)](https://packagist.org/packages/dusterio/link-preview) -[![License](https://poser.pugx.org/dusterio/link-preview/license.svg)](https://packagist.org/packages/dusterio/link-preview) -A PHP class that consumes an HTTP(S) link and returns an array of preview information. Think of Facebook sharing - -whenever you paste a link, it goes to specified page and fetches some details. +This is my first package published via a VCS (git in this case). -Initially based on [kasp3r/link-preview](https://github.com/kasp3r/link-preview) that seems to be abandoned. +I have added new lines to the source of the [original package][original]. -Includes integrations with: Laravel 5 +This package was created only for my personal use and learning purposes. -## Dependencies +___ -* PHP >= 5.5 -* Guzzle >= 6.1 -* Symfony DomCrawler >= 3.0 - -## Installation via Composer - -To install simply run: - -``` -composer require dusterio/link-preview -``` - -Or add it to `composer.json` manually: +Using a package directly from Github [requires to add a "repositories" attribute][info] to the `composer.json` for the project that requires the package. ```json { - "require": { - "dusterio/link-preview": "~1.2" + // ... + "repositories": [ + { + "type": "vcs", + "url": "https://github.com/JCarlosR/link-preview" } + ], + // ... } ``` -## Direct usage - -```php -use Dusterio\LinkPreview\Client; - -$previewClient = new Client('https://www.boogiecall.com/en/Melbourne'); - -// Get previews from all available parsers -$previews = $previewClient->getPreviews(); - -// Get a preview from specific parser -$preview = $previewClient->getPreview('general'); - -// Convert output to array -$preview = $preview->toArray(); -``` - -**Output** - -``` -array(4) { - ["cover"]=> - string(94) "https://cdn.boogiecall.com/media/images/872398e3d9598c494a2bed72268bf018_1440575488_7314_s.jpg" - ["images"]=> - array(8) { - [0]=> - string(94) "https://cdn.boogiecall.com/media/images/872398e3d9598c494a2bed72268bf018_1440575488_7314_s.jpg" - [1]=> - string(94) "https://cdn.boogiecall.com/media/images/b18970cd4c808f4dcdf7c319779ab9c6_1457347623_2419_s.jpg" - } - ["title"]=> - string(44) "Events, parties & live concerts in Melbourne" - ["description"]=> - string(107) "List of events in Melbourne. Nightlife, best parties and concerts in Melbourne, event listings and reviews." -} -``` - -## Timeouts and errors - -```php -// Default connect timeout is 5 seconds, you can change it to anything you want -$previewClient->getParser('general')->getReader()->config(['connect_timeout' => 3.14]); - -// Default maximum redirect count is 10, but you can change it too -$previewClient->getParser('general')->getReader()->config(['allow_redirects' => ['max' => 10]]); - -// If there is a network error (DNS, connect, etc), we throw ConnectionErrorException -try { - $previews = $previewClient->getPreviews(); -} catch (\Dusterio\LinkPreview\Exceptions\ConnectionErrorException $e) { - echo "Oh no!"; -} -``` - -### YouTube example - -```php -use Dusterio\LinkPreview\Client; - -$previewClient = new LinkPreview('https://www.youtube.com/watch?v=v1uKhwN6FtA'); - -// Only parse YouTube specific information -$preview = $previewClient->getPreview('youtube'); - -var_dump($preview->toArray()); -``` - -**Output** - -``` -array(2) { - ["embed"]=> - string(128) "