enflow / laravel-social-share
Easily add social share links
Fund package maintenance!
enflow.nl/contact
Installs: 12 575
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 4
Forks: 0
Open Issues: 1
Requires
- php: ^8.2
- illuminate/support: ^10.0|^11.0
- illuminate/view: ^10.0|^11.0
Requires (Dev)
- laravel/pint: ^1.0
- orchestra/testbench: ^8.0|^9.0
- phpunit/phpunit: ^10.5|^11.0
- spatie/phpunit-snapshot-assertions: ^5.0
This package is auto-updated.
Last update: 2024-11-08 07:20:57 UTC
README
The enflow/laravel-social-share
package provides an easy way to add social share links to your templates:
The main advantage of implementing it this way instead of using a service like AddThis, is this doesn't use any JavaScript and does not have any privacy concerns.
Installation
You can install the package via composer:
composer require enflow/laravel-social-share
The package will auto-register. You may add the SocialShareFacade
to your app.aliases
array:
'SocialShare' => \Enflow\SocialShare\SocialShareFacade::class,
CSS
This package includes a CSS file for deafult styling. You can copy this file to your own CSS structure and modify it, or import it in your app.css / app.scss file to use the default variant. The advantage of including it is that it will be automatically updated if changes are made in upcoming versions.
@import "../../vendor/enflow/laravel-social-share/dist/css/social-share.css";
Usage
You can use the Facade in your templates as follows:
{{ SocialShare::facebook()->x()->linkedin()->whatsapp()->render() }}
You can chain multiple services next to each other. The following services are currently supported. Pull requests are welcome to expand this.
- X (previously Twitter)
- Telegram
- Twitter (deprecated) - automatically replaced with
x
You can increase the size or set styling options as follows:
{{ SocialShare::facebook()->square()->render() }} // Style: square
{{ SocialShare::facebook()->rounded()->render() }} // Style: rounded (default)
{{ SocialShare::facebook()->circle()->render() }} // Style: circle
{{ SocialShare::facebook()->normal()->render() }} // Normal size (default)
{{ SocialShare::facebook()->large()->render() }} // Large size
You may want to pass along text to the different sharing options. This text will be appended to the current URL:
{{ SocialShare::facebook()->text($page->title)->render() }}
You can combine all options:
{{ SocialShare::facebook()->x()->reddit()->square()->large()->text('Lorem ipsum!')->render() }}
Config
You can publish the config to tweak the services and their colors.
Pushing the config file:
php artisan vendor:publish --provider="Enflow\SocialShare\SocialShareServiceProvider" --tag="config"
Testing
$ composer test
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email michel@enflow.nl instead of using the issue tracker.
Credits
About Enflow
Enflow is a digital creative agency based in Alphen aan den Rijn, Netherlands. We specialize in developing web applications, mobile applications and websites. You can find more info on our website.
License
The MIT License (MIT). Please see License File for more information.