This document describes how to modify or contribute to the FullCalendar project. If you are looking for end-developer documentation, please visit the project homepage.
You will need Git, Node, and NPM installed. For clarification, please view the jQuery readme, which requires a similar setup.
Also, you will need the grunt-cli and bower packages installed globally (-g
) on your system:
npm install -g grunt-cli bower
Then, clone FullCalendar's git repo:
git clone git://github.com/arshaw/fullcalendar.git
Enter the directory and install FullCalendar's development dependencies:
cd fullcalendar && npm install
After you make code changes, you'll want to compile the JS/CSS so that it can be previewed from the tests and demos. You can either manually rebuild each time you make a change:
grunt dev
Or, you can run a script that automatically rebuilds whenever you save a source file:
./build/watch.sh
When you are finished, run the following command to write the distributable files into the ./dist/
directory:
grunt
If you want to clean up the generated files, run:
grunt clean
Please follow the Google JavaScript Style Guide as closely as possible. With the following exceptions:
if (true) {
}
else { // please put else, else if, and catch on a separate line
}
// please write one-line array literals with a one-space padding inside
var a = [ 1, 2, 3 ];
// please write one-line object literals with a one-space padding inside
var o = { a: 1, b: 2, c: 3 };
Other exceptions:
- please ignore anything about Google Closure Compiler or the
goog
library - please do not write JSDoc comments
Notes about whitespace:
- use tabs instead of spaces
- separate functions with 2 blank lines
- separate logical blocks within functions with 1 blank line
Run the command line tool to automatically check your style:
grunt check
If you have edited code (including tests and translations) and would like to submit a pull request, please make sure you have done the following:
-
Conformed to the style guide (successfully run
grunt check
) -
Written automated tests. View the Automated Test README