Skip to content
This repository was archived by the owner on Nov 15, 2019. It is now read-only.

arrounded/metadata

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4107714 · Jul 28, 2015

History

19 Commits
Jul 28, 2015
Jul 28, 2015
Jun 19, 2015
Jun 19, 2015
Jun 19, 2015
Jun 19, 2015
Jun 19, 2015
Jul 28, 2015
Jun 19, 2015
Jun 19, 2015
Jul 7, 2015
Jun 19, 2015

Repository files navigation

Arrounded/Metadata

Build Status Latest Stable Version Total Downloads Scrutinizer Quality Score Code Coverage

Install

Via Composer

$ composer require arrounded/metadata

Usage

First add the module's service provider and facade to config/app.php:

Arrounded\Metadata\ServiceProvider::class,
'Metadata' => Arrounded\Metadata\Facades\Metadata::class,

Then somewhere in your service provider, define your application's metadata. Either by passing it an array:

$this->app['arrounded.metadata']->setMetadata([
    ['url' => 'foo.com', 'title' => Homepage', 'description' => 'foobar'],
]);

Or by indicating it the path to a CSV file:

metadata.csv

url,title,description
foo.com,Homepage,foobar
$this->app['arrounded.metadata']->setMetadataFromFile('metadata.csv');

Then in your views call the render method on the facade. It'll look at the current URL and find the correct metadata for the page. You can also pass it an array of additional metadata:

{{ Metadata.render() }}
{{ Metadata.render({image: 'foo.com/logo.png'}) }}

By default all properties (except core ones such as title, description etc) are also wrapped in Twitter/Facebook graph metadata. You can disable this behavior by setting which properties should not be wrapped:

$this->app['arrounded.metadata']->setMetadataFromFile('metadata.csv');
$this->app['arrounded.metadata']->setUnwrapped(['property', 'other_property']);

Testing

$ composer test

License

The MIT License (MIT). Please see License File for more information.