ipython - 如何(可以)在Jupyter笔记本下使用custom.js文件?

标签 ipython ipython-notebook jupyter-notebook jupyter

在IPython笔记本(例如v3.1)中,我可以添加~/.ipython/profile_default/static/custom/custom.js文件来执行一些自定义JavaScript。例如,我可以做这样的事情:

require(['base/js/namespace', 'base/js/events'], function(IPython, events) {
    console.log("A");
    events.on('app_initialized.NotebookApp', function() {
        console.log("B");
    });
    console.log("C");
});

然后,在JS控制台中,我将看到A,然后是B,然后是C

现在,从4.0版开始,他们将其拆分为Jupyter笔记本。加载相同的文件(尽管事实是它位于~/.ipython下,而不是~/.jupyter下),并且代码被执行。但是,我不再看到B行。我猜该应用程序尚未初始化。我仍然看到它在source code中被触发了,但这是稍后出现的,还是它不起作用?

我该如何使事情重新开始?我是否不再需要等待app_initialized?是否在某处记录了这些内容?

编辑

This page似乎表明,如今的方法是创建一个自定义扩展并将所有操作放入load_ipython_extension函数中。是对的吗?如果是这样,那么mathjax呢?还有CodeMirror选项?

最佳答案

使用custom.js仍然对我有用,但是似乎有些变动。

当前(版本4.2.3)以及即将发布的5.0版本的文档中,它位于~/.jupyter/custom/custom.js。请参阅http://jupyter-notebook.readthedocs.io/en/latest/examples/Notebook/JavaScript%20Notebook%20Extensions.html#custom.js上的文档

您可以通过在笔记本中执行以下代码段来显示custom.js的路径和内容:

from jupyter_core.paths import jupyter_config_dir
jupyter_dir = jupyter_config_dir()
import os.path
custom_js_path = os.path.join(jupyter_dir, 'custom', 'custom.js')
print("searching for custom.js in ", custom_js_path)
#  my custom js
if os.path.isfile(custom_js_path):
    with open(custom_js_path) as f:
        print(f.read())
else:
    print("You don't have a custom.js file")

关于ipython - 如何(可以)在Jupyter笔记本下使用custom.js文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32170197/

相关文章:

pdf - IPython/Jupyter 下载为 PDF 样式

python - 导入错误 : cannot import name start_ipython

python - Ipython notebook 在 Ipython.Display 模块中对齐 Latex 方程

python - ipython笔记本中的Unicode

ipython-notebook - 是否可以在我的网站/博客中嵌入交互式 IPython Notebook?

ipython - 按 ctrl-enter 后如何使 ipython 不退出编辑模式

jupyter-notebook - 如何在 Google Colab 中做内部链接

date - 请参阅 Jupyter 笔记本中的 "creation date"和 "last update"

python-3.x - iPython 笔记本中的动画

numpy - 散点图 (2D),显示由 ipython、numpy 和 matplotlib 的几何函数绘制的虚线圆和其他 2D 形状