share-dialog v0.3.0
share-dialog
Creates share dialogs for Facebook, Twitter, Pinterest, Google Plus, Tumblr and LinkedIn.
Install
npm i share-dialog --saveTo use in a browser, browserify it.
Usage
See service methods below for specific service args.
var Dialog = require('share-dialog')
// Example to share a link on Twitter
var twitter = Dialog.twitter("http://example.com", "This is my tweet")
// Get the dialog URL
var url = twitter.get()
// Or open it in a new window
twitter.open()Each of the service methods (e.g. Dialog.twitter) returns a Dialog instance. These instances are reusable:
var dialog = Dialog.tumblr.link('http://example.com/', 'Some link')
dialog.open()
dialog.params({url: 'http://example.com/foo', name: 'Some link with foo'})
dialog.open()API
Dialog instances
dialog.params({ object })
Overwrite GET parameters of share URL.
dialog.params() Get current parameters.
dialog.config({ object })
Overwrite window configuration. The default configuration is:
{ toolbar: 0
, status: 0
, width: 650 // differs per service
, height: 306
, top: function(config)
{ return screen.availHeight/2 - config.height/2 }
, left: function(config)
{ return screen.availWidth/2 - config.width/2 }
}dialog.config() Get current configuration.
dialog.get() Return the dialog URL.
dialog.open() Open the share dialog in a new window.
Service methods
The argument names listed for each service method below, are equal to the GET parameter names. This means..
Dialog.facebook('my_app_id').. is the same as writing:
Dialog.facebook().params({app_id: 'my_app_id'})Share dialog (facebook.com/dialog/share?app_id=..)
Dialog.facebook(app_id, href, redirect_uri)
Legacy sharer.php (facebook.com/sharer/sharer.php?u=..)
Dialog.facebook(u) where u is the URL to share. Does not require an app id.
Dialog.pinterest(url, media [, description])
Tumblr
Share a link:
Dialog.tumblr.link(url [, name, description])
Share a photo:
Dialog.tumblr.photo(source [, caption, clickthru])
Google Plus
Dialog.gplus(url)
Dialog.twitter(url [, text, via, in_reply_to, hashtags, related])
url(string): the URL you want to share (required)text(string): tweet text (optional)via(string): username (optional)in_reply_to(number or string): status ID of a tweet (optional)hashtags(array): hashtags to append to tweet, e.g. ['food', 'monsters'] (optional)related(array): related Twitter usernames (optional)
Dialog.linkedIn(url[, title, source, summary])
Todo
- testling browser tests