Nana Plays Minesweeper

    jribbble

    2.0.4 • Public • Published

    Jribbble Build Status

    A jQuery plugin to retrieve info from the Dribbble API

    Live demos available on Codepen.io

    Dependencies

    • jQuery 1.8+

    Getting Jribbble

    with Bower

    bower install --save jribbble
    

    or direct download:

    Using Jribbble

    Jribbble covers all non-authenticated methods of the Dribbble API. All available methods are accessed from the jribbble object which is a member of the jQuery or $ object.

    Note: If you need access to Dribbble methods using POST or PUT you will need to access the API using OAuth. Jribbble only supports unauthenticated GET methods.

    <body>
      <script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
      <script src="jribbble.min.js"></script>
    
      <script>
        function success(apiResponse) {
          // do cool stuff with apiResponse
        };
    
        function error(jqxhr) {
          // Handle errors
        };
        // To use Jribbble you will need to register an application at:
        // https://dribbble.com/account/applications/new
        // Before calling any methods of jribbble you must set your
        // dribbble client access token
        $.jribbble.setToken('<your_dribbble_client_access_token>');
    
        // Jribbble methods return a promise
        $.jribbble.shots().then(success, error);
      </script>
    </body>

    Setting your app's client access token

    Before you can use any of Jribbble's methods, you must set your Dribbble app's client access token. If you do not have a token, create a new app at https://dribbble.com/account/applications/new

    $.jribbble.setToken(token)

    Description: Sets the required Dribbble application client access token.

    Parameters:

    • token - required String or Int Your Dribbble App client access token

    Example usage:

    $.jribbble.setToken('123456789');

    Available methods

    Shots

    Users

    Teams

    Buckets

    Projects

    Shots

    $.jribbble.shots(id, options)

    Description: Gets a list of shots.

    Parameters:

    • id - optional String or Int A shot id or a shot list name. See API Docs for list names.
    • options - optional Object Key:value pairs of options that will be included in the request as query parameters. See API Docs for a full list.

    Example usage:

    // Get a single shot
    $.jribbble.shots(2055068).then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    // Get the second page of debut shots from the past month sorted by number of
    // views at 35 per page.
    $.jribbble.shots('debuts', {
      'sort': 'views',
      'timeframe': 'month',
      'per_page': 35
    }).then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    $.jribbble.shots(shotId).attachments(attachmentId, options)

    Description: Gets the attachments or single attachment for a shot.

    Parameters:

    • shotId - required String or Int
    • attachmentId - optional String or Int Only required if you want a single attachment. options are not rejected, but will have no effect when attachmentId is used.
    • options - optional Object Key:value pairs of options that will be included in the request as query parameters. Attachments only support paging options. per_page and page.

    Example usage:

    // Get all attachments for a shot
    $.jribbble.shots(2066347).attachments().then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    // Get a single attachment for a shot
    $.jribbble.shots(2066347).attachments(370029).then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    $.jribbble.shots(shotId).buckets(options)

    Description: Gets the buckets for a shot.

    Parameters:

    • shotId - required String or Int
    • options - optional Object Key:value pairs of options that will be included in the request as query parameters. Buckets only support paging options. per_page and page.

    Example usage:

    // Get all buckets for a shot at 36 per page
    $.jribbble.shots(2067006).buckets({'per_page': 36}).then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    $.jribbble.shots(shotId).comments(commentId, options)

    Description: Gets the comments or single comment for a shot.

    Parameters:

    • shotId - required String or Int
    • commentId - optional String or Int Only required if you want a single comment. options are not rejected, but will have no effect when commentId is used.
    • options - optional Object Key:value pairs of options that will be included in the request as query parameters. Comments only support paging options. per_page and page.

    Example usage:

    // Get all comments for a shot
    $.jribbble.shots(2067969).comments().then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    // Get a single comment for a shot
    $.jribbble.shots(2067969).comments(4448286).then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    $.jribbble.shots(shotId).comments(commentId).likes(options)

    Description: Gets the likes for a comment.

    Parameters:

    • shotId - required String or Int
    • commentId - required String or Int The id of the comment
    • options - optional Object Key:value pairs of options that will be included in the request as query parameters. Likes only support paging options. per_page and page.

    Example usage:

    // Get the likes for a comment.
    $.jribbble.shots(2069352).comments(4450321).likes().then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    $.jribbble.shots(shotId).likes(options)

    Description: Gets the likes for a shot.

    Parameters:

    • shotId - required String or Int
    • options - optional Object Key:value pairs of options that will be included in the request as query parameters. Likes only support paging options. per_page and page.

    Example usage:

    // Get the likes for a shot.
    $.jribbble.shots(2058881).likes().then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    $.jribbble.shots(shotId).projects(options)

    Description: Gets the projects for a shot.

    Parameters:

    • shotId - required String or Int
    • options - optional Object Key:value pairs of options that will be included in the request as query parameters. Projects only support paging options. per_page and page.

    Example usage:

    // Get the projects for a shot.
    $.jribbble.shots(2077496).projects().then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    $.jribbble.shots(shotId).rebounds(options)

    Description: Gets the rebounds for a shot.

    Parameters:

    • shotId - required String or Int
    • options - optional Object Key:value pairs of options that will be included in the request as query parameters. Rebounds only support paging options. per_page and page.

    Example usage:

    // Get the rebounds for a shot.
    $.jribbble.shots(2046896).rebounds().then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    Users

    $.jribbble.users(userId)

    Description: Gets a single user

    Parameters:

    • userId - required String or Int The username or id for the user.

    Example usage:

    $.jribbble.users('tylergaw').then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    $.jribbble.users(userId).shots(options)

    Description: Get a user's shots

    Parameters:

    • userId - required String or Int The username or id for the user.
    • options - optional Object Key:value pairs of options that will be included in the request as query parameters. User's shots only support paging options. per_page and page.

    Example usage:

    $.jribbble.users('tylergaw').shots().then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    $.jribbble.users(userId).buckets(options)

    Description: Gets a user's buckets

    Parameters:

    • userId - required String or Int The username or id for the user.
    • options - optional Object Key:value pairs of options that will be included in the request as query parameters. Buckets only support paging options. per_page and page.

    Example usage:

    $.jribbble.users('markbult').buckets().then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    $.jribbble.users(userId).projects(options)

    Description: Gets a user's projects

    Parameters:

    • userId - required String or Int The username or id for the user.
    • options - optional Object Key:value pairs of options that will be included in the request as query parameters. User projects only support paging options. per_page and page.

    Example usage:

    $.jribbble.users('creativemints').projects().then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    $.jribbble.users(userId).teams(options)

    Description: Gets the teams a user belongs to

    Parameters:

    • userId - required String or Int The username or id for the user.
    • options - optional Object Key:value pairs of options that will be included in the request as query parameters. User teams only support paging options. per_page and page.

    Example usage:

    $.jribbble.users('veerlepieters').teams().then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    $.jribbble.users(userId).likes(options)

    Description: Gets the shots a user likes

    Parameters:

    • userId - required String or Int The username or id for the user.
    • options - optional Object Key:value pairs of options that will be included in the request as query parameters. User likes only support paging options. per_page and page.

    Example usage:

    $.jribbble.users('op45').likes().then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    $.jribbble.users(userId).followers(options)

    Description: Gets a user's followers

    Parameters:

    • userId - required String or Int The username or id for the user.
    • options - optional Object Key:value pairs of options that will be included in the request as query parameters. Followers only support paging options. per_page and page.

    Example usage:

    $.jribbble.users('tylergaw').followers().then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    $.jribbble.users(userId).following(options)

    Description: Gets the users a user is following

    Parameters:

    • userId - required String or Int The username or id for the user.
    • options - optional Object Key:value pairs of options that will be included in the request as query parameters. Following only support paging options. per_page and page.

    Example usage:

    $.jribbble.users('tylergaw').following().then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    $.jribbble.users(userId).isFollowing(targetUserId)

    Description: Check to see if a user is following another user.

    Parameters:

    • userId - required String or Int The username or id for the user.
    • targetUserId - required String or Int The username or id for the other user.

    Example usage:

    $.jribbble.users('tylergaw').isFollowing('jimniels').then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    Teams

    $.jribbble.teams(teamId).members(options)

    Description: Gets the members of a team.

    Parameters:

    • teamId - required String
    • options - optional Object Key:value pairs of options that will be included in the request as query parameters. Teams only support paging options. per_page and page.

    Example usage:

    $.jribbble.teams('eight2eight').members(options).then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    $.jribbble.teams(teamId).shots(options)

    Description: Gets the shots for a team.

    Parameters:

    • teamId - required String
    • options - optional Object Key:value pairs of options that will be included in the request as query parameters. Shots only support paging options. per_page and page.

    Example usage:

    $.jribbble.teams('eight2eight').shots(options).then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    Buckets

    $.jribbble.buckets(bucketId)

    Description: Gets a single bucket

    Parameters:

    • bucketId - required String or Int

    Example usage:

    $.jribbble.buckets(114550).then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    $.jribbble.buckets(bucketId).shots(options)

    Description: Gets the shots for a project

    Parameters:

    • bucketId - required String or Int
    • options - optional Object Key:value pairs of options that will be included in the request as query parameters. Shots only support paging options. per_page and page.

    Example usage:

    // Get the shots for a bucket.
    $.jribbble.buckets(114550).shots(options).then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    Projects

    $.jribbble.projects(projectId)

    Description: Gets a single project

    Parameters:

    • projectId - required String or Int

    Example usage:

    $.jribbble.projects(267945).then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.

    $.jribbble.projects(projectId).shots(options)

    Description: Gets the shots for a project

    Parameters:

    • projectId - required String or Int
    • options - optional Object Key:value pairs of options that will be included in the request as query parameters. Shots only support paging options. per_page and page.

    Example usage:

    // Get the shots for a project.
    $.jribbble.projects(267945).shots(options).then(function(res) {
      // Do cool stuff with response
    });

    Live example on Codepen.io.


    Contributing

    Jribbble is open source. Issues and pull requests gladly accepted.

    Tests

    Jribbble uses Qunit and PhantomJS for tests. If you submit a pull request, you should most likely write a new test or modify an existing test. All tests must pass for a pull request to be accepted.

    Installing test dependencies:

    npm install && npm install -g node-qunit-phantomjs
    

    running the tests:

    make test
    

    The tests will also run when pull requests are submitted. See Travis for build status.

    Building Jribbble

    Jribbble includes a small Makefile that includes a build task. The task copies the jribbble.js source to the /dist directory–adding the version number and build date–and creates a minified version of it using UglifyJS2.

    To build Jribbble you'll need UglifyJS2:

    npm install uglify-js -g
    

    then run

    make
    

    from the root directory

    Keywords

    Install

    npm i jribbble@2.0.4

    Homepage

    jribbble.com

    Version

    2.0.4

    License

    ISC

    Last publish

    Collaborators

    • thegaw