Browse files

Merge latest master into extensible branch

  • Loading branch information...
2 parents b638b91 + 3678efb commit 890df134f8f9672b749980b11685b749bfe499e0 @eternicode committed Dec 17, 2013
Showing with 3,590 additions and 973 deletions.
  1. +1 −0 .gitignore
  2. +1 −0 .hgignore
  3. +1 −0 .hgtags
  4. +20 −0 .jshintrc
  5. +5 −1 .travis.yml
  6. +7 −0 CHANGELOG.md
  7. +5 −5 CONTRIBUTING.md
  8. +6 −628 README.md
  9. +2 −2 bower.json
  10. +71 −0 build/build3.less
  11. +1 −9 build/build_standalone.less
  12. +63 −0 build/build_standalone3.less
  13. +20 −0 composer.json
  14. +36 −5 css/datepicker.css
  15. +790 −0 css/datepicker3.css
  16. +153 −0 docs/Makefile
  17. +8 −0 docs/REAME.md
  18. BIN docs/_static/demo_head.png
  19. +248 −0 docs/conf.py
  20. +48 −0 docs/events.rst
  21. +28 −0 docs/i18n.rst
  22. +122 −0 docs/index.rst
  23. +27 −0 docs/keyboard.rst
  24. +190 −0 docs/make.bat
  25. +50 −0 docs/markup.rst
  26. +156 −0 docs/methods.rst
  27. +191 −0 docs/options.rst
  28. +36 −32 js/backends/bootstrap-datepicker.default.js
  29. +413 −174 js/bootstrap-datepicker.js
  30. +14 −0 js/locales/bootstrap-datepicker.cy.js
  31. +3 −2 js/locales/bootstrap-datepicker.da.js
  32. +1 −0 js/locales/bootstrap-datepicker.de.js
  33. +7 −3 js/locales/bootstrap-datepicker.et.js
  34. +17 −0 js/locales/bootstrap-datepicker.fa.js
  35. +1 −1 js/locales/bootstrap-datepicker.fr.js
  36. +11 −0 js/locales/bootstrap-datepicker.gl.js
  37. +1 −0 js/locales/bootstrap-datepicker.it.js
  38. +3 −1 js/locales/bootstrap-datepicker.ka.js
  39. +15 −0 js/locales/bootstrap-datepicker.kk.js
  40. +3 −3 js/locales/bootstrap-datepicker.lv.js
  41. +2 −1 js/locales/bootstrap-datepicker.mk.js
  42. +17 −0 js/locales/bootstrap-datepicker.nl-BE.js
  43. +2 −1 js/locales/bootstrap-datepicker.no.js
  44. +7 −6 js/locales/{bootstrap-datepicker.uk.js → bootstrap-datepicker.ua.js}
  45. +16 −0 js/locales/bootstrap-datepicker.vi.js
  46. +3 −2 js/locales/bootstrap-datepicker.zh-TW.js
  47. +1 −2 less/datepicker.less
  48. +252 −0 less/datepicker3.less
  49. +38 −15 tests/suites/component.js
  50. +97 −7 tests/suites/events.js
  51. +2 −2 tests/suites/inline.js
  52. +12 −6 tests/suites/keyboard_navigation/2011.js
  53. +97 −38 tests/suites/keyboard_navigation/2012.js
  54. +78 −0 tests/suites/methods.js
  55. +4 −4 tests/suites/mouse_navigation/2011.js
  56. +18 −18 tests/suites/mouse_navigation/2012.js
  57. +4 −0 tests/suites/noconflict.js
  58. +164 −5 tests/suites/options.js
  59. +1 −0 tests/tests.html
