This is a simple library to make your web page shareable fast and easy.
Its allow to include the social share link of the major social network to your page.
Github repository: https://github.com/assisfery/SocialShareJS
CDN repository: https://www.jsdelivr.com/package/gh/assisfery/SocialShareJS
Just include the social-share.css and social-share.js files.
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/assisfery/SocialShareJS@1.4/social-share.min.css"> <script src="https://cdn.jsdelivr.net/gh/assisfery/SocialShareJS@1.4/social-share.min.js"></script>
The SocialShareJS don't dependents of none library, but its uses the FontAwesome 5 Fonts, so make sure you have included it in your web page.
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/js/all.min.js"></script>
To have the social share buttons just put the class ss-box in one or more of you containers
<div class="ss-box"></div>
If you want to select specifics social share network just add the data-ss-social attribute in your container.
<div class="ss-box" data-ss-social="facebook, pinterest"></div>
For defaults the SocialShareJs put the current page location as share link but you can change it just including the data-ss-link attribute in your container.
<div class="ss-box" data-ss-link="https://www.google.com/"></div>
In some of social network shares you could want to put a query string available just to specific social network,
so to do that just include
data-ss-NAME_OF_SOCIAL_MEDIA = "key1:value1, key2:value2" attribute,
for example
include data-ss-messenger = "app_id:123456", so it will include the query string &app_id=123456 in
messenger share link, or
include data-ss-email = "subject:SocialShareJS is amazing", it will include the query string
&subject=Email Subject in
email share link.
<div class="ss-box" data-ss-social="messenger, pinterest, email" data-ss-messenger="app_id: 123456" data-ss-email="subject:SocialShareJS is amazing"></div>
Some of buttons (like: share native ,messenger, viber and sms) perhaps
not work on desktop OS, but its works in mobile OS like Android and IOS, so may be necessary
to show that buttons only in mobile screen.
To solve that problem you could include the class ss-responsive on
your container.
<div class="ss-box ss-responsive"></div>
If you want to show just the icons without the name of Social Network just include data-ss-content attribute with value false.
<div class="ss-box" data-ss-content="false"></div>
If you want to make button with circle shape just include the class ss-circle in ss-box container.
<div class="ss-box ss-circle" data-ss-content="false"></div>
If you want to make button without rounded border just include the class ss-flat in ss-box container.
<div class="ss-box ss-flat"></div>
If you want to make button with pill shape effect just include the class ss-pill in ss-box container.
<div class="ss-box ss-pill"></div>
If you want to put shadow in button just include the class ss-shadow in ss-box container.
<div class="ss-box ss-shadow"></div>
If you want to all your buttons have the same color just use the class ss-black (or ss-dark, ss-gray, ss-light, ss-outline) in ss-box container.
<div class="ss-box ss-black"></div>
If you want to all your buttons have the same color just use the class ss-strait in ss-box container.
<div class="ss-box ss-strait ss-dark" data-ss-content="false"></div>
To create the buttons in a fixed position combine the class ss-fixed with ss-bottom, ss-top, ss-left or ss-right in ss-box container.
<div class="ss-box ss-fixed ss-bottom" data-ss-content="false"></div>
If you dont want to show the icons of Social Network just include data-ss-icon attribute with value false.
<div class="ss-box" data-ss-icon="false"></div>
If you want to change the icon class of any Social Network to another icon of you
preference or icon of others packages just include the data-ss-icon-class
with value social_name1: icon_class1, social_name2: iconclass2
for example:
include data-ss-icon-class="facebook:fab fa-facebook-messenger,email:fas fa-sms" so
it will put the icon fab fa-facebook-messenger instead the facebook default icon and it will
put the icon fas fa-sms instead the email default icon.
<div class="ss-box" data-ss-social="facebook, email" data-ss-icon-class="facebook:fab fa-facebook-messenger,email:fas fa-sms"></div>
Include ss-grow in your container to make button grow when the mouse is hover.
<div class="ss-box ss-grow" data-ss-social="facebook"></div>
Include ss-shrink in your container to make button shrink when the mouse is hover.
<div class="ss-box ss-shrink" data-ss-social="facebook"></div>
Include ss-rotate in your container to make button rotate when the mouse is hover.
<div class="ss-box ss-rotate" data-ss-social="facebook"></div>
Include ss-float in your container to make button float when the mouse is hover.
<div class="ss-box ss-float" data-ss-social="facebook"></div>
If you want to create a share box in JavaScript you can use the follow function.
SocialShare.createShareBox(_elements, _link = null, _socials = null, _showIcon = true, _showContent = true, _clearContainer = true);
For example
SocialShare.createShareBox("#newShareBox", "https://github.com/assisfery/SocialShareJS", "facebook, twitter, email, sms, viber");
If you want to customize the share buttons like you want just do it adding css effect in your code.
.ss-btn{ /*your code*/ }