mirror of
https://github.com/wassname/fullcalendar.git
synced 2026-07-16 01:20:25 +08:00
102 lines
3.0 KiB
Markdown
102 lines
3.0 KiB
Markdown
|
|
FullCalendar - Full-sized drag & drop event calendar
|
|
====================================================
|
|
|
|
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][fc-homepage].
|
|
|
|
|
|
Getting Set Up
|
|
--------------
|
|
|
|
You will need [Git][git], [Node][node], and NPM installed. For clarification, please view the [jQuery readme][jq-readme], which requires a similar setup.
|
|
|
|
Also, you will need the [grunt-cli][grunt-cli] and [bower][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
|
|
|
|
|
|
Development Workflow
|
|
--------------------
|
|
|
|
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
|
|
|
|
You can optionally add the `--sourceMap` flag to output source maps for debugging.
|
|
|
|
When you are finished, run the following command to write the distributable files into the `./build/out/` and `./build/dist/` directories:
|
|
|
|
grunt
|
|
|
|
If you want to clean up the generated files, run:
|
|
|
|
grunt clean
|
|
|
|
|
|
Style Guide
|
|
-----------
|
|
|
|
Please follow the [Google JavaScript Style Guide] as closely as possible. With the following exceptions:
|
|
|
|
```js
|
|
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
|
|
|
|
|
|
Before Contributing!
|
|
--------------------
|
|
|
|
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:
|
|
|
|
1. Conformed to the style guide (successfully run `grunt check`)
|
|
|
|
2. Written automated tests. View the [Automated Test README]
|
|
|
|
|
|
|
|
[fc-homepage]: http://arshaw.com/fullcalendar/
|
|
[git]: http://git-scm.com/
|
|
[node]: http://nodejs.org/
|
|
[grunt-cli]: http://gruntjs.com/getting-started#installing-the-cli
|
|
[bower]: http://bower.io/
|
|
[jq-readme]: https://github.com/jquery/jquery/blob/master/README.md#what-you-need-to-build-your-own-jquery
|
|
[karma]: http://karma-runner.github.io/0.10/index.html
|
|
[Google JavaScript Style Guide]: http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
|
|
[Automated Test README]: ./tests/automated_test_readme.md
|