diff --git a/src/jupyter_contrib_nbextensions/nbextensions/share_link/README.md b/src/jupyter_contrib_nbextensions/nbextensions/share_link/README.md new file mode 100644 index 000000000..230c7a70e --- /dev/null +++ b/src/jupyter_contrib_nbextensions/nbextensions/share_link/README.md @@ -0,0 +1,7 @@ +ShareLink +========= +This extension adds a toolbar button to copy the shareable link to another user that have access to the notebook. + +![printview toolbar button](share-link-button.png) + +link preview: https://\/hub/user-redirect/notebooks/shared_folder/Untitled.ipynb?kernel_name=python3 \ No newline at end of file diff --git a/src/jupyter_contrib_nbextensions/nbextensions/share_link/main.js b/src/jupyter_contrib_nbextensions/nbextensions/share_link/main.js new file mode 100644 index 000000000..04e267e08 --- /dev/null +++ b/src/jupyter_contrib_nbextensions/nbextensions/share_link/main.js @@ -0,0 +1,32 @@ +define([ + 'base/js/namespace' +], function( + Jupyter +) { + function load_ipython_extension() { + + var handler = function () { + var curUrl = window.location.href; + var rgx = curUrl.match("\/user\/.*?(?=\/)"); + var editedUrl = curUrl.replace(rgx,"/hub/user-redirect"); + console.log(editedUrl) + navigator.clipboard.writeText(editedUrl) + .then(() => alert('the URL have been copied to clipboard')); + }; + + var action = { + icon : 'fa-share-alt', // a font-awesome class used on buttons, etc + help : 'Copy Shareable Link to Clipboard', + handler : handler + }; + var prefix = 'shareLink'; + var action_name = 'share-link'; + + var full_action_name = Jupyter.actions.register(action, action_name, prefix); // returns 'custom_extension:share-link' + Jupyter.toolbar.add_buttons_group([full_action_name]); + } + + return { + load_ipython_extension: load_ipython_extension + }; +}); \ No newline at end of file diff --git a/src/jupyter_contrib_nbextensions/nbextensions/share_link/share-link-button.png b/src/jupyter_contrib_nbextensions/nbextensions/share_link/share-link-button.png new file mode 100644 index 000000000..635557a1d Binary files /dev/null and b/src/jupyter_contrib_nbextensions/nbextensions/share_link/share-link-button.png differ diff --git a/src/jupyter_contrib_nbextensions/nbextensions/share_link/share-link.yml b/src/jupyter_contrib_nbextensions/nbextensions/share_link/share-link.yml new file mode 100644 index 000000000..dc6a430da --- /dev/null +++ b/src/jupyter_contrib_nbextensions/nbextensions/share_link/share-link.yml @@ -0,0 +1,6 @@ +Type: Jupyter Notebook Extension +Name: Share Link +Link: README.md +Description: "A little extension to copy shareable link" +Main: main.js +Compatibility: 4.x, 5.x