Laravel 5 Backend for Heise Shariff
, (*1)
This package allows privacy-enabled share buttons on your site. With most sharing button solutions,
the user pays with its privacy to be able to share or even view the share buttons., (*2)
With the Heise Shariff, the application backend acts on the users behalf., (*3)
Note: This package is a backend to the original frontend package
and doesn't contain any frontend code., (*4)
Features
As of today, Shariff supports the following services:, (*5)
- AddThis
- Facebook
- Flattr
- GooglePlus
- LinkedIn
- Pinterest
- Reddit
- StumbleUpon
- Xing
Please see the up-to-date list on the Shariff Page., (*6)
This add-on also plugs into the standard laravel cache, so you dont have to worry too much about load., (*7)
Installation
Install the package:, (*8)
composer require cedricziel/l5-shariff
Add the service provider to your application configuration in config/app.php:, (*9)
CedricZiel\L5Shariff\ShariffServiceProvider::class
Configuration
The ServiceProvider registers a default shariff route, so you can use it without any additional modifications., (*10)
Per default, the route to the shariff service is /_shariff. You override it, by simply overriding the route
definition given in src/routes.php in your own routes.php., (*11)
Frontend assets
Shariff is available via NPM., (*12)
Installation:, (*13)
npm install shariff --save
Include the css from the npm package into your SCSS stylesheet:, (*14)
@import "node_modules/shariff/build/shariff.complete";
Include the JavaScript to your JavaScript file resources/assets/scripts/app.js with browserify:, (*15)
var Shariff = require('shariff/src/js/shariff');
jQuery(document).ready(function ($) {
App.init();
var buttonsContainer = $('.shariff-init');
new Shariff(buttonsContainer);
});
To override config options, you can put them in an object hash as second constructor argument:, (*16)
new Shariff(buttonsContainer, {
orientation: 'vertical'
});
For an overview of the available options, please have a look at the
original reference., (*17)
If you use different asset files than the standard ones mentioned, you probably know what to do :), (*18)
Usage
You can easily display the buttons by including a blade template and pass some options., (*19)
Allowed options are:, (*20)
- theme (color|grey) Default:
grey
- url Default: current url
- layout (horizontal|vertical) Default:
horizontal
- services Default:
["whatsapp","facebook","twitter","googleplus","mail"]
- title Default:
Here is something I wanted to share with you!
@include('shariff', ['shariff_opts' => ['url' => 'http://..', 'layout' => 'horizontal', 'title' => 'Cool title!']])
Or:, (*21)
@include('shariff::buttons', ['shariff_opts' => ['theme' => 'color']])
TODO: Add helper, (*22)
Advanced
You can publish the the config and the templates and customize / override them when needed., (*23)
# To publish the config (`config_path('shariff.php')`)
php artisan vendor:publish --provider="CedricZiel\L5Shariff\ShariffServiceProvider" --tag="config"
# To publish the views for you to customize (`resource_path('views/vendor/shariff')`)
php artisan vendor:publish --provider="CedricZiel\L5Shariff\ShariffServiceProvider" --tag="views"
License
The MIT License. Cedric Ziel cedric@cedric-ziel.com, (*24)