Я ищу простой способ применить пользовательский CSS к блокноту Jupyter Lab. Я пытался следовать документации и получаю следующую ошибку:
Missing extension module "lib/index.js"
после запуска jupyter labextension install .
Jupyter Lab использует Themes для настройки форматирования ноутбука. Кажется, это разумный способ сделать свои темы многократно используемыми, но у меня чертовски много времени выясняется, как внести и применить набор изменений, которые я хотел бы сделать.
В соответствии с документацией по темам, указанным выше:
Чтобы быстро создать тему, основанную на Light Theme JupyterLab, следуйте
инструкции в соответствующем руководстве, а затем запустите jlpm run
создать: тема из корневого каталога репозитория. Как только вы выберите
имя, заголовок и описание, новая папка темы будет создана в
текущий каталог. Вы можете переместить эту новую папку в папку
ваш выбор, и начните вносить необходимые изменения.
Шаги в справочном пособии побудили меня сделать следующее:
- Клонировал репозиторий JupyterLab из GitHub, используя Fork .
pip install -e .
jlpm install
jlpm run build
jlpm run build:core
jupyter lab build
Все из моего локального каталога, где я клонировал репо. Это имело побочный эффект от установки последней альфа-сборки JupyterLab, чего я не хочу. Мне нужно использовать стабильную версию, поэтому я удалил jupyterlab через conda, а затем переустановил его.
Затем я повторил вышеупомянутое, используя тег 0.35.4 JupyterLab. Я упоминаю об этом только в том маловероятном случае, когда двойная установка куда-то облажалась.
Затем, просматривая тему Авторская документация , я сначала:
npm install
, который работает без инцидентов
npm run build
, который жалуется на то, что ../application/tsconfig.json
не найден, что я считаю правильным, потому что я не думаю, что использую какой-либо TypeScript (??)
jupyter labextension install .
, что не удается, поскольку lib/index.js
не найден.
Я предполагаю, что это потому, что lib/index.js
указан в "main"
.
Я не уверен, какие части этого конфига изменить и что оставить прежними, если моя единственная цель - изменить файлы .css в каталоге style
.
Вот мой полный package.json
файл:
{
"name": "FirstTheme",
"version": "0.19.1",
"description": "My first Theme",
"homepage": "https://github.com/jupyterlab/jupyterlab",
"bugs": {
"url": "https://github.com/jupyterlab/jupyterlab/issues"
},
"license": "BSD-3-Clause",
"author": "Project Jupyter",
"files": [
"lib/*.d.ts",
"lib/*.js.map",
"lib/*.js",
"static/*.css",
"static/*.ttf",
"static/*.eot",
"static/*.woff",
"static/*.woff2"
],
"main": "lib/index.js",
"types": "lib/index.d.ts",
"directories": {
"lib": "lib/"
},
"repository": {
"type": "git",
"url": "https://github.com/jupyterlab/jupyterlab.git"
},
"scripts": {
"build": "tsc -b",
"build:src": "tsc -b src",
"build:webpack": "webpack",
"clean": "rimraf lib && rimraf static",
"prepublishOnly": "npm run build",
"watch": "tsc -b --watch",
"watch:src": "tsc -b src --watch",
"watch:webpack": "webpack --watch"
},
"dependencies": {
"@jupyterlab/application": "^0.19.1",
"@jupyterlab/apputils": "^0.19.1",
"ajv": "^6.7.0",
"font-awesome": "~4.7.0"
},
"devDependencies": {
"css-loader": "~0.28.7",
"mini-css-extract-plugin": "^0.4.0",
"npm-run-all": "~4.1.1",
"rimraf": "~2.6.2",
"svg-url-loader": "~2.3.1",
"svgo": "~1.0.4",
"svgo-loader": "~2.1.0",
"typedoc": "~0.12.0",
"typescript": "~3.1.1",
"url-loader": "~1.0.1",
"webpack": "~4.12.0",
"webpack-cli": "^3.0.3"
},
"publishConfig": {
"access": "public"
},
"jupyterlab": {
"extension": true,
"themeDir": "static"
}
}