2017 © Pedro Peláez
 

library laravel-share

Optional package for Laravel to generate social share links.

image

jorenvanhocht/laravel-share

Optional package for Laravel to generate social share links.

  • Saturday, May 19, 2018
  • by jorenvh
  • Repository
  • 6 Watchers
  • 112 Stars
  • 12,593 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 16 Forks
  • 5 Open issues
  • 10 Versions
  • 22 % Grown

The README.md

Laravel Share

Latest Version on Packagist Software License Build Status SensioLabsInsight Total Downloads, (*1)

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., (*2)

Available services

  • Facebook
  • Twitter
  • Linkedin
  • WhatsApp
  • Reddit
  • Telegram

Installation

You can install the package via composer:, (*3)

``` bash composer require jorenvanhocht/laravel-share, (*4)



If you don't use auto-discovery, add the ServiceProvider to the providers array in config/app.php ```php // config/app.php 'providers' => [ Jorenvh\Share\Providers\ShareServiceProvider::class, ];

And optionally add the facade in config/app.php, (*5)

// config/app.php
'aliases' => [
    'Share' => Jorenvh\Share\ShareFacade::class,
];

Publish the package config & resource files., (*6)

php artisan vendor:publish --provider="Jorenvh\Share\Providers\ShareServiceProvider"

You might need to republish the config file when updating to a newer version of Laravel Share, (*7)

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., (*8)

Fontawesome

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., (*9)

Laravel share supports Font Awesome v5. For Font Awsome 4 support use version 3 of this package., (*10)

Javascript

Load jquery.min.js & share.js by adding the following lines to your template files., (*11)

<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha256-4+XzXVhsDmqanXGHaHvgh1gMQKX40OUvDEBTu8JcmNs=" crossorigin="anonymous"></script>
<script src="{{ asset('js/share.js') }}"></script>

Usage

Facebook

``` php Share::page('http://jorenvanhocht.be')->facebook();, (*12)


#### Twitter ``` php Share::page('http://jorenvanhocht.be', 'Your share text can be placed here')->twitter();

Reddit

``` php Share::page('http://jorenvanhocht.be', 'Your share text can be placed here')->reddit();, (*13)


#### Linkedin ``` php Share::page('http://jorenvanhocht.be', 'Share title')->linkedin('Extra linkedin summary can be passed here')

Whatsapp

``` php Share::page('http://jorenvanhocht.be')->whatsapp(), (*14)


#### Telegram ``` php Share::page('http://jorenvanhocht.be', 'Your share text can be placed here')->telegram();

Sharing the current url

Instead of manually passing an url, you can opt to use the currentPage function., (*15)

Share::currentPage()->facebook();

If want multiple share links for (multiple) providers you can just chain the methods like this., (*16)

Share::page('http://jorenvanhocht.be', 'Share title')
    ->facebook()
    ->twitter()
    ->linkedin('Extra linkedin summary can be passed here')
    ->whatsapp();

This will generate the following html, (*17)

<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&amp;url=http://jorenvanhocht.be" class="social-button " id=""><span class="fa fa-twitter"></span></a></li>
        <li><a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://jorenvanhocht.be&amp;title=my share text&amp;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>

In some cases you may only need the raw links without any html, you can get these by calling the getRawLinks method., (*18)

A single link, (*19)

Share::page('http://jorenvanhocht.be', 'Share title')
    ->facebook()
    ->getRawLinks();

Outputs:, (*20)

https://www.facebook.com/sharer/sharer.php?u=http://jorenvanhocht.be

Multiple links, (*21)

Share::page('http://jorenvanhocht.be', 'Share title')
    ->facebook()
    ->twitter()
    ->linkedin('Extra linkedin summary can be passed here')
    ->whatsapp()
    ->getRawLinks();

Outputs:, (*22)

