adding copy buttons to code blocks

This commit is contained in:
Chris Holdgraf
2018-07-05 17:51:51 -07:00
parent 4fcf41a6c6
commit c6fbf47774
8 changed files with 70 additions and 13 deletions

22
docs/_static/custom.css vendored Normal file
View File

@@ -0,0 +1,22 @@
button.copybtn {
webkit-transition: opacity .3s ease-in-out;
-o-transition: opacity .3s ease-in-out;
transition: opacity .3s ease-in-out;
opacity: 0;
padding: 2px 6px;
position: absolute;
right: 4px;
top: 4px;
}
div.highlight:hover .copybtn, div.highlight .copybtn:focus {
opacity: .3;
}
div.highlight .copybtn:hover {
opacity: 1;
}
div.highlight {
position: relative;
}

25
docs/_static/custom.js vendored Normal file
View File

@@ -0,0 +1,25 @@
// Set up copy/paste for code blocks
function addCopyButtonToCode(){
// get all <code> elements
var allCodeBlocksElements = $( "div.highlight pre" );
allCodeBlocksElements.each(function(ii) {
// add different id for each code block
// target
var currentId = "codeblock" + (ii + 1);
$(this).attr('id', currentId);
//trigger
var clipButton = '<button class="btn copybtn" data-clipboard-target="#' + currentId + '"><img src="https://clipboardjs.com/assets/images/clippy.svg" width="13" alt="Copy to clipboard"></button>';
$(this).after(clipButton);
});
new Clipboard('.btn');
}
$(document).ready(function () {
// Highlight current page in sidebar
console.log('hi');
addCopyButtonToCode();
});

View File

@@ -10,6 +10,12 @@ version = ''
# The full version, including alpha/beta/rc tags
release = 'v0.1'
# Add custom CSS/Javascript
def setup(app):
app.add_javascript("custom.js")
app.add_stylesheet("custom.css")
app.add_javascript("https://cdn.jsdelivr.net/npm/clipboard@1/dist/clipboard.min.js")
# Enable MathJax for Math
extensions = ['sphinx.ext.mathjax']

View File

@@ -7,9 +7,9 @@ In The Littlest JupyterHub, we try to allow users to do as many administrative
tasks as possible within JupyterHub itself. Admin users can:
1. Have full root access with passwordless ``sudo``
2. Install systemwide packages with ``apt``
3. Install ``conda`` / ``pip`` packages for all JupyterHub
4. Change amount of RAM / CPU available to each user and more!
2. Install system-wide packages with ``apt``
3. Install ``conda`` / ``pip`` packages for all JupyterHub users
4. Change the amount of RAM / CPU available to each user, and more!
By default, there are no admin users. You should add some after installation.
@@ -17,7 +17,8 @@ Adding admin users
==================
Admin users are specified in the `YAML <https://en.wikipedia.org/wiki/YAML>`_
config file at ``/opt/tljh/config.yaml``.
config file at ``/opt/tljh/config.yaml``. This file is created upon installing
tljh.
1. Open the ``config.yaml`` file for editing.

View File

@@ -15,7 +15,7 @@ The quick way to install The Littlest JupyterHub (tljh) is:
This takes 2-5 minutes to run. When completed, you can access your new JupyterHub
at the public IP of your server!
You should probably add yourself as an `admin user <admin.md>`_
You should probably add yourself as an `admin user <admin.rst>`_
after installation.
Slightly less quick installation

View File

@@ -10,7 +10,7 @@ interfaces you can use:
1. `JupyterLab <http://jupyterlab.readthedocs.io/en/stable/>`_
2. `nteract <https://nteract.io/>`_
Both these interfaces are also shipped with TLJH by default. You can try them
Both these interfaces are also shipped with tljh by default. You can try them
temporarily, or set them to be the default interface whenever you login.
Trying alternate interface tempoarily
@@ -20,13 +20,12 @@ When you log in & start your server, by default the URL in your browser
will be something like ``/user/<username>/tree``. The ``/tree`` is what tells
the notebook server to give you the classic notebook interface.
If you change ``/tree`` to ``/lab``, you will get the JupyterLab interface.
If you change ``/tree`` to ``/nteract``, you will get the nteract interface.
* **For the JupyterLab interface**: change ``/tree`` to ``/lab``.
* **For the nteract interface**: change ``/tree`` to ``/nteract``
You can play around with them and see what fits your use cases best.
Changing default notebook interface
Changing the default user interface
-----------------------------------
You can change the default interface users get when they log in by modifying

View File

@@ -7,7 +7,7 @@ Looking at Logs
They contain a forensic record of what individual pieces of software were doing
before things went bad, and can help us understand the problem so we can fix it.
TLJH collects logs from JupyterHub, Configurable HTTP Proxy & from each individual
TLJH collects logs from JupyterHub, Configurable HTTP Proxy, & from each individual
user's notebook server. All the logs are accessible via `journalctl <https://www.freedesktop.org/software/systemd/man/journalctl.html>`_.
.. warning::
@@ -58,8 +58,9 @@ problems after that.
sudo journalctl -u jupyter-<name-of-user>
This command displays logs from the given user's notebook server. See :ref:`journalctl_tips`
for tips on navigating the logs.
This command displays logs from the given user's notebook server. You can get a
list of all users from the "users" button at the top-right of the Admin page.
See :ref:`journalctl_tips` for tips on navigating the logs.
.. _journalctl_tips:

View File

@@ -82,6 +82,9 @@ Let's create the server on which we can run JupyterHub.
.. image:: ../images/providers/google/machine-type-advanced.png
:alt: Select a customized VM size
For more guidance on the different options available to you, as well as
pricing considerations on Google Cloud, see the `GCP Choosing a VM Guide <https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type?hl=en_US>`_.
#. Under **Boot Disk**, click the **Change** button. This lets us change the
operating system and the size of your disk.