A jQuery plugin to retrieve info from the Dribbble API
Live demos available on Codepen.io
- jQuery 1.8+
with Bower
bower install --save jribbble
or direct download:
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>
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
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');
- $.jribbble.shots
- $.jribbble.shots.attachments
- $.jribbble.shots.buckets
- $.jribbble.shots.comments
- $.jribbble.shots.comments.likes
- $.jribbble.shots.likes
- $.jribbble.shots.projects
- $.jribbble.shots.rebounds
- $.jribbble.users
- $.jribbble.users.shots
- $.jribbble.users.buckets
- $.jribbble.users.projects
- $.jribbble.users.teams
- $.jribbble.users.likes
- $.jribbble.users.followers
- $.jribbble.users.following
- $.jribbble.users.isFollowing
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.
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 whenattachmentId
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
andpage
.
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.
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
andpage
.
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.
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 whencommentId
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
andpage
.
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.
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
andpage
.
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.
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
andpage
.
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.
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
andpage
.
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.
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
andpage
.
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.
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.
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
andpage
.
Example usage:
$.jribbble.users('tylergaw').shots().then(function(res) {
// Do cool stuff with response
});
Live example on Codepen.io.
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
andpage
.
Example usage:
$.jribbble.users('markbult').buckets().then(function(res) {
// Do cool stuff with response
});
Live example on Codepen.io.
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
andpage
.
Example usage:
$.jribbble.users('creativemints').projects().then(function(res) {
// Do cool stuff with response
});
Live example on Codepen.io.
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
andpage
.
Example usage:
$.jribbble.users('veerlepieters').teams().then(function(res) {
// Do cool stuff with response
});
Live example on Codepen.io.
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
andpage
.
Example usage:
$.jribbble.users('op45').likes().then(function(res) {
// Do cool stuff with response
});
Live example on Codepen.io.
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
andpage
.
Example usage:
$.jribbble.users('tylergaw').followers().then(function(res) {
// Do cool stuff with response
});
Live example on Codepen.io.
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
andpage
.
Example usage:
$.jribbble.users('tylergaw').following().then(function(res) {
// Do cool stuff with response
});
Live example on Codepen.io.
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.
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
andpage
.
Example usage:
$.jribbble.teams('eight2eight').members(options).then(function(res) {
// Do cool stuff with response
});
Live example on Codepen.io.
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
andpage
.
Example usage:
$.jribbble.teams('eight2eight').shots(options).then(function(res) {
// Do cool stuff with response
});
Live example on Codepen.io.
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.
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
andpage
.
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.
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.
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
andpage
.
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.
Jribbble is open source. Issues and pull requests gladly accepted.
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.
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