View
1 .gitignore
@@ -1,2 +1,3 @@
instrumented/
tests/coverage.html
+docs/_build
View
1 .hgignore
@@ -1,2 +1,3 @@
instrumented/
tests/coverage.html
+docs/_build
View
1 .hgtags
@@ -6,3 +6,4 @@ f6211e251c021331decc16bfbcf25577dd354ef4 1.0.2-rc.2
493d2332f0cb7f2dd308c442920da86063ff2e0f 1.0.2
77a6755dc3df3ada745024648535562587fab630 1.1.0
fe9e4106def42741adba1606245ab0eab32acb55 1.1.1
+e37ab4f7d0d30a45ee80a7019fd2bcf8c1765de7 1.1.2
View
20 .jshintrc
@@ -0,0 +1,20 @@
+{
+ "jquery": true,
+ "browser": true,
+
+ "eqeqeq": true,
+ "freeze": true,
+ //"indent": 4, // when we move to spaces
+ "latedef": true,
+ "undef": true,
+ "unused": true,
+ "immed": true,
+ "trailing": true,
+ "maxcomplexity": 50, // Can we get this under 5?
+ //"maxlen": 120,
+
+ "-W014": false, // Bad line breaking before ? (in tertiary operator)
+ "-W065": false, // Missing radix parameter to parseInt (defaults to 10)
+ "-W069": false, // Literal accessor is better written in dot notation
+ "-W100": false // Silently deleted characters (in locales)
+}
View
6 .travis.yml
@@ -1,4 +1,8 @@
+install:
+ - npm install -g jshint
before_script:
- cd ./tests
- echo "new Date().toString();" | phantomjs
-script: phantomjs run-qunit.js tests.html
+script:
+ - jshint ../js/bootstrap-datepicker.js ../js/locales/*.js
+ - phantomjs run-qunit.js tests.html
View
7 CHANGELOG.md
@@ -1,6 +1,13 @@
Changelog
=========
+1.1.2
+----------
+
+Clicking the clear button now triggers the input's `change` and datepicker's `changeDate` events.
+Fixed a bug that broke the event-attached `format` function.
+
+
1.1.1
----------
View
10 CONTRIBUTING.md
@@ -20,21 +20,21 @@ For all cases, you should have your own fork of the repo.
To submit a pull request for a **new feature**:
-1. Run the tests. Every pull request for a new feature should have an accompanying unit test. See the README in the `tests/` directory for details.
-2. Create a new branch off of the `master` branch for your feature, with a name following the pattern `feature/<description>`, where `<description>` is a short description of the new feature. This is particularly helpful when you want to submit multiple pull requests.
+1. Run the tests. Every pull request for a new feature should have an accompanying unit test and docs changes. See the README in the `tests/` and `docs/` directories for details.
+2. Create a new branch off of the `master` branch for your feature. This is particularly helpful when you want to submit multiple pull requests.
3. Add a test (or multiple tests) for your feature. Again, see `tests/README.md`.
4. Add your new feature, making the test pass.
5. Push to your fork and submit the pull request!
To submit a **bug fix**:
-1. Create a new branch off of the `master` branch, with a name following the pattern `bug/<description>`.
+1. Create a new branch off of the `master` branch.
2. Add a test that demonstrates the bug.
3. Make the test pass.
-4. Push to your fork and submit the pll request!
+4. Push to your fork and submit the pull request!
To submit a **documentation fix**:
-1. Create a new branch off of the `master` branch, with a name following the pattern `docs/<description>`.
+1. Create a new branch off of the `master` branch.
2. Add your documentation fixes (no tests required).
3. Push to your fork and submit the pull request!
View
634 README.md
@@ -1,635 +1,13 @@
-# [bootstrap-datepicker](http://eternicode.github.com/bootstrap-datepicker/) [![Build Status](https://travis-ci.org/eternicode/bootstrap-datepicker.png?branch=master)](https://travis-ci.org/eternicode/bootstrap-datepicker)
+# bootstrap-datepicker
This is a fork of Stefan Petre's [original code](http://www.eyecon.ro/bootstrap-datepicker/);
thanks go to him for getting this thing started!
-Please note that this fork is not used on Stefan's page at this time, nor is it maintained or
-contributed to by him (yet?)
+Please note that this fork is not used on Stefan's page, nor is it maintained or contributed to by him.
Versions are incremented according to [semver](http://semver.org/).
-[Online Demo](http://eternicode.github.com/bootstrap-datepicker/)
-
-# Requirements
-
-* [Bootstrap](http://twitter.github.com/bootstrap/) 2.0.4+
-* [jQuery](http://jquery.com/) 1.7.1+
-
-These are the specific versions bootstrap-datepicker is tested against (`js` files) and built against (`css` files). Use other versions at your own risk.
-
-# Example
-
-Attached to a field with the format specified via options:
-
-```html
-<input type="text" value="02-16-2012" class="datepicker">
-```
-```javascript
-$('.datepicker').datepicker({
- format: 'mm-dd-yyyy'
-});
-```
-
-Attached to a field with the format specified via data tag:
-
-```html
-<input type="text" value="02/16/12" data-date-format="mm/dd/yy" class="datepicker" >
-```
-```javascript
-$('.datepicker').datepicker();
-```
-
-As component:
-
-```html
-<div class="input-append date datepicker" data-date="12-02-2012" data-date-format="dd-mm-yyyy">
- <input size="16" type="text" value="12-02-2012" readonly><span class="add-on"><i class="icon-th"></i></span>
-</div>
-```
-```javascript
-$('.datepicker').datepicker();
-```
-
-Attached to non-field element, using events to work with the date values.
-
-```html
-<div class="alert alert-error" id="alert">
- <strong>Oh snap!</strong>
-</div>
-<table class="table">
- <thead>
- <tr>
- <th>
- Start date
- <a href="#" class="btn small" id="date-start" data-date-format="yyyy-mm-dd" data-date="2012-02-20">Change</a>
- </th>
- <th>
- End date
- <a href="#" class="btn small" id="date-end" data-date-format="yyyy-mm-dd" data-date="2012-02-25">Change</a>
- </th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td id="date-start-display">2012-02-20</td>
- <td id="date-end-display">2012-02-25</td>
- </tr>
- </tbody>
-</table>
-```
-```javascript
-var startDate = new Date(2012,1,20);
-var endDate = new Date(2012,1,25);
-$('#date-start')
- .datepicker()
- .on('changeDate', function(ev){
- if (ev.date.valueOf() > endDate.valueOf()){
- $('#alert').show().find('strong').text('The start date must be before the end date.');
- } else {
- $('#alert').hide();
- startDate = new Date(ev.date);
- $('#date-start-display').text($('#date-start').data('date'));
- }
- $('#date-start').datepicker('hide');
- });
-$('#date-end')
- .datepicker()
- .on('changeDate', function(ev){
- if (ev.date.valueOf() < startDate.valueOf()){
- $('#alert').show().find('strong').text('The end date must be after the start date.');
- } else {
- $('#alert').hide();
- endDate = new Date(ev.date);
- $('#date-end-display').text($('#date-end').data('date'));
- }
- $('#date-end').datepicker('hide');
- });
-```
-
-As inline datepicker:
-
-```html
-<div class="datepicker"></div>
-```
-```javascript
-$('.datepicker').datepicker();
-```
-
-
-# Using bootstrap-datepicker.js
-
-Load datepicker, the desired backend, and any locales after jquery:
-
- <script type="text/javascript" src="lib/jquery.min.js"></script>
- <script type="text/javascript" src="js/bootstrap-datepicker.js"></script>
- <script type="text/javascript" src="js/backkends/bootstrap-datepicker.default.js"></script>
- <script type="text/javascript" src="js/locales/bootstrap-datepicker.de.js"></script>
- <script type="text/javascript" src="js/locales/bootstrap-datepicker.fr.js"></script>
-
-Call the datepicker via javascript:
-
-```javascript
-$('.datepicker').datepicker()
-```
-
-## Dependencies
-
-Requires bootstrap's dropdown component (`dropdowns.less`) for some styles, and bootstrap's sprites (`sprites.less` and associated images) for arrows.
-
-A standalone .css file (including necessary dropdown styles and alternative, text-based arrows) can be generated by running `build/build_standalone.less` through the `lessc` compiler:
-
-```bash
-$ lessc build/build_standalone.less datepicker.css
-```
-
-## Data API
-
-As with bootstrap's own plugins, datepicker provides a data-api that can be used to instantiate datepickers without the need for custom javascript. For most datepickers, simply set `data-provide="datepicker"` on the element you want to initialize, and it will be intialized lazily, in true bootstrap fashion. For inline datepickers, this can alternatively be `data-provide="datepicker-inline"`; these will be immediately initialized on page load, and cannot be lazily loaded.
-
-You can disable datepicker's data-api in the same way as you would disable other bootstrap plugins:
-
-```javascript
-$(document).off('.datepicker.data-api');
-```
-
-## No Conflict
-
-```javascript
-var datepicker = $.fn.datepicker.noConflict(); // return $.fn.datepicker to previously assigned value
-$.fn.bootstrapDP = datepicker; // give $().bootstrapDP the bootstrap-datepicker functionality
-```
-
-## Options
-
-All options that take a "Date" can handle a `Date` object or a String formatted according to the given `format`. If the default backend is used, they can also handle a timedelta relative to today, eg '-1d', '+6m +1y', etc, where valid units are 'd' (day), 'w' (week), 'm' (month), and 'y' (year).
-
-Most options can be provided via data-attributes. An option can be converted to a data-attribute by taking its name, replacing each uppercase letter with its lowercase equivalent preceded by a dash, and prepending "data-date-" to the result. For example, `startDate` would be `data-date-start-date`, `format` would be `data-date-format`, and `daysOfWeekDisabled` would be `data-date-days-of-week-disabled`.
-
-### format
-
-String. Default: 'mm/dd/yyyy'
-
-The date format, combination of d, dd, D, DD, m, mm, M, MM, yy, yyyy.
-
-* d, dd: Numeric date, no leading zero and leading zero, respectively. Eg, 5, 05.
-* D, DD: Abbreviated and full weekday names, respectively. Eg, Mon, Monday.
-* m, mm: Numeric month, no leading zero and leading zero, respectively. Eg, 7, 07.
-* M, MM: Abbreviated and full month names, respectively. Eg, Jan, January
-* yy, yyyy: 2- and 4-digit years, respectively. Eg, 12, 2012.
-
-### weekStart
-
-Integer. Default: 0
-
-Day of the week start. 0 (Sunday) to 6 (Saturday)
-
-### calendarWeeks
-
-Boolean. Default: false
-
-Whether or not to show week numbers to the left of week rows.
-
-### startDate
-
-Date. Default: Beginning of time
-
-The earliest date that may be selected; all earlier dates will be disabled.
-
-### endDate
-
-Date. Default: End of time
-
-The latest date that may be selected; all later dates will be disabled.
-
-### daysOfWeekDisabled
-
-String, Array. Default: '', []
-
-Days of the week that should be disabled. Values are 0 (Sunday) to 6 (Saturday). Multiple values should be comma-separated. Example: disable weekends: `'0,6'` or `[0,6]`.
-
-### autoclose
-
-Boolean. Default: false
-
-Whether or not to close the datepicker immediately when a date is selected.
-
-### startView
-
-Number, String. Default: 0, 'month'
-
-The view that the datepicker should show when it is opened. Accepts values of 0 or 'month' for month view (the default), 1 or 'year' for the 12-month overview, and 2 or 'decade' for the 10-year overview. Useful for date-of-birth datepickers.
-
-### minViewMode
-
-Number, String. Default: 0, 'days'
-
-Set a limit for the view mode. Accepts: 'days' or 0, 'months' or 1, and 'years' or 2.
-Gives the ability to pick only a month or an year. The day is set to the 1st for 'months', and the month is set to January for 'years'.
-
-### todayBtn
-
-Boolean, "linked". Default: false
-
-If true or "linked", displays a "Today" button at the bottom of the datepicker to select the current date. If true, the "Today" button will only move the current date into view; if "linked", the current date will also be selected.
-
-### todayHighlight
-
-Boolean. Default: false
-
-If true, highlights the current date.
-
-### clearBtn
-
-Boolean. Default: false
-
-If true, displays a "Clear" button at the bottom of the datepicker to clear the input value. If "autoclose" is also set to true, this button will also close the datepicker.
-
-### keyboardNavigation
-
-Boolean. Default: true
-
-Whether or not to allow date navigation by arrow keys.
-
-### language
-
-String. Default: 'en'
-
-The IETF code (eg "en" for English, "pt-BR" for Brazilian Portuguese) of the language to use for month and day names. These will also be used as the input's value (and subsequently sent to the server in the case of form submissions). If a full code (eg "de-DE") is supplied the picker will first check for an "de-DE" language and if not found will fallback and check for a "de" language. If an unknown language code is given, English will be used. See I18N below.
-
-### forceParse
-
-Boolean. Default: true
-
-Whether or not to force parsing of the input value when the picker is closed. That is, when an invalid date is left in the input field by the user, the picker will forcibly parse that value, and set the input's value to the new, valid date, conforming to the given `format`.
-
-### inputs
-
-Array. Default: None
-
-A list of inputs to be used in a range picker, which will be attached to the selected element. Allows for explicitly creating a range picker on a non-standard element.
-
-### beforeShowDay
-
-Function(Date). Default: $.noop
-
-A function that takes a date as a parameter and returns one of the following values:
-
- * undefined to have no effect
- * A Boolean, indicating whether or not this date is selectable
- * A String representing additional CSS classes to apply to the date's cell
- * An object with the following properties:
- * `enabled`: same as the Boolean value above
- * `classes`: same as the String value above
- * `tooltip`: a tooltip to apply to this date, via the `title` HTML attribute
-
-### orientation
-
-String. Default: "auto"
-
-A space-separated string consisting of one or two of "left" or "right", "top" or "bottom", and "auto" (may be omitted); for example, "top left", "bottom" (horizontal orientation will default to "auto"), "right" (vertical orientation will default to "auto"), "auto top". Allows for fixed placement of the picker popup.
-
-"orientation" refers to the location of the picker popup's "anchor"; you can also think of it as the location of the trigger element (input, component, etc) relative to the picker.
-
-"auto" triggers "smart orientation" of the picker. Horizontal orientation will default to "left" and left offset will be tweaked to keep the picker inside the browser viewport; vertical orientation will simply choose "top" or "bottom", whichever will show more of the picker in the viewport.
-
-## Markup
-
-Format a component.
-
-```html
-<div class="input-append date datepicker" data-date="12-02-2012" data-date-format="dd-mm-yyyy">
- <input class="span2" size="16" type="text" value="12-02-2012"><span class="add-on"><i class="icon-th"></i></span>
-</div>
-```
-
-Create a date-range picker:
-
-```html
-<div class="input-daterange" id="datepicker">
- <input class="input-small" name="start" value="2012-04-05" />
- <span class="add-on">to</span>
- <input class="input-small" name="end" value="2012-04-07" />
-</div>
-```
-
-## Methods
-
-### .datepicker(options)
-
-Initializes an datepicker.
-
-### remove
-
-Arguments: None
-
-Remove the datepicker. Removes attached events, internal attached objects, and
-added HTML elements.
-
-```javascript
-$('.datepicker').datepicker('remove');
-```
-
-### show
-
-Arguments: None
-
-Show the datepicker.
-
-```javascript
-$('.datepicker').datepicker('show');
-```
-
-### hide
-
-Arguments: None
-
-Hide the datepicker.
-
-```javascript
-$('.datepicker').datepicker('hide');
-```
-
-### update
-
-Arguments:
-
-* date (String|Date)
-
-Update the datepicker with given argument or the current input value.
-
-```javascript
-$('.datepicker').datepicker('update');
-```
-
-### setDate
-
-Arguments:
-
-* date (Date)
-
-Sets the internal date. `date` is assumed to be a "local" date object, and will be converted to UTC for internal use.
-
-### setUTCDate
-
-Arguments:
-
-* date (Date)
-
-Sets the internal date. `date` is assumed to be a UTC date object, and will not be converted.
-
-### getDate
-
-Arguments: None
-
-Returns a localized date object representing the internal date object of the first datepicker in the selection.
-
-### setUTCDate
-
-Arguments: None
-
-Returns the internal UTC date object, as-is and unconverted to local time, of the first datepicker in the selection.
-
-### setStartDate
-
-Arguments:
-
-* startDate (Date)
-
-Sets a new lower date limit on the datepicker.
-
-```javascript
-$('.datepicker').datepicker('setStartDate', '2012-01-01');
-```
-
-Omit startDate (or provide an otherwise falsey value) to unset the limit.
-
-```javascript
-$('.datepicker').datepicker('setStartDate');
-$('.datepicker').datepicker('setStartDate', null);
-```
-
-### setEndDate
-
-Arguments:
-
-* endDate (Date)
-
-Sets a new upper date limit on the datepicker.
-
-```javascript
-$('.datepicker').datepicker('setEndDate', '2012-12-31');
-```
-
-Omit endDate (or provide an otherwise falsey value) to unset the limit.
-
-```javascript
-$('.datepicker').datepicker('setEndDate');
-$('.datepicker').datepicker('setEndDate', null);
-```
-
-### setDaysOfWeekDisabled
-
-Arguments:
-
-* daysOfWeekDisabled (String|Array)
-
-Sets the days of week that should be disabled.
-
-```javascript
-$('.datepicker').datepicker('setDaysOfWeekDisabled', [0,6]);
-```
-
-Omit daysOfWeekDisabled (or provide an otherwise falsey value) to unset the disabled days.
-
-```javascript
-$('.datepicker').datepicker('setDaysOfWeekDisabled');
-$('.datepicker').datepicker('setDaysOfWeekDisabled', null);
-```
-
-## Events
-
-Datepicker triggers a number of events in certain circumstances. All events have extra data attached to the event object that is passed to any event handlers:
-
-```javascript
-$('.datepicker').datepicker()
- .on(picker_event, function(e){
- # `e` here contains the extra attributes
- });
-```
-
-* `date`: the relevant Date object, in local timezone.
-* `format([format])`: a function to make formatting `date` easier. `format` can be any format string that datepicker supports. If `format` is not given, the format set on the datepicker will be used.
-
-### show
-
-Fired when the date picker is displayed.
-
-### hide
-
-Fired when the date picker is hidden.
-
-### changeDate
-
-Fired when the date is changed.
-
-### changeYear
-
-Fired when the *view* year is changed from decade view.
-
-### changeMonth
-
-Fired when the *view* month is changed from year view.
-
-## Keyboard support
-
-The datepicker includes some keyboard navigation:
-
-### up, down, left, right arrow keys
-
-By themselves, left/right will move backward/forward one day, up/down will move back/forward one week.
-
-With the shift key, up/left will move backward one month, down/right will move forward one month.
-
-With the ctrl key, up/left will move backward one year, down/right will move forward oone year.
-
-Shift+ctrl behaves the same as ctrl -- that is, it does not change both month and year simultaneously, only the year.
-
-### escape
-
-The escape key can be used to hide and re-show the datepicker; this is necessary if the user wants to manually edit the value.
-
-### enter
-
-When the picker is visible, enter will simply hide it. When the picker is not visible, enter will have normal effects -- submitting the current form, etc.
-
-## I18N
-
-The plugin supports i18n for the month and weekday names and the `weekStart` option. The default is English ('en'); other available translations are avilable in the `js/locales/` directory, simply include your desired locale after the plugin. To add more languages, simply add a key to `$.fn.datepicker.dates`, before calling `.datepicker()`. Example:
-
-```javascript
-$.fn.datepicker.dates['en'] = {
- days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
- daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
- daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"],
- months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
- monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
- today: "Today"
-};
-```
-
-Right-to-left languages may also include `rtl: true` to make the calendar display appropriately.
-
-If your browser (or those of your users) is displaying characters wrong, chances are the browser is loading the javascript file with a non-unicode encoding. Simply add `charset="UTF-8"` to your `script` tag:
-
-```html
-<script type="text/javascript" src="bootstrap-datepicker.XX.js" charset="UTF-8"></script>
-```
-
-```javascript
-$('.datepicker').datepicker({
- language: XX //as you defined in bootstrap-datepicker.XX.js
-});
-```
-
-# Backends
-
-Bootstrap-datepicker supports a generic backend interface for manipulating Date objects. The default backend performs these operations manually, but if you are using a third-party Date library, it may be more efficient to use a backend that interfaces with that library instead.
-
-To create a backend, simply call the `setBackend` function with an object which provides the required functions:
-
-```javascript
-$.fn.datepicker.setBackend({
- name: 'my_backend',
- // required functions
-});
-```
-
-## Required functions
-
-### getDaysInMonth(date)
-
-Arguments:
- * date (Date)
-
-Returns: Number
-
-### parseDate(date, format, language)
-
-Arguments:
- * date (String, Date)
- * format (String)
- * language (String)
-
-Returns: Date. If `date` is a Date object, it may be returned unchanged.
-
-### formatDate(date, format, language)
-
-Arguments:
- * date (Date)
- * format (String)
- * language (String)
-
-Returns: String
-
-### moveMonth(date, vector)
-
-Arguments:
- * date (Date)
- * vector (Number)
-
-Returns: A new date object whose month is `vector` months ahead of the original `date`'s month. Must support negative `vector`s.
-
-### moveYear(date, vector)
-
-Arguments:
- * date (Date)
- * vector (Number)
-
-Returns: A new date object whose year is `vector` years ahead of the original `date`'s year. Must support negative `vector`s.
-
-## Optional functions
-
-These are mostly localization functions. If omitted, defaults will be provided that plug into bootstrap-datepicker's own i18n infrastructure. Backends can access these fill-ins as if they were local methods, ie `this.getWeekStart()`.
-
-### getWeekStart(language)
-
-Arguments:
- * language (String)
-
-Returns: A Number, 0-6 representing the first day of the week.
-
-### getDays(language)
-
-Arguments:
- * language (String)
-
-Return: A list of the full names of the days of the week; eg `["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]`
-
-### getDaysShort(language)
-
-Arguments:
- * language (String)
-
-Return: A list of the short names of the days of the week; eg `["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]`
-
-### getDaysMin(language)
-
-Arguments:
- * language (String)
-
-Return: A list of the minimal names of the days of the week; eg `["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"]`
-
-### getMonths(language)
-
-Arguments:
- * language (String)
-
-Return: A list of full month names; eg `["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]`
-
-### getMonthsShort(language)
-
-Arguments:
- * language (String)
-
-Return: A list of three-letter month names; eg `["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]`
-
+* [Online Demo](http://eternicode.github.io/bootstrap-datepicker/)
+* [Online Docs](http://bootstrap-datepicker.readthedocs.org/) (ReadTheDocs.com)
+* [Google Group](https://groups.google.com/group/bootstrap-datepicker/)
+* [Travis CI ![Build Status](https://travis-ci.org/eternicode/bootstrap-datepicker.png?branch=master)](https://travis-ci.org/eternicode/bootstrap-datepicker)
View
4 bower.json
@@ -1,9 +1,9 @@
{
"name": "bootstrap-datepicker",
"version": "1.1.1",
- "main": ["js/bootstrap-datepicker.js","css/datepicker.css"],
+ "main": ["js/bootstrap-datepicker.js", "css/datepicker.css", "css/datepicker3.css"],
"dependencies": {
"jquery" : ">=1.7.1",
- "bootstrap" : ">=2.0.4 <3.0"
+ "bootstrap" : ">=3.0 <4.0"
}
}
View
71 build/build3.less
@@ -0,0 +1,71 @@
+// Datepicker .less buildfile. Includes select mixins/variables from bootstrap
+// and imports the included datepicker.less to output a minimal datepicker.css
+//
+// Usage:
+// lessc build.less datepicker.css
+//
+// Variables and mixins copied from bootstrap 2.0.2
+
+// Variables
+@gray: lighten(#000, 33.5%); // #555
+@gray-light: lighten(#000, 60%); // #999
+@gray-lighter: lighten(#000, 93.5%); // #eee
+
+@input-border: #ccc;
+
+@brand-primary: #428bca;
+//@btn-default-color: #333;
+//@btn-default-bg: #fff;
+//@btn-default-border: #ccc;
+@btn-primary-color: #fff;
+@btn-primary-bg: @brand-primary;
+@btn-primary-border: darken(@btn-primary-bg, 5%);
+
+
+@btn-link-disabled-color: @gray-light;
+
+@input-group-addon-bg: @gray-lighter;
+@input-group-addon-border-color: @input-border;
+
+@font-size-base: 14px;
+@line-height-base: 1.428571429; // 20/14
+@line-height-computed: floor(@font-size-base * @line-height-base); // ~20px
+
+
+// Mixins
+
+// Button variants
+.button-variant(@color; @background; @border) {
+ color: @color;
+ background-color: @background;
+ border-color: @border;
+
+ &:hover,
+ &:focus,
+ &:active,
+ &.active,
+ .open .dropdown-toggle& {
+ color: @color;
+ background-color: darken(@background, 8%);
+ border-color: darken(@border, 12%);
+ }
+ &:active,
+ &.active,
+ .open .dropdown-toggle& {
+ background-image: none;
+ }
+ &.disabled,
+ &[disabled],
+ fieldset[disabled] & {
+ &,
+ &:hover,
+ &:focus,
+ &:active,
+ &.active {
+ background-color: @background;
+ border-color: @border
+ }
+ }
+}
+
+@import "../less/datepicker3.less";
View
10 build/build_standalone.less
@@ -12,7 +12,7 @@
@zindexDropdown: 1000;
@grayDark: #333;
-@baseLineHeight: 18px;
+@baseLineHeight: 20px;
@tableBackground: transparent; // overall background-color
@dropdownBackground: @white;
@dropdownBorder: rgba(0,0,0,.2);
@@ -59,11 +59,3 @@
padding: 4px 5px;
}
}
-
-// Alternative arrows
-// May require `charset="UTF-8"` in your `<link>` tag
-.datepicker {
- .prev, .next {font-style:normal;}
- .prev:after {content:"«";}
- .next:after {content:"»";}
-}
View
63 build/build_standalone3.less
@@ -0,0 +1,63 @@
+// Datepicker standalone .less buildfile. Includes all necessary mixins/variables/rules from bootstrap
+// and imports the included datepicker.less to output a minimal standalone datepicker.css
+//
+// Usage:
+// lessc build_standalone.less datepicker.css
+//
+// Variables, mixins, and rules copied from bootstrap 2.0.2
+
+@import "build3.less";
+
+// Dropdown css
+
+@zindex-dropdown: 1000;
+@gray-dark: #333;
+@line-height-base: 1.428571429; // 20/14
+@table-bg: transparent; // overall background-color
+@dropdown-bg: #fff;
+@dropdow-border: rgba(0,0,0,.15);
+@dropdown-link-color: @gray-dark;
+@dropdown-link-hover-color: #fff;
+@component-active-bg: @brand-primary;
+@dropdown-link-active-bg: @component-active-bg;
+@dropdown-link-hover-bg: @dropdown-link-active-bg;
+
+// Drop shadows
+.box-shadow(@shadow) {
+ -webkit-box-shadow: @shadow;
+ -moz-box-shadow: @shadow;
+ box-shadow: @shadow;
+}
+
+// The dropdown menu (ul)
+// ----------------------
+.datepicker.dropdown-menu {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: @zindex-dropdown;
+ float: left;
+ display: none; // none by default, but block on "open" of the menu
+ min-width: 160px;
+ list-style: none;
+ background-color: @dropdown-bg;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0,0,0,.2);
+ border-radius: 5px;
+ .box-shadow(0 5px 10px rgba(0,0,0,.2));
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding;
+ background-clip: padding-box;
+ *border-right-width: 2px;
+ *border-bottom-width: 2px;
+
+ // Normally inherited from bootstrap's `body`
+ color: #333333;
+ font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
+ font-size:13px;
+ line-height: @line-height-base;
+
+ th, td {
+ padding: 4px 5px;
+ }
+}
View
20 composer.json
@@ -0,0 +1,20 @@
+{
+ "name": "eternicode/bootstrap-datepicker",
+ "type": "component",
+ "require": {
+ "robloach/component-installer": "*",
+ "components/bootstrap" : ">=3.0, <4.0",
+ "components/jquery": ">=1.7.1"
+ },
+ "extra": {
+ "component": {
+ "scripts": [
+ "js/bootstrap-datepicker.js"
+ ],
+ "styles": [
+ "css/datepicker.css",
+ "css/datepicker3.css"
+ ]
+ }
+ }
+}
View
41 css/datepicker.css
@@ -16,7 +16,6 @@
/*.dow {
border-top: 1px solid #ddd !important;
}*/
-
}
.datepicker-inline {
width: 220px;
@@ -113,7 +112,8 @@
.table-striped .datepicker table tr th {
background-color: transparent;
}
-.datepicker table tr td.day:hover {
+.datepicker table tr td.day:hover,
+.datepicker table tr td.day.focused {
background: #eeeeee;
cursor: pointer;
}
@@ -445,7 +445,6 @@
}
.input-append.date .add-on i,
.input-prepend.date .add-on i {
- display: block;
cursor: pointer;
width: 16px;
height: 16px;
@@ -467,10 +466,10 @@
display: inline-block;
width: auto;
min-width: 16px;
- height: 18px;
+ height: 20px;
padding: 4px 5px;
font-weight: normal;
- line-height: 18px;
+ line-height: 20px;
text-align: center;
text-shadow: 0 1px 0 #ffffff;
vertical-align: middle;
@@ -479,3 +478,35 @@
margin-left: -5px;
margin-right: -5px;
}
+.datepicker.dropdown-menu {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1000;
+ float: left;
+ display: none;
+ min-width: 160px;
+ list-style: none;
+ background-color: #ffffff;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ -webkit-border-radius: 5px;
+ -moz-border-radius: 5px;
+ border-radius: 5px;
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding;
+ background-clip: padding-box;
+ *border-right-width: 2px;
+ *border-bottom-width: 2px;
+ color: #333333;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 13px;
+ line-height: 20px;
+}
+.datepicker.dropdown-menu th,
+.datepicker.dropdown-menu td {
+ padding: 4px 5px;
+}
View
790 css/datepicker3.css
@@ -0,0 +1,790 @@
+/*!
+ * Datepicker for Bootstrap
+ *
+ * Copyright 2012 Stefan Petre
+ * Improvements by Andrew Rowls
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ */
+.datepicker {
+ padding: 4px;
+ border-radius: 4px;
+ direction: ltr;
+ /*.dow {
+ border-top: 1px solid #ddd !important;
+ }*/
+}
+.datepicker-inline {
+ width: 220px;
+}
+.datepicker.datepicker-rtl {
+ direction: rtl;
+}
+.datepicker.datepicker-rtl table tr td span {
+ float: right;
+}
+.datepicker-dropdown {
+ top: 0;
+ left: 0;
+}
+.datepicker-dropdown:before {
+ content: '';
+ display: inline-block;
+ border-left: 7px solid transparent;
+ border-right: 7px solid transparent;
+ border-bottom: 7px solid #ccc;
+ border-top: 0;
+ border-bottom-color: rgba(0, 0, 0, 0.2);
+ position: absolute;
+}
+.datepicker-dropdown:after {
+ content: '';
+ display: inline-block;
+ border-left: 6px solid transparent;
+ border-right: 6px solid transparent;
+ border-bottom: 6px solid #fff;
+ border-top: 0;
+ position: absolute;
+}
+.datepicker-dropdown.datepicker-orient-left:before {
+ left: 6px;
+}
+.datepicker-dropdown.datepicker-orient-left:after {
+ left: 7px;
+}
+.datepicker-dropdown.datepicker-orient-right:before {
+ right: 6px;
+}
+.datepicker-dropdown.datepicker-orient-right:after {
+ right: 7px;
+}
+.datepicker-dropdown.datepicker-orient-top:before {
+ top: -7px;
+}
+.datepicker-dropdown.datepicker-orient-top:after {
+ top: -6px;
+}
+.datepicker-dropdown.datepicker-orient-bottom:before {
+ bottom: -7px;
+ border-bottom: 0;
+ border-top: 7px solid #999;
+}
+.datepicker-dropdown.datepicker-orient-bottom:after {
+ bottom: -6px;
+ border-bottom: 0;
+ border-top: 6px solid #fff;
+}
+.datepicker > div {
+ display: none;
+}
+.datepicker.days div.datepicker-days {
+ display: block;
+}
+.datepicker.months div.datepicker-months {
+ display: block;
+}
+.datepicker.years div.datepicker-years {
+ display: block;
+}
+.datepicker table {
+ margin: 0;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+.datepicker table tr td,
+.datepicker table tr th {
+ text-align: center;
+ width: 30px;
+ height: 30px;
+ border-radius: 4px;
+ border: none;
+}
+.table-striped .datepicker table tr td,
+.table-striped .datepicker table tr th {
+ background-color: transparent;
+}
+.datepicker table tr td.day:hover,
+.datepicker table tr td.day.focused {
+ background: #eeeeee;
+ cursor: pointer;
+}
+.datepicker table tr td.old,
+.datepicker table tr td.new {
+ color: #999999;
+}
+.datepicker table tr td.disabled,
+.datepicker table tr td.disabled:hover {
+ background: none;
+ color: #999999;
+ cursor: default;
+}
+.datepicker table tr td.today,
+.datepicker table tr td.today:hover,
+.datepicker table tr td.today.disabled,
+.datepicker table tr td.today.disabled:hover {
+ color: #000000;
+ background-color: #ffdb99;
+ border-color: #ffb733;
+}
+.datepicker table tr td.today:hover,
+.datepicker table tr td.today:hover:hover,
+.datepicker table tr td.today.disabled:hover,
+.datepicker table tr td.today.disabled:hover:hover,
+.datepicker table tr td.today:focus,
+.datepicker table tr td.today:hover:focus,
+.datepicker table tr td.today.disabled:focus,
+.datepicker table tr td.today.disabled:hover:focus,
+.datepicker table tr td.today:active,
+.datepicker table tr td.today:hover:active,
+.datepicker table tr td.today.disabled:active,
+.datepicker table tr td.today.disabled:hover:active,
+.datepicker table tr td.today.active,
+.datepicker table tr td.today:hover.active,
+.datepicker table tr td.today.disabled.active,
+.datepicker table tr td.today.disabled:hover.active,
+.open .dropdown-toggle.datepicker table tr td.today,
+.open .dropdown-toggle.datepicker table tr td.today:hover,
+.open .dropdown-toggle.datepicker table tr td.today.disabled,
+.open .dropdown-toggle.datepicker table tr td.today.disabled:hover {
+ color: #000000;
+ background-color: #ffcd70;
+ border-color: #f59e00;
+}
+.datepicker table tr td.today:active,
+.datepicker table tr td.today:hover:active,
+.datepicker table tr td.today.disabled:active,
+.datepicker table tr td.today.disabled:hover:active,
+.datepicker table tr td.today.active,
+.datepicker table tr td.today:hover.active,
+.datepicker table tr td.today.disabled.active,
+.datepicker table tr td.today.disabled:hover.active,
+.open .dropdown-toggle.datepicker table tr td.today,
+.open .dropdown-toggle.datepicker table tr td.today:hover,
+.open .dropdown-toggle.datepicker table tr td.today.disabled,
+.open .dropdown-toggle.datepicker table tr td.today.disabled:hover {
+ background-image: none;
+}
+.datepicker table tr td.today.disabled,
+.datepicker table tr td.today:hover.disabled,
+.datepicker table tr td.today.disabled.disabled,
+.datepicker table tr td.today.disabled:hover.disabled,
+.datepicker table tr td.today[disabled],
+.datepicker table tr td.today:hover[disabled],
+.datepicker table tr td.today.disabled[disabled],
+.datepicker table tr td.today.disabled:hover[disabled],
+fieldset[disabled] .datepicker table tr td.today,
+fieldset[disabled] .datepicker table tr td.today:hover,
+fieldset[disabled] .datepicker table tr td.today.disabled,
+fieldset[disabled] .datepicker table tr td.today.disabled:hover,
+.datepicker table tr td.today.disabled:hover,
+.datepicker table tr td.today:hover.disabled:hover,
+.datepicker table tr td.today.disabled.disabled:hover,
+.datepicker table tr td.today.disabled:hover.disabled:hover,
+.datepicker table tr td.today[disabled]:hover,
+.datepicker table tr td.today:hover[disabled]:hover,
+.datepicker table tr td.today.disabled[disabled]:hover,
+.datepicker table tr td.today.disabled:hover[disabled]:hover,
+fieldset[disabled] .datepicker table tr td.today:hover,
+fieldset[disabled] .datepicker table tr td.today:hover:hover,
+fieldset[disabled] .datepicker table tr td.today.disabled:hover,
+fieldset[disabled] .datepicker table tr td.today.disabled:hover:hover,
+.datepicker table tr td.today.disabled:focus,
+.datepicker table tr td.today:hover.disabled:focus,
+.datepicker table tr td.today.disabled.disabled:focus,
+.datepicker table tr td.today.disabled:hover.disabled:focus,
+.datepicker table tr td.today[disabled]:focus,
+.datepicker table tr td.today:hover[disabled]:focus,
+.datepicker table tr td.today.disabled[disabled]:focus,
+.datepicker table tr td.today.disabled:hover[disabled]:focus,
+fieldset[disabled] .datepicker table tr td.today:focus,
+fieldset[disabled] .datepicker table tr td.today:hover:focus,
+fieldset[disabled] .datepicker table tr td.today.disabled:focus,
+fieldset[disabled] .datepicker table tr td.today.disabled:hover:focus,
+.datepicker table tr td.today.disabled:active,
+.datepicker table tr td.today:hover.disabled:active,
+.datepicker table tr td.today.disabled.disabled:active,
+.datepicker table tr td.today.disabled:hover.disabled:active,
+.datepicker table tr td.today[disabled]:active,
+.datepicker table tr td.today:hover[disabled]:active,
+.datepicker table tr td.today.disabled[disabled]:active,
+.datepicker table tr td.today.disabled:hover[disabled]:active,
+fieldset[disabled] .datepicker table tr td.today:active,
+fieldset[disabled] .datepicker table tr td.today:hover:active,
+fieldset[disabled] .datepicker table tr td.today.disabled:active,
+fieldset[disabled] .datepicker table tr td.today.disabled:hover:active,
+.datepicker table tr td.today.disabled.active,
+.datepicker table tr td.today:hover.disabled.active,
+.datepicker table tr td.today.disabled.disabled.active,
+.datepicker table tr td.today.disabled:hover.disabled.active,
+.datepicker table tr td.today[disabled].active,
+.datepicker table tr td.today:hover[disabled].active,
+.datepicker table tr td.today.disabled[disabled].active,
+.datepicker table tr td.today.disabled:hover[disabled].active,
+fieldset[disabled] .datepicker table tr td.today.active,
+fieldset[disabled] .datepicker table tr td.today:hover.active,
+fieldset[disabled] .datepicker table tr td.today.disabled.active,
+fieldset[disabled] .datepicker table tr td.today.disabled:hover.active {
+ background-color: #ffdb99;
+ border-color: #ffb733;
+}
+.datepicker table tr td.today:hover:hover {
+ color: #000;
+}
+.datepicker table tr td.today.active:hover {
+ color: #fff;
+}
+.datepicker table tr td.range,
+.datepicker table tr td.range:hover,
+.datepicker table tr td.range.disabled,
+.datepicker table tr td.range.disabled:hover {
+ background: #eeeeee;
+ border-radius: 0;
+}
+.datepicker table tr td.range.today,
+.datepicker table tr td.range.today:hover,
+.datepicker table tr td.range.today.disabled,
+.datepicker table tr td.range.today.disabled:hover {
+ color: #000000;
+ background-color: #f7ca77;
+ border-color: #f1a417;
+ border-radius: 0;
+}
+.datepicker table tr td.range.today:hover,
+.datepicker table tr td.range.today:hover:hover,
+.datepicker table tr td.range.today.disabled:hover,
+.datepicker table tr td.range.today.disabled:hover:hover,
+.datepicker table tr td.range.today:focus,
+.datepicker table tr td.range.today:hover:focus,
+.datepicker table tr td.range.today.disabled:focus,
+.datepicker table tr td.range.today.disabled:hover:focus,
+.datepicker table tr td.range.today:active,
+.datepicker table tr td.range.today:hover:active,
+.datepicker table tr td.range.today.disabled:active,
+.datepicker table tr td.range.today.disabled:hover:active,
+.datepicker table tr td.range.today.active,
+.datepicker table tr td.range.today:hover.active,
+.datepicker table tr td.range.today.disabled.active,
+.datepicker table tr td.range.today.disabled:hover.active,
+.open .dropdown-toggle.datepicker table tr td.range.today,
+.open .dropdown-toggle.datepicker table tr td.range.today:hover,
+.open .dropdown-toggle.datepicker table tr td.range.today.disabled,
+.open .dropdown-toggle.datepicker table tr td.range.today.disabled:hover {
+ color: #000000;
+ background-color: #f4bb51;
+ border-color: #bf800c;
+}
+.datepicker table tr td.range.today:active,
+.datepicker table tr td.range.today:hover:active,
+.datepicker table tr td.range.today.disabled:active,
+.datepicker table tr td.range.today.disabled:hover:active,
+.datepicker table tr td.range.today.active,
+.datepicker table tr td.range.today:hover.active,
+.datepicker table tr td.range.today.disabled.active,
+.datepicker table tr td.range.today.disabled:hover.active,
+.open .dropdown-toggle.datepicker table tr td.range.today,
+.open .dropdown-toggle.datepicker table tr td.range.today:hover,
+.open .dropdown-toggle.datepicker table tr td.range.today.disabled,
+.open .dropdown-toggle.datepicker table tr td.range.today.disabled:hover {
+ background-image: none;
+}
+.datepicker table tr td.range.today.disabled,
+.datepicker table tr td.range.today:hover.disabled,
+.datepicker table tr td.range.today.disabled.disabled,
+.datepicker table tr td.range.today.disabled:hover.disabled,
+.datepicker table tr td.range.today[disabled],
+.datepicker table tr td.range.today:hover[disabled],
+.datepicker table tr td.range.today.disabled[disabled],
+.datepicker table tr td.range.today.disabled:hover[disabled],
+fieldset[disabled] .datepicker table tr td.range.today,
+fieldset[disabled] .datepicker table tr td.range.today:hover,
+fieldset[disabled] .datepicker table tr td.range.today.disabled,
+fieldset[disabled] .datepicker table tr td.range.today.disabled:hover,
+.datepicker table tr td.range.today.disabled:hover,
+.datepicker table tr td.range.today:hover.disabled:hover,
+.datepicker table tr td.range.today.disabled.disabled:hover,
+.datepicker table tr td.range.today.disabled:hover.disabled:hover,
+.datepicker table tr td.range.today[disabled]:hover,
+.datepicker table tr td.range.today:hover[disabled]:hover,
+.datepicker table tr td.range.today.disabled[disabled]:hover,
+.datepicker table tr td.range.today.disabled:hover[disabled]:hover,
+fieldset[disabled] .datepicker table tr td.range.today:hover,
+fieldset[disabled] .datepicker table tr td.range.today:hover:hover,
+fieldset[disabled] .datepicker table tr td.range.today.disabled:hover,
+fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:hover,
+.datepicker table tr td.range.today.disabled:focus,
+.datepicker table tr td.range.today:hover.disabled:focus,
+.datepicker table tr td.range.today.disabled.disabled:focus,
+.datepicker table tr td.range.today.disabled:hover.disabled:focus,
+.datepicker table tr td.range.today[disabled]:focus,
+.datepicker table tr td.range.today:hover[disabled]:focus,
+.datepicker table tr td.range.today.disabled[disabled]:focus,
+.datepicker table tr td.range.today.disabled:hover[disabled]:focus,
+fieldset[disabled] .datepicker table tr td.range.today:focus,
+fieldset[disabled] .datepicker table tr td.range.today:hover:focus,
+fieldset[disabled] .datepicker table tr td.range.today.disabled:focus,
+fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:focus,
+.datepicker table tr td.range.today.disabled:active,
+.datepicker table tr td.range.today:hover.disabled:active,
+.datepicker table tr td.range.today.disabled.disabled:active,
+.datepicker table tr td.range.today.disabled:hover.disabled:active,
+.datepicker table tr td.range.today[disabled]:active,
+.datepicker table tr td.range.today:hover[disabled]:active,
+.datepicker table tr td.range.today.disabled[disabled]:active,
+.datepicker table tr td.range.today.disabled:hover[disabled]:active,
+fieldset[disabled] .datepicker table tr td.range.today:active,
+fieldset[disabled] .datepicker table tr td.range.today:hover:active,
+fieldset[disabled] .datepicker table tr td.range.today.disabled:active,
+fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:active,
+.datepicker table tr td.range.today.disabled.active,
+.datepicker table tr td.range.today:hover.disabled.active,
+.datepicker table tr td.range.today.disabled.disabled.active,
+.datepicker table tr td.range.today.disabled:hover.disabled.active,
+.datepicker table tr td.range.today[disabled].active,
+.datepicker table tr td.range.today:hover[disabled].active,
+.datepicker table tr td.range.today.disabled[disabled].active,
+.datepicker table tr td.range.today.disabled:hover[disabled].active,
+fieldset[disabled] .datepicker table tr td.range.today.active,
+fieldset[disabled] .datepicker table tr td.range.today:hover.active,
+fieldset[disabled] .datepicker table tr td.range.today.disabled.active,
+fieldset[disabled] .datepicker table tr td.range.today.disabled:hover.active {
+ background-color: #f7ca77;
+ border-color: #f1a417;
+}
+.datepicker table tr td.selected,
+.datepicker table tr td.selected:hover,
+.datepicker table tr td.selected.disabled,
+.datepicker table tr td.selected.disabled:hover {
+ color: #ffffff;
+ background-color: #999999;
+ border-color: #555555;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+.datepicker table tr td.selected:hover,
+.datepicker table tr td.selected:hover:hover,
+.datepicker table tr td.selected.disabled:hover,
+.datepicker table tr td.selected.disabled:hover:hover,
+.datepicker table tr td.selected:focus,
+.datepicker table tr td.selected:hover:focus,
+.datepicker table tr td.selected.disabled:focus,
+.datepicker table tr td.selected.disabled:hover:focus,
+.datepicker table tr td.selected:active,
+.datepicker table tr td.selected:hover:active,
+.datepicker table tr td.selected.disabled:active,
+.datepicker table tr td.selected.disabled:hover:active,
+.datepicker table tr td.selected.active,
+.datepicker table tr td.selected:hover.active,
+.datepicker table tr td.selected.disabled.active,
+.datepicker table tr td.selected.disabled:hover.active,
+.open .dropdown-toggle.datepicker table tr td.selected,
+.open .dropdown-toggle.datepicker table tr td.selected:hover,
+.open .dropdown-toggle.datepicker table tr td.selected.disabled,
+.open .dropdown-toggle.datepicker table tr td.selected.disabled:hover {
+ color: #ffffff;
+ background-color: #858585;
+ border-color: #373737;
+}
+.datepicker table tr td.selected:active,
+.datepicker table tr td.selected:hover:active,
+.datepicker table tr td.selected.disabled:active,
+.datepicker table tr td.selected.disabled:hover:active,
+.datepicker table tr td.selected.active,
+.datepicker table tr td.selected:hover.active,
+.datepicker table tr td.selected.disabled.active,
+.datepicker table tr td.selected.disabled:hover.active,
+.open .dropdown-toggle.datepicker table tr td.selected,
+.open .dropdown-toggle.datepicker table tr td.selected:hover,
+.open .dropdown-toggle.datepicker table tr td.selected.disabled,
+.open .dropdown-toggle.datepicker table tr td.selected.disabled:hover {
+ background-image: none;
+}
+.datepicker table tr td.selected.disabled,
+.datepicker table tr td.selected:hover.disabled,
+.datepicker table tr td.selected.disabled.disabled,
+.datepicker table tr td.selected.disabled:hover.disabled,
+.datepicker table tr td.selected[disabled],
+.datepicker table tr td.selected:hover[disabled],
+.datepicker table tr td.selected.disabled[disabled],
+.datepicker table tr td.selected.disabled:hover[disabled],
+fieldset[disabled] .datepicker table tr td.selected,
+fieldset[disabled] .datepicker table tr td.selected:hover,
+fieldset[disabled] .datepicker table tr td.selected.disabled,
+fieldset[disabled] .datepicker table tr td.selected.disabled:hover,
+.datepicker table tr td.selected.disabled:hover,
+.datepicker table tr td.selected:hover.disabled:hover,
+.datepicker table tr td.selected.disabled.disabled:hover,
+.datepicker table tr td.selected.disabled:hover.disabled:hover,
+.datepicker table tr td.selected[disabled]:hover,
+.datepicker table tr td.selected:hover[disabled]:hover,
+.datepicker table tr td.selected.disabled[disabled]:hover,
+.datepicker table tr td.selected.disabled:hover[disabled]:hover,
+fieldset[disabled] .datepicker table tr td.selected:hover,
+fieldset[disabled] .datepicker table tr td.selected:hover:hover,
+fieldset[disabled] .datepicker table tr td.selected.disabled:hover,
+fieldset[disabled] .datepicker table tr td.selected.disabled:hover:hover,
+.datepicker table tr td.selected.disabled:focus,
+.datepicker table tr td.selected:hover.disabled:focus,
+.datepicker table tr td.selected.disabled.disabled:focus,
+.datepicker table tr td.selected.disabled:hover.disabled:focus,
+.datepicker table tr td.selected[disabled]:focus,
+.datepicker table tr td.selected:hover[disabled]:focus,
+.datepicker table tr td.selected.disabled[disabled]:focus,
+.datepicker table tr td.selected.disabled:hover[disabled]:focus,
+fieldset[disabled] .datepicker table tr td.selected:focus,
+fieldset[disabled] .datepicker table tr td.selected:hover:focus,
+fieldset[disabled] .datepicker table tr td.selected.disabled:focus,
+fieldset[disabled] .datepicker table tr td.selected.disabled:hover:focus,
+.datepicker table tr td.selected.disabled:active,
+.datepicker table tr td.selected:hover.disabled:active,
+.datepicker table tr td.selected.disabled.disabled:active,
+.datepicker table tr td.selected.disabled:hover.disabled:active,
+.datepicker table tr td.selected[disabled]:active,
+.datepicker table tr td.selected:hover[disabled]:active,
+.datepicker table tr td.selected.disabled[disabled]:active,
+.datepicker table tr td.selected.disabled:hover[disabled]:active,
+fieldset[disabled] .datepicker table tr td.selected:active,
+fieldset[disabled] .datepicker table tr td.selected:hover:active,
+fieldset[disabled] .datepicker table tr td.selected.disabled:active,
+fieldset[disabled] .datepicker table tr td.selected.disabled:hover:active,
+.datepicker table tr td.selected.disabled.active,
+.datepicker table tr td.selected:hover.disabled.active,
+.datepicker table tr td.selected.disabled.disabled.active,
+.datepicker table tr td.selected.disabled:hover.disabled.active,
+.datepicker table tr td.selected[disabled].active,
+.datepicker table tr td.selected:hover[disabled].active,
+.datepicker table tr td.selected.disabled[disabled].active,
+.datepicker table tr td.selected.disabled:hover[disabled].active,
+fieldset[disabled] .datepicker table tr td.selected.active,
+fieldset[disabled] .datepicker table tr td.selected:hover.active,
+fieldset[disabled] .datepicker table tr td.selected.disabled.active,
+fieldset[disabled] .datepicker table tr td.selected.disabled:hover.active {
+ background-color: #999999;
+ border-color: #555555;
+}
+.datepicker table tr td.active,
+.datepicker table tr td.active:hover,
+.datepicker table tr td.active.disabled,
+.datepicker table tr td.active.disabled:hover {
+ color: #ffffff;
+ background-color: #428bca;
+ border-color: #357ebd;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+.datepicker table tr td.active:hover,
+.datepicker table tr td.active:hover:hover,
+.datepicker table tr td.active.disabled:hover,
+.datepicker table tr td.active.disabled:hover:hover,
+.datepicker table tr td.active:focus,
+.datepicker table tr td.active:hover:focus,
+.datepicker table tr td.active.disabled:focus,
+.datepicker table tr td.active.disabled:hover:focus,
+.datepicker table tr td.active:active,
+.datepicker table tr td.active:hover:active,
+.datepicker table tr td.active.disabled:active,
+.datepicker table tr td.active.disabled:hover:active,
+.datepicker table tr td.active.active,
+.datepicker table tr td.active:hover.active,
+.datepicker table tr td.active.disabled.active,
+.datepicker table tr td.active.disabled:hover.active,
+.open .dropdown-toggle.datepicker table tr td.active,
+.open .dropdown-toggle.datepicker table tr td.active:hover,
+.open .dropdown-toggle.datepicker table tr td.active.disabled,
+.open .dropdown-toggle.datepicker table tr td.active.disabled:hover {
+ color: #ffffff;
+ background-color: #3276b1;
+ border-color: #285e8e;
+}
+.datepicker table tr td.active:active,
+.datepicker table tr td.active:hover:active,
+.datepicker table tr td.active.disabled:active,
+.datepicker table tr td.active.disabled:hover:active,
+.datepicker table tr td.active.active,
+.datepicker table tr td.active:hover.active,
+.datepicker table tr td.active.disabled.active,
+.datepicker table tr td.active.disabled:hover.active,
+.open .dropdown-toggle.datepicker table tr td.active,
+.open .dropdown-toggle.datepicker table tr td.active:hover,
+.open .dropdown-toggle.datepicker table tr td.active.disabled,
+.open .dropdown-toggle.datepicker table tr td.active.disabled:hover {
+ background-image: none;
+}
+.datepicker table tr td.active.disabled,
+.datepicker table tr td.active:hover.disabled,
+.datepicker table tr td.active.disabled.disabled,
+.datepicker table tr td.active.disabled:hover.disabled,
+.datepicker table tr td.active[disabled],
+.datepicker table tr td.active:hover[disabled],
+.datepicker table tr td.active.disabled[disabled],
+.datepicker table tr td.active.disabled:hover[disabled],
+fieldset[disabled] .datepicker table tr td.active,
+fieldset[disabled] .datepicker table tr td.active:hover,
+fieldset[disabled] .datepicker table tr td.active.disabled,
+fieldset[disabled] .datepicker table tr td.active.disabled:hover,
+.datepicker table tr td.active.disabled:hover,
+.datepicker table tr td.active:hover.disabled:hover,
+.datepicker table tr td.active.disabled.disabled:hover,
+.datepicker table tr td.active.disabled:hover.disabled:hover,
+.datepicker table tr td.active[disabled]:hover,
+.datepicker table tr td.active:hover[disabled]:hover,
+.datepicker table tr td.active.disabled[disabled]:hover,
+.datepicker table tr td.active.disabled:hover[disabled]:hover,
+fieldset[disabled] .datepicker table tr td.active:hover,
+fieldset[disabled] .datepicker table tr td.active:hover:hover,
+fieldset[disabled] .datepicker table tr td.active.disabled:hover,
+fieldset[disabled] .datepicker table tr td.active.disabled:hover:hover,
+.datepicker table tr td.active.disabled:focus,
+.datepicker table tr td.active:hover.disabled:focus,
+.datepicker table tr td.active.disabled.disabled:focus,
+.datepicker table tr td.active.disabled:hover.disabled:focus,
+.datepicker table tr td.active[disabled]:focus,
+.datepicker table tr td.active:hover[disabled]:focus,
+.datepicker table tr td.active.disabled[disabled]:focus,
+.datepicker table tr td.active.disabled:hover[disabled]:focus,
+fieldset[disabled] .datepicker table tr td.active:focus,
+fieldset[disabled] .datepicker table tr td.active:hover:focus,
+fieldset[disabled] .datepicker table tr td.active.disabled:focus,
+fieldset[disabled] .datepicker table tr td.active.disabled:hover:focus,
+.datepicker table tr td.active.disabled:active,
+.datepicker table tr td.active:hover.disabled:active,
+.datepicker table tr td.active.disabled.disabled:active,
+.datepicker table tr td.active.disabled:hover.disabled:active,
+.datepicker table tr td.active[disabled]:active,
+.datepicker table tr td.active:hover[disabled]:active,
+.datepicker table tr td.active.disabled[disabled]:active,
+.datepicker table tr td.active.disabled:hover[disabled]:active,
+fieldset[disabled] .datepicker table tr td.active:active,
+fieldset[disabled] .datepicker table tr td.active:hover:active,
+fieldset[disabled] .datepicker table tr td.active.disabled:active,
+fieldset[disabled] .datepicker table tr td.active.disabled:hover:active,
+.datepicker table tr td.active.disabled.active,
+.datepicker table tr td.active:hover.disabled.active,
+.datepicker table tr td.active.disabled.disabled.active,
+.datepicker table tr td.active.disabled:hover.disabled.active,
+.datepicker table tr td.active[disabled].active,
+.datepicker table tr td.active:hover[disabled].active,
+.datepicker table tr td.active.disabled[disabled].active,
+.datepicker table tr td.active.disabled:hover[disabled].active,
+fieldset[disabled] .datepicker table tr td.active.active,
+fieldset[disabled] .datepicker table tr td.active:hover.active,
+fieldset[disabled] .datepicker table tr td.active.disabled.active,
+fieldset[disabled] .datepicker table tr td.active.disabled:hover.active {
+ background-color: #428bca;
+ border-color: #357ebd;
+}
+.datepicker table tr td span {
+ display: block;
+ width: 23%;
+ height: 54px;
+ line-height: 54px;
+ float: left;
+ margin: 1%;
+ cursor: pointer;
+ border-radius: 4px;
+}
+.datepicker table tr td span:hover {
+ background: #eeeeee;
+}
+.datepicker table tr td span.disabled,
+.datepicker table tr td span.disabled:hover {
+ background: none;
+ color: #999999;
+ cursor: default;
+}
+.datepicker table tr td span.active,
+.datepicker table tr td span.active:hover,
+.datepicker table tr td span.active.disabled,
+.datepicker table tr td span.active.disabled:hover {
+ color: #ffffff;
+ background-color: #428bca;
+ border-color: #357ebd;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+.datepicker table tr td span.active:hover,
+.datepicker table tr td span.active:hover:hover,
+.datepicker table tr td span.active.disabled:hover,
+.datepicker table tr td span.active.disabled:hover:hover,
+.datepicker table tr td span.active:focus,
+.datepicker table tr td span.active:hover:focus,
+.datepicker table tr td span.active.disabled:focus,
+.datepicker table tr td span.active.disabled:hover:focus,
+.datepicker table tr td span.active:active,
+.datepicker table tr td span.active:hover:active,
+.datepicker table tr td span.active.disabled:active,
+.datepicker table tr td span.active.disabled:hover:active,
+.datepicker table tr td span.active.active,
+.datepicker table tr td span.active:hover.active,
+.datepicker table tr td span.active.disabled.active,
+.datepicker table tr td span.active.disabled:hover.active,
+.open .dropdown-toggle.datepicker table tr td span.active,
+.open .dropdown-toggle.datepicker table tr td span.active:hover,
+.open .dropdown-toggle.datepicker table tr td span.active.disabled,
+.open .dropdown-toggle.datepicker table tr td span.active.disabled:hover {
+ color: #ffffff;
+ background-color: #3276b1;
+ border-color: #285e8e;
+}
+.datepicker table tr td span.active:active,
+.datepicker table tr td span.active:hover:active,
+.datepicker table tr td span.active.disabled:active,
+.datepicker table tr td span.active.disabled:hover:active,
+.datepicker table tr td span.active.active,
+.datepicker table tr td span.active:hover.active,
+.datepicker table tr td span.active.disabled.active,
+.datepicker table tr td span.active.disabled:hover.active,
+.open .dropdown-toggle.datepicker table tr td span.active,
+.open .dropdown-toggle.datepicker table tr td span.active:hover,
+.open .dropdown-toggle.datepicker table tr td span.active.disabled,
+.open .dropdown-toggle.datepicker table tr td span.active.disabled:hover {
+ background-image: none;
+}
+.datepicker table tr td span.active.disabled,
+.datepicker table tr td span.active:hover.disabled,
+.datepicker table tr td span.active.disabled.disabled,
+.datepicker table tr td span.active.disabled:hover.disabled,
+.datepicker table tr td span.active[disabled],
+.datepicker table tr td span.active:hover[disabled],
+.datepicker table tr td span.active.disabled[disabled],
+.datepicker table tr td span.active.disabled:hover[disabled],
+fieldset[disabled] .datepicker table tr td span.active,
+fieldset[disabled] .datepicker table tr td span.active:hover,
+fieldset[disabled] .datepicker table tr td span.active.disabled,
+fieldset[disabled] .datepicker table tr td span.active.disabled:hover,
+.datepicker table tr td span.active.disabled:hover,
+.datepicker table tr td span.active:hover.disabled:hover,
+.datepicker table tr td span.active.disabled.disabled:hover,
+.datepicker table tr td span.active.disabled:hover.disabled:hover,
+.datepicker table tr td span.active[disabled]:hover,
+.datepicker table tr td span.active:hover[disabled]:hover,
+.datepicker table tr td span.active.disabled[disabled]:hover,
+.datepicker table tr td span.active.disabled:hover[disabled]:hover,
+fieldset[disabled] .datepicker table tr td span.active:hover,
+fieldset[disabled] .datepicker table tr td span.active:hover:hover,
+fieldset[disabled] .datepicker table tr td span.active.disabled:hover,
+fieldset[disabled] .datepicker table tr td span.active.disabled:hover:hover,
+.datepicker table tr td span.active.disabled:focus,
+.datepicker table tr td span.active:hover.disabled:focus,
+.datepicker table tr td span.active.disabled.disabled:focus,
+.datepicker table tr td span.active.disabled:hover.disabled:focus,
+.datepicker table tr td span.active[disabled]:focus,
+.datepicker table tr td span.active:hover[disabled]:focus,
+.datepicker table tr td span.active.disabled[disabled]:focus,
+.datepicker table tr td span.active.disabled:hover[disabled]:focus,
+fieldset[disabled] .datepicker table tr td span.active:focus,
+fieldset[disabled] .datepicker table tr td span.active:hover:focus,
+fieldset[disabled] .datepicker table tr td span.active.disabled:focus,
+fieldset[disabled] .datepicker table tr td span.active.disabled:hover:focus,
+.datepicker table tr td span.active.disabled:active,
+.datepicker table tr td span.active:hover.disabled:active,
+.datepicker table tr td span.active.disabled.disabled:active,
+.datepicker table tr td span.active.disabled:hover.disabled:active,
+.datepicker table tr td span.active[disabled]:active,
+.datepicker table tr td span.active:hover[disabled]:active,
+.datepicker table tr td span.active.disabled[disabled]:active,
+.datepicker table tr td span.active.disabled:hover[disabled]:active,
+fieldset[disabled] .datepicker table tr td span.active:active,
+fieldset[disabled] .datepicker table tr td span.active:hover:active,
+fieldset[disabled] .datepicker table tr td span.active.disabled:active,
+fieldset[disabled] .datepicker table tr td span.active.disabled:hover:active,
+.datepicker table tr td span.active.disabled.active,
+.datepicker table tr td span.active:hover.disabled.active,
+.datepicker table tr td span.active.disabled.disabled.active,
+.datepicker table tr td span.active.disabled:hover.disabled.active,
+.datepicker table tr td span.active[disabled].active,
+.datepicker table tr td span.active:hover[disabled].active,
+.datepicker table tr td span.active.disabled[disabled].active,
+.datepicker table tr td span.active.disabled:hover[disabled].active,
+fieldset[disabled] .datepicker table tr td span.active.active,
+fieldset[disabled] .datepicker table tr td span.active:hover.active,
+fieldset[disabled] .datepicker table tr td span.active.disabled.active,
+fieldset[disabled] .datepicker table tr td span.active.disabled:hover.active {
+ background-color: #428bca;
+ border-color: #357ebd;
+}
+.datepicker table tr td span.old,
+.datepicker table tr td span.new {
+ color: #999999;
+}
+.datepicker th.datepicker-switch {
+ width: 145px;
+}
+.datepicker thead tr:first-child th,
+.datepicker tfoot tr th {
+ cursor: pointer;
+}
+.datepicker thead tr:first-child th:hover,
+.datepicker tfoot tr th:hover {
+ background: #eeeeee;
+}
+.datepicker .cw {
+ font-size: 10px;
+ width: 12px;
+ padding: 0 2px 0 5px;
+ vertical-align: middle;
+}
+.datepicker thead tr:first-child th.cw {
+ cursor: default;
+ background-color: transparent;
+}
+.input-group.date .input-group-addon i {
+ cursor: pointer;
+ width: 16px;
+ height: 16px;
+}
+.input-daterange input {
+ text-align: center;
+}
+.input-daterange input:first-child {
+ border-radius: 3px 0 0 3px;
+}
+.input-daterange input:last-child {
+ border-radius: 0 3px 3px 0;
+}
+.input-daterange .input-group-addon {
+ width: auto;
+ min-width: 16px;
+ padding: 4px 5px;
+ font-weight: normal;
+ line-height: 1.428571429;
+ text-align: center;
+ text-shadow: 0 1px 0 #fff;
+ vertical-align: middle;
+ background-color: #eeeeee;
+ border: solid #cccccc;
+ border-width: 1px 0;
+ margin-left: -5px;
+ margin-right: -5px;
+}
+.datepicker.dropdown-menu {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 1000;
+ float: left;
+ display: none;
+ min-width: 160px;
+ list-style: none;
+ background-color: #ffffff;
+ border: 1px solid #ccc;
+ border: 1px solid rgba(0, 0, 0, 0.2);
+ border-radius: 5px;
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding;
+ background-clip: padding-box;
+ *border-right-width: 2px;
+ *border-bottom-width: 2px;
+ color: #333333;
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 13px;
+ line-height: 1.428571429;
+}
+.datepicker.dropdown-menu th,
+.datepicker.dropdown-menu td {
+ padding: 4px 5px;
+}
View
153 docs/Makefile
@@ -0,0 +1,153 @@
+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS =
+SPHINXBUILD = sphinx-build
+PAPER =
+BUILDDIR = _build
+
+# Internal variables.
+PAPEROPT_a4 = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+# the i18n builder cannot share the environment and doctrees with the others
+I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
+
+help:
+ @echo "Please use \`make <target>' where <target> is one of"
+ @echo " html to make standalone HTML files"
+ @echo " dirhtml to make HTML files named index.html in directories"
+ @echo " singlehtml to make a single large HTML file"
+ @echo " pickle to make pickle files"
+ @echo " json to make JSON files"
+ @echo " htmlhelp to make HTML files and a HTML help project"
+ @echo " qthelp to make HTML files and a qthelp project"
+ @echo " devhelp to make HTML files and a Devhelp project"
+ @echo " epub to make an epub"
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+ @echo " latexpdf to make LaTeX files and run them through pdflatex"
+ @echo " text to make text files"
+ @echo " man to make manual pages"
+ @echo " texinfo to make Texinfo files"
+ @echo " info to make Texinfo files and run them through makeinfo"
+ @echo " gettext to make PO message catalogs"
+ @echo " changes to make an overview of all changed/added/deprecated items"
+ @echo " linkcheck to check all external links for integrity"
+ @echo " doctest to run all doctests embedded in the documentation (if enabled)"
+
+clean:
+ -rm -rf $(BUILDDIR)/*
+
+html:
+ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+dirhtml:
+ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+ @echo
+ @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+singlehtml:
+ $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+ @echo
+ @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+
+pickle:
+ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+ @echo
+ @echo "Build finished; now you can process the pickle files."
+
+json:
+ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+ @echo
+ @echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+ @echo
+ @echo "Build finished; now you can run HTML Help Workshop with the" \
+ ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+ @echo
+ @echo "Build finished; now you can run "qcollectiongenerator" with the" \
+ ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+ @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/bootstrap-datepicker.qhcp"
+ @echo "To view the help file:"
+ @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/bootstrap-datepicker.qhc"
+
+devhelp:
+ $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+ @echo
+ @echo "Build finished."
+ @echo "To view the help file:"
+ @echo "# mkdir -p $$HOME/.local/share/devhelp/bootstrap-datepicker"
+ @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/bootstrap-datepicker"
+ @echo "# devhelp"
+
+epub:
+ $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+ @echo
+ @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+
+latex:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo
+ @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+ @echo "Run \`make' in that directory to run these through (pdf)latex" \
+ "(use \`make latexpdf' here to do that automatically)."
+
+latexpdf:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+ @echo "Running LaTeX files through pdflatex..."
+ $(MAKE) -C $(BUILDDIR)/latex all-pdf
+ @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+text:
+ $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+ @echo
+ @echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+man:
+ $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+ @echo
+ @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+texinfo:
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+ @echo
+ @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
+ @echo "Run \`make' in that directory to run these through makeinfo" \
+ "(use \`make info' here to do that automatically)."
+
+info:
+ $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
+ @echo "Running Texinfo files through makeinfo..."
+ make -C $(BUILDDIR)/texinfo info
+ @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
+
+gettext:
+ $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
+ @echo
+ @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
+
+changes:
+ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+ @echo
+ @echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+ @echo
+ @echo "Link check complete; look for any errors in the above output " \
+ "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+ $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+ @echo "Testing of doctests in the sources finished, look at the " \
+ "results in $(BUILDDIR)/doctest/output.txt."
View
8 docs/REAME.md
@@ -0,0 +1,8 @@
+Documentation
+=============
+
+Project documentation is built using [Sphinx docs](http://sphinx-doc.org/), which uses [ReST](http://docutils.sf.net/rst.html) for markup. This allows the docs to cover a vast amount of topics without using a thousand-line README file.
+
+Sphinx docs is pip-installable via `pip install sphinx`. Once installed, open a command line in the docs folder and run `make html`; the output files will be placed in the `_build/html/` directory, and can be browsed (locally) with any browser.
+
+The docs can also be found online at http://bootstrap-datepicker.readthedocs.org/.
View
BIN docs/_static/demo_head.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
248 docs/conf.py
@@ -0,0 +1,248 @@
+# -*- coding: utf-8 -*-
+#
+# bootstrap-datepicker documentation build configuration file, created by
+# sphinx-quickstart on Fri Aug 2 14:45:57 2013.
+#
+# This file is execfile()d with the current directory set to its containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys, os
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+#version = ''
+# The full version, including alpha/beta/rc tags.
+#release = ''
+
+
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#sys.path.insert(0, os.path.abspath('.'))
+
+# -- General configuration -----------------------------------------------------
+
+# If your documentation needs a minimal Sphinx version, state it here.
+#needs_sphinx = '1.0'
+
+primary_domain = 'js'
+
+# Add any Sphinx extension module names here, as strings. They can be extensions
+# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+extensions = []
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The encoding of source files.
+#source_encoding = 'utf-8-sig'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'bootstrap-datepicker'
+copyright = u'2013, eternicode'
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#language = None
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+#today_fmt = '%B %d, %Y'
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+exclude_patterns = ['_build']
+
+# The reST default role (used for this markup: `text`) to use for all documents.
+#default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+#add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+#add_module_names = True