selection-sharer

Medium like popover menu to share on Twitter or by email any text selected on the page

Github星跟踪图

selection-sharer

Popover menu to share on Twitter or by email any text selected on the page with support for mobile devices (with a popunder).

selection sharer screenshot

How to add it to your site

This script requires jQuery so make sure you have it loaded on your page.

Add the stylesheet in the <head> of your page:

<link rel="stylesheet" href="dist/selection-sharer.css" />

and add the Javascript at the bottom of your page near the closing </body> tag:

<script src="dist/selection-sharer.js"></script>
<script>
$('p').selectionSharer();
</script>

If you want to add Facebook share, please make sure that your page has a Facebook App ID meta tag:

<meta property="fb:app_id" content="123456789" />

The url shared can be set using the og:url tag:

<meta property="og:url" content="http://your.url/to/share" />

Or if you are using requirejs, you can do:

require(["dist/selection-sharer"], function(SelectionSharer) {
  var sharer = new SelectionSharer();
  selectionSharer.setElements('p'); // bind mouseup event to all <p> elements
});

Or more simply:

require(["dist/selection-sharer!"]);

That's it.

For Webpack

Note : This package has a peer dependency on jQuery so it expects jQuery to
already be available in your page or in your bundling step.

Without CSS bundling

var Selection = require('selection-sharer');
var selection = new Selection('p');

With CSS bundling

require('selection-sharer/dist/selection-sharer.css');
var Selection = require('selection-sharer');
var selection = new Selection('p');

For Browserify

var Selection = require('selection-sharer');
var selection = new Selection('p');

Note: Browserify does not do css bundling so you would have to resort to package like
browserify-css

Please let me know if you install this script on your site. Just star this repo and ping me on Twitter @xdamman. Thank you!

Notes

  • Images are included inline in the CSS as SVG (perfect for Retina displays, loading time and to easily create new color schemes)
  • Total size gzipped minified: 3.5K (equally split between css and javascript)

Demos

There is a demos/ directory with some examples using jquery, requirejs or simple javascript.

You can also try it directly on my blog on http://xdamman.com.

Bookmarklet version

Add a new bookmark to your bookmark bar, edit its url and copy paste the following code:

javascript:(function(){var s=document.createElement('script');s.src="//xdamman.github.io/selection-sharer/lib/selection-sharer/dist/bookmarklet.js";document.body.appendChild(s);})()

Building

To recompile the minified versions of the css and javascript in the dist/ directory, simply run:

npm build

Other Builds

For Ruby On Rails applications you can use selection-sharer gem. We have a gem with selection-sharer js build and it is very easy to use.
https://rubygems.org/gems/selection-sharer

gem 'selection-sharer'

Contribute

This is still early days so there is still a lot to do and I welcome contributions.

TODO:

Backers

Support us with a monthly donation and help us continue our activities. [Become a backer]






























Sponsors

Become a sponsor and get your logo on our README on Github with a link to your site. [Become a sponsor]










主要指标

概览
名称与所有者xdamman/selection-sharer
主编程语言JavaScript
编程语言JavaScript (语言数: 3)
平台
许可证MIT License
所有者活动
创建于2013-12-28 05:45:02
推送于2023-01-12 09:38:52
最后一次提交2019-12-02 22:44:09
发布数19
最新版本名称v1.2.2 (发布于 2019-12-02 22:44:31)
第一版名称v0.0.3 (发布于 )
用户参与
星数510
关注者数36
派生数104
提交数112
已启用问题?
问题数37
打开的问题数32
拉请求数27
打开的拉请求数12
关闭的拉请求数6
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?