share-dialog

    0.3.0 • Public • Published

    share-dialog

    Creates share dialogs for Facebook, Twitter, Pinterest, Google Plus, Tumblr and LinkedIn.

    Install

    npm i share-dialog --save
    

    To 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'})

    Facebook

    Share dialog (facebook.com/dialog/share?app_id=..)

    Dialog.facebook(app_id, href, redirect_uri)

    Documentation

    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.

    Pinterest

    Dialog.pinterest(url, media [, description])

    Documentation

    Tumblr

    Share a link: Dialog.tumblr.link(url [, name, description])

    Share a photo: Dialog.tumblr.photo(source [, caption, clickthru])

    Documentation

    Google Plus

    Dialog.gplus(url)

    Twitter

    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)

    Documentation

    LinkedIn

    Dialog.linkedIn(url[, title, source, summary])

    Documentation

    Todo

    • testling browser tests

    Install

    npm i share-dialog

    DownloadsWeekly Downloads

    12

    Version

    0.3.0

    License

    MIT

    Last publish

    Collaborators

    • vweevers