|
Gist it |
|
======= |
|
|
|
Publish notebooks as Github gists with a single button click! |
|
|
|
 |
|
|
|
|
|
Authentication |
|
-------------- |
|
|
|
The extension works with no special settings, publishing anonymous, |
|
non-modifiable gists. |
|
|
|
To create gists owned by your Github user, or to modify existing gists (useful |
|
for multiple revisions of a notebook!), you need to be authenticated with Github. |
|
|
|
|
|
### Anonymous |
|
|
|
You can publish anonymous gists without any authentication (the default mode). |
|
Anonymous gists can't be edited, so every time you click the button, a new gist |
|
is created. |
|
|
|
|
|
|
|
### Personal access tokens |
|
|
|
At the moment, the only supported method of authentication is client-side, |
|
using Github _personal access tokens_. |
|
|
|
__Important:__ __using personal access token authentication only makes sense if |
|
you are the only user of the notebook server__, and control the server. |
|
Otherwise, other users of the server may use your token |
|
(either accidentally or maliciously) to create/edit/delete gists, |
|
or exercise any other permissions you might have given to the token. |
|
If the server is only for your personal use, then you can create a github |
|
personal access token at [github.com/settings/tokens](https://github.com/settings/tokens). |
|
It makes sense to only grant the token the minimum permissions (scopes) |
|
necessary for the extension to work, in this case, the `gists` scope. |
|
Once you've got your token from Github, enter it in the |
|
[jupyter_nbextensions_configurator](https://github.com/Jupyter-contrib/jupyter_nbextensions_configurator) |
|
ui for it to be stored in the server config. |
|
|
|
|
|
### Full Github OAuth |
|
|
|
Github's full OAuth authentication |
|
(which would be required to make this extension useful for authenticating users |
|
in a multi-notebook setup) |
|
requires some server-side code. |
|
There are some issues with implementing this directly ( |
|
essentially related to a secret which the App server must know, and for obvious |
|
reasons can't be published as part of open-source code) as a Jupyter extension. |
|
I ([@jcb91](https://github.com/jcb91)) started writing this `Gist it` extension |
|
to work with a 3rd-party authentication app, but didn't finish it or test it, |
|
so it's not functional at the moment. |
|
If you'd like to have the full OAuth model, I'd be happy to help with any |
|
attempt you make - drop me a line on Github. |
|
|