2018-09-21 23:01:53 +00:00
|
|
|
.. _user_interface:
|
|
|
|
|
|
|
|
============================
|
|
|
|
Configure the user interface
|
|
|
|
============================
|
|
|
|
|
|
|
|
You can build several user interfaces into the resulting Docker image.
|
|
|
|
This is controlled with various :ref:`configuration files <config-files>`.
|
|
|
|
|
2019-01-29 04:08:43 +00:00
|
|
|
|
2018-09-21 23:01:53 +00:00
|
|
|
JupyterLab
|
2019-01-29 04:08:43 +00:00
|
|
|
==========
|
2018-09-21 23:01:53 +00:00
|
|
|
|
|
|
|
You do not need any extra configuration in order to allow the use
|
|
|
|
of the JupyterLab interface. You can launch JupyterLab from within a user
|
|
|
|
session by opening the Jupyter Notebook and appending ``/lab`` to the end of the URL
|
|
|
|
like so:
|
|
|
|
|
|
|
|
.. code-block:: none
|
|
|
|
|
|
|
|
http(s)://<server:port>/lab
|
|
|
|
|
|
|
|
To switch back to the classic notebook, add ``/tree`` to the URL like so:
|
|
|
|
|
|
|
|
.. code-block:: none
|
|
|
|
|
|
|
|
http(s)://<server:port>/tree
|
|
|
|
|
2019-01-29 04:08:43 +00:00
|
|
|
For example, the following Binder URL will open the
|
|
|
|
`pyTudes repository <https://github.com/norvig/pytudes>`_
|
|
|
|
and begin a JupyterLab session in the ``ipynb`` folder:
|
|
|
|
|
|
|
|
https://mybinder.org/v2/gh/norvig/pytudes/master?urlpath=lab/tree/ipynb
|
|
|
|
|
|
|
|
The ``/tree/ipynb`` above is how JupyterLab directs you to a specific file
|
|
|
|
or folder.
|
|
|
|
|
2018-09-21 23:01:53 +00:00
|
|
|
To learn more about URLs in JupyterLab and Jupyter Notebook, visit
|
|
|
|
`starting JupyterLab <http://jupyterlab.readthedocs.io/en/latest/getting_started/starting.html>`_.
|
|
|
|
|
2019-01-29 04:08:43 +00:00
|
|
|
|
2019-01-29 22:12:19 +00:00
|
|
|
nteract
|
2019-01-29 04:08:43 +00:00
|
|
|
=======
|
|
|
|
|
2019-01-29 22:12:19 +00:00
|
|
|
`nteract is a notebook interface <https://nteract.io/>`_ built with React.
|
2019-01-29 04:08:43 +00:00
|
|
|
It is similar to a more feature-filled version of the traditional
|
|
|
|
Jupyter Notebook interface.
|
|
|
|
|
2019-01-29 22:12:19 +00:00
|
|
|
nteract comes pre-installed in any session that has been built from
|
2019-01-29 04:08:43 +00:00
|
|
|
a Python repository.
|
|
|
|
|
2019-01-29 22:12:19 +00:00
|
|
|
You can launch nteract from within a user
|
2019-01-29 04:08:43 +00:00
|
|
|
session by replacing ``/tree`` with ``/nteract`` at the end of a notebook
|
|
|
|
server's URL like so:
|
|
|
|
|
|
|
|
.. code-block:: none
|
|
|
|
|
|
|
|
http(s)://<server:port>/nteract
|
|
|
|
|
|
|
|
For example, the following Binder URL will open the
|
|
|
|
`pyTudes repository <https://github.com/norvig/pytudes>`_
|
2019-01-29 22:12:19 +00:00
|
|
|
and begin an nteract session in the ``ipynb`` folder:
|
2019-01-29 04:08:43 +00:00
|
|
|
|
|
|
|
https://mybinder.org/v2/gh/norvig/pytudes/master?urlpath=nteract/tree/ipynb
|
|
|
|
|
2019-01-29 22:12:19 +00:00
|
|
|
The ``/tree/ipynb`` above is how nteract directs you to a specific file
|
2019-01-29 04:08:43 +00:00
|
|
|
or folder.
|
|
|
|
|
2019-01-29 22:12:19 +00:00
|
|
|
To learn more about nteract, visit `the nteract website <https://nteract.io/about>`_.
|
2019-01-29 04:08:43 +00:00
|
|
|
|
|
|
|
|
2018-09-21 23:01:53 +00:00
|
|
|
RStudio
|
2019-01-29 04:08:43 +00:00
|
|
|
=======
|
2018-09-21 23:01:53 +00:00
|
|
|
|
2018-10-30 14:59:42 +00:00
|
|
|
The RStudio user interface is automatically enabled if a configuration file for
|
|
|
|
R is detected (i.e. an R version specified in ``runtime.txt``). If this is detected,
|
2018-09-21 23:01:53 +00:00
|
|
|
RStudio will be accessible by appending ``/rstudio`` to the URL, like so:
|
|
|
|
|
|
|
|
.. code-block:: none
|
|
|
|
|
|
|
|
http(s)://<server:port>/rstudio
|
2018-10-30 14:59:42 +00:00
|
|
|
|
2019-01-29 04:08:43 +00:00
|
|
|
For example, the following Binder link will open an RStudio session in
|
|
|
|
the `R demo repository <https://github.com/binder-examples/r>`_.
|
|
|
|
|
|
|
|
http://mybinder.org/v2/gh/binder-examples/r/master?urlpath=rstudio
|
|
|
|
|
|
|
|
|
|
|
|
Shiny
|
|
|
|
=====
|
|
|
|
|
|
|
|
`Shiny lets you create interactive visualizaions with R <https://shiny.rstudio.com/>`_.
|
|
|
|
Shiny is automatically enabled if a configuration file for
|
|
|
|
R is detected (i.e. an R version specified in ``runtime.txt``). If
|
|
|
|
this is detected, Shiny will be accessible by appending
|
|
|
|
``/shiny/<folder-w-shiny-files>`` to the URL, like so:
|
|
|
|
|
|
|
|
.. code-block:: none
|
|
|
|
|
|
|
|
http(s)://<server:port>/shiny/bus-dashboard
|
|
|
|
|
|
|
|
This assumes that a folder called ``bus-dashboard`` exists in the root
|
|
|
|
of the repository, and that it contains all of the files needed to run
|
|
|
|
a Shiny app.
|
|
|
|
|
|
|
|
For example, the following Binder link will open a Shiny session in
|
|
|
|
the `R demo repository <https://github.com/binder-examples/r>`_.
|
|
|
|
|
|
|
|
http://mybinder.org/v2/gh/binder-examples/r/master?urlpath=shiny/bus-dashboard/
|
|
|
|
|
|
|
|
|
2018-10-30 14:59:42 +00:00
|
|
|
Stencila
|
2019-01-29 04:08:43 +00:00
|
|
|
========
|
2018-10-30 14:59:42 +00:00
|
|
|
|
2019-01-29 04:08:43 +00:00
|
|
|
The Stencila user interface is automatically enabled if a Stencila document (i.e.
|
2018-12-20 16:16:37 +00:00
|
|
|
a file ``manifest.xml``) is detected. Stencila will be accessible by appending
|
2018-10-30 14:59:42 +00:00
|
|
|
``/stencila`` to the URL, like so:
|
|
|
|
|
|
|
|
.. code-block:: none
|
|
|
|
|
|
|
|
http(s)://<server:port>/stencila
|
|
|
|
|
2018-12-20 16:16:37 +00:00
|
|
|
The editor will open the Stencila document corresponding to the last ``manifest.xml``
|
2018-10-30 14:59:42 +00:00
|
|
|
found in the file tree. If you want to open a different document, you can configure
|
2018-12-20 16:16:37 +00:00
|
|
|
the path in the URL parameter ``archive``:
|
2018-10-30 14:59:42 +00:00
|
|
|
|
|
|
|
.. code-block:: none
|
|
|
|
|
|
|
|
http(s)://<server:port>/stencila/?archive=other-dir
|