shareon are share buttons for popular social networks.
Unlike many other share buttons, shareon are:
lightweight, clocking in at only 6 KB gzipped code (JS+CSS)
stylish, by having no visual features other than official
colors and logos
ethical, since they do not insert any pesky tracking code
The whole JavaScript code is quick and simple: it only populates the
buttons with set up links. The speed and easy customization make
shareon the perfect choice for your blog, news site or
project page!
Install
Include the link to shareon's JS and CSS in your website:
or install it via NPM and use it in a JS file that you will later
bundle:
const shareon = require('shareon');
import shareon from 'shareon';
Initialization
By default, shareon will initialize every button after page load. It
also exports the shareon function, that will let you
repopulate your buttons with updated information (for example, if you
changed the page title):
// shareon auto-initializes
window.title = "Cool new window title";
shareon();
If you want to postpone the initialization, you can import the
noinit-version of the package. You'll need to manually
call the shareon function when you want the buttons to be
initialized:
<!-- notice the 'noinit' section of the url for JS -->
<script src="https://cdn.jsdelivr.net/npm/shareon@1/dist/noinit/shareon.min.js"
type="text/javascript"></script>
<link href="https://cdn.jsdelivr.net/npm/shareon@1/dist/shareon.min.css"
rel="stylesheet">
<script type="text/javascript">
// do something important
shareon();
</script>
or, if you're using Node:
const shareon = require('shareon');
// or
import shareon from 'shareon';
// do something important
shareon();
Usage
Create a container with class shareon and populate it
with elements, whose classes match the names of social networks:
<div class="shareon">
<a class="facebook"></a>
<a class="linkedin"></a>
<a class="mastodon"></a>
<!-- FB App ID is required for the Messenger button to function -->
<a class="messenger" data-fb-app-id="0123456789012345"></a>
<a class="odnoklassniki"></a>
<a class="pinterest"></a>
<a class="pocket"></a>
<button class="reddit"></button>
<button class="telegram"></button>
<button class="twitter"></button>
<button class="viber"></button>
<button class="vkontakte"></button>
<button class="whatsapp"></button>
</div>
If you use <a>, the buttons will get a
`href`-attribute to them. In other cases they will get a listener on
click event, so you can use <button>s
if you wish.
By default, the URL and the title of the page will be used in sharing
dialogs. To change this, you can use the data-url and
data-title attributes. Use them on the whole container or
on the specific buttons: