自定义 JupyterLab 启动器

Dan*_*bos 5 jupyterhub jupyter-lab

我想在我的 JupyterLab Launcher 中添加一些自定义内容。这是新用户看到的第一个页面,我想告诉他们这个环境的细节和内容的链接。有点像这样:

启动器中带有新部分的插图

发射器的代码简单,我可以修改我的胃口。但是我在应用这些更改时遇到了麻烦。

这是一个 JupyterHub 环境(从零到 jupyterhub-k8s),带有一个从jupyter/datascience-notebook.

启动器不是正常的labextension。无论如何,我可以扩展以替换它吗?或者我应该尝试在某处修补我的更改?在哪里?我什至无法在图像中找到 Launcher 的代码。

The*_*Hog 7

我需要一个类似的解决方案,并在elyra-ai/elyra项目中找到了答案!

您需要做的是扩展主启动器,因为它是在 Elyra 的主题 pacakge -packages /theme/src/launcher.tsx上完成的 ,然后在该文件的底部添加您的 HTML 修复,应该看起来像这样(启动器.tsx):

...
     return (
      <div className="jp-Launcher-body">
        <div className="jp-Launcher-content">
          <div className="jp-Launcher-cwd">
            <h3>Welcome! Here are few tips: ....</h3>
          </div>
          {categories}
        </div>
      </div>
    );
...
Run Code Online (Sandbox Code Playgroud)

请记住,需要进行额外的设置才能使其正常工作。主要是 - 您需要禁用主 jupyter 启动器。在命令行中很简单:

jupyter labextension disable @jupyterlab/launcher-extension
Run Code Online (Sandbox Code Playgroud)

但是,您很可能需要将其安装为 JupyterLab 扩展,因此您必须通过页面设置禁用该扩展 - 这就是Elyra 所做的

{
  "disabledExtensions": ["@jupyterlab/launcher-extension"]
}
Run Code Online (Sandbox Code Playgroud)

最后一部分是您可能会犯很多小错误的地方(忘记将其添加到 setup.py 数据文件中,忘记将其添加到 MANIFEST.in 等中)。所以我建议遵循原始提交

祝你好运,非常感谢 Elyra 团队!