npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

wanashare

v0.2.5

Published

Share medias on Twitter and Facebook

Downloads

21

Readme

Wanashare - Share medias on Twitter and Facebook

NPM Version License Dependencies Dev Dependencies

Wanashare allows you to upload a photo (with a status message) on Twitter and Facebook. It is intended to be used by client-side web applications. The server-side part is still required but is minimalistic (no session, no cookies needed) and can be integrated into any Express.js app. The access tokens are stored in the user's localStorage and are never saved on the server.

Getting started

Folders:

app/      -- The server side part (to use in any Express app)
lib/      -- The client side part
lib_src/  -- The client side part (source code, need to be built with browserify)
demo/     -- A working demo (see the "Run demo server" section)

Server Side

This lib require Node.js and Express.js for the server part.

Twitter

var express = require("express");
var Twitter = require("wanashare").Twitter;

var app = express();
new Twitter(app, "Twitter app's Consumer Key", "Twitter app's Consumer Secret");
var server = app.listen(3000);

Facebook

var express = require("express");
var Facebook = require("wanashare").Facebook;

var app = express();
new Facebook(app, "Facebook app's ID", "Facebook app's Secret");
var server = app.listen(3000);

Client Side

Twitter

<script src="lib/wanashare.js"></script>
<script>
    var twitter = new wanashare.Twitter();
    twitter.share(
        "Message",   // The tweet content
        photo,       // The image to share (Blob or data64URI string)
        function (error) {
            if (error) {
                alert("An error occured!");
            } else {
                alert("Done :D");
            }
        }
    });
</script>

Facebook

<script src="lib/wanashare.js"></script>
<script>
    var fb = new wanashare.Facebook();
    fb.share(
        "Message",   // The tweet content
        photo,       // The image to share (Blob or data64URI string)
        function (error) {
            if (error) {
                alert("An error occured!");
            } else {
                alert("Done :D");
            }
        }
    });
</script>

Build client libs

If you made changes in lib_src/, you should rebuild the lib/wanashare.js file:

npm install      # only once
npm run build

Run demo server

To run the demo server, first put your own app keys in demo/server.js file and then run the following command:

npm run server

Changelog

  • 0.2.5: Updates dependencies
  • 0.2.4: Updates dependencies
  • 0.2.3: Use https instead of ssh for repositiories addresses
  • 0.2.2: Allow empty messages
  • 0.2.1: Minor fixes in package.json and README.md
  • 0.2.0: Facebook support
  • 0.1.0: Initial release, Twitter support