8 |
15 |
16 |
17 | {{content}}
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/_layouts/guide.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: 2ColLeft
3 | ---
4 | {{ content }}
5 |
6 | {% assign guides = (site.guides | sort: 'index') %}
7 | {% for guide in guides %}
8 | {% if page.title == guide.title %}
9 | {% assign prev = guide.index | minus: 2 %}
10 | {% assign next = guide.index %}
11 |
12 |
24 | {% endif %}
25 | {% endfor %}
26 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/_layouts/post.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | ---
4 |
5 |
6 |
7 | {% include post_details.html %}
8 |
9 | {{ content }}
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/_posts/2014-04-01-pouchdb-2.1.0.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: post
3 |
4 | title: PouchDB 2.1.0
5 |
6 | author: Dale Harvey
7 |
8 | ---
9 |
10 | [PouchDB 2.1.0](https://github.com/daleharvey/pouchdb/releases/tag/2.1.0) is now released! Please [file issues](https://github.com/daleharvey/pouchdb/issues) or [tell us what you think](https://github.com/daleharvey/pouchdb/blob/master/CONTRIBUTING.md#get-in-touch). We would also like to give a huge thanks to our [new and existing contributors](https://github.com/daleharvey/pouchdb/graphs/contributors?from=2014-03-01&to=2014-04-01).
11 |
12 | {% include alert_start.html variant="warning"%}
13 | This release contains a database migration, which means that once you upgrade you will no longer be able to use previous versions of PouchDB on the same databases.
14 | {% include alert_end.html %}
15 |
16 | ### Major Changes:
17 |
18 | * Website redesign and a new blog ([#1539](http://github.com/daleharvey/pouchdb/issues/1539), [#893](https://github.com/daleharvey/pouchdb/issues/893))
19 | * Support optional LevelDOWN builds ([#44](http://github.com/daleharvey/pouchdb/issues/44))
20 | * Replication performance improvements ([#1732](http://github.com/daleharvey/pouchdb/issues/1732))
21 | * Performance improvements for skip / limit ([#1649](http://github.com/daleharvey/pouchdb/issues/1649))
22 | * Cache WebSQL databases, fully passing tests in Safari ([#1068](http://github.com/daleharvey/pouchdb/issues/1068))
23 | * Fix support for unicode in doc ids (WebSQL) ([#1733](http://github.com/daleharvey/pouchdb/issues/1733))
24 | * Fix for localStorage detection in Chrome Apps ([#1727](http://github.com/daleharvey/pouchdb/issues/1727))
25 | * Allow overriding of http functions ([#1602](http://github.com/daleharvey/pouchdb/issues/1602))
26 | * Improve error reporting from replicator ([#1714](http://github.com/daleharvey/pouchdb/issues/1714))
27 | * Switch to readAsArrayBuffer for IE binary support ([#1667](http://github.com/daleharvey/pouchdb/issues/1667))
28 | * Add `npm run shell` for quick shell experimenting ([#1610](http://github.com/daleharvey/pouchdb/issues/1610))
29 | * Ensure we dont lose data when browsers upgrade from WebSQL to IDB ([#1289](http://github.com/daleharvey/pouchdb/issues/1289))
30 |
31 | ###### [Complete list of changes](https://github.com/daleharvey/pouchdb/compare/2.0.1...2.1.0)
32 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/_posts/2014-04-01-welcome-to-the-pouchdb-blog.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: post
3 |
4 | title: Welcome to the PouchDB blog
5 |
6 | author: Dale Harvey
7 |
8 | ---
9 |
10 | Hello World! Welcome to the newly formed PouchDB blog. PouchDB has been an active community for over 2 years now, with almost everything being run via IRC and Github. As the project grows, we wanted a way to communicate with users about the current state of the PouchDB world.
11 |
12 | We will obviously be posting updates and releases notes for PouchDB releases, but as well as that, we will also be blogging about related projects and technologies within the PouchDB world, such as Service Workers, CouchDB, etc.
13 |
14 | As with the PouchDB source, we would love to invite everyone to contribute. We have [documented the instructions](https://github.com/daleharvey/pouchdb/blob/master/CONTRIBUTING.md#writing-a-pouchdb-blog-post), so please get involved.
15 |
16 | Over the last 4 years PouchDB has had 89 [awesome contributors](https://github.com/daleharvey/pouchdb/graphs/contributors). I would like to give a shout-out to the people who worked together to get this site up and running in such a short time: [nickcolley](https://twitter.com/NickColley), [misosoup](https://twitter.com/misosoup), [zaccolley](https://twitter.com/zaccolley), [nolanlawson](https://twitter.com/nolanlawson) and [virgie](https://github.com/virgie) in particular.
17 |
18 | Happy Pouching.
19 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/_posts/2014-05-01-pouchdb-2.2.0.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: post
3 |
4 | title: PouchDB 2.2.0
5 |
6 | author: Dale Harvey
7 |
8 | ---
9 |
10 | [PouchDB 2.2.0](https://github.com/daleharvey/pouchdb/releases/tag/2.2.0) is now released! Please [file issues](https://github.com/daleharvey/pouchdb/issues) or [tell us what you think](https://github.com/daleharvey/pouchdb/blob/master/CONTRIBUTING.md#get-in-touch). We would also like to give a huge thanks to our [new and existing contributors](https://github.com/daleharvey/pouchdb/graphs/contributors?from=2014-04-01&to=2014-05-01).
11 |
12 | {% include alert_start.html variant="warning"%}
13 | We have removed the ES5 shims from PouchDB. If you require support for older browsers, it can be included from
https://github.com/es-shims/es5-shim .
14 | {% include alert_end.html %}
15 |
16 | ### Major Changes:
17 |
18 | * Fix replication for large databases ([#1954](https://github.com/pouchdb/pouchdb/issues/1954))
19 | * Persistent map/reduce ([#1658](https://github.com/pouchdb/pouchdb/issues/1658))
20 | * Fix experimental `.sync()` API ([#1696](https://github.com/pouchdb/pouchdb/issues/1696))
21 | * `.replication()` API switched to an `EventEmitter` ([#1916](https://github.com/pouchdb/pouchdb/issues/1916))
22 | * `.changes()` API switched to an `EventEmitter` ([#1768](http://github.com/daleharvey/pouchdb/issues/1768))
23 | * Experimental LevelDB-based LocalStorage adapter ([#44](http://github.com/daleharvey/pouchdb/issues/44))
24 | * Performance improvements ([#1869](http://github.com/daleharvey/pouchdb/issues/1869), [#1871](http://github.com/daleharvey/pouchdb/issues/1871), [#1889](https://github.com/pouchdb/pouchdb/pull/1889), [#1897](https://github.com/pouchdb/pouchdb/pull/1897), [#1990](https://github.com/pouchdb/pouchdb/issues/1990))
25 | * Remove ES5 shims ([#1753](http://github.com/daleharvey/pouchdb/issues/1753))
26 | * Performance tests ([#113](http://github.com/daleharvey/pouchdb/issues/113))
27 |
28 |
29 | ###### [Complete list of changes](https://github.com/daleharvey/pouchdb/compare/2.1.0...2.2.0)
30 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/_posts/2014-06-01-pouchdb-2.2.3.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: post
3 |
4 | title: PouchDB 2.2.3
5 |
6 | author: Dale Harvey
7 |
8 | ---
9 |
10 | [PouchDB 2.2.3](https://github.com/daleharvey/pouchdb/releases/tag/2.2.3) is now released! Please [file issues](https://github.com/daleharvey/pouchdb/issues) or [tell us what you think](https://github.com/daleharvey/pouchdb/blob/master/CONTRIBUTING.md#get-in-touch). We would also like to give a huge thanks to our [new and existing contributors](https://github.com/daleharvey/pouchdb/graphs/contributors?from=2014-05-01&to=2014-06-01).
11 |
12 | ### Major Changes:
13 |
14 | * Experimental browser adapter plugins ([#2190](http://github.com/daleharvey/pouchdb/issues/2190))
15 | * Fix Ember.js integration ([#2158](http://github.com/daleharvey/pouchdb/issues/2158))
16 | * Fix Browserify integration ([#2249](http://github.com/daleharvey/pouchdb/issues/2249), [pouchdb/mapreduce#170](https://github.com/pouchdb/mapreduce/issues/170))
17 | * Fixes for conflict resolution ([#2072](http://github.com/daleharvey/pouchdb/issues/2072))
18 | * Better error handling in replication ([#2122](http://github.com/daleharvey/pouchdb/issues/2122))
19 | * Fix Internet Explorer 10-11 ([#1661](http://github.com/daleharvey/pouchdb/issues/1661), [#2198](http://github.com/daleharvey/pouchdb/issues/2198), [#2132](http://github.com/daleharvey/pouchdb/issues/2132))
20 | * Fix attachments in Android 4.x ([#1992](http://github.com/daleharvey/pouchdb/issues/1992))
21 | * Fix LevelDB memory leak, race condition, error messages ([#2250](http://github.com/daleharvey/pouchdb/issues/2250), [#2251](http://github.com/daleharvey/pouchdb/issues/2251), [#2144](http://github.com/daleharvey/pouchdb/issues/2144))
22 | * Perf improvements for replication in WebSQL & IndexedDB ([#2180](http://github.com/daleharvey/pouchdb/issues/2180), [#2178](http://github.com/daleharvey/pouchdb/issues/2178))
23 | * Bugfixes for IndexedDB inclusive_end ([#2129](http://github.com/daleharvey/pouchdb/issues/2129))
24 | * Fix `changes()` memory leak ([#2311](http://github.com/daleharvey/pouchdb/issues/2311))
25 |
26 | ###### [Complete list of changes](https://github.com/daleharvey/pouchdb/compare/2.2.0...2.2.3)
27 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/_posts/2014-08-16-pouchdb-3.0.1.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: post
3 |
4 | title: PouchDB 3.0.1
5 |
6 | author: Nolan Lawson
7 |
8 | ---
9 |
10 | [PouchDB 3.0.1](https://github.com/pouchdb/pouchdb/releases/tag/3.0.1) is a patch release to fix a migration bug in PouchDB 3.0.0 ([#2456](https://github.com/pouchdb/pouchdb/issues/2456)). Please upgrade your existing users directly from 2.2.3 and do not use 3.0.0.
11 |
12 | This release also contains a small performance boost for `bulkDocs()` ([#2553](https://github.com/pouchdb/pouchdb/issues/2553)).
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/_posts/2014-08-20-pouchdb-3.0.2.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: post
3 |
4 | title: PouchDB 3.0.2
5 |
6 | author: Nolan Lawson
7 |
8 | ---
9 |
10 | [PouchDB 3.0.2](https://github.com/pouchdb/pouchdb/releases/tag/3.0.2) is another small patch release, this time to fix a bug in replication of deleted documents ([#2636](https://github.com/pouchdb/pouchdb/issues/2636)).
11 |
12 | Other fixes:
13 |
14 | * Ensure PouchDB stops writing after replication is over ([#2639](https://github.com/pouchdb/pouchdb/issues/2639))
15 | * Fix a race condition in LevelDB ([#2631](https://github.com/pouchdb/pouchdb/issues/2631))
16 | * Allow special URI characters in doc IDs ([#2651](https://github.com/pouchdb/pouchdb/issues/2651))
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/_posts/2014-08-29-pouchdb-3.0.3.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: post
3 |
4 | title: PouchDB 3.0.3
5 |
6 | author: Nolan Lawson
7 |
8 | ---
9 |
10 | Another week, another PouchDB patch release!
11 |
12 | This week we present [PouchDB 3.0.3](https://github.com/pouchdb/pouchdb/releases/tag/3.0.3), which fixes some ornery issues with replication that were introduced by recent performance optimizations ([#2685](https://github.com/pouchdb/pouchdb/issues/2685)).
13 |
14 | In fact, those performance optimizations have been rolled back. The current implementation appears to be the fastest possible given CouchDB's replication protocol, and the clever tricks introduced in 3.0.0 actually pushed conflicts into CouchDB's revision history, which is bad news for apps that rely on custom conflict resolution. (If you just use the default "pick a random winner," you probably didn't notice anything.)
15 |
16 | And although "custom conflict resolution" may only describe a minority of apps, we felt it's better to be correct 100% of the time than to be speedy.
17 |
18 | ### Dealing with slow replication
19 |
20 | If you experience slow replications after upgrading to 3.0.3, here are some suggestions:
21 |
22 | 1. Avoid CORS if you can, because it uses twice as many HTTP requests. Some tips for doing this:
23 | * If you are using IrisCouch, you can [create a couchapp](https://github.com/couchapp/couchapp) (i.e. let CouchDB serve your HTML/CSS/JS).
24 | * If you are running your own CouchDB, you can set up a reverse proxy with Apache or Nginx that allows you to serve your app and CouchDB from the same domain. Or create a couchapp.
25 | 2. Try using the "every doc is a delta" pattern, as described in [this blog post](http://atypical.net/archive/2014/04/17/understanding-race-induced-conflicts-in-bigcouch) and exemplified in [the delta-pouch plugin](https://github.com/redgeoff/delta-pouch). Your replications will be much faster, because PouchDB is able to use an optimization for generation-1 documents, and in this setup, every document is a generation-1 document.
26 | 3. Otherwise, just minimize the number of documents you create. Or minimize the number of documents you sync to the client. Views can be helpful with this, although the low performance of the `query()` API relative to the `allDocs()` API should be balanced with that.
27 |
28 | ### Other fixes in 3.0.3
29 |
30 | * Auto-compaction is no longer experimental! It's fully supported. ([#2655](https://github.com/pouchdb/pouchdb/issues/2655))
31 | * `'change'` listeners aren't called after replication is canceled. ([#2478](https://github.com/pouchdb/pouchdb/issues/2478))
32 | * Bower package is smaller. ([#2659](https://github.com/pouchdb/pouchdb/issues/2659))
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/_posts/2014-09-04-pouchdb-3.0.4.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: post
3 |
4 | title: PouchDB 3.0.4: Night of the Living Attachments
5 |
6 | author: Calvin Metcalf
7 |
8 | ---
9 |
10 | This week we present [PouchDB 3.0.4](https://github.com/pouchdb/pouchdb/releases/tag/3.0.4), which fixes a bunch of stuff with attachments. Now the kittens generated by the [3.0.0 release](http://pouchdb.com/2014/08/12/pouchdb-3.0.0.html) may be safely stored in Pouch.
11 |
12 | {% include img.html src="kittens_small.jpg" alt="Kittens" %}
13 |
14 | ### Attachmentspalooza
15 |
16 | - In Firefox, different attachments now (correctly) have different MD5 hashes. Previously they were just hashes of the string `'[Object] object'`. With this, we also now check that the hashes we produce are identical to the ones that CouchDB produces (with the exception of plaintext ones due to Erlang being weird and not having ASCII strings) ([#2698](https://github.com/pouchdb/pouchdb/issues/2698)).
17 | - Weirdness in Chrome 37-39 with FileReader and empty blobs is now fixed ([#2713](https://github.com/pouchdb/pouchdb/issues/2713)).
18 | - Fix for [a bug in Chrome 37](https://code.google.com/p/chromium/issues/detail?id=408120) relating to blobs in IndexedDB ([#2701](https://github.com/pouchdb/pouchdb/issues/2701)).
19 | - HTTP pouches now support buffer/blob data in attachments ([#2577](https://github.com/pouchdb/pouchdb/issues/2577)).
20 |
21 | ### Other fixes in 3.0.4
22 |
23 | * When running sync, it only creates one instance for each database ([#2662](https://github.com/pouchdb/pouchdb/pull/2662)).
24 | * Performance improvements for persisted map/reduce, and it also uses less space ([pouchdb/mapreduce#191](https://github.com/pouchdb/mapreduce/pull/191) and [pouchdb/mapreduce#185](https://github.com/pouchdb/mapreduce/issues/185)).
25 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/_posts/2014-09-07-pouchdb-3.0.5.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: post
3 |
4 | title: PouchDB 3.0.5: Turtles All the Way Down
5 |
6 | author: Nolan Lawson
7 |
8 | ---
9 |
10 | Tonight our fine dining selection is [PouchDB 3.0.5](https://github.com/pouchdb/pouchdb/releases/tag/3.0.5), which fixes some issues with excessive recursion and also `PouchDB.sync` not always working correctly.
11 |
12 | ### PouchDB.sync un-borked ([#2735](https://github.com/pouchdb/pouchdb/issues/2735))
13 |
14 | You can now call `PouchDB.sync('mydb', 'http://localhost:5984/mydb')` using just the database names.
15 |
16 | Less typing === more win.
17 |
18 | ### No more infinite recursion ([#2543](https://github.com/pouchdb/pouchdb/issues/2543))
19 |
20 | You can now have as many revisions to your documents as you want, and you'll no longer descend _Inception_-style into a "too much recursion" or "maximum call stack" error.
21 |
22 | We literally wrote [a custom JSON parser](https://github.com/nolanlawson/vuvuzela) to fix this. That's how much we love you.
23 |
24 | ### Notes on excessive revision histories
25 |
26 | The ["infinite recursion" bug](https://github.com/pouchdb/pouchdb/issues/2543) shows up when you have many (> 1000) revisions to the same document. For instance, imagine a text editor that `put()`s a new version of the document for every keystroke. This is fine in traditional databases, but it can be a big problem in PouchDB/CouchDB, because we store the entire history of the database.
27 |
28 | Make no mistake: inifinitely-large revision histories will now work in PouchDB 3.0.5. However, it's a lot like riding a bicycle without a helmet: you _can_ do it, but you probably shouldn't.
29 |
30 | Your mental model for this can be something like Git. Imagine a new `git commit` for every keystroke, and you'll see why it might be a bit problematic.
31 |
32 | ```js
33 | { "text": "The quick brown fox jumps over the lazy doge." }
34 | { "text": "The quick brown fox jumps over the lazy doge" }
35 | { "text": "The quick brown fox jumps over the lazy dog" }
36 | //
37 | // 40 revisions earlier ...
38 | //
39 | { "text": "The q" }
40 | { "text": "The " }
41 | { "text": "The" }
42 | { "text": "Th" }
43 | { "text": "T" }
44 | ```
45 |
46 | Of course, you can always `compact()` to remove old versions, but this just removes the document data. PouchDB still needs to maintain a permanent tree of the `_rev` hashes in order for the replication algorithm to work properly. If this tree grows excessively, it can bloat your database, whether or not you do compaction.
47 |
48 | What this means is that you should be very careful about updating your documents. Try to update your documents in larger batches, or use a pattern like [delta-pouch](https://github.com/redgeoff/delta-pouch) to avoid creating new revisions altogether.
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/blog/index.html:
--------------------------------------------------------------------------------
1 | ---
2 | layout: default
3 | title: Blog
4 | ---
5 |
6 |
7 |
8 |
9 | {% for post in paginator.posts %}
10 |
11 |
{{ post.title }}
12 | {% include post_details.html %}
13 |
14 | {% endfor %}
15 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/feed.xml:
--------------------------------------------------------------------------------
1 | ---
2 | ---
3 |
4 |
5 |
6 | {{ site.name | xml_escape }}
7 | {% if site.description %}{{ site.description | xml_escape }}{% endif %}
8 | {{ site.url }}
9 |
10 | {% for post in site.posts limit:10 %}
11 | -
12 |
{{ post.title | xml_escape }}
13 | {% if post.author %}
14 | {{ post.author | xml_escape }}
15 | {% endif %}
16 | {% if post.excerpt %}
17 | {{ post.excerpt | xml_escape }}
18 | {% else %}
19 | {{ post.content | xml_escape }}
20 | {% endif %}
21 | {{ post.date | date: "%a, %d %b %Y %H:%M:%S %z" }}
22 | {{ site.url }}{{ post.url }}
23 | {{ site.url }}{{ post.url }}
24 |
25 | {% endfor %}
26 |
27 |
28 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/manifest.appcache:
--------------------------------------------------------------------------------
1 | ---
2 | ---
3 |
4 | CACHE MANIFEST
5 | # rev {{ site.time }}
6 |
7 | CACHE:
8 | {% for page in site.pages %}{% if page.url != '/manifest.appcache' %}{{ page.url | replace:'index.html','' }}{% endif %}
9 | {% endfor %}
10 | {% for page in site.guides %}{{ page.url | replace:'index.html','' }}
11 | {% endfor %}
12 | {% for page in site.posts %}{{ page.url | replace:'index.html','' }}
13 | {% endfor %}
14 |
15 | /static/css/pouchdb.css
16 | /static/favicon.ico
17 |
18 | http://code.jquery.com/jquery.min.js
19 | http://netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js
20 |
21 | http://fonts.googleapis.com/css?family=Lato:400,700|Open+Sans:400,700
22 | http://fonts.gstatic.com/s/lato/v11/8qcEw_nrk_5HEcCpYdJu8BTbgVql8nDJpwnrE27mub0.woff2
23 | http://fonts.gstatic.com/s/lato/v11/MDadn8DQ_3oT6kvnUq_2rxTbgVql8nDJpwnrE27mub0.woff2
24 | http://fonts.gstatic.com/s/lato/v11/rZPI2gHXi8zxUjnybc2ZQFKPGs1ZzpMvnHX-7fPOuAc.woff2
25 | http://fonts.gstatic.com/s/lato/v11/MgNNr5y1C_tIEuLEmicLm1KPGs1ZzpMvnHX-7fPOuAc.woff2
26 | http://fonts.gstatic.com/s/opensans/v10/u-WUoqrET9fUeobQW7jkRZBw1xU1rKptJj_0jans920.woff2
27 | http://fonts.gstatic.com/s/opensans/v10/cJZKeOuBrn4kERxqtaUH3ZBw1xU1rKptJj_0jans920.woff2
28 | http://fonts.gstatic.com/s/opensans/v10/k3k702ZOKiLJc3WVjuplzCYtBUPDK3WL7KRKS_3q7OE.woff2
29 | http://fonts.gstatic.com/s/opensans/v10/k3k702ZOKiLJc3WVjuplzBampu5_7CjHW5spxoeN3Vs.woff2
30 |
31 | /static/img/apple-indexeddb.png
32 | /static/img/cors_in_couchdb.png
33 | /static/img/fauxton.png
34 | /static/img/kittens.jpg
35 | /static/img/logo.svg
36 | /static/img/safari_popup.png
37 | /static/img/dev_tools.png
38 | /static/img/icons.svg
39 | /static/img/kittens_small.jpg
40 | /static/img/mark.svg
41 | /static/img/screenshots/todo-1.png
42 | /static/img/travis-screenshot.png
43 |
44 | /static/img/browser-logos/android_32x32.png
45 | /static/img/browser-logos/chrome-android_32x32.png
46 | /static/img/browser-logos/firefox_32x32.png
47 | /static/img/browser-logos/internet-explorer_32x32.png
48 | /static/img/browser-logos/safari-ios_32x32.png
49 | /static/img/browser-logos/blackberry_32x32.png
50 | /static/img/browser-logos/chrome_32x32.png
51 | /static/img/browser-logos/internet-explorer-tile_32x32.png
52 | /static/img/browser-logos/opera_32x32.png
53 | /static/img/browser-logos/safari_32x32.png
54 |
55 | NETWORK:
56 | *
57 | http://*
58 | https://*
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/assets/pouchdb-getting-started-todo.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/assets/pouchdb-getting-started-todo.zip
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/favicon.ico
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/apple-indexeddb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/apple-indexeddb.png
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/browser-logos/android_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/browser-logos/android_32x32.png
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/browser-logos/blackberry_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/browser-logos/blackberry_32x32.png
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/browser-logos/chrome-android_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/browser-logos/chrome-android_32x32.png
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/browser-logos/chrome_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/browser-logos/chrome_32x32.png
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/browser-logos/firefox_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/browser-logos/firefox_32x32.png
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/browser-logos/internet-explorer-tile_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/browser-logos/internet-explorer-tile_32x32.png
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/browser-logos/internet-explorer_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/browser-logos/internet-explorer_32x32.png
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/browser-logos/opera_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/browser-logos/opera_32x32.png
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/browser-logos/safari-ios_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/browser-logos/safari-ios_32x32.png
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/browser-logos/safari_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/browser-logos/safari_32x32.png
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/cors_in_couchdb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/cors_in_couchdb.png
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/debug_mode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/debug_mode.png
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/dev_tools.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/dev_tools.png
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/fauxton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/fauxton.png
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/kittens.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/kittens.jpg
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/kittens_small.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/kittens_small.jpg
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/mark.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/offline_replication.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/offline_replication.gif
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/safari_popup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/safari_popup.png
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/screenshots/todo-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/screenshots/todo-1.png
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/img/travis-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/webspeaks/IonicOfflineBlog/ff5ee68ef30f3735cb8985feb9907cf478500700/www/lib/pouchdb/docs/static/img/travis-screenshot.png
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/alerts.less:
--------------------------------------------------------------------------------
1 | //
2 | // Alerts
3 | // --------------------------------------------------
4 |
5 |
6 | // Base styles
7 | // -------------------------
8 |
9 | .alert {
10 | padding: @alert-padding;
11 | margin-bottom: @line-height-computed;
12 | border: 1px solid transparent;
13 | border-radius: @alert-border-radius;
14 |
15 | // Headings for larger alerts
16 | h4 {
17 | margin-top: 0;
18 | // Specified for the h4 to prevent conflicts of changing @headings-color
19 | color: inherit;
20 | }
21 | // Provide class for links that match alerts
22 | .alert-link {
23 | font-weight: @alert-link-font-weight;
24 | }
25 |
26 | // Improve alignment and spacing of inner content
27 | > p,
28 | > ul {
29 | margin-bottom: 0;
30 | }
31 | > p + p {
32 | margin-top: 5px;
33 | }
34 | }
35 |
36 | // Dismissable alerts
37 | //
38 | // Expand the right padding and account for the close button's positioning.
39 |
40 | .alert-dismissable {
41 | padding-right: (@alert-padding + 20);
42 |
43 | // Adjust close link position
44 | .close {
45 | position: relative;
46 | top: -2px;
47 | right: -21px;
48 | color: inherit;
49 | }
50 | }
51 |
52 | // Alternate styles
53 | //
54 | // Generate contextual modifier classes for colorizing the alert.
55 |
56 | .alert-success {
57 | .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);
58 | }
59 | .alert-info {
60 | .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);
61 | }
62 | .alert-warning {
63 | .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);
64 | }
65 | .alert-danger {
66 | .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);
67 | }
68 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/badges.less:
--------------------------------------------------------------------------------
1 | //
2 | // Badges
3 | // --------------------------------------------------
4 |
5 |
6 | // Base classes
7 | .badge {
8 | display: inline-block;
9 | min-width: 10px;
10 | padding: 3px 7px;
11 | font-size: @font-size-small;
12 | font-weight: @badge-font-weight;
13 | color: @badge-color;
14 | line-height: @badge-line-height;
15 | vertical-align: baseline;
16 | white-space: nowrap;
17 | text-align: center;
18 | background-color: @badge-bg;
19 | border-radius: @badge-border-radius;
20 |
21 | // Empty badges collapse automatically (not available in IE8)
22 | &:empty {
23 | display: none;
24 | }
25 |
26 | // Quick fix for badges in buttons
27 | .btn & {
28 | position: relative;
29 | top: -1px;
30 | }
31 | .btn-xs & {
32 | top: 0;
33 | padding: 1px 5px;
34 | }
35 | }
36 |
37 | // Hover state, but only for links
38 | a.badge {
39 | &:hover,
40 | &:focus {
41 | color: @badge-link-hover-color;
42 | text-decoration: none;
43 | cursor: pointer;
44 | }
45 | }
46 |
47 | // Account for counters in navs
48 | a.list-group-item.active > .badge,
49 | .nav-pills > .active > a > .badge {
50 | color: @badge-active-color;
51 | background-color: @badge-active-bg;
52 | }
53 | .nav-pills > li > a > .badge {
54 | margin-left: 3px;
55 | }
56 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/bootstrap.less:
--------------------------------------------------------------------------------
1 | // Core variables and mixins
2 | @import "variables.less";
3 | @import "mixins.less";
4 |
5 | // Reset
6 | @import "normalize.less";
7 | @import "print.less";
8 |
9 | // Core CSS
10 | @import "scaffolding.less";
11 | @import "type.less";
12 | @import "code.less";
13 | @import "grid.less";
14 | @import "tables.less";
15 | @import "forms.less";
16 | @import "buttons.less";
17 |
18 | // Components
19 | @import "component-animations.less";
20 | @import "glyphicons.less";
21 | @import "dropdowns.less";
22 | @import "button-groups.less";
23 | @import "input-groups.less";
24 | @import "navs.less";
25 | @import "navbar.less";
26 | @import "breadcrumbs.less";
27 | @import "pagination.less";
28 | @import "pager.less";
29 | @import "labels.less";
30 | @import "badges.less";
31 | @import "jumbotron.less";
32 | @import "thumbnails.less";
33 | @import "alerts.less";
34 | @import "progress-bars.less";
35 | @import "media.less";
36 | @import "list-group.less";
37 | @import "panels.less";
38 | @import "wells.less";
39 | @import "close.less";
40 |
41 | // Components w/ JavaScript
42 | @import "modals.less";
43 | @import "tooltip.less";
44 | @import "popovers.less";
45 | @import "carousel.less";
46 |
47 | // Utility classes
48 | @import "utilities.less";
49 | @import "responsive-utilities.less";
50 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/breadcrumbs.less:
--------------------------------------------------------------------------------
1 | //
2 | // Breadcrumbs
3 | // --------------------------------------------------
4 |
5 |
6 | .breadcrumb {
7 | padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;
8 | margin-bottom: @line-height-computed;
9 | list-style: none;
10 | background-color: @breadcrumb-bg;
11 | border-radius: @border-radius-base;
12 |
13 | > li {
14 | display: inline-block;
15 |
16 | + li:before {
17 | content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space
18 | padding: 0 5px;
19 | color: @breadcrumb-color;
20 | }
21 | }
22 |
23 | > .active {
24 | color: @breadcrumb-active-color;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/close.less:
--------------------------------------------------------------------------------
1 | //
2 | // Close icons
3 | // --------------------------------------------------
4 |
5 |
6 | .close {
7 | float: right;
8 | font-size: (@font-size-base * 1.5);
9 | font-weight: @close-font-weight;
10 | line-height: 1;
11 | color: @close-color;
12 | text-shadow: @close-text-shadow;
13 | .opacity(.2);
14 |
15 | &:hover,
16 | &:focus {
17 | color: @close-color;
18 | text-decoration: none;
19 | cursor: pointer;
20 | .opacity(.5);
21 | }
22 |
23 | // Additional properties for button version
24 | // iOS requires the button element instead of an anchor tag.
25 | // If you want the anchor version, it requires `href="#"`.
26 | button& {
27 | padding: 0;
28 | cursor: pointer;
29 | background: transparent;
30 | border: 0;
31 | -webkit-appearance: none;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/code.less:
--------------------------------------------------------------------------------
1 | //
2 | // Code (inline and block)
3 | // --------------------------------------------------
4 |
5 |
6 | // Inline and block code styles
7 | code,
8 | kbd,
9 | pre,
10 | samp {
11 | font-family: @font-family-monospace;
12 | }
13 |
14 | // Inline code
15 | code {
16 | padding: 2px 4px;
17 | font-size: 90%;
18 | color: @code-color;
19 | background-color: @code-bg;
20 | white-space: nowrap;
21 | border-radius: @border-radius-base;
22 | }
23 |
24 | // User input typically entered via keyboard
25 | kbd {
26 | padding: 2px 4px;
27 | font-size: 90%;
28 | color: @kbd-color;
29 | background-color: @kbd-bg;
30 | border-radius: @border-radius-small;
31 | box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
32 | }
33 |
34 | // Blocks of code
35 | pre {
36 | display: block;
37 | padding: ((@line-height-computed - 1) / 2);
38 | margin: 0 0 (@line-height-computed / 2);
39 | font-size: (@font-size-base - 1); // 14px to 13px
40 | line-height: @line-height-base;
41 | word-break: break-all;
42 | word-wrap: break-word;
43 | color: @pre-color;
44 | background-color: @pre-bg;
45 | border: 1px solid @pre-border-color;
46 | border-radius: @border-radius-base;
47 |
48 | // Account for some code outputs that place code tags in pre tags
49 | code {
50 | padding: 0;
51 | font-size: inherit;
52 | color: inherit;
53 | white-space: pre-wrap;
54 | background-color: transparent;
55 | border-radius: 0;
56 | }
57 | }
58 |
59 | // Enable scrollable blocks of code
60 | .pre-scrollable {
61 | max-height: @pre-scrollable-max-height;
62 | overflow-y: scroll;
63 | }
64 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/component-animations.less:
--------------------------------------------------------------------------------
1 | //
2 | // Component animations
3 | // --------------------------------------------------
4 |
5 | // Heads up!
6 | //
7 | // We don't use the `.opacity()` mixin here since it causes a bug with text
8 | // fields in IE7-8. Source: https://github.com/twitter/bootstrap/pull/3552.
9 |
10 | .fade {
11 | opacity: 0;
12 | .transition(opacity .15s linear);
13 | &.in {
14 | opacity: 1;
15 | }
16 | }
17 |
18 | .collapse {
19 | display: none;
20 | &.in {
21 | display: block;
22 | }
23 | }
24 | .collapsing {
25 | position: relative;
26 | height: 0;
27 | overflow: hidden;
28 | .transition(height .35s ease);
29 | }
30 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/grid.less:
--------------------------------------------------------------------------------
1 | //
2 | // Grid system
3 | // --------------------------------------------------
4 |
5 |
6 | // Container widths
7 | //
8 | // Set the container width, and override it for fixed navbars in media queries.
9 |
10 | .container {
11 | .container-fixed();
12 |
13 | @media (min-width: @screen-sm-min) {
14 | width: @container-sm;
15 | }
16 | @media (min-width: @screen-md-min) {
17 | width: @container-md;
18 | }
19 | @media (min-width: @screen-lg-min) {
20 | width: @container-lg;
21 | }
22 | }
23 |
24 |
25 | // Fluid container
26 | //
27 | // Utilizes the mixin meant for fixed width containers, but without any defined
28 | // width for fluid, full width layouts.
29 |
30 | .container-fluid {
31 | .container-fixed();
32 | }
33 |
34 |
35 | // Row
36 | //
37 | // Rows contain and clear the floats of your columns.
38 |
39 | .row {
40 | .make-row();
41 | }
42 |
43 |
44 | // Columns
45 | //
46 | // Common styles for small and large grid columns
47 |
48 | .make-grid-columns();
49 |
50 |
51 | // Extra small grid
52 | //
53 | // Columns, offsets, pushes, and pulls for extra small devices like
54 | // smartphones.
55 |
56 | .make-grid(xs);
57 |
58 |
59 | // Small grid
60 | //
61 | // Columns, offsets, pushes, and pulls for the small device range, from phones
62 | // to tablets.
63 |
64 | @media (min-width: @screen-sm-min) {
65 | .make-grid(sm);
66 | }
67 |
68 |
69 | // Medium grid
70 | //
71 | // Columns, offsets, pushes, and pulls for the desktop device range.
72 |
73 | @media (min-width: @screen-md-min) {
74 | .make-grid(md);
75 | }
76 |
77 |
78 | // Large grid
79 | //
80 | // Columns, offsets, pushes, and pulls for the large desktop device range.
81 |
82 | @media (min-width: @screen-lg-min) {
83 | .make-grid(lg);
84 | }
85 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/jumbotron.less:
--------------------------------------------------------------------------------
1 | //
2 | // Jumbotron
3 | // --------------------------------------------------
4 |
5 |
6 | .jumbotron {
7 | padding: @jumbotron-padding;
8 | margin-bottom: @jumbotron-padding;
9 | color: @jumbotron-color;
10 | background-color: @jumbotron-bg;
11 |
12 | h1,
13 | .h1 {
14 | color: @jumbotron-heading-color;
15 | }
16 | p {
17 | margin-bottom: (@jumbotron-padding / 2);
18 | font-size: @jumbotron-font-size;
19 | font-weight: 200;
20 | }
21 |
22 | .container & {
23 | border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container
24 | }
25 |
26 | .container {
27 | max-width: 100%;
28 | }
29 |
30 | @media screen and (min-width: @screen-sm-min) {
31 | padding-top: (@jumbotron-padding * 1.6);
32 | padding-bottom: (@jumbotron-padding * 1.6);
33 |
34 | .container & {
35 | padding-left: (@jumbotron-padding * 2);
36 | padding-right: (@jumbotron-padding * 2);
37 | }
38 |
39 | h1,
40 | .h1 {
41 | font-size: (@font-size-base * 4.5);
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/labels.less:
--------------------------------------------------------------------------------
1 | //
2 | // Labels
3 | // --------------------------------------------------
4 |
5 | .label {
6 | display: inline;
7 | padding: .2em .6em .3em;
8 | font-size: 75%;
9 | font-weight: bold;
10 | line-height: 1;
11 | color: @label-color;
12 | text-align: center;
13 | white-space: nowrap;
14 | vertical-align: baseline;
15 | border-radius: .25em;
16 |
17 | // Add hover effects, but only for links
18 | &[href] {
19 | &:hover,
20 | &:focus {
21 | color: @label-link-hover-color;
22 | text-decoration: none;
23 | cursor: pointer;
24 | }
25 | }
26 |
27 | // Empty labels collapse automatically (not available in IE8)
28 | &:empty {
29 | display: none;
30 | }
31 |
32 | // Quick fix for labels in buttons
33 | .btn & {
34 | position: relative;
35 | top: -1px;
36 | }
37 | }
38 |
39 | // Colors
40 | // Contextual variations (linked labels get darker on :hover)
41 |
42 | .label-default {
43 | .label-variant(@label-default-bg);
44 | }
45 |
46 | .label-primary {
47 | .label-variant(@label-primary-bg);
48 | }
49 |
50 | .label-success {
51 | .label-variant(@label-success-bg);
52 | }
53 |
54 | .label-info {
55 | .label-variant(@label-info-bg);
56 | }
57 |
58 | .label-warning {
59 | .label-variant(@label-warning-bg);
60 | }
61 |
62 | .label-danger {
63 | .label-variant(@label-danger-bg);
64 | }
65 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/media.less:
--------------------------------------------------------------------------------
1 | // Media objects
2 | // Source: http://stubbornella.org/content/?p=497
3 | // --------------------------------------------------
4 |
5 |
6 | // Common styles
7 | // -------------------------
8 |
9 | // Clear the floats
10 | .media,
11 | .media-body {
12 | overflow: hidden;
13 | zoom: 1;
14 | }
15 |
16 | // Proper spacing between instances of .media
17 | .media,
18 | .media .media {
19 | margin-top: 15px;
20 | }
21 | .media:first-child {
22 | margin-top: 0;
23 | }
24 |
25 | // For images and videos, set to block
26 | .media-object {
27 | display: block;
28 | }
29 |
30 | // Reset margins on headings for tighter default spacing
31 | .media-heading {
32 | margin: 0 0 5px;
33 | }
34 |
35 |
36 | // Media image alignment
37 | // -------------------------
38 |
39 | .media {
40 | > .pull-left {
41 | margin-right: 10px;
42 | }
43 | > .pull-right {
44 | margin-left: 10px;
45 | }
46 | }
47 |
48 |
49 | // Media list variation
50 | // -------------------------
51 |
52 | // Undo default ul/ol styles
53 | .media-list {
54 | padding-left: 0;
55 | list-style: none;
56 | }
57 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/pager.less:
--------------------------------------------------------------------------------
1 | //
2 | // Pager pagination
3 | // --------------------------------------------------
4 |
5 |
6 | .pager {
7 | padding-left: 0;
8 | margin: @line-height-computed 0;
9 | list-style: none;
10 | text-align: center;
11 | &:extend(.clearfix all);
12 | li {
13 | display: inline;
14 | > a,
15 | > span {
16 | display: inline-block;
17 | padding: 5px 14px;
18 | background-color: @pager-bg;
19 | border: 1px solid @pager-border;
20 | border-radius: @pager-border-radius;
21 | }
22 |
23 | > a:hover,
24 | > a:focus {
25 | text-decoration: none;
26 | background-color: @pager-hover-bg;
27 | }
28 | }
29 |
30 | .next {
31 | > a,
32 | > span {
33 | float: right;
34 | }
35 | }
36 |
37 | .previous {
38 | > a,
39 | > span {
40 | float: left;
41 | }
42 | }
43 |
44 | .disabled {
45 | > a,
46 | > a:hover,
47 | > a:focus,
48 | > span {
49 | color: @pager-disabled-color;
50 | background-color: @pager-bg;
51 | cursor: not-allowed;
52 | }
53 | }
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/pagination.less:
--------------------------------------------------------------------------------
1 | //
2 | // Pagination (multiple pages)
3 | // --------------------------------------------------
4 | .pagination {
5 | display: inline-block;
6 | padding-left: 0;
7 | margin: @line-height-computed 0;
8 | border-radius: @border-radius-base;
9 |
10 | > li {
11 | display: inline; // Remove list-style and block-level defaults
12 | > a,
13 | > span {
14 | position: relative;
15 | float: left; // Collapse white-space
16 | padding: @padding-base-vertical @padding-base-horizontal;
17 | line-height: @line-height-base;
18 | text-decoration: none;
19 | color: @pagination-color;
20 | background-color: @pagination-bg;
21 | border: 1px solid @pagination-border;
22 | margin-left: -1px;
23 | }
24 | &:first-child {
25 | > a,
26 | > span {
27 | margin-left: 0;
28 | .border-left-radius(@border-radius-base);
29 | }
30 | }
31 | &:last-child {
32 | > a,
33 | > span {
34 | .border-right-radius(@border-radius-base);
35 | }
36 | }
37 | }
38 |
39 | > li > a,
40 | > li > span {
41 | &:hover,
42 | &:focus {
43 | color: @pagination-hover-color;
44 | background-color: @pagination-hover-bg;
45 | border-color: @pagination-hover-border;
46 | }
47 | }
48 |
49 | > .active > a,
50 | > .active > span {
51 | &,
52 | &:hover,
53 | &:focus {
54 | z-index: 2;
55 | color: @pagination-active-color;
56 | background-color: @pagination-active-bg;
57 | border-color: @pagination-active-border;
58 | cursor: default;
59 | }
60 | }
61 |
62 | > .disabled {
63 | > span,
64 | > span:hover,
65 | > span:focus,
66 | > a,
67 | > a:hover,
68 | > a:focus {
69 | color: @pagination-disabled-color;
70 | background-color: @pagination-disabled-bg;
71 | border-color: @pagination-disabled-border;
72 | cursor: not-allowed;
73 | }
74 | }
75 | }
76 |
77 | // Sizing
78 | // --------------------------------------------------
79 |
80 | // Large
81 | .pagination-lg {
82 | .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @border-radius-large);
83 | }
84 |
85 | // Small
86 | .pagination-sm {
87 | .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @border-radius-small);
88 | }
89 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/print.less:
--------------------------------------------------------------------------------
1 | //
2 | // Basic print styles
3 | // --------------------------------------------------
4 | // Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css
5 |
6 | @media print {
7 |
8 | * {
9 | text-shadow: none !important;
10 | color: #000 !important; // Black prints faster: h5bp.com/s
11 | background: transparent !important;
12 | box-shadow: none !important;
13 | }
14 |
15 | a,
16 | a:visited {
17 | text-decoration: underline;
18 | }
19 |
20 | a[href]:after {
21 | content: " (" attr(href) ")";
22 | }
23 |
24 | abbr[title]:after {
25 | content: " (" attr(title) ")";
26 | }
27 |
28 | // Don't show links for images, or javascript/internal links
29 | a[href^="javascript:"]:after,
30 | a[href^="#"]:after {
31 | content: "";
32 | }
33 |
34 | pre,
35 | blockquote {
36 | border: 1px solid #999;
37 | page-break-inside: avoid;
38 | }
39 |
40 | thead {
41 | display: table-header-group; // h5bp.com/t
42 | }
43 |
44 | tr,
45 | img {
46 | page-break-inside: avoid;
47 | }
48 |
49 | img {
50 | max-width: 100% !important;
51 | }
52 |
53 | p,
54 | h2,
55 | h3 {
56 | orphans: 3;
57 | widows: 3;
58 | }
59 |
60 | h2,
61 | h3 {
62 | page-break-after: avoid;
63 | }
64 |
65 | // Chrome (OSX) fix for https://github.com/twbs/bootstrap/issues/11245
66 | // Once fixed, we can just straight up remove this.
67 | select {
68 | background: #fff !important;
69 | }
70 |
71 | // Bootstrap components
72 | .navbar {
73 | display: none;
74 | }
75 | .table {
76 | td,
77 | th {
78 | background-color: #fff !important;
79 | }
80 | }
81 | .btn,
82 | .dropup > .btn {
83 | > .caret {
84 | border-top-color: #000 !important;
85 | }
86 | }
87 | .label {
88 | border: 1px solid #000;
89 | }
90 |
91 | .table {
92 | border-collapse: collapse !important;
93 | }
94 | .table-bordered {
95 | th,
96 | td {
97 | border: 1px solid #ddd !important;
98 | }
99 | }
100 |
101 | }
102 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/progress-bars.less:
--------------------------------------------------------------------------------
1 | //
2 | // Progress bars
3 | // --------------------------------------------------
4 |
5 |
6 | // Bar animations
7 | // -------------------------
8 |
9 | // WebKit
10 | @-webkit-keyframes progress-bar-stripes {
11 | from { background-position: 40px 0; }
12 | to { background-position: 0 0; }
13 | }
14 |
15 | // Spec and IE10+
16 | @keyframes progress-bar-stripes {
17 | from { background-position: 40px 0; }
18 | to { background-position: 0 0; }
19 | }
20 |
21 |
22 |
23 | // Bar itself
24 | // -------------------------
25 |
26 | // Outer container
27 | .progress {
28 | overflow: hidden;
29 | height: @line-height-computed;
30 | margin-bottom: @line-height-computed;
31 | background-color: @progress-bg;
32 | border-radius: @border-radius-base;
33 | .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
34 | }
35 |
36 | // Bar of progress
37 | .progress-bar {
38 | float: left;
39 | width: 0%;
40 | height: 100%;
41 | font-size: @font-size-small;
42 | line-height: @line-height-computed;
43 | color: @progress-bar-color;
44 | text-align: center;
45 | background-color: @progress-bar-bg;
46 | .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
47 | .transition(width .6s ease);
48 | }
49 |
50 | // Striped bars
51 | .progress-striped .progress-bar {
52 | #gradient > .striped();
53 | background-size: 40px 40px;
54 | }
55 |
56 | // Call animation for the active one
57 | .progress.active .progress-bar {
58 | .animation(progress-bar-stripes 2s linear infinite);
59 | }
60 |
61 |
62 |
63 | // Variations
64 | // -------------------------
65 |
66 | .progress-bar-success {
67 | .progress-bar-variant(@progress-bar-success-bg);
68 | }
69 |
70 | .progress-bar-info {
71 | .progress-bar-variant(@progress-bar-info-bg);
72 | }
73 |
74 | .progress-bar-warning {
75 | .progress-bar-variant(@progress-bar-warning-bg);
76 | }
77 |
78 | .progress-bar-danger {
79 | .progress-bar-variant(@progress-bar-danger-bg);
80 | }
81 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/responsive-utilities.less:
--------------------------------------------------------------------------------
1 | //
2 | // Responsive: Utility classes
3 | // --------------------------------------------------
4 |
5 |
6 | // IE10 in Windows (Phone) 8
7 | //
8 | // Support for responsive views via media queries is kind of borked in IE10, for
9 | // Surface/desktop in split view and for Windows Phone 8. This particular fix
10 | // must be accompanied by a snippet of JavaScript to sniff the user agent and
11 | // apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at
12 | // our Getting Started page for more information on this bug.
13 | //
14 | // For more information, see the following:
15 | //
16 | // Issue: https://github.com/twbs/bootstrap/issues/10497
17 | // Docs: http://getbootstrap.com/getting-started/#browsers
18 | // Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/
19 |
20 | @-ms-viewport {
21 | width: device-width;
22 | }
23 |
24 |
25 | // Visibility utilities
26 | .visible-xs,
27 | .visible-sm,
28 | .visible-md,
29 | .visible-lg {
30 | .responsive-invisibility();
31 | }
32 |
33 | .visible-xs {
34 | @media (max-width: @screen-xs-max) {
35 | .responsive-visibility();
36 | }
37 | }
38 | .visible-sm {
39 | @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
40 | .responsive-visibility();
41 | }
42 | }
43 | .visible-md {
44 | @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
45 | .responsive-visibility();
46 | }
47 | }
48 | .visible-lg {
49 | @media (min-width: @screen-lg-min) {
50 | .responsive-visibility();
51 | }
52 | }
53 |
54 | .hidden-xs {
55 | @media (max-width: @screen-xs-max) {
56 | .responsive-invisibility();
57 | }
58 | }
59 | .hidden-sm {
60 | @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
61 | .responsive-invisibility();
62 | }
63 | }
64 | .hidden-md {
65 | @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
66 | .responsive-invisibility();
67 | }
68 | }
69 | .hidden-lg {
70 | @media (min-width: @screen-lg-min) {
71 | .responsive-invisibility();
72 | }
73 | }
74 |
75 |
76 | // Print utilities
77 | //
78 | // Media queries are placed on the inside to be mixin-friendly.
79 |
80 | .visible-print {
81 | .responsive-invisibility();
82 |
83 | @media print {
84 | .responsive-visibility();
85 | }
86 | }
87 |
88 | .hidden-print {
89 | @media print {
90 | .responsive-invisibility();
91 | }
92 | }
93 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/scaffolding.less:
--------------------------------------------------------------------------------
1 | //
2 | // Scaffolding
3 | // --------------------------------------------------
4 |
5 |
6 | // Reset the box-sizing
7 | //
8 | // Heads up! This reset may cause conflicts with some third-party widgets.
9 | // For recommendations on resolving such conflicts, see
10 | // http://getbootstrap.com/getting-started/#third-box-sizing
11 | * {
12 | .box-sizing(border-box);
13 | }
14 | *:before,
15 | *:after {
16 | .box-sizing(border-box);
17 | }
18 |
19 |
20 | // Body reset
21 |
22 | html {
23 | font-size: 62.5%;
24 | -webkit-tap-highlight-color: rgba(0,0,0,0);
25 | }
26 |
27 | body {
28 | font-family: @font-family-base;
29 | font-size: @font-size-base;
30 | line-height: @line-height-base;
31 | color: @text-color;
32 | background-color: @body-bg;
33 | }
34 |
35 | // Reset fonts for relevant elements
36 | input,
37 | button,
38 | select,
39 | textarea {
40 | font-family: inherit;
41 | font-size: inherit;
42 | line-height: inherit;
43 | }
44 |
45 |
46 | // Links
47 |
48 | a {
49 | color: @link-color;
50 | text-decoration: none;
51 |
52 | &:hover,
53 | &:focus {
54 | color: @link-hover-color;
55 | text-decoration: underline;
56 | }
57 |
58 | &:focus {
59 | .tab-focus();
60 | }
61 | }
62 |
63 |
64 | // Figures
65 | //
66 | // We reset this here because previously Normalize had no `figure` margins. This
67 | // ensures we don't break anyone's use of the element.
68 |
69 | figure {
70 | margin: 0;
71 | }
72 |
73 |
74 | // Images
75 |
76 | img {
77 | vertical-align: middle;
78 | }
79 |
80 | // Responsive images (ensure images don't scale beyond their parents)
81 | .img-responsive {
82 | .img-responsive();
83 | }
84 |
85 | // Rounded corners
86 | .img-rounded {
87 | border-radius: @border-radius-large;
88 | }
89 |
90 | // Image thumbnails
91 | //
92 | // Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.
93 | .img-thumbnail {
94 | padding: @thumbnail-padding;
95 | line-height: @line-height-base;
96 | background-color: @thumbnail-bg;
97 | border: 1px solid @thumbnail-border;
98 | border-radius: @thumbnail-border-radius;
99 | .transition(all .2s ease-in-out);
100 |
101 | // Keep them at most 100% wide
102 | .img-responsive(inline-block);
103 | }
104 |
105 | // Perfect circle
106 | .img-circle {
107 | border-radius: 50%; // set radius in percents
108 | }
109 |
110 |
111 | // Horizontal rules
112 |
113 | hr {
114 | margin-top: @line-height-computed;
115 | margin-bottom: @line-height-computed;
116 | border: 0;
117 | border-top: 1px solid @hr-border;
118 | }
119 |
120 |
121 | // Only display content to screen readers
122 | //
123 | // See: http://a11yproject.com/posts/how-to-hide-content/
124 |
125 | .sr-only {
126 | position: absolute;
127 | width: 1px;
128 | height: 1px;
129 | margin: -1px;
130 | padding: 0;
131 | overflow: hidden;
132 | clip: rect(0,0,0,0);
133 | border: 0;
134 | }
135 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/thumbnails.less:
--------------------------------------------------------------------------------
1 | //
2 | // Thumbnails
3 | // --------------------------------------------------
4 |
5 |
6 | // Mixin and adjust the regular image class
7 | .thumbnail {
8 | display: block;
9 | padding: @thumbnail-padding;
10 | margin-bottom: @line-height-computed;
11 | line-height: @line-height-base;
12 | background-color: @thumbnail-bg;
13 | border: 1px solid @thumbnail-border;
14 | border-radius: @thumbnail-border-radius;
15 | .transition(all .2s ease-in-out);
16 |
17 | > img,
18 | a > img {
19 | &:extend(.img-responsive);
20 | margin-left: auto;
21 | margin-right: auto;
22 | }
23 |
24 | // Add a hover state for linked versions only
25 | a&:hover,
26 | a&:focus,
27 | a&.active {
28 | border-color: @link-color;
29 | }
30 |
31 | // Image captions
32 | .caption {
33 | padding: @thumbnail-caption-padding;
34 | color: @thumbnail-caption-color;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/tooltip.less:
--------------------------------------------------------------------------------
1 | //
2 | // Tooltips
3 | // --------------------------------------------------
4 |
5 |
6 | // Base class
7 | .tooltip {
8 | position: absolute;
9 | z-index: @zindex-tooltip;
10 | display: block;
11 | visibility: visible;
12 | font-size: @font-size-small;
13 | line-height: 1.4;
14 | .opacity(0);
15 |
16 | &.in { .opacity(@tooltip-opacity); }
17 | &.top { margin-top: -3px; padding: @tooltip-arrow-width 0; }
18 | &.right { margin-left: 3px; padding: 0 @tooltip-arrow-width; }
19 | &.bottom { margin-top: 3px; padding: @tooltip-arrow-width 0; }
20 | &.left { margin-left: -3px; padding: 0 @tooltip-arrow-width; }
21 | }
22 |
23 | // Wrapper for the tooltip content
24 | .tooltip-inner {
25 | max-width: @tooltip-max-width;
26 | padding: 3px 8px;
27 | color: @tooltip-color;
28 | text-align: center;
29 | text-decoration: none;
30 | background-color: @tooltip-bg;
31 | border-radius: @border-radius-base;
32 | }
33 |
34 | // Arrows
35 | .tooltip-arrow {
36 | position: absolute;
37 | width: 0;
38 | height: 0;
39 | border-color: transparent;
40 | border-style: solid;
41 | }
42 | .tooltip {
43 | &.top .tooltip-arrow {
44 | bottom: 0;
45 | left: 50%;
46 | margin-left: -@tooltip-arrow-width;
47 | border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
48 | border-top-color: @tooltip-arrow-color;
49 | }
50 | &.top-left .tooltip-arrow {
51 | bottom: 0;
52 | left: @tooltip-arrow-width;
53 | border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
54 | border-top-color: @tooltip-arrow-color;
55 | }
56 | &.top-right .tooltip-arrow {
57 | bottom: 0;
58 | right: @tooltip-arrow-width;
59 | border-width: @tooltip-arrow-width @tooltip-arrow-width 0;
60 | border-top-color: @tooltip-arrow-color;
61 | }
62 | &.right .tooltip-arrow {
63 | top: 50%;
64 | left: 0;
65 | margin-top: -@tooltip-arrow-width;
66 | border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;
67 | border-right-color: @tooltip-arrow-color;
68 | }
69 | &.left .tooltip-arrow {
70 | top: 50%;
71 | right: 0;
72 | margin-top: -@tooltip-arrow-width;
73 | border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;
74 | border-left-color: @tooltip-arrow-color;
75 | }
76 | &.bottom .tooltip-arrow {
77 | top: 0;
78 | left: 50%;
79 | margin-left: -@tooltip-arrow-width;
80 | border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
81 | border-bottom-color: @tooltip-arrow-color;
82 | }
83 | &.bottom-left .tooltip-arrow {
84 | top: 0;
85 | left: @tooltip-arrow-width;
86 | border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
87 | border-bottom-color: @tooltip-arrow-color;
88 | }
89 | &.bottom-right .tooltip-arrow {
90 | top: 0;
91 | right: @tooltip-arrow-width;
92 | border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;
93 | border-bottom-color: @tooltip-arrow-color;
94 | }
95 | }
96 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/utilities.less:
--------------------------------------------------------------------------------
1 | //
2 | // Utility classes
3 | // --------------------------------------------------
4 |
5 |
6 | // Floats
7 | // -------------------------
8 |
9 | .clearfix {
10 | .clearfix();
11 | }
12 | .center-block {
13 | .center-block();
14 | }
15 | .pull-right {
16 | float: right !important;
17 | }
18 | .pull-left {
19 | float: left !important;
20 | }
21 |
22 |
23 | // Toggling content
24 | // -------------------------
25 |
26 | // Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1
27 | .hide {
28 | display: none !important;
29 | }
30 | .show {
31 | display: block !important;
32 | }
33 | .invisible {
34 | visibility: hidden;
35 | }
36 | .text-hide {
37 | .text-hide();
38 | }
39 |
40 |
41 | // Hide from screenreaders and browsers
42 | //
43 | // Credit: HTML5 Boilerplate
44 |
45 | .hidden {
46 | display: none !important;
47 | visibility: hidden !important;
48 | }
49 |
50 |
51 | // For Affix plugin
52 | // -------------------------
53 |
54 | .affix {
55 | position: fixed;
56 | }
57 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/bootstrap/wells.less:
--------------------------------------------------------------------------------
1 | //
2 | // Wells
3 | // --------------------------------------------------
4 |
5 |
6 | // Base class
7 | .well {
8 | min-height: 20px;
9 | padding: 19px;
10 | margin-bottom: 20px;
11 | background-color: @well-bg;
12 | border: 1px solid @well-border;
13 | border-radius: @border-radius-base;
14 | .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
15 | blockquote {
16 | border-color: #ddd;
17 | border-color: rgba(0,0,0,.15);
18 | }
19 | }
20 |
21 | // Sizes
22 | .well-lg {
23 | padding: 24px;
24 | border-radius: @border-radius-large;
25 | }
26 | .well-sm {
27 | padding: 9px;
28 | border-radius: @border-radius-small;
29 | }
30 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/pouchdb/alerts.less:
--------------------------------------------------------------------------------
1 | @import "@{bootstrap}/alerts.less";
2 |
3 | .alert { .clearfix(); }
4 |
5 | .alert-text { .make-xs-column(10); }
6 |
7 | .alert:before {
8 | float: left;
9 | display: block;
10 | content: '';
11 | height: @alert-before-size;
12 | width: @alert-before-size;
13 | border-radius: 50%;
14 | border: 1px solid;
15 | font-size: @alert-before-size * .75;
16 | font-family: @font-family-monospace;
17 | text-align: center;
18 | line-height: @alert-before-size;
19 | }
20 |
21 | .alert-info:before {
22 | content: @alert-before-info-text;
23 | border-color: @alert-info-border;
24 | background-color: lighten(@alert-info-bg, 3%);
25 | color: @alert-info-text;
26 | }
27 | .alert-success:before {
28 | content: @alert-before-success-text;
29 | border-color: @alert-success-border;
30 | background-color: lighten(@alert-success-bg, 3%);
31 | color: @alert-success-text;
32 | }
33 | .alert-warning:before {
34 | content: @alert-before-warning-text;
35 | border-color: @alert-warning-border;
36 | background-color: lighten(@alert-warning-bg, 3%);
37 | color: @alert-warning-text;
38 | }
39 | .alert-danger:before {
40 | content: @alert-before-danger-text;
41 | border-color: @alert-danger-border;
42 | background-color: lighten(@alert-danger-bg, 3%);
43 | color: @alert-danger-text;
44 | }
45 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/pouchdb/anchors.less:
--------------------------------------------------------------------------------
1 | .anchor {
2 | &.h1,
3 | &.h2,
4 | &.h3,
5 | &.h4,
6 | &.h5,
7 | &.h6 {
8 | display: inline-block;
9 | text-decoration: none;
10 | }
11 |
12 | &::before {
13 | content: '# ';
14 | opacity: .25;
15 | }
16 | &:focus { outline: none; }
17 | }
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/pouchdb/block.less:
--------------------------------------------------------------------------------
1 | .block {
2 | @media (max-width: @screen-md-min) {
3 | > h1, > h2, > h3, > h4, > h5, > h6,
4 | > .h1, > .h2, > .h3, > .h4, > .h5, > .h6,
5 | > p {
6 | text-align: center;
7 | }
8 | > p {
9 | margin: 0 auto;
10 | max-width: 60%;
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/pouchdb/buttons.less:
--------------------------------------------------------------------------------
1 | @import "@{bootstrap}/buttons.less";
2 |
3 | .btn {
4 | .button-size(@padding-base-vertical; @padding-large-horizontal*2; @font-size-base; @line-height-base; @border-radius-base);
5 | }
6 |
7 | .btn-lg {
8 | .button-size(@padding-large-vertical; @padding-large-horizontal*2; @font-size-large; @line-height-large; @border-radius-large);
9 | }
10 | .btn-sm {
11 | .button-size(@padding-small-vertical; @padding-small-horizontal*2; @font-size-small; @line-height-small; @border-radius-small);
12 | }
13 | .btn-xs {
14 | .button-size(@padding-xs-vertical; @padding-xs-horizontal*2; @font-size-small; @line-height-small; @border-radius-small);
15 | }
16 |
17 | // Social button variants
18 | .btn-github {
19 | .button-variant(@btn-github-color; @btn-github-bg; @btn-github-border);
20 | }
21 | .btn-twitter {
22 | .button-variant(@btn-twitter-color; @btn-twitter-bg; @btn-twitter-border);
23 | }
24 |
25 | @media (max-width: @screen-xs-max) {
26 | .btn {
27 | width: 100%;
28 | }
29 | }
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/pouchdb/code.less:
--------------------------------------------------------------------------------
1 | @import "@{bootstrap}/code.less";
2 |
3 | pre {
4 | padding-left: @pre-padding;
5 | padding-right: @pre-padding;
6 | }
7 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/pouchdb/header.less:
--------------------------------------------------------------------------------
1 | header {
2 | overflow-x: hidden;
3 | position: relative;
4 | padding: 25px 0;
5 | border-bottom: 2px solid;
6 | border-color: @header-border-color;
7 | background-color: @header-color;
8 | }
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/pouchdb/highlight.less:
--------------------------------------------------------------------------------
1 | .highlight {
2 | pre {
3 | background-color: #3f3f3f;
4 |
5 | border: none;
6 | border-radius: 10px;
7 | }
8 |
9 | code,
10 | pre{ color: #ffffff; }
11 |
12 | .hll { background-color: #3e403d }
13 | .c { color: #75715e }
14 | .err { color: #960050; background-color: #1e0010 }
15 | .k { color: #66d9ef }
16 | .l { color: #ae81ff }
17 | .n { color: #f8f8f2 }
18 | .o { color: #f92672 }
19 | .p { color: #f8f8f2 }
20 | .cm { color: #75715e }
21 | .cp { color: #75715e }
22 | .c1 { color: #75715e }
23 | .cs { color: #75715e }
24 | .ge { font-style: italic }
25 | .gs { font-weight: bold }
26 | .kc { color: #66d9ef }
27 | .kd { color: #66d9ef }
28 | .kn { color: #f92672 }
29 | .kp { color: #66d9ef }
30 | .kr { color: #66d9ef }
31 | .kt { color: #66d9ef }
32 | .ld { color: #e6db74 }
33 | .m { color: #ae81ff }
34 | .s { color: #e6db74 }
35 | .na { color: #a6e22e }
36 | .nb { color: #f8f8f2 }
37 | .nc { color: #a6e22e }
38 | .no { color: #66d9ef }
39 | .nd { color: #a6e22e }
40 | .ni { color: #f8f8f2 }
41 | .ne { color: #a6e22e }
42 | .nf { color: #a6e22e }
43 | .nl { color: #f8f8f2 }
44 | .nn { color: #f8f8f2 }
45 | .nx { color: #6eca97 }
46 | .py { color: #f8f8f2 }
47 | .nt { color: #f92672 }
48 | .nv { color: #f8f8f2 }
49 | .ow { color: #f92672 }
50 | .w { color: #f8f8f2 }
51 | .mf { color: #ae81ff }
52 | .mh { color: #ae81ff }
53 | .mi { color: #ae81ff }
54 | .mo { color: #ae81ff }
55 | .sb { color: #e6db74 }
56 | .sc { color: #e6db74 }
57 | .sd { color: #e6db74 }
58 | .s2 { color: #e6db74 }
59 | .se { color: #ae81ff }
60 | .sh { color: #e6db74 }
61 | .si { color: #e6db74 }
62 | .sx { color: #e6db74 }
63 | .sr { color: #e6db74 }
64 | .s1 { color: #e6db74 }
65 | .ss { color: #e6db74 }
66 | .bp { color: #f8f8f2 }
67 | .vc { color: #f8f8f2 }
68 | .vg { color: #f8f8f2 }
69 | .vi { color: #f8f8f2 }
70 | .il { color: #ae81ff }
71 | }
72 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/pouchdb/icons.less:
--------------------------------------------------------------------------------
1 | .icon {
2 | margin: 0 auto;
3 | margin-top: @grid-gutter-width;
4 | background-image: url("@{img_dir}/icons.svg");
5 | background-repeat: no-repeat;
6 |
7 | & ~ * { text-align: center; }
8 |
9 | &-twitter,
10 | &-couchdb,
11 | &-github,
12 | &-travis,
13 | &-leveldb,
14 | &-saucelabs {
15 | opacity: .75;
16 | &:hover { opacity: 1; }
17 | }
18 |
19 | &-node {
20 | background-position: 0;
21 | width: 68px;
22 | height: 73px;
23 | }
24 |
25 | &-light {
26 | background-position: -73px -1px;
27 | width: 92px;
28 | height: 85px;
29 | }
30 |
31 | &-learn {
32 | background-position: -170px 0;
33 | width: 92px;
34 | height: 87px;
35 | }
36 | &-open {
37 | background-position: -267px -5px;
38 | width: 111px;
39 | height: 77px;
40 | }
41 | &-twitter {
42 | background-position: -388px -24px;
43 | width: 46px;
44 | height: 39px;
45 | }
46 | &-couchdb {
47 | background-position: -439px -15px;
48 | width: 90px;
49 | height: 57px;
50 | }
51 | &-github {
52 | background-position: -537px -22px;
53 | width: 45px;
54 | height: 43px;
55 | }
56 | &-travis {
57 | background-position: -589px -20px;
58 | width: 45px;
59 | height: 43px;
60 | }
61 | &-leveldb {
62 | background-position: -640px -20px;
63 | width: 40px;
64 | height: 43px;
65 | }
66 | &-saucelabs {
67 | background-position: -686px -22px;
68 | width: 45px;
69 | height: 43px;
70 | }
71 |
72 | @media (max-width: @screen-sm-min) {
73 | &-node,
74 | &-light,
75 | &-learn,
76 | &-open {
77 | height: 70px;
78 | width: 67px;
79 | background-size: 500px;
80 | + * { margin-top: 0; }
81 | }
82 | &-node {
83 | height: 60px;
84 | width: 50px;
85 | background-position: 0 0;
86 | }
87 | &-light { background-position: -50px 0; }
88 | &-learn { background-position: -117px 0; }
89 | &-open {
90 | background-position: -181px 0;
91 | width: 85px;
92 | }
93 | }
94 | }
95 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/pouchdb/logo.less:
--------------------------------------------------------------------------------
1 | .logo {
2 | float: left;
3 | width: @logo-width;
4 | .logo-img,
5 | .logo-type {
6 | float: left;
7 | }
8 | .logo-img {
9 | opacity: .9;
10 | height: @logo-img-height;
11 | margin-top: -@logo-img-height*.2;
12 | width: @logo-img-height*@logo-img-ratio;
13 | background-image: url(@logo-img);
14 | background-size: 100%;
15 | }
16 | .logo-type {
17 | margin-left: 8px;
18 | font-size: 3em;
19 | line-height: 1.1;
20 | text-transform: lowercase;
21 | letter-spacing: -1px;
22 | color: @text-color;
23 | }
24 | &:hover .logo-img { opacity: 1; }
25 | .clearfix();
26 | }
27 | /**
28 | * When we hit the breakpoint
29 | * Center the logo in the middle
30 | **/
31 | @media (max-width: @navs-breakpoint-justified) {
32 | .logo {
33 | float: none;
34 | display: block;
35 | margin: auto;
36 | }
37 | }
38 | @media (max-width: @logo-breakpoint) {
39 | .logo {
40 | width: auto;
41 | .logo-img {
42 | display: block;
43 | float: none;
44 | margin: auto;
45 | }
46 | .logo-type { display: none; }
47 | }
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/pouchdb/mixins.less:
--------------------------------------------------------------------------------
1 | @import "@{bootstrap}/mixins.less";
2 |
3 | // Intrinsic Ratio Helper
4 | // https://github.com/nickcolley/intrinsic-ratio-less
5 |
6 |
7 | // Intrinsic ratio
8 | .ir(@ratio: 16/9, @width: 100%, @margin: auto) {
9 | position: relative;
10 | margin: @margin;
11 | width: unit(@width, ~'%');
12 | height: 0;
13 | padding-bottom: unit(@width / @ratio, ~'%');
14 | > iframe {
15 | position: absolute;
16 | width: 100%;
17 | height: 100%;
18 | border: 0;
19 | }
20 | }
21 |
22 | .iframe-responsive { .ir(); }
23 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/pouchdb/navs.less:
--------------------------------------------------------------------------------
1 | @import "@{bootstrap}/navs.less";
2 |
3 | .nav-header {
4 | float: right;
5 | > li { min-width: 100px; }
6 | }
7 | .nav-silent {
8 | > li > a {
9 | padding: .1em 0;
10 | color: @text-color;
11 | }
12 | }
13 |
14 | /**
15 | * Sidebar navigation used in learn.html
16 | **/
17 | .nav-sidebar {
18 | > li.active > a,
19 | > li > a:hover {
20 | color: darken(@brand-primary, 10%);
21 | border-right: 2px solid lighten(@brand-primary, 10%);
22 | padding-right: 10px;
23 | }
24 | }
25 |
26 | @media (max-width: @navs-breakpoint-justified) {
27 | .nav-header {
28 | width: 100%;
29 | > li {
30 | float: none;
31 | display: table-cell;
32 | width: 1%;
33 | min-width: initial;
34 | > a { text-align: center; }
35 | }
36 | }
37 | }
38 |
39 | @media (max-width: @navs-breakpoint-horizontal) {
40 | .nav-header > li:last-child {
41 | float: left;
42 | width: 100%;
43 | }
44 | }
45 |
46 | @media (max-width: @logo-breakpoint) {
47 | .nav-header > li {
48 | float: left;
49 | width: 100%;
50 | }
51 | }
52 |
53 | @media (max-width: @screen-sm-min) {
54 | .nav.nav-sidebar { margin-bottom: 25px; }
55 | .nav-head,
56 | .nav.nav-sidebar { text-align: center; }
57 | }
58 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/pouchdb/post.less:
--------------------------------------------------------------------------------
1 | .post {
2 | margin-top: 10px;
3 | margin-bottom: 40px;
4 | &:last-of-type { margin-bottom: 10px; }
5 | }
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/pouchdb/pouchdb.less:
--------------------------------------------------------------------------------
1 | @bootstrap: "../bootstrap";
2 |
3 | @import "variables.less";
4 |
5 | // Mixins
6 | @import "mixins.less";
7 |
8 | // Reset
9 | @import "@{bootstrap}/normalize.less";
10 | @import "@{bootstrap}/print.less";
11 | @import "@{bootstrap}/type.less";
12 |
13 | @import "@{bootstrap}/normalize.less";
14 | @import "@{bootstrap}/print.less";
15 | @import "alerts.less";
16 |
17 | // Core CSS
18 | @import "scaffolding.less";
19 | @import "code.less";
20 | @import "@{bootstrap}/grid.less";
21 | @import "@{bootstrap}/tables.less";
22 |
23 |
24 | // Components
25 | @import "@{bootstrap}/media.less";
26 | @import "@{bootstrap}/pagination.less";
27 | @import "@{bootstrap}/pager.less";
28 |
29 | // Utility classes
30 | @import "@{bootstrap}/responsive-utilities.less";
31 |
32 | // PouchDB Overrides
33 | @import "navs.less";
34 | @import "buttons.less";
35 | @import "utilities.less";
36 |
37 | // PouchDB Specific
38 | @import "highlight.less";
39 | @import "header.less";
40 | @import "logo.less";
41 | @import "anchors.less";
42 | @import "post.less";
43 | @import "ribbon.less";
44 | @import "icons.less";
45 | @import "block.less";
46 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/pouchdb/ribbon.less:
--------------------------------------------------------------------------------
1 | .ribbon {
2 | z-index: 1;
3 | position: absolute;
4 | top: 0; right: 0;
5 | padding: .1em 3em;
6 | border: 1px solid rgba(0,0,0,.1);
7 | background-color: @gray-lighter;
8 | color: @text-color;
9 | font-weight: bold;
10 | -webkit-transform: translateX(75%) rotate(45deg) translateX(-30%);
11 | transform: translateX(75%) rotate(45deg) translateX(-30%);
12 | -webkit-transform-origin: top left;
13 | transform-origin: top left;
14 | }
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/pouchdb/scaffolding.less:
--------------------------------------------------------------------------------
1 | @import "@{bootstrap}/scaffolding.less";
2 |
3 | blockquote {
4 | font-size: 1.1em;
5 | border-left-color: #ddf3e7;
6 | cite { font-size: 1.2em; }
7 | }
8 |
9 | // Temporary fix for Jekyll's P tags all over the place. :/
10 | p:empty { display: none; }
11 |
12 | .intro,
13 | .infoblocks,
14 | .icons,
15 | .footer {
16 | padding: 20px 0 30px;
17 | }
18 | .page-head { padding: 10px 0 20px; }
19 |
20 | article { padding: 20px 0 75px; }
21 |
22 | .page-head,
23 | .intro,
24 | .blog,
25 | .footer {
26 | background-color: @gray-lighter;
27 | }
28 |
29 | .intro .highlight { margin-top: 2em; }
30 | .icons { border-top: 20px solid @gray-lighter; }
31 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/pouchdb/utilities.less:
--------------------------------------------------------------------------------
1 | @import "@{bootstrap}/utilities.less";
2 |
3 | .affix {
4 | padding: 1em 0;
5 | position: static;
6 | }
7 |
8 | @media (min-width: @affix-min-width) and (min-height: @affix-min-height) {
9 |
10 | .affix { position: fixed; }
11 |
12 | .affix,
13 | .affix-top {
14 | top: 0;
15 | }
16 |
17 | .affix-top,
18 | .affix-bottom {
19 | position: absolute;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/docs/static/less/pouchdb/variables.less:
--------------------------------------------------------------------------------
1 | @import "@{bootstrap}/variables.less";
2 |
3 | // Base img dir
4 | @img_dir: "../img";
5 |
6 | // Color
7 | @brand-accent: #fa3649;
8 | @brand-primary: #6ccb99;
9 | @twitter: cornflowerblue;
10 | @github: darkslategray;
11 |
12 | // Social colors
13 | @btn-twitter-color: lighten(@twitter, 25%);
14 | @btn-twitter-bg: @twitter;
15 | @btn-twitter-border: darken(@twitter, 10%);
16 | @btn-github-color: lighten(@github, 50%);
17 | @btn-github-bg: @github;
18 | @btn-github-border: darken(@github, 10%);
19 |
20 | // Scaffolding
21 | @body-bg: #f6f6f6;
22 | @text-color: @gray;
23 |
24 | // Container sizes
25 | @container-large-desktop: ((950px + @grid-gutter-width));
26 |
27 | // Code
28 | @code-color: darken(@brand-primary, 30%);
29 | @code-bg: lighten(@brand-primary, 30%);
30 |
31 | // Type
32 | @font-family-sans-serif: "Open Sans", Helvetica, Arial, sans-serif;
33 |
34 | @link-color: @brand-accent;
35 | @nav-link-hover-bg: none;
36 |
37 | @headings-font-family: "Lato", Helvetica, Arial, sans-serif;
38 | @header-color: #ffffff;
39 | @header-border-color: #c8c8c8;
40 |
41 | // Logo
42 | @logo-img: '@{img_dir}/mark.svg';
43 | @logo-fallback-img: '@{img_dir}/mark.png';
44 | @logo-img-ratio: .78;
45 | @logo-img-height: 70px;
46 | @logo-width: 250px;
47 | // When it gets silly small display only the mark.
48 | @logo-breakpoint: 330px;
49 |
50 | // Navs
51 |
52 | // Switch nav into justified view
53 | @navs-breakpoint-justified: @screen-sm-max;
54 | // Switch nav into horizontal view
55 | @navs-breakpoint-horizontal: 510px;
56 |
57 | // Minimum width and height for fixed sidebars
58 | @affix-min-width: @screen-sm-min;
59 | @affix-min-height: 475px;
60 |
61 | // Alerts
62 | @alert-before-size: 35px;
63 | @alert-before-info-text: 'i';
64 | @alert-before-success-text: '\2713';
65 | @alert-before-warning-text: '!';
66 | @alert-before-danger-text: 'x';
67 |
68 | // Pre
69 | @pre-padding: 15px;
70 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/lib/adapters/idb/idb-blob-support.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var utils = require('../../utils');
4 | var idbConstants = require('./idb-constants');
5 | var DETECT_BLOB_SUPPORT_STORE = idbConstants.DETECT_BLOB_SUPPORT_STORE;
6 |
7 | //
8 | // Detect blob support. Chrome didn't support it until version 38.
9 | // In version 37 they had a broken version where PNGs (and possibly
10 | // other binary types) aren't stored correctly, because when you fetch
11 | // them, the content type is always null.
12 | //
13 | // Furthermore, they have some outstanding bugs where blobs occasionally
14 | // are read by FileReader as null, or by ajax as 404s.
15 | //
16 | // Sadly we use the 404 bug to detect the FileReader bug, so if they
17 | // get fixed independently and released in different versions of Chrome,
18 | // then the bug could come back. So it's worthwhile to watch these issues:
19 | // 404 bug: https://code.google.com/p/chromium/issues/detail?id=447916
20 | // FileReader bug: https://code.google.com/p/chromium/issues/detail?id=447836
21 | //
22 | function checkBlobSupport(txn, idb) {
23 | return new utils.Promise(function (resolve, reject) {
24 | var blob = utils.createBlob([''], {type: 'image/png'});
25 | txn.objectStore(DETECT_BLOB_SUPPORT_STORE).put(blob, 'key');
26 | txn.oncomplete = function () {
27 | // have to do it in a separate transaction, else the correct
28 | // content type is always returned
29 | var blobTxn = idb.transaction([DETECT_BLOB_SUPPORT_STORE],
30 | 'readwrite');
31 | var getBlobReq = blobTxn.objectStore(
32 | DETECT_BLOB_SUPPORT_STORE).get('key');
33 | getBlobReq.onerror = reject;
34 | getBlobReq.onsuccess = function (e) {
35 |
36 | var storedBlob = e.target.result;
37 | var url = URL.createObjectURL(storedBlob);
38 |
39 | utils.ajax({
40 | url: url,
41 | cache: true,
42 | binary: true
43 | }, function (err, res) {
44 | if (err && err.status === 405) {
45 | // firefox won't let us do that. but firefox doesn't
46 | // have the blob type bug that Chrome does, so that's ok
47 | resolve(true);
48 | } else {
49 | resolve(!!(res && res.type === 'image/png'));
50 | if (err && err.status === 404) {
51 | utils.explain404('PouchDB is just detecting blob URL support.');
52 | }
53 | }
54 | URL.revokeObjectURL(url);
55 | });
56 | };
57 | };
58 | }).catch(function () {
59 | return false; // error, so assume unsupported
60 | });
61 | }
62 |
63 | module.exports = checkBlobSupport;
--------------------------------------------------------------------------------
/www/lib/pouchdb/lib/adapters/idb/idb-constants.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // IndexedDB requires a versioned database structure, so we use the
4 | // version here to manage migrations.
5 | exports.ADAPTER_VERSION = 5;
6 |
7 | // The object stores created for each database
8 | // DOC_STORE stores the document meta data, its revision history and state
9 | // Keyed by document id
10 | exports. DOC_STORE = 'document-store';
11 | // BY_SEQ_STORE stores a particular version of a document, keyed by its
12 | // sequence id
13 | exports.BY_SEQ_STORE = 'by-sequence';
14 | // Where we store attachments
15 | exports.ATTACH_STORE = 'attach-store';
16 | // Where we store many-to-many relations
17 | // between attachment digests and seqs
18 | exports.ATTACH_AND_SEQ_STORE = 'attach-seq-store';
19 |
20 | // Where we store database-wide meta data in a single record
21 | // keyed by id: META_STORE
22 | exports.META_STORE = 'meta-store';
23 | // Where we store local documents
24 | exports.LOCAL_STORE = 'local-store';
25 | // Where we detect blob support
26 | exports.DETECT_BLOB_SUPPORT_STORE = 'detect-blob-support';
--------------------------------------------------------------------------------
/www/lib/pouchdb/lib/adapters/leveldb/leveldb-transaction.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // similar to an idb or websql transaction object
4 | // designed to be passed around. basically just caches
5 | // things in-memory and then does a big batch() operation
6 | // when you're done
7 |
8 | var utils = require('../../utils');
9 |
10 | function getCacheFor(transaction, store) {
11 | var prefix = store.prefix();
12 | var cache = transaction._cache;
13 | var subCache = cache.get(prefix);
14 | if (!subCache) {
15 | subCache = new utils.Map();
16 | cache.set(prefix, subCache);
17 | }
18 | return subCache;
19 | }
20 |
21 | function LevelTransaction() {
22 | this._batch = [];
23 | this._cache = new utils.Map();
24 | }
25 |
26 | LevelTransaction.prototype.get = function (store, key, callback) {
27 | var cache = getCacheFor(this, store);
28 | var exists = cache.get(key);
29 | if (exists) {
30 | return process.nextTick(function () {
31 | callback(null, exists);
32 | });
33 | } else if (exists === null) { // deleted marker
34 | return process.nextTick(function () {
35 | callback({name: 'NotFoundError'});
36 | });
37 | }
38 | store.get(key, function (err, res) {
39 | if (err) {
40 | if (err.name === 'NotFoundError') {
41 | cache.set(key, null);
42 | }
43 | return callback(err);
44 | }
45 | cache.set(key, res);
46 | callback(null, res);
47 | });
48 | };
49 |
50 | LevelTransaction.prototype.batch = function (batch) {
51 | for (var i = 0, len = batch.length; i < len; i++) {
52 | var operation = batch[i];
53 |
54 | var cache = getCacheFor(this, operation.prefix);
55 |
56 | if (operation.type === 'put') {
57 | cache.set(operation.key, operation.value);
58 | } else {
59 | cache.set(operation.key, null);
60 | }
61 | }
62 | this._batch = this._batch.concat(batch);
63 | };
64 |
65 | LevelTransaction.prototype.execute = function (db, callback) {
66 |
67 | var keys = new utils.Set();
68 | var uniqBatches = [];
69 |
70 | // remove duplicates; last one wins
71 | for (var i = this._batch.length - 1; i >= 0; i--) {
72 | var operation = this._batch[i];
73 | var lookupKey = operation.prefix.prefix() + '\xff' + operation.key;
74 | if (keys.has(lookupKey)) {
75 | continue;
76 | }
77 | keys.add(lookupKey);
78 | uniqBatches.push(operation);
79 | }
80 |
81 | db.batch(uniqBatches, callback);
82 | };
83 |
84 | module.exports = LevelTransaction;
--------------------------------------------------------------------------------
/www/lib/pouchdb/lib/adapters/preferredAdapters-browser.js:
--------------------------------------------------------------------------------
1 | module.exports = ['idb', 'websql'];
--------------------------------------------------------------------------------
/www/lib/pouchdb/lib/adapters/preferredAdapters.js:
--------------------------------------------------------------------------------
1 | module.exports = ['leveldb'];
--------------------------------------------------------------------------------
/www/lib/pouchdb/lib/adapters/websql/websql-constants.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | function quote(str) {
4 | return "'" + str + "'";
5 | }
6 |
7 | exports.ADAPTER_VERSION = 7; // used to manage migrations
8 |
9 | // The object stores created for each database
10 | // DOC_STORE stores the document meta data, its revision history and state
11 | exports.DOC_STORE = quote('document-store');
12 | // BY_SEQ_STORE stores a particular version of a document, keyed by its
13 | // sequence id
14 | exports.BY_SEQ_STORE = quote('by-sequence');
15 | // Where we store attachments
16 | exports.ATTACH_STORE = quote('attach-store');
17 | exports.LOCAL_STORE = quote('local-store');
18 | exports.META_STORE = quote('metadata-store');
19 | // where we store many-to-many relations between attachment
20 | // digests and seqs
21 | exports.ATTACH_AND_SEQ_STORE = quote('attach-seq-store');
22 |
23 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/lib/checkpointer.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var utils = require('./utils');
4 | var pouchCollate = require('pouchdb-collate');
5 | var collate = pouchCollate.collate;
6 |
7 | function updateCheckpoint(db, id, checkpoint, returnValue) {
8 | return db.get(id).catch(function (err) {
9 | if (err.status === 404) {
10 | if (db.type() === 'http') {
11 | utils.explain404(
12 | 'PouchDB is just checking if a remote checkpoint exists.');
13 | }
14 | return {_id: id};
15 | }
16 | throw err;
17 | }).then(function (doc) {
18 | if (returnValue.cancelled) {
19 | return;
20 | }
21 | doc.last_seq = checkpoint;
22 | return db.put(doc);
23 | });
24 | }
25 |
26 | function Checkpointer(src, target, id, returnValue) {
27 | this.src = src;
28 | this.target = target;
29 | this.id = id;
30 | this.returnValue = returnValue;
31 | }
32 |
33 | Checkpointer.prototype.writeCheckpoint = function (checkpoint) {
34 | var self = this;
35 | return this.updateTarget(checkpoint).then(function () {
36 | return self.updateSource(checkpoint);
37 | });
38 | };
39 |
40 | Checkpointer.prototype.updateTarget = function (checkpoint) {
41 | return updateCheckpoint(this.target, this.id, checkpoint, this.returnValue);
42 | };
43 |
44 | Checkpointer.prototype.updateSource = function (checkpoint) {
45 | var self = this;
46 | if (this.readOnlySource) {
47 | return utils.Promise.resolve(true);
48 | }
49 | return updateCheckpoint(this.src, this.id, checkpoint, this.returnValue)
50 | .catch(function (err) {
51 | var isForbidden = typeof err.status === 'number' &&
52 | Math.floor(err.status / 100) === 4;
53 | if (isForbidden) {
54 | self.readOnlySource = true;
55 | return true;
56 | }
57 | throw err;
58 | });
59 | };
60 |
61 | Checkpointer.prototype.getCheckpoint = function () {
62 | var self = this;
63 | return self.target.get(self.id).then(function (targetDoc) {
64 | return self.src.get(self.id).then(function (sourceDoc) {
65 | if (collate(targetDoc.last_seq, sourceDoc.last_seq) === 0) {
66 | return sourceDoc.last_seq;
67 | }
68 | return 0;
69 | }, function (err) {
70 | if (err.status === 404 && targetDoc.last_seq) {
71 | return self.src.put({
72 | _id: self.id,
73 | last_seq: 0
74 | }).then(function () {
75 | return 0;
76 | }, function (err) {
77 | if (err.status === 401) {
78 | self.readOnlySource = true;
79 | return targetDoc.last_seq;
80 | }
81 | return 0;
82 | });
83 | }
84 | throw err;
85 | });
86 | }).catch(function (err) {
87 | if (err.status !== 404) {
88 | throw err;
89 | }
90 | return 0;
91 | });
92 | };
93 |
94 | module.exports = Checkpointer;
95 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/lib/deps/blob.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | //Abstracts constructing a Blob object, so it also works in older
4 | //browsers that don't support the native Blob constructor. (i.e.
5 | //old QtWebKit versions, at least).
6 | function createBlob(parts, properties) {
7 | parts = parts || [];
8 | properties = properties || {};
9 | try {
10 | return new Blob(parts, properties);
11 | } catch (e) {
12 | if (e.name !== "TypeError") {
13 | throw e;
14 | }
15 | var BlobBuilder = global.BlobBuilder ||
16 | global.MSBlobBuilder ||
17 | global.MozBlobBuilder ||
18 | global.WebKitBlobBuilder;
19 | var builder = new BlobBuilder();
20 | for (var i = 0; i < parts.length; i += 1) {
21 | builder.append(parts[i]);
22 | }
23 | return builder.getBlob(properties.type);
24 | }
25 | }
26 |
27 | module.exports = createBlob;
28 |
29 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/lib/deps/buffer-browser.js:
--------------------------------------------------------------------------------
1 | // hey guess what, we don't need this in the browser
2 | module.exports = {};
--------------------------------------------------------------------------------
/www/lib/pouchdb/lib/deps/buffer.js:
--------------------------------------------------------------------------------
1 | //this soley exists so we can exclude it in browserify
2 | module.exports = Buffer;
--------------------------------------------------------------------------------
/www/lib/pouchdb/lib/deps/parse-hex.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | //
4 | // Parsing hex strings. Yeah.
5 | //
6 | // So basically we need this because of a bug in WebSQL:
7 | // https://code.google.com/p/chromium/issues/detail?id=422690
8 | // https://bugs.webkit.org/show_bug.cgi?id=137637
9 | //
10 | // UTF-8 and UTF-16 are provided as separate functions
11 | // for meager performance improvements
12 | //
13 |
14 | function decodeUtf8(str) {
15 | return decodeURIComponent(window.escape(str));
16 | }
17 |
18 | function hexToInt(charCode) {
19 | // '0'-'9' is 48-57
20 | // 'A'-'F' is 65-70
21 | // SQLite will only give us uppercase hex
22 | return charCode < 65 ? (charCode - 48) : (charCode - 55);
23 | }
24 |
25 |
26 | // Example:
27 | // pragma encoding=utf8;
28 | // select hex('A');
29 | // returns '41'
30 | function parseHexUtf8(str, start, end) {
31 | var result = '';
32 | while (start < end) {
33 | result += String.fromCharCode(
34 | (hexToInt(str.charCodeAt(start++)) << 4) |
35 | hexToInt(str.charCodeAt(start++)));
36 | }
37 | return result;
38 | }
39 |
40 | // Example:
41 | // pragma encoding=utf16;
42 | // select hex('A');
43 | // returns '4100'
44 | // notice that the 00 comes after the 41 (i.e. it's swizzled)
45 | function parseHexUtf16(str, start, end) {
46 | var result = '';
47 | while (start < end) {
48 | // UTF-16, so swizzle the bytes
49 | result += String.fromCharCode(
50 | (hexToInt(str.charCodeAt(start + 2)) << 12) |
51 | (hexToInt(str.charCodeAt(start + 3)) << 8) |
52 | (hexToInt(str.charCodeAt(start)) << 4) |
53 | hexToInt(str.charCodeAt(start + 1)));
54 | start += 4;
55 | }
56 | return result;
57 | }
58 |
59 | function parseHexString(str, encoding) {
60 | if (encoding === 'UTF-8') {
61 | return decodeUtf8(parseHexUtf8(str, 0, str.length));
62 | } else {
63 | return parseHexUtf16(str, 0, str.length);
64 | }
65 | }
66 |
67 | module.exports = parseHexString;
--------------------------------------------------------------------------------
/www/lib/pouchdb/lib/deps/parse-uri.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | // originally parseUri 1.2.2, now patched by us
4 | // (c) Steven Levithan
5 | // MIT License
6 | var options = {
7 | strictMode: false,
8 | key: ["source", "protocol", "authority", "userInfo", "user", "password",
9 | "host", "port", "relative", "path", "directory", "file", "query",
10 | "anchor"],
11 | q: {
12 | name: "queryKey",
13 | parser: /(?:^|&)([^&=]*)=?([^&]*)/g
14 | },
15 | parser: {
16 | /* jshint maxlen: false */
17 | strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,
18 | loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/
19 | }
20 | };
21 | function parseUri(str) {
22 | var o = options;
23 | var m = o.parser[o.strictMode ? "strict" : "loose"].exec(str);
24 | var uri = {};
25 | var i = 14;
26 |
27 | while (i--) {
28 | var key = o.key[i];
29 | var value = m[i] || "";
30 | var encoded = ['user', 'password'].indexOf(key) !== -1;
31 | uri[key] = encoded ? decodeURIComponent(value) : value;
32 | }
33 |
34 | uri[o.q.name] = {};
35 | uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) {
36 | if ($1) {
37 | uri[o.q.name][$1] = $2;
38 | }
39 | });
40 |
41 | return uri;
42 | }
43 |
44 |
45 | module.exports = parseUri;
--------------------------------------------------------------------------------
/www/lib/pouchdb/lib/deps/upsert.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var upsert = require('pouchdb-upsert').upsert;
4 |
5 | module.exports = function (db, doc, diffFun, cb) {
6 | return upsert.call(db, doc, diffFun, cb);
7 | };
8 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/lib/deps/uuid.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | // BEGIN Math.uuid.js
4 |
5 | /*!
6 | Math.uuid.js (v1.4)
7 | http://www.broofa.com
8 | mailto:robert@broofa.com
9 |
10 | Copyright (c) 2010 Robert Kieffer
11 | Dual licensed under the MIT and GPL licenses.
12 | */
13 |
14 | /*
15 | * Generate a random uuid.
16 | *
17 | * USAGE: Math.uuid(length, radix)
18 | * length - the desired number of characters
19 | * radix - the number of allowable values for each character.
20 | *
21 | * EXAMPLES:
22 | * // No arguments - returns RFC4122, version 4 ID
23 | * >>> Math.uuid()
24 | * "92329D39-6F5C-4520-ABFC-AAB64544E172"
25 | *
26 | * // One argument - returns ID of the specified length
27 | * >>> Math.uuid(15) // 15 character ID (default base=62)
28 | * "VcydxgltxrVZSTV"
29 | *
30 | * // Two arguments - returns ID of the specified length, and radix.
31 | * // (Radix must be <= 62)
32 | * >>> Math.uuid(8, 2) // 8 character ID (base=2)
33 | * "01001010"
34 | * >>> Math.uuid(8, 10) // 8 character ID (base=10)
35 | * "47473046"
36 | * >>> Math.uuid(8, 16) // 8 character ID (base=16)
37 | * "098F4D35"
38 | */
39 | var chars = (
40 | '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' +
41 | 'abcdefghijklmnopqrstuvwxyz'
42 | ).split('');
43 | function getValue(radix) {
44 | return 0 | Math.random() * radix;
45 | }
46 | function uuid(len, radix) {
47 | radix = radix || chars.length;
48 | var out = '';
49 | var i = -1;
50 |
51 | if (len) {
52 | // Compact form
53 | while (++i < len) {
54 | out += chars[getValue(radix)];
55 | }
56 | return out;
57 | }
58 | // rfc4122, version 4 form
59 | // Fill in random data. At i==19 set the high bits of clock sequence as
60 | // per rfc4122, sec. 4.1.5
61 | while (++i < 36) {
62 | switch (i) {
63 | case 8:
64 | case 13:
65 | case 18:
66 | case 23:
67 | out += '-';
68 | break;
69 | case 19:
70 | out += chars[(getValue(16) & 0x3) | 0x8];
71 | break;
72 | default:
73 | out += chars[getValue(16)];
74 | }
75 | }
76 |
77 | return out;
78 | }
79 |
80 |
81 |
82 | module.exports = uuid;
83 |
84 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/lib/evalFilter.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | module.exports = evalFilter;
4 | function evalFilter(input) {
5 | /*jshint evil: true */
6 | return eval([
7 | '(function () { return ',
8 | input,
9 | ' })()'
10 | ].join(''));
11 | }
--------------------------------------------------------------------------------
/www/lib/pouchdb/lib/evalView.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | module.exports = evalView;
4 | function evalView(input) {
5 | /*jshint evil: true */
6 | return eval([
7 | '(function () {',
8 | ' return function (doc) {',
9 | ' var emitted = false;',
10 | ' var emit = function (a, b) {',
11 | ' emitted = true;',
12 | ' };',
13 | ' var view = ' + input + ';',
14 | ' view(doc);',
15 | ' if (emitted) {',
16 | ' return true;',
17 | ' }',
18 | ' }',
19 | '})()'
20 | ].join('\n'));
21 | }
--------------------------------------------------------------------------------
/www/lib/pouchdb/lib/index.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | var PouchDB = require('./setup');
4 |
5 | module.exports = PouchDB;
6 |
7 | PouchDB.ajax = require('./deps/ajax');
8 | PouchDB.utils = require('./utils');
9 | PouchDB.Errors = require('./deps/errors');
10 | PouchDB.replicate = require('./replicate').replicate;
11 | PouchDB.sync = require('./sync');
12 | PouchDB.version = require('./version');
13 | var httpAdapter = require('./adapters/http/http');
14 | PouchDB.adapter('http', httpAdapter);
15 | PouchDB.adapter('https', httpAdapter);
16 |
17 | PouchDB.adapter('idb', require('./adapters/idb/idb'));
18 | PouchDB.adapter('websql', require('./adapters/websql/websql'));
19 | PouchDB.plugin(require('pouchdb-mapreduce'));
20 |
21 | if (!process.browser) {
22 | var ldbAdapter = require('./adapters/leveldb/leveldb');
23 | PouchDB.adapter('ldb', ldbAdapter);
24 | PouchDB.adapter('leveldb', ldbAdapter);
25 | }
26 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/lib/taskqueue.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | module.exports = TaskQueue;
4 |
5 | function TaskQueue() {
6 | this.isReady = false;
7 | this.failed = false;
8 | this.queue = [];
9 | }
10 |
11 | TaskQueue.prototype.execute = function () {
12 | var d, func;
13 | if (this.failed) {
14 | while ((d = this.queue.shift())) {
15 | if (typeof d === 'function') {
16 | d(this.failed);
17 | continue;
18 | }
19 | func = d.parameters[d.parameters.length - 1];
20 | if (typeof func === 'function') {
21 | func(this.failed);
22 | } else if (d.name === 'changes' && typeof func.complete === 'function') {
23 | func.complete(this.failed);
24 | }
25 | }
26 | } else if (this.isReady) {
27 | while ((d = this.queue.shift())) {
28 |
29 | if (typeof d === 'function') {
30 | d();
31 | } else {
32 | d.task = this.db[d.name].apply(this.db, d.parameters);
33 | }
34 | }
35 | }
36 | };
37 |
38 | TaskQueue.prototype.fail = function (err) {
39 | this.failed = err;
40 | this.execute();
41 | };
42 |
43 | TaskQueue.prototype.ready = function (db) {
44 | if (this.failed) {
45 | return false;
46 | } else if (arguments.length === 0) {
47 | return this.isReady;
48 | }
49 | this.isReady = db ? true: false;
50 | this.db = db;
51 | this.execute();
52 | };
53 |
54 | TaskQueue.prototype.addTask = function (name, parameters) {
55 | if (typeof name === 'function') {
56 | this.queue.push(name);
57 | if (this.failed) {
58 | this.execute();
59 | }
60 | } else {
61 | var task = { name: name, parameters: parameters };
62 | this.queue.push(task);
63 | if (this.failed) {
64 | this.execute();
65 | }
66 | return task;
67 | }
68 | };
69 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/lib/version-browser.js:
--------------------------------------------------------------------------------
1 | module.exports = "3.3.1";
2 |
--------------------------------------------------------------------------------
/www/lib/pouchdb/lib/version.js:
--------------------------------------------------------------------------------
1 | module.exports = require('../package.json').version;
--------------------------------------------------------------------------------
/www/lib/pouchdb/scripts/baldrick-test.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash -x
2 |
3 | # Run PouchDB test suite, expect a global couchdb command to be installed
4 | #
5 | # Run as:
6 | #
7 | # ./scripts/baldrick-test.sh
8 |
9 | # tmp directory to store CouchDB data files
10 | TMP=./tmp
11 | COUCH_URI_FILE=$TMP/couch.uri
12 |
13 | # Install PouchDB dependancies
14 | npm install
15 |
16 | # Provision a CouchDB instance just for this test
17 | ./scripts/start_standalone_couch.sh $TMP > /dev/null 2>&1 &
18 | COUCH_PID=$!
19 |
20 | # Wait for CouchDB to start by polling for the uri file
21 | # Not nasty at all :)
22 | while [ ! -f $COUCH_URI_FILE ]
23 | do
24 | sleep 2
25 | done
26 | COUCH_HOST=$(cat $COUCH_URI_FILE)
27 |
28 | # Run tests
29 | grunt test --couch-host=$COUCH_HOST
30 | EXIT_STATUS=$?
31 |
32 | # Cleanup
33 | kill $COUCH_PID
34 |
35 | # Make sure we exit with the right status
36 | exit $EXIT_STATUS
--------------------------------------------------------------------------------
/www/lib/pouchdb/scripts/bundle-browserify-test.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | echo '' > test.html
4 | echo " " >> test.html
5 | echo "" >> test.html
--------------------------------------------------------------------------------
/www/lib/pouchdb/scripts/jenkins-deploy.sh:
--------------------------------------------------------------------------------
1 | ROOT=$(pwd)
2 |
3 | # Build the docs
4 | cd $ROOT/docs
5 | jekyll
6 |
7 | # Publish docs
8 | cp -R $ROOT/docs/_site/* /home/daleharvey/www/pouchdb.com
9 |
10 | # Build
11 | cd $ROOT
12 | npm install
13 |
14 | grunt
15 | grunt spatial
16 | grunt gql
17 |
18 | cp $ROOT/dist/* /home/daleharvey/www/download.pouchdb.com
--------------------------------------------------------------------------------
/www/lib/pouchdb/scripts/start_standalone_couch.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash -e
2 |
3 | # Start a standalone CouchDB, this is a wrapper around the $ couchdb
4 | # command that will create a standalone instance of CouchDB allowing
5 | # you to easily run serveral servers in parallel, each instance starts
6 | # on an ephemeral port and has a dedicated directory for its data and logs
7 | # use the couch.uri file to locate the host
8 | #
9 | # Run as:
10 | #
11 | # $ ./start_standalone_couch.sh ~/data/instanceId
12 |
13 | COUCH_DIR=$1
14 |
15 | # Make all the directories
16 | mkdir -p $COUCH_DIR/data/views
17 |
18 | # Create a standalone configuration based on the directory
19 | # we are passed in, CouchDB will start on a random port and couch.uri
20 | # will tell us where that is, data is stored within the directory
21 | echo "[httpd]
22 | bind_address = 127.0.0.1
23 | port = 0
24 |
25 | [log]
26 | level = debug
27 | file = $COUCH_DIR/couch.log
28 |
29 | [couchdb]
30 | database_dir = $COUCH_DIR/data
31 | view_index_dir = $COUCH_DIR/data/views
32 | uri_file = $COUCH_DIR/couch.uri" > $COUCH_DIR/couch.ini
33 |
34 | couchdb -a $COUCH_DIR/couch.ini
--------------------------------------------------------------------------------
/www/lib/underscore/.bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "underscore",
3 | "version": "1.8.2",
4 | "main": "underscore.js",
5 | "keywords": [
6 | "util",
7 | "functional",
8 | "server",
9 | "client",
10 | "browser"
11 | ],
12 | "ignore": [
13 | "docs",
14 | "test",
15 | "*.yml",
16 | "CNAME",
17 | "index.html",
18 | "favicon.ico",
19 | "CONTRIBUTING.md"
20 | ],
21 | "homepage": "https://github.com/jashkenas/underscore",
22 | "_release": "1.8.2",
23 | "_resolution": {
24 | "type": "version",
25 | "tag": "1.8.2",
26 | "commit": "19db749b190a7cb5a8b7ab1aab42c0e9dc517250"
27 | },
28 | "_source": "git://github.com/jashkenas/underscore.git",
29 | "_target": "~1.8.2",
30 | "_originalSource": "underscore",
31 | "_direct": true
32 | }
--------------------------------------------------------------------------------
/www/lib/underscore/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "browser": true,
4 | "node": true,
5 | "amd": true
6 | },
7 |
8 | "rules": {
9 | "brace-style": [1, "1tbs"],
10 | "curly": [0, "multi"],
11 | "eqeqeq": [1, "smart"],
12 | "max-depth": [1, 4],
13 | "max-params": [1, 5],
14 | "new-cap": 2,
15 | "new-parens": 0,
16 | "no-constant-condition": 0,
17 | "no-div-regex": 1,
18 | "no-else-return": 1,
19 | "no-extra-parens": 1,
20 | "no-floating-decimal": 2,
21 | "no-inner-declarations": 2,
22 | "no-lonely-if": 1,
23 | "no-nested-ternary": 2,
24 | "no-new-object": 0,
25 | "no-new-func": 0,
26 | "no-underscore-dangle": 0,
27 | "quotes": [2, "single", "avoid-escape"],
28 | "radix": 2,
29 | "space-after-keywords": [2, "always"],
30 | "space-in-brackets": [2, "never"],
31 | "space-unary-word-ops": 2,
32 | "strict": 0,
33 | "wrap-iife": 2
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/www/lib/underscore/.gitignore:
--------------------------------------------------------------------------------
1 | raw
2 | node_modules
3 | *.log
4 | *.idea
5 | *.swp
6 |
--------------------------------------------------------------------------------
/www/lib/underscore/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative
2 | Reporters & Editors
3 |
4 | Permission is hereby granted, free of charge, to any person
5 | obtaining a copy of this software and associated documentation
6 | files (the "Software"), to deal in the Software without
7 | restriction, including without limitation the rights to use,
8 | copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the
10 | Software is furnished to do so, subject to the following
11 | conditions:
12 |
13 | The above copyright notice and this permission notice shall be
14 | included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
18 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
21 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
23 | OTHER DEALINGS IN THE SOFTWARE.
24 |
--------------------------------------------------------------------------------
/www/lib/underscore/README.md:
--------------------------------------------------------------------------------
1 | __
2 | /\ \ __
3 | __ __ ___ \_\ \ __ _ __ ____ ___ ___ _ __ __ /\_\ ____
4 | /\ \/\ \ /' _ `\ /'_ \ /'__`\/\ __\/ ,__\ / ___\ / __`\/\ __\/'__`\ \/\ \ /',__\
5 | \ \ \_\ \/\ \/\ \/\ \ \ \/\ __/\ \ \//\__, `\/\ \__//\ \ \ \ \ \//\ __/ __ \ \ \/\__, `\
6 | \ \____/\ \_\ \_\ \___,_\ \____\\ \_\\/\____/\ \____\ \____/\ \_\\ \____\/\_\ _\ \ \/\____/
7 | \/___/ \/_/\/_/\/__,_ /\/____/ \/_/ \/___/ \/____/\/___/ \/_/ \/____/\/_//\ \_\ \/___/
8 | \ \____/
9 | \/___/
10 |
11 | Underscore.js is a utility-belt library for JavaScript that provides
12 | support for the usual functional suspects (each, map, reduce, filter...)
13 | without extending any core JavaScript objects.
14 |
15 | For Docs, License, Tests, and pre-packed downloads, see:
16 | http://underscorejs.org
17 |
18 | Underscore is an open-sourced component of DocumentCloud:
19 | https://github.com/documentcloud
20 |
21 | Many thanks to our contributors:
22 | https://github.com/jashkenas/underscore/contributors
23 |
--------------------------------------------------------------------------------
/www/lib/underscore/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "underscore",
3 | "version": "1.8.2",
4 | "main": "underscore.js",
5 | "keywords": ["util", "functional", "server", "client", "browser"],
6 | "ignore" : ["docs", "test", "*.yml", "CNAME", "index.html", "favicon.ico", "CONTRIBUTING.md"]
7 | }
8 |
--------------------------------------------------------------------------------
/www/lib/underscore/component.json:
--------------------------------------------------------------------------------
1 | {
2 | "name" : "underscore",
3 | "description" : "JavaScript's functional programming helper library.",
4 | "keywords" : ["util", "functional", "server", "client", "browser"],
5 | "repo" : "jashkenas/underscore",
6 | "main" : "underscore.js",
7 | "scripts" : ["underscore.js"],
8 | "version" : "1.8.2",
9 | "license" : "MIT"
10 | }
11 |
--------------------------------------------------------------------------------
/www/lib/underscore/karma.conf-sauce.js:
--------------------------------------------------------------------------------
1 | var _ = require('./');
2 |
3 | // Browsers to run on Sauce Labs platforms
4 | var sauceBrowsers = _.reduce([
5 | ['firefox', '35'],
6 | ['firefox', '30'],
7 | ['firefox', '20'],
8 | ['firefox', '11'],
9 | ['firefox', '4'],
10 |
11 | ['chrome', '40'],
12 | ['chrome', '35'],
13 | ['chrome', '28'],
14 |
15 | ['internet explorer', '11', 'Windows 8.1'],
16 | ['internet explorer', '10', 'Windows 8'],
17 | ['internet explorer', '9', 'Windows 7'],
18 | // Currently do not work with Karma.
19 | // ['internet explorer', '8', 'Windows 7'],
20 | // ['internet explorer', '7', 'Windows XP'],
21 | // ['internet explorer', '6', 'Windows XP'],
22 |
23 | ['opera', '12'],
24 | ['opera', '11'],
25 |
26 | ['android', '4.3'],
27 | ['android', '4.0'],
28 |
29 | ['safari', '8'],
30 | ['safari', '6'],
31 | ['safari', '7'],
32 | ['safari', '5']
33 | ], function(memo, platform) {
34 | var label = (platform[0] + '_v' + platform[1]).replace(' ', '_').toUpperCase();
35 | memo[label] = _.pick({
36 | 'base': 'SauceLabs',
37 | 'browserName': platform[0],
38 | 'version': platform[1],
39 | 'platform': platform[2]
40 | }, Boolean);
41 | return memo;
42 | }, {});
43 |
44 | module.exports = function(config) {
45 | if ( !process.env.SAUCE_USERNAME || !process.env.SAUCE_ACCESS_KEY ) {
46 | console.log('Sauce environments not set --- Skipping');
47 | return process.exit(0);
48 | }
49 |
50 | config.set({
51 | basePath: '',
52 | frameworks: ['qunit'],
53 | singleRun: true,
54 |
55 | // list of files / patterns to load in the browser
56 | files: [
57 | 'test/vendor/qunit-extras.js',
58 | 'underscore.js',
59 | 'test/*.js'
60 | ],
61 | // test results reporter to use
62 | reporters: ['dots', 'saucelabs'],
63 | port: 9876,
64 | colors: true,
65 | logLevel: config.LOG_INFO,
66 | sauceLabs: {
67 | build: 'TRAVIS #' + process.env.TRAVIS_BUILD_NUMBER + ' (' + process.env.TRAVIS_BUILD_ID + ')',
68 | startConnect: true,
69 | tunnelIdentifier: process.env.TRAVIS_JOB_NUMBER
70 | },
71 |
72 | // TODO(vojta): remove once SauceLabs supports websockets.
73 | // This speeds up the capturing a bit, as browsers don't even try to use websocket.
74 | transports: ['xhr-polling'],
75 | captureTimeout: 120000,
76 | customLaunchers: sauceBrowsers
77 |
78 | // Browsers to launch, commented out to prevent karma from starting
79 | // too many concurrent browsers and timing sauce out.
80 | // browsers: _.keys(sauceBrowsers)
81 | });
82 | };
83 |
--------------------------------------------------------------------------------
/www/lib/underscore/karma.conf.js:
--------------------------------------------------------------------------------
1 | // Note some browser launchers should be installed before using karma start.
2 |
3 | // For example:
4 | // $ npm install karma-firefox-launcher
5 | // $ karma start --browser=Firefox
6 |
7 | // See http://karma-runner.github.io/0.8/config/configuration-file.html
8 | module.exports = function(config) {
9 | config.set({
10 | basePath: '',
11 | frameworks: ['qunit'],
12 | logLevel: config.LOG_INFO,
13 | port: 9876,
14 |
15 | // list of files / patterns to load in the browser
16 | files: [
17 | 'test/vendor/qunit-extras.js',
18 | 'underscore.js',
19 | 'test/*.js'
20 | ],
21 |
22 | // Test results reporter to use
23 | // https://npmjs.org/browse/keyword/karma-reporter
24 | reporters: ['progress'],
25 |
26 | // start these browsers
27 | // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
28 | browsers: ['PhantomJS'],
29 |
30 | // Continuous Integration mode
31 | // if true, Karma captures browsers, runs the tests and exits
32 | singleRun: true
33 | });
34 | };
--------------------------------------------------------------------------------
/www/lib/underscore/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "underscore",
3 | "description": "JavaScript's functional programming helper library.",
4 | "homepage": "http://underscorejs.org",
5 | "keywords": [
6 | "util",
7 | "functional",
8 | "server",
9 | "client",
10 | "browser"
11 | ],
12 | "author": "Jeremy Ashkenas ",
13 | "repository": {
14 | "type": "git",
15 | "url": "git://github.com/jashkenas/underscore.git"
16 | },
17 | "main": "underscore.js",
18 | "version": "1.8.2",
19 | "devDependencies": {
20 | "docco": "*",
21 | "eslint": "0.6.x",
22 | "karma": "~0.12.31",
23 | "karma-qunit": "~0.1.4",
24 | "qunit-cli": "~0.2.0",
25 | "uglify-js": "2.4.x"
26 | },
27 | "scripts": {
28 | "test": "npm run test-node && npm run lint",
29 | "lint": "eslint underscore.js test/*.js",
30 | "test-node": "qunit-cli test/*.js",
31 | "test-browser": "npm i karma-phantomjs-launcher && ./node_modules/karma/bin/karma start",
32 | "build": "uglifyjs underscore.js -c \"evaluate=false\" --comments \"/ .*/\" -m --source-map underscore-min.map -o underscore-min.js",
33 | "doc": "docco underscore.js"
34 | },
35 | "license": "MIT",
36 | "files": [
37 | "underscore.js",
38 | "underscore-min.js",
39 | "underscore-min.map",
40 | "LICENSE"
41 | ]
42 | }
43 |
--------------------------------------------------------------------------------