Стиль и типография, управляемый данными для JupyterLab, основанного на JSS.
Это бесплатное программное обеспечение
Мы пробуем здесь некоторые вещи и приглашаем вас протестировать это, но не делаем никаких гарантий, что это хорошо или даже работает. То, что мы имеем в виду под этим, рассматривается в кричащем тексте в нижней части лицензии.
Если что -то сломано, станьте участником и поднимайте проблему, но мы не можем гарантировать какое -либо время ответа. Аналогичным образом, PRS будет рассмотрено на основе времени.
pip install jupyterlab-fonts
# or
conda install -c conda-forge jupyterlab-fontsМы сожалеем, что вы уходите!
pip uninstall jupyterlab-fonts
# or
conda uninstall jupyterlab-fontsЧтобы изменить свои шрифты по умолчанию, в главном меню, выберите «Настройки ▶ Шрифты» ▶ Код ▶ Шрифт (или размер или высота строки ) и значение, которое вы хотели бы.
Также доступны некоторые функции контента , то есть ваша рендерированная отметка и HTML, и, как мы надеемся, будут добавлены больше.
Вы можете просмотреть все доступные конфигурации шрифтов, выбрав настройки ▶ Шрифты ▶ Глобальные шрифты .... Эти значения будут храниться в ваших настройках jupyterlab.
При просмотре .ipynb измените только шрифты для этого файла , нажав на панели инструментов Notebook (прямо сейчас, рядом с типом ячейки). Шрифт, изменения стиля и его информация о лицензии будет храниться в метаданных ноутбуков.
Это может быстро увеличить размер вашего ноутбука и может затруднить использование в сотрудничестве. Мы смотрим на некоторые измененные подходы.
В JupyterLab раздел шрифтов Advanced Settings JSON может контролировать вещи, совершенно не связанные с шрифтами. Нет никакой гарантии, что высоко острой стили будут хорошо работать с редактором шрифтов или с нисходящими приложениями метаданных jupyterlab-fonts .
Вот пример изменения того, как выглядит файл ноутбука в режиме презентации .
{
"styles" : {
":root" : {
"--jp-code-font-family" : " 'Fira Code Regular', 'Source Code Pro', monospace " ,
"--jp-code-font-size" : " 19px "
},
".jp-mod-presentationMode .jp-Notebook" : {
"& .CodeMirror, & .cm-editor" : {
"fontSize" : " 32px "
},
"& .jp-InputPrompt, & .jp-OutputPrompt" : {
"display" : " none "
}
}
}
} Аналогичным образом, инспектор свойств jupyterlab обеспечивает эти настройки в конкретном файле .ipynb , как на уровне документа, так и на уровне ячейки: они динамически генерируются и оцениваются в id документа/ячейки.
Приведенный выше пример показывает, как разные версии jupyterlab (или ноутбук) могут использовать разные классы DOM для одного и того же логического контента, например:
| Элемент | Jupyterlab <4 | Jupyterlab 4 |
|---|---|---|
| редактор кода | .CodeMirror | .cm-editor |
Все функции JSON-совместимых плагинов jss-preset-default включены с настройками по умолчанию с некоторыми конкретными примечаниями ниже. Для переносимости динамические функции на основе JS не поддерживаются.
The & (Ampersand) позволяет определять селекторы гнездования, как стандартизировано модулем гнездования W3C CSS и реализовано во многих браузерах.
Все настройки, полученные из настройки, будут обернуты в селектор @global .
overrides.json overrides.json позволяет простую, декларативную конфигурацию ядра jupyterlab и сторонних расширений, даже после того, как лабораторный сервер был запущен.
{
"@deathbeds/jupyterlab-fonts:fonts" : {
"styles" : {
":root" : {
"--jp-code-font-family" : " 'Fira Code Regular', 'Source Code Pro', monospace " ,
"--jp-code-font-size" : " 19px "
}
}
}
} В переплетке можно развернуть это с помощью сценария postBuild :
#! /usr/bin/env bash
set -eux
mkdir -p " ${NB_PYTHON_PREFIX} /share/jupyter/lab/settings "
cp overrides.json " ${NB_PYTHON_PREFIX} /share/jupyter/lab/settings " Точно так же это хорошо известный файл в Jupyterlite, что позволяет простым настройке света без необходимости создавать и распространять полный плагин темы.