A full interactive Calendar UI built for Vanilla JS or use in other frontend frameworks.

#javascript #js #vanillajs #ui #frontend #webdev #website #html #css #jquery

Adam Shaw 1f5b6490a3 break apart date_utils.js 12 年之前
build fb0202e6a5 update bower shim readme 12 年之前
demos 0c6f0ff13c adjust demos to work with PHP 5.2 or higher 12 年之前
lang 564ee6a9a9 [2.0] FullCalendar language files 12 年之前
src 1f5b6490a3 break apart date_utils.js 12 年之前
tasks 05ab0a7cf8 [2.0] build system updates, esp for language file generation 12 年之前
tests 1f5b6490a3 break apart date_utils.js 12 年之前
.bowerrc 9181e8be2e bower components go in lib/, all demos and tests reference them directly 12 年之前
.gitignore 9181e8be2e bower components go in lib/, all demos and tests reference them directly 12 年之前
Gruntfile.js 3746117815 fix lint problems in misc js files 12 年之前
bower.json 316e94412d upgrade to moment 2.5.1 and resolve cloning issue 12 年之前
changelog.md 1b12c3a35b update changelog with temporary link to 2.0 Upgrade article 12 年之前
fullcalendar.jquery.json 18f41c3550 [2.0] meta file updates 12 年之前
jscs.conf.js 3746117815 fix lint problems in misc js files 12 年之前
jshint.conf.js d4eb825d69 lint/style-check misc config js files in project root 12 年之前
karma.conf.js 4ec2dfac81 let karma know about the moment dependency 12 年之前
license.txt b7e644bf4e change to single MIT license. update banners in source files 13 年之前
lumbar.json 1f5b6490a3 break apart date_utils.js 12 年之前
package.json b23937a015 setup for code linting and style checking (jshint/jscs) 12 年之前
readme.md aecd5a49ed improve readme to include info about style guide 12 年之前

readme.md

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.

Getting Set Up

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

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

Automated Testing

To run automated tests, you must first install karma globally:

npm install -g karma

Then, assuming all your source files have been built (via grunt dev or watch), you can run the tests from a browser:

karma start --single-run

This will output a URL that you can visit in a browser. Alternatively, you can run the tests headlessly:

karma start --single-run --browsers PhantomJS

Style Guide

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

Before Contributing

If you have edited code (including tests and translations) and would like to submit a pull request, please make sure you have successfully ran the automated tests (instructions above) as well as checked your code for any quality/styling errors. To do this, run:

grunt check