В ноутбуке 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
. Я думаю, что приложение не инициализируется. Я все еще вижу, что он запускается в исходный код, но это происходит позже или просто не работает?
Как мне заставить работу снова работать? Мне больше не нужно ждать app_initialized
? Является ли какое-либо из этих документов где-то?
Изменить
Эта страница, похоже, предполагает, что способ сделать это в наши дни - создать пользовательское расширение и поместить все действия в load_ipython_extension
функция. Это правильно? Если да, то как насчет mathjax? И опции CodeMirror?