[
  "facebook" => "https://www.facebook.com/sharer/sharer.php?u=http://jorenvanhocht.be",
  "twitter" => "https://twitter.com/intent/tweet?text=Share+title&url=http://jorenvanhocht.be",
  "linkedin" => "http://www.linkedin.com/shareArticle?mini=true&url=http://jorenvanhocht.be&title=Share+title&summary=Extra+linkedin+summary+can+be+passed+here",
  "whatsapp" => "https://wa.me/?text=http://jorenvanhocht.be",
]

Optional parameters

Add extra classes, id's or titles to the social buttons

You can simply add extra class(es), id('s), title(s) or relationship(s) by passing an array as the third parameter on the page method., (*23)

Share::page('http://jorenvanhocht.be', null, ['class' => 'my-class', 'id' => 'my-id', 'title' => 'my-title', 'rel' => 'nofollow noopener noreferrer'])
    ->facebook();

Which will result in the following html, (*24)

<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" rel="nofollow noopener noreferrer"><span class="fa fa-facebook-official"></span></a></li>
    </ul>
</div>

Custom wrapping

By default social links will be wrapped in the following html, (*25)

<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., (*26)

Share::page('http://jorenvanhocht.be', null, [], '<ul>', '</ul>')
            ->facebook();

This will output the following html., (*27)

<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>

Changelog

Please see CHANGELOG for more information what has changed recently., (*28)

Testing

bash $ composer test, (*29)

Contributing

Please see CONTRIBUTING for details., (*30)

Security

If you discover any security related issues, please email jorenvh@gmail.com instead of using the issue tracker., (*31)

Credits

License

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

The Versions

19/05 2018

dev-master

9999999-dev https://github.com/jorenvh/laravel-share

Optional package for Laravel to generate social share links.

  Sources   Download

MIT

The Requires

  • php >=5.6

 

The Development Requires

laravel share social links social share links

19/05 2018

2.0.2

2.0.2.0 https://github.com/jorenvh/laravel-share

Optional package for Laravel to generate social share links.

  Sources   Download

MIT

The Requires

  • php >=5.6

 

The Development Requires

laravel share social links social share links

18/05 2018

2.0.1

2.0.1.0 https://github.com/jorenvh/laravel-share

Optional package for Laravel to generate social share links.

  Sources   Download

MIT

The Requires

  • php >=5.6

 

The Development Requires

laravel share social links social share links

20/01 2018

2.0

2.0.0.0 https://github.com/jorenvh/laravel-share

Optional package for Laravel to generate social share links.

  Sources   Download

MIT

The Requires

  • php >=5.6

 

The Development Requires

laravel share social links social share links

28/09 2017

1.0.4

1.0.4.0 https://github.com/jorenvh/laravel-share

Optional package for Laravel to generate social share links.

  Sources   Download

MIT

The Requires

  • php >=5.6

 

The Development Requires

laravel share social links social share links

30/08 2017

1.0.3

1.0.3.0 https://github.com/jorenvh/laravel-share

Optional package for Laravel to generate social share links.

  Sources   Download

MIT

The Requires

  • php >=5.6

 

The Development Requires

laravel share social links social share links

30/08 2017

dev-laravel-auto-discovery

dev-laravel-auto-discovery https://github.com/jorenvh/laravel-share

Optional package for Laravel to generate social share links.

  Sources   Download

MIT

The Requires

  • php >=5.6

 

The Development Requires

laravel share social links social share links

30/06 2017

1.0.2

1.0.2.0 https://github.com/jorenvh/laravel-share

Optional package for Laravel to generate social share links.

  Sources   Download

MIT

The Requires

  • php >=5.6

 

The Development Requires

laravel share social links social share links

27/11 2016

1.0.1

1.0.1.0 https://github.com/jorenvh/laravel-share

Optional package for Laravel to generate social share links.

  Sources   Download

MIT

The Requires

  • php >=5.6

 

The Development Requires

laravel share social links social share links

20/11 2016

1.0.0

1.0.0.0 https://github.com/jorenvh/laravel-share

Optional package for Laravel to generate social share links.

  Sources   Download

MIT

The Requires

  • php >=5.6

 

The Development Requires

laravel share social links social share links