Skip to content

zachch/chardin.js

 
 

Repository files navigation

Chardin.js

Simple overlay instructions for your apps.

Check out a demo.

Chardin.js is a jQuery plugin that creates a simple overlay to display instructions on existent elements. It is inspired by the recent Gmail new composer tour which I loved.

chardin
Jean-Baptiste-Siméon Chardin

Installing

Simple! Fork this repo or download chardinjs.css and chardinjs.min.js and add the following assets to your HTML:

<link href="chardinjs.css" rel="stylesheet">
<script src="chardinjs.min.js"></script>

Installing in the rails asset pipeline (optional)

There's a chardinjs-rails gem.

Building (optional)

If you choose to fork the repo you can build the assets running

rake compile

Adding data for the instructions

Add the instructions to your elements:

data-intro: Text to show with the instructions
data-position: (left, top, right, bottom), where to place the text with respect to the element

<img src="img/chardin.png" data-intro="An awesome 18th-century painter, who found beauty in everyday, common things." data-position="right" />

Running (single step only)

Once you have your elements ready you can show instructions running

$('body').chardinJs('start')

If you would rather run ChardinJs confined to a particular container (instead of using the whole document) you can change body to some other selector.

$('.container').chardinJs('start')

Running (multiple step tutorial)

The set up for running a multiple step tutorial is slightly different. Firstly, you have to define all the steps in the following manner

tutorialSteps = {
  'selector1': {
    next: 'selector2',
    intro: 'Some text here',
    position: 'right'
  },
  'selector2': {
    next: '',
    redirect: '/to_some_url',
    intro: 'Some text here',
    position: 'right'
  }
}

Where 'selector1' represents a selector of one step in the tutorial.

Then to start the tutorial, call the following

$('.container').chardinJs('start', tutorialSteps, 'selector1')

The 3rd argument ('selector1') should be the step that you want to start the tutorial at. Starting the tutorial will run through the steps (starting from the step in the 3rd argument) till the last step.

Do not insert the data-intro and data-position attributes into the DOM. The script will handle the insertion and removal automatically.

Methods

.chardinJs('start')

Start ChardinJs in the selector.

.chardinJs('toggle')

Toggle ChardinJs.

.chardinJs('stop')

Make your best guess. That's right! Stops ChardinJs in the selector.

Events

'chardinJs:start'

Triggered when chardinJs is correctly started.

'chardinJs:stop'

Triggered when chardinJs is stopped.

Author

Pablo Fernandez

Contributors

Contributions

If you want to contribute, please:

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add yourself to the list of contributors in the README.md.
  • Send me a pull request on Github.

License

Copyright 2013 Pablo Fernandez

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

Simple overlay instructions for your apps.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • CoffeeScript 92.6%
  • Ruby 7.4%