Package Data | |
---|---|
Maintainer Username: | jorenvh |
Maintainer Contact: | joren@codeswitch.be (Joren Van Hocht) |
Package Create Date: | 2016-11-12 |
Package Last Update: | 2022-06-09 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-22 03:08:54 |
Package Statistics | |
---|---|
Total Downloads: | 827,320 |
Monthly Downloads: | 19,277 |
Daily Downloads: | 773 |
Total Stars: | 529 |
Total Watchers: | 18 |
Total Forks: | 88 |
Total Open Issues: | 22 |
Share links exist on almost every page in every project, creating the code for these share links over and over again can be a pain in the ass. With Laravel Share you can generate these links in just seconds in a way tailored for Laravel.
You can install the package via composer:
composer require jorenvanhocht/laravel-share
If you don't use auto-discovery, add the ServiceProvider to the providers array in config/app.php
// config/app.php
'providers' => [
...
Jorenvh\Share\Providers\ShareServiceProvider::class,
];
And optionally add the facade in config/app.php
// config/app.php
'aliases' => [
...
'Share' => Jorenvh\Share\ShareFacade::class,
];
Publish the package config & resource files.
php artisan vendor:publish --provider="Jorenvh\Share\Providers\ShareServiceProvider"
This will publish the laravel-share.php
config file to your config folder, share.js
in public/js/
and laravel-share.php
in your resources/lang/vendor/en/
folder.
Since this package relies on Fontawesome, you will have to require it's css, js & fonts in your app. You can do that by requesting a embed code via their website or by installing it locally in your project.
Laravel share supports Font Awesome v4 and v5, by default v4 is used. You can specify the version you want to use in config/laravel-share.php
Load jquery.min.js & share.js by adding the following lines to your template files.
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="{{ asset('js/share.js') }}"></script>
Share::page('http://jorenvanhocht.be')->facebook();
Share::page('http://jorenvanhocht.be', 'Your share text can be placed here')->twitter();
Share::page('http://jorenvanhocht.be')->googlePlus();
Share::page('http://jorenvanhocht.be', 'Share title')->linkedin('Extra linkedin summary can be passed here')
Share::page('http://jorenvanhocht.be')->whatsapp()
Instead of manually passing an url, you can opt to use the currentPage
function.
Share::currentPage()->facebook();
If want multiple share links for (multiple) providers you can just chain the methods like this.
Share::page('http://jorenvanhocht.be', 'Share title')
->facebook()
->twitter()
->googlePlus()
->linkedin('Extra linkedin summary can be passed here')
->whatsapp();
This will generate the following html
<div id="social-links">
<ul>
<li><a href="https://www.facebook.com/sharer/sharer.php?u=http://jorenvanhocht.be" class="social-button " id=""><span class="fa fa-facebook-official"></span></a></li>
<li><a href="https://twitter.com/intent/tweet?text=my share text&url=http://jorenvanhocht.be" class="social-button " id=""><span class="fa fa-twitter"></span></a></li>
<li><a href="https://plus.google.com/share?url=http://jorenvanhocht.be" class="social-button " id=""><span class="fa fa-google-plus"></span></a></li>
<li><a href="http://www.linkedin.com/shareArticle?mini=true&url=http://jorenvanhocht.be&title=my share text&summary=dit is de linkedin summary" class="social-button " id=""><span class="fa fa-linkedin"></span></a></li>
<li><a href="https://wa.me/?text=http://jorenvanhocht.be" class="social-button " id=""><span class="fa fa-whatsapp"></span></a></li>
</ul>
</div>
You can simply add extra class(es) or id('s) by passing an array as the third parameter on the page method.
Share::page('http://jorenvanhocht.be', null, ['class' => 'my-class', 'id' => 'my-id'])
->facebook();
Which will result in the following html
<div id="social-links">
<ul>
<li><a href="https://www.facebook.com/sharer/sharer.php?u=http://jorenvanhocht.be" class="social-button my-class" id="my-id"><span class="fa fa-facebook-official"></span></a></li>
</ul>
</div>
By default social links will be wrapped in the following html
<div id="social-links">
<ul>
<!-- social links will be added here -->
</ul>
</div>
This can be customised by passing the prefix & suffix as a parameter.
Share::page('http://jorenvanhocht.be', null, [], '<ul>', '</ul>')
->facebook();
This will output the following html.
<ul>
<li><a href="https://www.facebook.com/sharer/sharer.php?u=http://jorenvanhocht.be" class="social-button " id=""><span class="fa fa-facebook-official"></span></a></li>
</ul>
Please see CHANGELOG for more information what has changed recently.
$ composer test
Please see CONTRIBUTING for details.
If you discover any security related issues, please email jorenvh@gmail.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.