自定义 JupyterLab 启动器

Customizing JupyterLab Launcher

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

Launcher's code很简单,我可以根据自己的喜好修改。但是我在应用更改时遇到了问题。

这是一个 JupyterHub 环境 (zero-to-jupyterhub-k8s) with a custom singleuser image that is derived from jupyter/datascience-notebook.

启动器不是普通的 labextension。无论如何我都可以扩展以替换它吗?还是我应该尝试在某个地方修补我的更改?在哪里?我什至在图像中找不到启动器的代码。

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

你需要做的是扩展主启动器,就像在 Elyra 的主题包上所做的那样 - packages/theme/src/launcher.tsx 然后在该文件的底部添加你的 HTML 修复,应该是像这样 (launcher.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>
    );
...

请记住,为了使它起作用,还有一个额外的设置。主要是 - 你需要禁用主要的 jupyter 启动器。在命令行中很简单:

jupyter labextension disable @jupyterlab/launcher-extension

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

{
  "disabledExtensions": ["@jupyterlab/launcher-extension"]
}

最后一部分可能会犯很多小错误(忘记将其添加到 setup.py 数据文件,忘记将其添加到 MANIFEST.in 等)。所以我建议遵循 original commit

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