This adds a config option, defaulting to use trash, and adds a
dependency on the pure-Python 'send2trash' package. Linux, Mac and
Windows should all be supported.
Alternatively, we could make it default to hard delete (the current
behaviour), and let users opt in to trash behaviour. Then Send2Trash
could be a soft dependency.
This doesn't touch the UI yet, so you still get a confirmation dialog
which inaccurately says it will 'permanently delete' the file. If we
want to do this, we'll need some way for the contents manager to pass
the UI a hint about whether deleting is permanent or not.
Closes gh-165
As per [their blog post of the 27th April](https://blog.readthedocs.com/securing-subdomains/) ‘Securing subdomains’:
> Starting today, Read the Docs will start hosting projects from subdomains on the domain readthedocs.io, instead of on readthedocs.org. This change addresses some security concerns around site cookies while hosting user generated data on the same domain as our dashboard.
Test Plan: Manually visited all the links I’ve modified.
Based on first review by @minrk
* bundlerextension for consistency
* Move CLI entry point into bundler package
* Add bundler/__main__.py
(c) Copyright IBM Corp. 2016
* Change handler for consistency with nbconvert
* Change bundler function API to take ContentManager models
* Change CLI to work as jupyter bundler
* Change UI to fit into existing template / JS structure
(c) Copyright IBM Corp. 2016
- run npm, bower install every time (except from sdist).
Removes need to check npm, bower sources.
- only check `built/index.js` for build target
since webpack is only a single step now
If we're going to explicitly list 3.3, we should also be listing 3.4 and
3.5. But really we're compatible with any fairly recent Python 3
version, and will probably be compatible with future versions, so I
think it's best to just use the overall Python 3 classifier.
Closes gh-7941
I've left a backwards compatibility module in
IPython.nbconvert.utils.lexers - I don't know if anyone is importing it
directly, but since we put it in entry points, we should probably
consider it public API.