cedricziel / l5-shariff
Utilize Heise Shariff to protect your users' privacy while having a ready to go share-button solution
Fund package maintenance!
cedricziel
Requires
- heise/shariff: ^4.0
- illuminate/cache: 5.0.x|5.1.x|5.2.x
- illuminate/config: 5.0.x|5.1.x|5.2.x
- illuminate/support: 5.0.x|5.1.x|5.2.x
This package is auto-updated.
Last update: 2024-10-28 11:40:34 UTC
README
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.
With the Heise Shariff, the application backend acts on the users behalf.
Note: This package is a backend to the original frontend package and doesn't contain any frontend code.
Features
As of today, Shariff supports the following services:
- AddThis
- Flattr
- GooglePlus
- StumbleUpon
Please see the up-to-date list on the Shariff Page.
This add-on also plugs into the standard laravel cache, so you dont have to worry too much about load.
Installation
Install the package:
composer require cedricziel/l5-shariff
Add the service provider to your application configuration in config/app.php
:
CedricZiel\L5Shariff\ShariffServiceProvider::class
Configuration
The ServiceProvider registers a default shariff
route, so you can use it without any additional modifications.
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
.
Frontend assets
Shariff is available via NPM.
Installation:
npm install shariff --save
Include the css from the npm package into your SCSS stylesheet:
@import "node_modules/shariff/build/shariff.complete";
Include the JavaScript to your JavaScript file resources/assets/scripts/app.js
with browserify:
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:
new Shariff(buttonsContainer, { orientation: 'vertical' });
For an overview of the available options, please have a look at the original reference.
If you use different asset files than the standard ones mentioned, you probably know what to do :)
Usage
You can easily display the buttons by including a blade template and pass some options.
Allowed options are:
- 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:
@include('shariff::buttons', ['shariff_opts' => ['theme' => 'color']])
TODO: Add helper
Advanced
You can publish the the config and the templates and customize / override them when needed.
# 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