Add EmoSet training and evaluation
This commit is contained in:
331
share/jupyter/nbconvert/templates/lab/base.html.j2
Normal file
331
share/jupyter/nbconvert/templates/lab/base.html.j2
Normal file
@@ -0,0 +1,331 @@
|
||||
{%- extends 'display_priority.j2' -%}
|
||||
{% from 'celltags.j2' import celltags %}
|
||||
{% from 'cell_id_anchor.j2' import cell_id_anchor %}
|
||||
|
||||
{% block codecell %}
|
||||
{%- if not cell.outputs -%}
|
||||
{%- set no_output_class="jp-mod-noOutputs" -%}
|
||||
{%- endif -%}
|
||||
{%- if not resources.global_content_filter.include_input -%}
|
||||
{%- set no_input_class="jp-mod-noInput" -%}
|
||||
{%- endif -%}
|
||||
<div {{ cell_id_anchor(cell) }} class="jp-Cell jp-CodeCell jp-Notebook-cell {{ no_output_class }} {{ no_input_class }} {{ celltags(cell) }}">
|
||||
{{ super() }}
|
||||
</div>
|
||||
{%- endblock codecell %}
|
||||
|
||||
{% block input_group -%}
|
||||
<div class="jp-Cell-inputWrapper">
|
||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||
</div>
|
||||
<div class="jp-InputArea jp-Cell-inputArea">
|
||||
{{ super() }}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock input_group %}
|
||||
|
||||
{% block input %}
|
||||
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
|
||||
<div class="cm-editor cm-s-jupyter">
|
||||
{{ cell.source | highlight_code(metadata=cell.metadata) | clean_html }}
|
||||
</div>
|
||||
</div>
|
||||
{%- endblock input %}
|
||||
|
||||
{% block output_group %}
|
||||
<div class="jp-Cell-outputWrapper">
|
||||
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
|
||||
</div>
|
||||
{{ super() }}
|
||||
</div>
|
||||
{% endblock output_group %}
|
||||
|
||||
{% block outputs %}
|
||||
<div class="jp-OutputArea jp-Cell-outputArea">
|
||||
{{ super() }}
|
||||
</div>
|
||||
{% endblock outputs %}
|
||||
|
||||
{% block in_prompt -%}
|
||||
<div class="jp-InputPrompt jp-InputArea-prompt">
|
||||
{%- if cell.execution_count is defined -%}
|
||||
In [{{ cell.execution_count|replace(None, " ") }}]:
|
||||
{%- else -%}
|
||||
In [ ]:
|
||||
{%- endif -%}
|
||||
</div>
|
||||
{%- endblock in_prompt %}
|
||||
|
||||
{% block empty_in_prompt -%}
|
||||
<div class="jp-InputPrompt jp-InputArea-prompt">
|
||||
</div>
|
||||
{%- endblock empty_in_prompt %}
|
||||
|
||||
{#
|
||||
output_prompt doesn't do anything in HTML,
|
||||
because there is a prompt div in each output area (see output block)
|
||||
#}
|
||||
{% block output_prompt %}
|
||||
{% endblock output_prompt %}
|
||||
|
||||
{% block output_area_prompt %}
|
||||
<div class="jp-OutputPrompt jp-OutputArea-prompt">
|
||||
{%- if output.output_type == 'execute_result' -%}
|
||||
{%- if cell.execution_count is defined -%}
|
||||
Out[{{ cell.execution_count|replace(None, " ") }}]:
|
||||
{%- else -%}
|
||||
Out[ ]:
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
</div>
|
||||
{% endblock output_area_prompt %}
|
||||
|
||||
{% block output %}
|
||||
{%- if output.output_type == 'execute_result' -%}
|
||||
<div class="jp-OutputArea-child jp-OutputArea-executeResult">
|
||||
{%- else -%}
|
||||
<div class="jp-OutputArea-child">
|
||||
{%- endif -%}
|
||||
{% if resources.global_content_filter.include_output_prompt %}
|
||||
{{ self.output_area_prompt() }}
|
||||
{% endif %}
|
||||
{{ super() }}
|
||||
</div>
|
||||
{% endblock output %}
|
||||
|
||||
{% block markdowncell scoped %}
|
||||
<div {{ cell_id_anchor(cell) }} class="jp-Cell jp-MarkdownCell jp-Notebook-cell">
|
||||
<div class="jp-Cell-inputWrapper">
|
||||
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
|
||||
</div>
|
||||
<div class="jp-InputArea jp-Cell-inputArea">
|
||||
{%- if resources.global_content_filter.include_input_prompt-%}
|
||||
{{ self.empty_in_prompt() }}
|
||||
{%- endif -%}
|
||||
<div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput {{ celltags(cell) }}" data-mime-type="text/markdown">
|
||||
{%- if resources.should_sanitize_html %}
|
||||
{%- set html_value=cell.source | markdown2html | strip_files_prefix | clean_html -%}
|
||||
{%- else %}
|
||||
{%- set html_value=cell.source | markdown2html | strip_files_prefix -%}
|
||||
{%- endif %}
|
||||
{{ html_value }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{%- endblock markdowncell %}
|
||||
|
||||
{% block rawcell scoped %}
|
||||
{%- if cell.metadata.get('raw_mimetype', '').lower() in resources.get('raw_mimetypes', ['']) -%}
|
||||
{{ cell.source | clean_html }}
|
||||
{%- endif -%}
|
||||
{%- endblock rawcell %}
|
||||
|
||||
{% block unknowncell scoped %}
|
||||
unknown type {{ cell.type }}
|
||||
{% endblock unknowncell %}
|
||||
|
||||
{% block execute_result -%}
|
||||
{%- set extra_class="jp-OutputArea-executeResult" -%}
|
||||
{% block data_priority scoped %}
|
||||
{{ super() }}
|
||||
{% endblock data_priority %}
|
||||
{%- set extra_class="" -%}
|
||||
{%- endblock execute_result %}
|
||||
|
||||
{% block stream_stdout -%}
|
||||
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain">
|
||||
<pre>
|
||||
{{- output.text | ansi2html -}}
|
||||
</pre>
|
||||
</div>
|
||||
{%- endblock stream_stdout %}
|
||||
|
||||
{% block stream_stderr -%}
|
||||
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr">
|
||||
<pre>
|
||||
{{- output.text | ansi2html -}}
|
||||
</pre>
|
||||
</div>
|
||||
{%- endblock stream_stderr %}
|
||||
|
||||
{% block stream_stdin -%}
|
||||
{%- if resources.global_content_filter.include_output_stdin -%}
|
||||
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stdin">
|
||||
<pre>
|
||||
{{- output.text | ansi2html -}}
|
||||
</pre>
|
||||
</div>
|
||||
{%- endif %}
|
||||
{%- endblock stream_stdin %}
|
||||
|
||||
{% block data_svg scoped -%}
|
||||
<div class="jp-RenderedSVG jp-OutputArea-output {{ extra_class }}" data-mime-type="image/svg+xml">
|
||||
{%- if output.svg_filename %}
|
||||
<img src="{{ output.svg_filename | posix_path | escape_html }}">
|
||||
{%- else %}
|
||||
{%- if resources.should_not_encode_svg %}
|
||||
{{ output.data['image/svg+xml'].encode("utf-8") | clean_html }}
|
||||
{%- else %}
|
||||
<img src="data:image/svg+xml;base64,{{ output.data['image/svg+xml'] | text_base64 | escape_html }}">
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
</div>
|
||||
{%- endblock data_svg %}
|
||||
|
||||
{% block data_mermaid scoped -%}
|
||||
<div class="jp-Mermaid">
|
||||
<pre class="mermaid">
|
||||
{{ output.data['text/vnd.mermaid'].strip() }}
|
||||
</pre>
|
||||
</div>
|
||||
{%- endblock data_mermaid %}
|
||||
|
||||
{% block data_html scoped -%}
|
||||
<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output {{ extra_class }}" data-mime-type="text/html">
|
||||
{%- if resources.should_sanitize_html %}
|
||||
{{ output.data['text/html'] | clean_html }}
|
||||
{%- else %}
|
||||
{{ output.data['text/html'] }}
|
||||
{%- endif %}
|
||||
</div>
|
||||
{%- endblock data_html %}
|
||||
|
||||
{% block data_markdown scoped -%}
|
||||
{%- if resources.should_sanitize_html %}
|
||||
{%- set html_value=output.data['text/markdown'] | markdown2html | clean_html -%}
|
||||
{%- else %}
|
||||
{%- set html_value=output.data['text/markdown'] | markdown2html -%}
|
||||
{%- endif %}
|
||||
<div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-OutputArea-output {{ extra_class }}" data-mime-type="text/markdown">
|
||||
{{ html_value }}
|
||||
</div>
|
||||
{%- endblock data_markdown %}
|
||||
|
||||
{% block data_png scoped %}
|
||||
<div class="jp-RenderedImage jp-OutputArea-output {{ extra_class }}">
|
||||
{%- if 'image/png' in output.metadata.get('filenames', {}) %}
|
||||
<img src="{{ output.metadata.filenames['image/png'] | posix_path | escape_html }}"
|
||||
{%- else %}
|
||||
<img src="data:image/png;base64,{{ output.data['image/png'] | escape_html }}"
|
||||
{%- endif %}
|
||||
{%- set width=output | get_metadata('width', 'image/png') -%}
|
||||
{%- if width is not none %}
|
||||
width={{ width | escape_html }}
|
||||
{%- endif %}
|
||||
{%- set height=output | get_metadata('height', 'image/png') -%}
|
||||
{%- if height is not none %}
|
||||
height={{ height | escape_html }}
|
||||
{%- endif %}
|
||||
class="
|
||||
{%- if output | get_metadata('unconfined', 'image/png') %}
|
||||
unconfined
|
||||
{%- endif %}
|
||||
{%- if output | get_metadata('needs_background', 'image/png') == 'light' %}
|
||||
jp-needs-light-background
|
||||
{%- endif %}
|
||||
{%- if output | get_metadata('needs_background', 'image/png') == 'dark' %}
|
||||
jp-needs-dark-background
|
||||
{%- endif %}
|
||||
"
|
||||
>
|
||||
</div>
|
||||
{%- endblock data_png %}
|
||||
|
||||
{% block data_jpg scoped %}
|
||||
<div class="jp-RenderedImage jp-OutputArea-output {{ extra_class }}">
|
||||
{%- if 'image/jpeg' in output.metadata.get('filenames', {}) %}
|
||||
<img src="{{ output.metadata.filenames['image/jpeg'] | posix_path | escape_html }}"
|
||||
{%- else %}
|
||||
<img src="data:image/jpeg;base64,{{ output.data['image/jpeg'] | escape_html }}"
|
||||
{%- endif %}
|
||||
{%- set width=output | get_metadata('width', 'image/jpeg') -%}
|
||||
{%- if width is not none %}
|
||||
width={{ width | escape_html }}
|
||||
{%- endif %}
|
||||
{%- set height=output | get_metadata('height', 'image/jpeg') -%}
|
||||
{%- if height is not none %}
|
||||
height={{ height | escape_html }}
|
||||
{%- endif %}
|
||||
class="
|
||||
{%- if output | get_metadata('unconfined', 'image/jpeg') %}
|
||||
unconfined
|
||||
{%- endif %}
|
||||
{%- if output | get_metadata('needs_background', 'image/jpeg') == 'light' %}
|
||||
jp-needs-light-background
|
||||
{%- endif %}
|
||||
{%- if output | get_metadata('needs_background', 'image/jpeg') == 'dark' %}
|
||||
jp-needs-dark-background
|
||||
{%- endif %}
|
||||
"
|
||||
>
|
||||
</div>
|
||||
{%- endblock data_jpg %}
|
||||
|
||||
{% block data_latex scoped %}
|
||||
<div class="jp-RenderedLatex jp-OutputArea-output {{ extra_class }}" data-mime-type="text/latex">
|
||||
{{ output.data['text/latex'] | e }}
|
||||
</div>
|
||||
{%- endblock data_latex %}
|
||||
|
||||
{% block error -%}
|
||||
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="application/vnd.jupyter.stderr">
|
||||
<pre>
|
||||
{{- super() -}}
|
||||
</pre>
|
||||
</div>
|
||||
{%- endblock error %}
|
||||
|
||||
{%- block traceback_line %}
|
||||
{{ line | ansi2html }}
|
||||
{%- endblock traceback_line %}
|
||||
|
||||
{%- block data_text scoped %}
|
||||
<div class="jp-RenderedText jp-OutputArea-output {{ extra_class }}" data-mime-type="text/plain">
|
||||
<pre>
|
||||
{{- output.data['text/plain'] | ansi2html -}}
|
||||
</pre>
|
||||
</div>
|
||||
{%- endblock -%}
|
||||
|
||||
{#
|
||||
###############################################################################
|
||||
# TODO: how to better handle JavaScript repr? #
|
||||
###############################################################################
|
||||
#}
|
||||
|
||||
{%- block data_javascript scoped %}
|
||||
{% set div_id = uuid4() %}
|
||||
<div id="{{ div_id }}" class="jp-RenderedJavaScript jp-OutputArea-output {{ extra_class }}" data-mime-type="application/javascript">
|
||||
{%- if not resources.should_sanitize_html %}
|
||||
<script type="text/javascript">
|
||||
var element = document.getElementById('{{ div_id }}');
|
||||
{{ output.data['application/javascript'] }}
|
||||
</script>
|
||||
{%- endif %}
|
||||
</div>
|
||||
{%- endblock -%}
|
||||
|
||||
{%- block data_widget_view scoped %}
|
||||
{% set div_id = uuid4() %}
|
||||
{% set datatype_list = output.data | filter_data_type %}
|
||||
{% set datatype = datatype_list[0]%}
|
||||
<div id="{{ div_id }}" class="jupyter-widgets jp-OutputArea-output {{ extra_class }}">
|
||||
<script type="text/javascript">
|
||||
var element = document.getElementById('{{ div_id }}');
|
||||
</script>
|
||||
<script type="{{ datatype }}">
|
||||
{{ output.data[datatype] | json_dumps | escape_html_script }}
|
||||
</script>
|
||||
</div>
|
||||
{%- endblock data_widget_view -%}
|
||||
|
||||
{%- block footer %}
|
||||
{% set mimetype = 'application/vnd.jupyter.widget-state+json'%}
|
||||
{% if mimetype in nb.metadata.get("widgets",{})%}
|
||||
<script type="{{ mimetype }}">
|
||||
{{ nb.metadata.widgets[mimetype] | json_dumps | escape_html_script }}
|
||||
</script>
|
||||
{% endif %}
|
||||
{{ super() }}
|
||||
{%- endblock footer-%}
|
||||
12
share/jupyter/nbconvert/templates/lab/conf.json
Normal file
12
share/jupyter/nbconvert/templates/lab/conf.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"base_template": "base",
|
||||
"mimetypes": {
|
||||
"text/html": true
|
||||
},
|
||||
"preprocessors": {
|
||||
"100-pygments": {
|
||||
"type": "nbconvert.preprocessors.CSSHTMLHeaderPreprocessor",
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
141
share/jupyter/nbconvert/templates/lab/index.html.j2
Normal file
141
share/jupyter/nbconvert/templates/lab/index.html.j2
Normal file
@@ -0,0 +1,141 @@
|
||||
{%- extends 'base.html.j2' -%}
|
||||
{% from 'mathjax.html.j2' import mathjax %}
|
||||
{% from 'mermaidjs.html.j2' import mermaid_js %}
|
||||
{% from 'jupyter_widgets.html.j2' import jupyter_widgets %}
|
||||
|
||||
{%- block header -%}
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ resources.language_code }}">
|
||||
<head>
|
||||
{%- block html_head -%}
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
{% set nb_title = nb.metadata.get('title', resources['metadata']['name']) | escape_html_keep_quotes %}
|
||||
<title>{{nb_title}}</title>
|
||||
|
||||
{%- block html_head_js -%}
|
||||
{%- block html_head_js_requirejs -%}
|
||||
<script src="{{ resources.require_js_url }}"></script>
|
||||
{%- endblock html_head_js_requirejs -%}
|
||||
{%- endblock html_head_js -%}
|
||||
|
||||
{% block jupyter_widgets %}
|
||||
{%- if "widgets" in nb.metadata -%}
|
||||
{{ jupyter_widgets(resources.jupyter_widgets_base_url, resources.html_manager_semver_range, resources.widget_renderer_url) }}
|
||||
{%- endif -%}
|
||||
{% endblock jupyter_widgets %}
|
||||
|
||||
{% block extra_css %}
|
||||
{% endblock extra_css %}
|
||||
|
||||
{% for css in resources.inlining.css -%}
|
||||
<style type="text/css">
|
||||
{{ css }}
|
||||
</style>
|
||||
{% endfor %}
|
||||
|
||||
{% block notebook_css %}
|
||||
{{ resources.include_css("static/index.css") }}
|
||||
{% if resources.theme == 'dark' %}
|
||||
{{ resources.include_css("static/theme-dark.css") }}
|
||||
{% elif resources.theme == 'light' %}
|
||||
{{ resources.include_css("static/theme-light.css") }}
|
||||
{% else %}
|
||||
{{ resources.include_lab_theme(resources.theme) }}
|
||||
{% endif %}
|
||||
<style type="text/css">
|
||||
/* Force rendering true colors when outputing to pdf */
|
||||
* {
|
||||
-webkit-print-color-adjust: exact;
|
||||
}
|
||||
|
||||
/* Misc */
|
||||
a.anchor-link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Input area styling */
|
||||
.jp-InputArea {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.jp-InputArea-editor {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.cm-editor.cm-s-jupyter .highlight pre {
|
||||
/* weird, but --jp-code-padding defined to be 5px but 4px horizontal padding is hardcoded for pre.cm-line */
|
||||
padding: var(--jp-code-padding) 4px;
|
||||
margin: 0;
|
||||
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
color: inherit;
|
||||
|
||||
}
|
||||
|
||||
.jp-OutputArea-output pre {
|
||||
line-height: inherit;
|
||||
font-family: inherit;
|
||||
}
|
||||
|
||||
.jp-RenderedText pre {
|
||||
color: var(--jp-content-font-color1);
|
||||
font-size: var(--jp-code-font-size);
|
||||
}
|
||||
|
||||
/* Hiding the collapser by default */
|
||||
.jp-Collapser {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@page {
|
||||
margin: 0.5in; /* Margin for each printed piece of paper */
|
||||
}
|
||||
|
||||
@media print {
|
||||
.jp-Cell-inputWrapper,
|
||||
.jp-Cell-outputWrapper {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
{% endblock notebook_css %}
|
||||
|
||||
{%- block html_head_js_mathjax -%}
|
||||
{{ mathjax(resources.mathjax_url) }}
|
||||
{%- endblock html_head_js_mathjax -%}
|
||||
|
||||
{%- block html_head_js_mermaidjs -%}
|
||||
{{ mermaid_js(resources.mermaid_js_url) }}
|
||||
{%- endblock html_head_js_mermaidjs -%}
|
||||
|
||||
{%- block html_head_css -%}
|
||||
{%- endblock html_head_css -%}
|
||||
|
||||
{%- endblock html_head -%}
|
||||
</head>
|
||||
{%- endblock header -%}
|
||||
|
||||
{%- block body_header -%}
|
||||
{% if resources.theme == 'dark' %}
|
||||
<body class="jp-Notebook" data-jp-theme-light="false" data-jp-theme-name="JupyterLab Dark">
|
||||
{% else %}
|
||||
<body class="jp-Notebook" data-jp-theme-light="true" data-jp-theme-name="JupyterLab Light">
|
||||
{% endif %}
|
||||
<main>
|
||||
{%- endblock body_header -%}
|
||||
|
||||
{% block body_footer %}
|
||||
</main>
|
||||
</body>
|
||||
{% endblock body_footer %}
|
||||
|
||||
{% block footer %}
|
||||
{% block footer_js %}
|
||||
{% endblock footer_js %}
|
||||
{{ super() }}
|
||||
</html>
|
||||
{% endblock footer %}
|
||||
188
share/jupyter/nbconvert/templates/lab/mermaidjs.html.j2
Normal file
188
share/jupyter/nbconvert/templates/lab/mermaidjs.html.j2
Normal file
@@ -0,0 +1,188 @@
|
||||
{%- macro mermaid_js(
|
||||
url="https://cdnjs.cloudflare.com/ajax/libs/mermaid/10.7.0/mermaid.esm.min.mjs"
|
||||
) -%}
|
||||
<script type="module">
|
||||
document.addEventListener("DOMContentLoaded", async () => {
|
||||
const diagrams = document.querySelectorAll(".jp-Mermaid > pre.mermaid");
|
||||
// do not load mermaidjs if not needed
|
||||
if (!diagrams.length) {
|
||||
return;
|
||||
}
|
||||
const mermaid = (await import("{{ url }}")).default;
|
||||
const parser = new DOMParser();
|
||||
|
||||
mermaid.initialize({
|
||||
maxTextSize: 100000,
|
||||
maxEdges: 100000,
|
||||
startOnLoad: false,
|
||||
fontFamily: window
|
||||
.getComputedStyle(document.body)
|
||||
.getPropertyValue("--jp-ui-font-family"),
|
||||
theme: document.querySelector("body[data-jp-theme-light='true']")
|
||||
? "default"
|
||||
: "dark",
|
||||
});
|
||||
|
||||
let _nextMermaidId = 0;
|
||||
|
||||
function makeMermaidImage(svg) {
|
||||
const img = document.createElement("img");
|
||||
const doc = parser.parseFromString(svg, "image/svg+xml");
|
||||
const svgEl = doc.querySelector("svg");
|
||||
const { maxWidth } = svgEl?.style || {};
|
||||
const firstTitle = doc.querySelector("title");
|
||||
const firstDesc = doc.querySelector("desc");
|
||||
|
||||
img.setAttribute("src", `data:image/svg+xml,${encodeURIComponent(svg)}`);
|
||||
if (maxWidth) {
|
||||
img.width = parseInt(maxWidth);
|
||||
}
|
||||
if (firstTitle) {
|
||||
img.setAttribute("alt", firstTitle.textContent);
|
||||
}
|
||||
if (firstDesc) {
|
||||
const caption = document.createElement("figcaption");
|
||||
caption.className = "sr-only";
|
||||
caption.textContent = firstDesc.textContent;
|
||||
return [img, caption];
|
||||
}
|
||||
return [img];
|
||||
}
|
||||
|
||||
async function makeMermaidError(text) {
|
||||
let errorMessage = "";
|
||||
try {
|
||||
await mermaid.parse(text);
|
||||
} catch (err) {
|
||||
errorMessage = `${err}`;
|
||||
}
|
||||
|
||||
const result = document.createElement("details");
|
||||
result.className = 'jp-RenderedMermaid-Details';
|
||||
const summary = document.createElement("summary");
|
||||
summary.className = 'jp-RenderedMermaid-Summary';
|
||||
const pre = document.createElement("pre");
|
||||
const code = document.createElement("code");
|
||||
code.innerText = text;
|
||||
pre.appendChild(code);
|
||||
summary.appendChild(pre);
|
||||
result.appendChild(summary);
|
||||
|
||||
const warning = document.createElement("pre");
|
||||
warning.innerText = errorMessage;
|
||||
result.appendChild(warning);
|
||||
return [result];
|
||||
}
|
||||
|
||||
async function renderOneMarmaid(src) {
|
||||
const id = `jp-mermaid-${_nextMermaidId++}`;
|
||||
const parent = src.parentNode;
|
||||
let raw = src.textContent.trim();
|
||||
const el = document.createElement("div");
|
||||
el.style.visibility = "hidden";
|
||||
document.body.appendChild(el);
|
||||
let results = null;
|
||||
let output = null;
|
||||
try {
|
||||
let { svg } = await mermaid.render(id, raw, el);
|
||||
svg = cleanMermaidSvg(svg);
|
||||
results = makeMermaidImage(svg);
|
||||
output = document.createElement("figure");
|
||||
results.map(output.appendChild, output);
|
||||
} catch (err) {
|
||||
parent.classList.add("jp-mod-warning");
|
||||
results = await makeMermaidError(raw);
|
||||
output = results[0];
|
||||
} finally {
|
||||
el.remove();
|
||||
}
|
||||
parent.classList.add("jp-RenderedMermaid");
|
||||
parent.appendChild(output);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Post-process to ensure mermaid diagrams contain only valid SVG and XHTML.
|
||||
*/
|
||||
function cleanMermaidSvg(svg) {
|
||||
return svg.replace(RE_VOID_ELEMENT, replaceVoidElement);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* A regular expression for all void elements, which may include attributes and
|
||||
* a slash.
|
||||
*
|
||||
* @see https://developer.mozilla.org/en-US/docs/Glossary/Void_element
|
||||
*
|
||||
* Of these, only `<br>` is generated by Mermaid in place of `\n`,
|
||||
* but _any_ "malformed" tag will break the SVG rendering entirely.
|
||||
*/
|
||||
const RE_VOID_ELEMENT =
|
||||
/<\s*(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)\s*([^>]*?)\s*>/gi;
|
||||
|
||||
/**
|
||||
* Ensure a void element is closed with a slash, preserving any attributes.
|
||||
*/
|
||||
function replaceVoidElement(match, tag, rest) {
|
||||
rest = rest.trim();
|
||||
if (!rest.endsWith('/')) {
|
||||
rest = `${rest} /`;
|
||||
}
|
||||
return `<${tag} ${rest}>`;
|
||||
}
|
||||
|
||||
void Promise.all([...diagrams].map(renderOneMarmaid));
|
||||
});
|
||||
</script>
|
||||
<style>
|
||||
.jp-Mermaid:not(.jp-RenderedMermaid) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.jp-RenderedMermaid {
|
||||
overflow: auto;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.jp-RenderedMermaid.jp-mod-warning {
|
||||
width: auto;
|
||||
padding: 0.5em;
|
||||
margin-top: 0.5em;
|
||||
border: var(--jp-border-width) solid var(--jp-warn-color2);
|
||||
border-radius: var(--jp-border-radius);
|
||||
color: var(--jp-ui-font-color1);
|
||||
font-size: var(--jp-ui-font-size1);
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.jp-RenderedMermaid figure {
|
||||
margin: 0;
|
||||
overflow: auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.jp-RenderedMermaid img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.jp-RenderedMermaid-Details > pre {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
.jp-RenderedMermaid-Summary {
|
||||
color: var(--jp-warn-color2);
|
||||
}
|
||||
|
||||
.jp-RenderedMermaid:not(.jp-mod-warning) pre {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.jp-RenderedMermaid-Summary > pre {
|
||||
display: inline-block;
|
||||
white-space: normal;
|
||||
}
|
||||
</style>
|
||||
<!-- End of mermaid configuration -->
|
||||
{%- endmacro %}
|
||||
6752
share/jupyter/nbconvert/templates/lab/static/index.css
Normal file
6752
share/jupyter/nbconvert/templates/lab/static/index.css
Normal file
File diff suppressed because one or more lines are too long
438
share/jupyter/nbconvert/templates/lab/static/theme-dark.css
Normal file
438
share/jupyter/nbconvert/templates/lab/static/theme-dark.css
Normal file
@@ -0,0 +1,438 @@
|
||||
/*-----------------------------------------------------------------------------
|
||||
| Copyright (c) Jupyter Development Team.
|
||||
| Distributed under the terms of the Modified BSD License.
|
||||
|----------------------------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
The following CSS variables define the main, public API for styling JupyterLab.
|
||||
These variables should be used by all plugins wherever possible. In other
|
||||
words, plugins should not define custom colors, sizes, etc unless absolutely
|
||||
necessary. This enables users to change the visual theme of JupyterLab
|
||||
by changing these variables.
|
||||
|
||||
Many variables appear in an ordered sequence (0,1,2,3). These sequences
|
||||
are designed to work well together, so for example, `--jp-border-color1` should
|
||||
be used with `--jp-layout-color1`. The numbers have the following meanings:
|
||||
|
||||
* 0: super-primary, reserved for special emphasis
|
||||
* 1: primary, most important under normal situations
|
||||
* 2: secondary, next most important under normal situations
|
||||
* 3: tertiary, next most important under normal situations
|
||||
|
||||
Throughout JupyterLab, we are mostly following principles from Google's
|
||||
Material Design when selecting colors. We are not, however, following
|
||||
all of MD as it is not optimized for dense, information rich UIs.
|
||||
*/
|
||||
|
||||
:root {
|
||||
/* Elevation
|
||||
*
|
||||
* We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here:
|
||||
*
|
||||
* https://github.com/material-components/material-components-web
|
||||
* https://material-components-web.appspot.com/elevation.html
|
||||
*/
|
||||
|
||||
/* The dark theme shadows need a bit of work, but this will probably also require work on the core layout
|
||||
* colors used in the theme as well. */
|
||||
--jp-shadow-base-lightness: 32;
|
||||
--jp-shadow-umbra-color: rgba(
|
||||
var(--jp-shadow-base-lightness),
|
||||
var(--jp-shadow-base-lightness),
|
||||
var(--jp-shadow-base-lightness),
|
||||
0.2
|
||||
);
|
||||
--jp-shadow-penumbra-color: rgba(
|
||||
var(--jp-shadow-base-lightness),
|
||||
var(--jp-shadow-base-lightness),
|
||||
var(--jp-shadow-base-lightness),
|
||||
0.14
|
||||
);
|
||||
--jp-shadow-ambient-color: rgba(
|
||||
var(--jp-shadow-base-lightness),
|
||||
var(--jp-shadow-base-lightness),
|
||||
var(--jp-shadow-base-lightness),
|
||||
0.12
|
||||
);
|
||||
--jp-elevation-z0: none;
|
||||
--jp-elevation-z1: 0 2px 1px -1px var(--jp-shadow-umbra-color),
|
||||
0 1px 1px 0 var(--jp-shadow-penumbra-color),
|
||||
0 1px 3px 0 var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z2: 0 3px 1px -2px var(--jp-shadow-umbra-color),
|
||||
0 2px 2px 0 var(--jp-shadow-penumbra-color),
|
||||
0 1px 5px 0 var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z4: 0 2px 4px -1px var(--jp-shadow-umbra-color),
|
||||
0 4px 5px 0 var(--jp-shadow-penumbra-color),
|
||||
0 1px 10px 0 var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z6: 0 3px 5px -1px var(--jp-shadow-umbra-color),
|
||||
0 6px 10px 0 var(--jp-shadow-penumbra-color),
|
||||
0 1px 18px 0 var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z8: 0 5px 5px -3px var(--jp-shadow-umbra-color),
|
||||
0 8px 10px 1px var(--jp-shadow-penumbra-color),
|
||||
0 3px 14px 2px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z12: 0 7px 8px -4px var(--jp-shadow-umbra-color),
|
||||
0 12px 17px 2px var(--jp-shadow-penumbra-color),
|
||||
0 5px 22px 4px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z16: 0 8px 10px -5px var(--jp-shadow-umbra-color),
|
||||
0 16px 24px 2px var(--jp-shadow-penumbra-color),
|
||||
0 6px 30px 5px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z20: 0 10px 13px -6px var(--jp-shadow-umbra-color),
|
||||
0 20px 31px 3px var(--jp-shadow-penumbra-color),
|
||||
0 8px 38px 7px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z24: 0 11px 15px -7px var(--jp-shadow-umbra-color),
|
||||
0 24px 38px 3px var(--jp-shadow-penumbra-color),
|
||||
0 9px 46px 8px var(--jp-shadow-ambient-color);
|
||||
|
||||
/* Borders
|
||||
*
|
||||
* The following variables, specify the visual styling of borders in JupyterLab.
|
||||
*/
|
||||
|
||||
--jp-border-width: 1px;
|
||||
--jp-border-color0: var(--md-grey-700);
|
||||
--jp-border-color1: var(--md-grey-700);
|
||||
--jp-border-color2: var(--md-grey-800);
|
||||
--jp-border-color3: var(--md-grey-900);
|
||||
--jp-inverse-border-color: var(--md-grey-600);
|
||||
--jp-border-radius: 2px;
|
||||
|
||||
/* UI Fonts
|
||||
*
|
||||
* The UI font CSS variables are used for the typography all of the JupyterLab
|
||||
* user interface elements that are not directly user generated content.
|
||||
*
|
||||
* The font sizing here is done assuming that the body font size of --jp-ui-font-size1
|
||||
* is applied to a parent element. When children elements, such as headings, are sized
|
||||
* in em all things will be computed relative to that body size.
|
||||
*/
|
||||
|
||||
--jp-ui-font-scale-factor: 1.2;
|
||||
--jp-ui-font-size0: 0.83333em;
|
||||
--jp-ui-font-size1: 13px; /* Base font size */
|
||||
--jp-ui-font-size2: 1.2em;
|
||||
--jp-ui-font-size3: 1.44em;
|
||||
--jp-ui-font-family: system-ui, -apple-system, blinkmacsystemfont, 'Segoe UI',
|
||||
helvetica, arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
|
||||
'Segoe UI Symbol';
|
||||
|
||||
/*
|
||||
* Use these font colors against the corresponding main layout colors.
|
||||
* In a light theme, these go from dark to light.
|
||||
*/
|
||||
|
||||
/* Defaults use Material Design specification */
|
||||
--jp-ui-font-color0: rgba(255, 255, 255, 1);
|
||||
--jp-ui-font-color1: rgba(255, 255, 255, 0.87);
|
||||
--jp-ui-font-color2: rgba(255, 255, 255, 0.54);
|
||||
--jp-ui-font-color3: rgba(255, 255, 255, 0.38);
|
||||
|
||||
/*
|
||||
* Use these against the brand/accent/warn/error colors.
|
||||
* These will typically go from light to darker, in both a dark and light theme.
|
||||
*/
|
||||
|
||||
--jp-ui-inverse-font-color0: rgba(0, 0, 0, 1);
|
||||
--jp-ui-inverse-font-color1: rgba(0, 0, 0, 0.8);
|
||||
--jp-ui-inverse-font-color2: rgba(0, 0, 0, 0.5);
|
||||
--jp-ui-inverse-font-color3: rgba(0, 0, 0, 0.3);
|
||||
|
||||
/* Content Fonts
|
||||
*
|
||||
* Content font variables are used for typography of user generated content.
|
||||
*
|
||||
* The font sizing here is done assuming that the body font size of --jp-content-font-size1
|
||||
* is applied to a parent element. When children elements, such as headings, are sized
|
||||
* in em all things will be computed relative to that body size.
|
||||
*/
|
||||
|
||||
--jp-content-line-height: 1.6;
|
||||
--jp-content-font-scale-factor: 1.2;
|
||||
--jp-content-font-size0: 0.83333em;
|
||||
--jp-content-font-size1: 14px; /* Base font size */
|
||||
--jp-content-font-size2: 1.2em;
|
||||
--jp-content-font-size3: 1.44em;
|
||||
--jp-content-font-size4: 1.728em;
|
||||
--jp-content-font-size5: 2.0736em;
|
||||
|
||||
/* This gives a magnification of about 125% in presentation mode over normal. */
|
||||
--jp-content-presentation-font-size1: 17px;
|
||||
--jp-content-heading-line-height: 1;
|
||||
--jp-content-heading-margin-top: 1.2em;
|
||||
--jp-content-heading-margin-bottom: 0.8em;
|
||||
--jp-content-heading-font-weight: 500;
|
||||
|
||||
/* Defaults use Material Design specification */
|
||||
--jp-content-font-color0: rgba(255, 255, 255, 1);
|
||||
--jp-content-font-color1: rgba(255, 255, 255, 1);
|
||||
--jp-content-font-color2: rgba(255, 255, 255, 0.7);
|
||||
--jp-content-font-color3: rgba(255, 255, 255, 0.5);
|
||||
--jp-content-link-color: var(--md-blue-300);
|
||||
--jp-content-font-family: system-ui, -apple-system, blinkmacsystemfont,
|
||||
'Segoe UI', helvetica, arial, sans-serif, 'Apple Color Emoji',
|
||||
'Segoe UI Emoji', 'Segoe UI Symbol';
|
||||
|
||||
/*
|
||||
* Code Fonts
|
||||
*
|
||||
* Code font variables are used for typography of code and other monospaces content.
|
||||
*/
|
||||
|
||||
--jp-code-font-size: 13px;
|
||||
--jp-code-line-height: 1.3077; /* 17px for 13px base */
|
||||
--jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */
|
||||
--jp-code-font-family-default: menlo, consolas, 'DejaVu Sans Mono', monospace;
|
||||
--jp-code-font-family: var(--jp-code-font-family-default);
|
||||
|
||||
/* This gives a magnification of about 125% in presentation mode over normal. */
|
||||
--jp-code-presentation-font-size: 16px;
|
||||
|
||||
/* may need to tweak cursor width if you change font size */
|
||||
--jp-code-cursor-width0: 1.4px;
|
||||
--jp-code-cursor-width1: 2px;
|
||||
--jp-code-cursor-width2: 4px;
|
||||
|
||||
/* Layout
|
||||
*
|
||||
* The following are the main layout colors use in JupyterLab. In a light
|
||||
* theme these would go from light to dark.
|
||||
*/
|
||||
|
||||
--jp-layout-color0: #111;
|
||||
--jp-layout-color1: var(--md-grey-900);
|
||||
--jp-layout-color2: var(--md-grey-800);
|
||||
--jp-layout-color3: var(--md-grey-700);
|
||||
--jp-layout-color4: var(--md-grey-600);
|
||||
|
||||
/* Inverse Layout
|
||||
*
|
||||
* The following are the inverse layout colors use in JupyterLab. In a light
|
||||
* theme these would go from dark to light.
|
||||
*/
|
||||
|
||||
--jp-inverse-layout-color0: white;
|
||||
--jp-inverse-layout-color1: white;
|
||||
--jp-inverse-layout-color2: var(--md-grey-200);
|
||||
--jp-inverse-layout-color3: var(--md-grey-400);
|
||||
--jp-inverse-layout-color4: var(--md-grey-600);
|
||||
|
||||
/* Brand/accent */
|
||||
|
||||
--jp-brand-color0: var(--md-blue-700);
|
||||
--jp-brand-color1: var(--md-blue-500);
|
||||
--jp-brand-color2: var(--md-blue-300);
|
||||
--jp-brand-color3: var(--md-blue-100);
|
||||
--jp-brand-color4: var(--md-blue-50);
|
||||
--jp-accent-color0: var(--md-green-700);
|
||||
--jp-accent-color1: var(--md-green-500);
|
||||
--jp-accent-color2: var(--md-green-300);
|
||||
--jp-accent-color3: var(--md-green-100);
|
||||
|
||||
/* State colors (warn, error, success, info) */
|
||||
|
||||
--jp-warn-color0: var(--md-orange-700);
|
||||
--jp-warn-color1: var(--md-orange-500);
|
||||
--jp-warn-color2: var(--md-orange-300);
|
||||
--jp-warn-color3: var(--md-orange-100);
|
||||
--jp-error-color0: var(--md-red-700);
|
||||
--jp-error-color1: var(--md-red-500);
|
||||
--jp-error-color2: var(--md-red-300);
|
||||
--jp-error-color3: var(--md-red-100);
|
||||
--jp-success-color0: var(--md-green-700);
|
||||
--jp-success-color1: var(--md-green-500);
|
||||
--jp-success-color2: var(--md-green-300);
|
||||
--jp-success-color3: var(--md-green-100);
|
||||
--jp-info-color0: var(--md-cyan-700);
|
||||
--jp-info-color1: var(--md-cyan-500);
|
||||
--jp-info-color2: var(--md-cyan-300);
|
||||
--jp-info-color3: var(--md-cyan-100);
|
||||
|
||||
/* Cell specific styles */
|
||||
|
||||
--jp-cell-padding: 5px;
|
||||
--jp-cell-collapser-width: 8px;
|
||||
--jp-cell-collapser-min-height: 20px;
|
||||
--jp-cell-collapser-not-active-hover-opacity: 0.6;
|
||||
--jp-cell-editor-background: var(--jp-layout-color1);
|
||||
--jp-cell-editor-border-color: var(--md-grey-700);
|
||||
--jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300);
|
||||
--jp-cell-editor-active-background: var(--jp-layout-color0);
|
||||
--jp-cell-editor-active-border-color: var(--jp-brand-color1);
|
||||
--jp-cell-prompt-width: 64px;
|
||||
--jp-cell-prompt-font-family: var(--jp-code-font-family-default);
|
||||
--jp-cell-prompt-letter-spacing: 0;
|
||||
--jp-cell-prompt-opacity: 1;
|
||||
--jp-cell-prompt-not-active-opacity: 1;
|
||||
--jp-cell-prompt-not-active-font-color: var(--md-grey-300);
|
||||
|
||||
/* A custom blend of MD grey and blue 600
|
||||
* See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */
|
||||
--jp-cell-inprompt-font-color: #307fc1;
|
||||
|
||||
/* A custom blend of MD grey and orange 600
|
||||
* https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */
|
||||
--jp-cell-outprompt-font-color: #bf5b3d;
|
||||
|
||||
/* Notebook specific styles */
|
||||
|
||||
--jp-notebook-padding: 10px;
|
||||
--jp-notebook-select-background: var(--jp-layout-color1);
|
||||
--jp-notebook-multiselected-color: rgba(33, 150, 243, 0.24);
|
||||
|
||||
/* The scroll padding is calculated to fill enough space at the bottom of the
|
||||
notebook to show one single-line cell (with appropriate padding) at the top
|
||||
when the notebook is scrolled all the way to the bottom. We also subtract one
|
||||
pixel so that no scrollbar appears if we have just one single-line cell in the
|
||||
notebook. This padding is to enable a 'scroll past end' feature in a notebook.
|
||||
*/
|
||||
--jp-notebook-scroll-padding: calc(
|
||||
100% - var(--jp-code-font-size) * var(--jp-code-line-height) -
|
||||
var(--jp-code-padding) - var(--jp-cell-padding) - 1px
|
||||
);
|
||||
|
||||
/* Rendermime styles */
|
||||
|
||||
--jp-rendermime-error-background: rgba(244, 67, 54, 0.28);
|
||||
--jp-rendermime-table-row-background: var(--md-grey-900);
|
||||
--jp-rendermime-table-row-hover-background: rgba(3, 169, 244, 0.2);
|
||||
|
||||
/* Dialog specific styles */
|
||||
|
||||
--jp-dialog-background: rgba(0, 0, 0, 0.6);
|
||||
|
||||
/* Console specific styles */
|
||||
|
||||
--jp-console-padding: 10px;
|
||||
|
||||
/* Toolbar specific styles */
|
||||
|
||||
--jp-toolbar-border-color: var(--jp-border-color2);
|
||||
--jp-toolbar-micro-height: 8px;
|
||||
--jp-toolbar-background: var(--jp-layout-color1);
|
||||
--jp-toolbar-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.8);
|
||||
--jp-toolbar-header-margin: 4px 4px 0 4px;
|
||||
--jp-toolbar-active-background: var(--jp-layout-color0);
|
||||
|
||||
/* Statusbar specific styles */
|
||||
|
||||
--jp-statusbar-height: 24px;
|
||||
|
||||
/* Input field styles */
|
||||
|
||||
--jp-input-box-shadow: inset 0 0 2px var(--md-blue-300);
|
||||
--jp-input-active-background: var(--jp-layout-color0);
|
||||
--jp-input-hover-background: var(--jp-layout-color2);
|
||||
--jp-input-background: var(--md-grey-800);
|
||||
--jp-input-border-color: var(--jp-inverse-border-color);
|
||||
--jp-input-active-border-color: var(--jp-brand-color1);
|
||||
--jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3);
|
||||
|
||||
/* General editor styles */
|
||||
|
||||
--jp-editor-selected-background: var(--jp-layout-color2);
|
||||
--jp-editor-selected-focused-background: rgba(33, 150, 243, 0.24);
|
||||
--jp-editor-cursor-color: var(--jp-ui-font-color0);
|
||||
|
||||
/* Code mirror specific styles */
|
||||
|
||||
--jp-mirror-editor-keyword-color: var(--md-green-500);
|
||||
--jp-mirror-editor-atom-color: var(--md-blue-300);
|
||||
--jp-mirror-editor-number-color: var(--md-green-400);
|
||||
--jp-mirror-editor-def-color: var(--md-blue-600);
|
||||
--jp-mirror-editor-variable-color: var(--md-grey-300);
|
||||
--jp-mirror-editor-variable-2-color: var(--md-blue-500);
|
||||
--jp-mirror-editor-variable-3-color: var(--md-green-600);
|
||||
--jp-mirror-editor-punctuation-color: var(--md-blue-400);
|
||||
--jp-mirror-editor-property-color: var(--md-blue-400);
|
||||
--jp-mirror-editor-operator-color: #a2f;
|
||||
--jp-mirror-editor-comment-color: #408080;
|
||||
--jp-mirror-editor-string-color: #ff7070;
|
||||
--jp-mirror-editor-string-2-color: var(--md-purple-300);
|
||||
--jp-mirror-editor-meta-color: #a2f;
|
||||
--jp-mirror-editor-qualifier-color: #555;
|
||||
--jp-mirror-editor-builtin-color: var(--md-green-600);
|
||||
--jp-mirror-editor-bracket-color: #997;
|
||||
--jp-mirror-editor-tag-color: var(--md-green-700);
|
||||
--jp-mirror-editor-attribute-color: var(--md-blue-700);
|
||||
--jp-mirror-editor-header-color: var(--md-blue-500);
|
||||
--jp-mirror-editor-quote-color: var(--md-green-300);
|
||||
--jp-mirror-editor-link-color: var(--md-blue-700);
|
||||
--jp-mirror-editor-error-color: #f00;
|
||||
--jp-mirror-editor-hr-color: #999;
|
||||
|
||||
/*
|
||||
RTC user specific colors.
|
||||
These colors are used for the cursor, username in the editor,
|
||||
and the icon of the user.
|
||||
*/
|
||||
|
||||
--jp-collaborator-color1: #ad4a00;
|
||||
--jp-collaborator-color2: #7b6a00;
|
||||
--jp-collaborator-color3: #007e00;
|
||||
--jp-collaborator-color4: #008772;
|
||||
--jp-collaborator-color5: #0079b9;
|
||||
--jp-collaborator-color6: #8b45c6;
|
||||
--jp-collaborator-color7: #be208b;
|
||||
|
||||
/* Vega extension styles */
|
||||
|
||||
--jp-vega-background: var(--md-grey-400);
|
||||
|
||||
/* Sidebar-related styles */
|
||||
|
||||
--jp-sidebar-min-width: 250px;
|
||||
|
||||
/* Search-related styles */
|
||||
|
||||
--jp-search-toggle-off-opacity: 0.6;
|
||||
--jp-search-toggle-hover-opacity: 0.8;
|
||||
--jp-search-toggle-on-opacity: 1;
|
||||
--jp-search-selected-match-background-color: rgb(255, 225, 0);
|
||||
--jp-search-selected-match-color: black;
|
||||
--jp-search-unselected-match-background-color: var(
|
||||
--jp-inverse-layout-color0
|
||||
);
|
||||
--jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0);
|
||||
|
||||
/* scrollbar related styles. Supports every browser except Edge. */
|
||||
|
||||
/* colors based on JetBrain's Darcula theme */
|
||||
|
||||
--jp-scrollbar-background-color: #3f4244;
|
||||
--jp-scrollbar-thumb-color: 88, 96, 97; /* need to specify thumb color as an RGB triplet */
|
||||
--jp-scrollbar-endpad: 3px; /* the minimum gap between the thumb and the ends of a scrollbar */
|
||||
|
||||
/* hacks for setting the thumb shape. These do nothing in Firefox */
|
||||
|
||||
--jp-scrollbar-thumb-margin: 3.5px; /* the space in between the sides of the thumb and the track */
|
||||
--jp-scrollbar-thumb-radius: 9px; /* set to a large-ish value for rounded endcaps on the thumb */
|
||||
|
||||
/* Icon colors that work well with light or dark backgrounds */
|
||||
--jp-icon-contrast-color0: var(--md-purple-600);
|
||||
--jp-icon-contrast-color1: var(--md-green-600);
|
||||
--jp-icon-contrast-color2: var(--md-pink-600);
|
||||
--jp-icon-contrast-color3: var(--md-blue-600);
|
||||
|
||||
/* Button colors */
|
||||
--jp-accept-color-normal: var(--md-blue-700);
|
||||
--jp-accept-color-hover: var(--md-blue-800);
|
||||
--jp-accept-color-active: var(--md-blue-900);
|
||||
--jp-warn-color-normal: var(--md-red-700);
|
||||
--jp-warn-color-hover: var(--md-red-800);
|
||||
--jp-warn-color-active: var(--md-red-900);
|
||||
--jp-reject-color-normal: var(--md-grey-600);
|
||||
--jp-reject-color-hover: var(--md-grey-700);
|
||||
--jp-reject-color-active: var(--md-grey-800);
|
||||
|
||||
/* File or activity icons and switch semantic variables */
|
||||
--jp-jupyter-icon-color: #f37626;
|
||||
--jp-notebook-icon-color: #f37626;
|
||||
--jp-json-icon-color: var(--md-orange-500);
|
||||
--jp-console-icon-background-color: var(--md-blue-500);
|
||||
--jp-console-icon-color: white;
|
||||
--jp-terminal-icon-background-color: var(--md-grey-200);
|
||||
--jp-terminal-icon-color: var(--md-grey-800);
|
||||
--jp-text-editor-icon-color: var(--md-grey-200);
|
||||
--jp-inspector-icon-color: var(--md-grey-200);
|
||||
--jp-switch-color: var(--md-grey-400);
|
||||
--jp-switch-true-position-color: var(--md-orange-700);
|
||||
}
|
||||
423
share/jupyter/nbconvert/templates/lab/static/theme-light.css
Normal file
423
share/jupyter/nbconvert/templates/lab/static/theme-light.css
Normal file
@@ -0,0 +1,423 @@
|
||||
/*-----------------------------------------------------------------------------
|
||||
| Copyright (c) Jupyter Development Team.
|
||||
| Distributed under the terms of the Modified BSD License.
|
||||
|----------------------------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
The following CSS variables define the main, public API for styling JupyterLab.
|
||||
These variables should be used by all plugins wherever possible. In other
|
||||
words, plugins should not define custom colors, sizes, etc unless absolutely
|
||||
necessary. This enables users to change the visual theme of JupyterLab
|
||||
by changing these variables.
|
||||
|
||||
Many variables appear in an ordered sequence (0,1,2,3). These sequences
|
||||
are designed to work well together, so for example, `--jp-border-color1` should
|
||||
be used with `--jp-layout-color1`. The numbers have the following meanings:
|
||||
|
||||
* 0: super-primary, reserved for special emphasis
|
||||
* 1: primary, most important under normal situations
|
||||
* 2: secondary, next most important under normal situations
|
||||
* 3: tertiary, next most important under normal situations
|
||||
|
||||
Throughout JupyterLab, we are mostly following principles from Google's
|
||||
Material Design when selecting colors. We are not, however, following
|
||||
all of MD as it is not optimized for dense, information rich UIs.
|
||||
*/
|
||||
|
||||
:root {
|
||||
/* Elevation
|
||||
*
|
||||
* We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here:
|
||||
*
|
||||
* https://github.com/material-components/material-components-web
|
||||
* https://material-components-web.appspot.com/elevation.html
|
||||
*/
|
||||
|
||||
--jp-shadow-base-lightness: 0;
|
||||
--jp-shadow-umbra-color: rgba(
|
||||
var(--jp-shadow-base-lightness),
|
||||
var(--jp-shadow-base-lightness),
|
||||
var(--jp-shadow-base-lightness),
|
||||
0.2
|
||||
);
|
||||
--jp-shadow-penumbra-color: rgba(
|
||||
var(--jp-shadow-base-lightness),
|
||||
var(--jp-shadow-base-lightness),
|
||||
var(--jp-shadow-base-lightness),
|
||||
0.14
|
||||
);
|
||||
--jp-shadow-ambient-color: rgba(
|
||||
var(--jp-shadow-base-lightness),
|
||||
var(--jp-shadow-base-lightness),
|
||||
var(--jp-shadow-base-lightness),
|
||||
0.12
|
||||
);
|
||||
--jp-elevation-z0: none;
|
||||
--jp-elevation-z1: 0 2px 1px -1px var(--jp-shadow-umbra-color),
|
||||
0 1px 1px 0 var(--jp-shadow-penumbra-color),
|
||||
0 1px 3px 0 var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z2: 0 3px 1px -2px var(--jp-shadow-umbra-color),
|
||||
0 2px 2px 0 var(--jp-shadow-penumbra-color),
|
||||
0 1px 5px 0 var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z4: 0 2px 4px -1px var(--jp-shadow-umbra-color),
|
||||
0 4px 5px 0 var(--jp-shadow-penumbra-color),
|
||||
0 1px 10px 0 var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z6: 0 3px 5px -1px var(--jp-shadow-umbra-color),
|
||||
0 6px 10px 0 var(--jp-shadow-penumbra-color),
|
||||
0 1px 18px 0 var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z8: 0 5px 5px -3px var(--jp-shadow-umbra-color),
|
||||
0 8px 10px 1px var(--jp-shadow-penumbra-color),
|
||||
0 3px 14px 2px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z12: 0 7px 8px -4px var(--jp-shadow-umbra-color),
|
||||
0 12px 17px 2px var(--jp-shadow-penumbra-color),
|
||||
0 5px 22px 4px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z16: 0 8px 10px -5px var(--jp-shadow-umbra-color),
|
||||
0 16px 24px 2px var(--jp-shadow-penumbra-color),
|
||||
0 6px 30px 5px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z20: 0 10px 13px -6px var(--jp-shadow-umbra-color),
|
||||
0 20px 31px 3px var(--jp-shadow-penumbra-color),
|
||||
0 8px 38px 7px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z24: 0 11px 15px -7px var(--jp-shadow-umbra-color),
|
||||
0 24px 38px 3px var(--jp-shadow-penumbra-color),
|
||||
0 9px 46px 8px var(--jp-shadow-ambient-color);
|
||||
|
||||
/* Borders
|
||||
*
|
||||
* The following variables, specify the visual styling of borders in JupyterLab.
|
||||
*/
|
||||
|
||||
--jp-border-width: 1px;
|
||||
--jp-border-color0: var(--md-grey-400);
|
||||
--jp-border-color1: var(--md-grey-400);
|
||||
--jp-border-color2: var(--md-grey-300);
|
||||
--jp-border-color3: var(--md-grey-200);
|
||||
--jp-inverse-border-color: var(--md-grey-600);
|
||||
--jp-border-radius: 2px;
|
||||
|
||||
/* UI Fonts
|
||||
*
|
||||
* The UI font CSS variables are used for the typography all of the JupyterLab
|
||||
* user interface elements that are not directly user generated content.
|
||||
*
|
||||
* The font sizing here is done assuming that the body font size of --jp-ui-font-size1
|
||||
* is applied to a parent element. When children elements, such as headings, are sized
|
||||
* in em all things will be computed relative to that body size.
|
||||
*/
|
||||
|
||||
--jp-ui-font-scale-factor: 1.2;
|
||||
--jp-ui-font-size0: 0.83333em;
|
||||
--jp-ui-font-size1: 13px; /* Base font size */
|
||||
--jp-ui-font-size2: 1.2em;
|
||||
--jp-ui-font-size3: 1.44em;
|
||||
--jp-ui-font-family: system-ui, -apple-system, blinkmacsystemfont, 'Segoe UI',
|
||||
helvetica, arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
|
||||
'Segoe UI Symbol';
|
||||
|
||||
/*
|
||||
* Use these font colors against the corresponding main layout colors.
|
||||
* In a light theme, these go from dark to light.
|
||||
*/
|
||||
|
||||
/* Defaults use Material Design specification */
|
||||
--jp-ui-font-color0: rgba(0, 0, 0, 1);
|
||||
--jp-ui-font-color1: rgba(0, 0, 0, 0.87);
|
||||
--jp-ui-font-color2: rgba(0, 0, 0, 0.54);
|
||||
--jp-ui-font-color3: rgba(0, 0, 0, 0.38);
|
||||
|
||||
/*
|
||||
* Use these against the brand/accent/warn/error colors.
|
||||
* These will typically go from light to darker, in both a dark and light theme.
|
||||
*/
|
||||
|
||||
--jp-ui-inverse-font-color0: rgba(255, 255, 255, 1);
|
||||
--jp-ui-inverse-font-color1: rgba(255, 255, 255, 1);
|
||||
--jp-ui-inverse-font-color2: rgba(255, 255, 255, 0.7);
|
||||
--jp-ui-inverse-font-color3: rgba(255, 255, 255, 0.5);
|
||||
|
||||
/* Content Fonts
|
||||
*
|
||||
* Content font variables are used for typography of user generated content.
|
||||
*
|
||||
* The font sizing here is done assuming that the body font size of --jp-content-font-size1
|
||||
* is applied to a parent element. When children elements, such as headings, are sized
|
||||
* in em all things will be computed relative to that body size.
|
||||
*/
|
||||
|
||||
--jp-content-line-height: 1.6;
|
||||
--jp-content-font-scale-factor: 1.2;
|
||||
--jp-content-font-size0: 0.83333em;
|
||||
--jp-content-font-size1: 14px; /* Base font size */
|
||||
--jp-content-font-size2: 1.2em;
|
||||
--jp-content-font-size3: 1.44em;
|
||||
--jp-content-font-size4: 1.728em;
|
||||
--jp-content-font-size5: 2.0736em;
|
||||
|
||||
/* This gives a magnification of about 125% in presentation mode over normal. */
|
||||
--jp-content-presentation-font-size1: 17px;
|
||||
--jp-content-heading-line-height: 1;
|
||||
--jp-content-heading-margin-top: 1.2em;
|
||||
--jp-content-heading-margin-bottom: 0.8em;
|
||||
--jp-content-heading-font-weight: 500;
|
||||
|
||||
/* Defaults use Material Design specification */
|
||||
--jp-content-font-color0: rgba(0, 0, 0, 1);
|
||||
--jp-content-font-color1: rgba(0, 0, 0, 0.87);
|
||||
--jp-content-font-color2: rgba(0, 0, 0, 0.54);
|
||||
--jp-content-font-color3: rgba(0, 0, 0, 0.38);
|
||||
--jp-content-link-color: var(--md-blue-900);
|
||||
--jp-content-font-family: system-ui, -apple-system, blinkmacsystemfont,
|
||||
'Segoe UI', helvetica, arial, sans-serif, 'Apple Color Emoji',
|
||||
'Segoe UI Emoji', 'Segoe UI Symbol';
|
||||
|
||||
/*
|
||||
* Code Fonts
|
||||
*
|
||||
* Code font variables are used for typography of code and other monospaces content.
|
||||
*/
|
||||
|
||||
--jp-code-font-size: 13px;
|
||||
--jp-code-line-height: 1.3077; /* 17px for 13px base */
|
||||
--jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */
|
||||
--jp-code-font-family-default: menlo, consolas, 'DejaVu Sans Mono', monospace;
|
||||
--jp-code-font-family: var(--jp-code-font-family-default);
|
||||
|
||||
/* This gives a magnification of about 125% in presentation mode over normal. */
|
||||
--jp-code-presentation-font-size: 16px;
|
||||
|
||||
/* may need to tweak cursor width if you change font size */
|
||||
--jp-code-cursor-width0: 1.4px;
|
||||
--jp-code-cursor-width1: 2px;
|
||||
--jp-code-cursor-width2: 4px;
|
||||
|
||||
/* Layout
|
||||
*
|
||||
* The following are the main layout colors use in JupyterLab. In a light
|
||||
* theme these would go from light to dark.
|
||||
*/
|
||||
|
||||
--jp-layout-color0: white;
|
||||
--jp-layout-color1: white;
|
||||
--jp-layout-color2: var(--md-grey-200);
|
||||
--jp-layout-color3: var(--md-grey-400);
|
||||
--jp-layout-color4: var(--md-grey-600);
|
||||
|
||||
/* Inverse Layout
|
||||
*
|
||||
* The following are the inverse layout colors use in JupyterLab. In a light
|
||||
* theme these would go from dark to light.
|
||||
*/
|
||||
|
||||
--jp-inverse-layout-color0: #111;
|
||||
--jp-inverse-layout-color1: var(--md-grey-900);
|
||||
--jp-inverse-layout-color2: var(--md-grey-800);
|
||||
--jp-inverse-layout-color3: var(--md-grey-700);
|
||||
--jp-inverse-layout-color4: var(--md-grey-600);
|
||||
|
||||
/* Brand/accent */
|
||||
|
||||
--jp-brand-color0: var(--md-blue-900);
|
||||
--jp-brand-color1: var(--md-blue-700);
|
||||
--jp-brand-color2: var(--md-blue-300);
|
||||
--jp-brand-color3: var(--md-blue-100);
|
||||
--jp-brand-color4: var(--md-blue-50);
|
||||
--jp-accent-color0: var(--md-green-900);
|
||||
--jp-accent-color1: var(--md-green-700);
|
||||
--jp-accent-color2: var(--md-green-300);
|
||||
--jp-accent-color3: var(--md-green-100);
|
||||
|
||||
/* State colors (warn, error, success, info) */
|
||||
|
||||
--jp-warn-color0: var(--md-orange-900);
|
||||
--jp-warn-color1: var(--md-orange-700);
|
||||
--jp-warn-color2: var(--md-orange-300);
|
||||
--jp-warn-color3: var(--md-orange-100);
|
||||
--jp-error-color0: var(--md-red-900);
|
||||
--jp-error-color1: var(--md-red-700);
|
||||
--jp-error-color2: var(--md-red-300);
|
||||
--jp-error-color3: var(--md-red-100);
|
||||
--jp-success-color0: var(--md-green-900);
|
||||
--jp-success-color1: var(--md-green-700);
|
||||
--jp-success-color2: var(--md-green-300);
|
||||
--jp-success-color3: var(--md-green-100);
|
||||
--jp-info-color0: var(--md-cyan-900);
|
||||
--jp-info-color1: var(--md-cyan-700);
|
||||
--jp-info-color2: var(--md-cyan-300);
|
||||
--jp-info-color3: var(--md-cyan-100);
|
||||
|
||||
/* Cell specific styles */
|
||||
|
||||
--jp-cell-padding: 5px;
|
||||
--jp-cell-collapser-width: 8px;
|
||||
--jp-cell-collapser-min-height: 20px;
|
||||
--jp-cell-collapser-not-active-hover-opacity: 0.6;
|
||||
--jp-cell-editor-background: var(--md-grey-100);
|
||||
--jp-cell-editor-border-color: var(--md-grey-300);
|
||||
--jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300);
|
||||
--jp-cell-editor-active-background: var(--jp-layout-color0);
|
||||
--jp-cell-editor-active-border-color: var(--jp-brand-color1);
|
||||
--jp-cell-prompt-width: 64px;
|
||||
--jp-cell-prompt-font-family: var(--jp-code-font-family-default);
|
||||
--jp-cell-prompt-letter-spacing: 0;
|
||||
--jp-cell-prompt-opacity: 1;
|
||||
--jp-cell-prompt-not-active-opacity: 0.5;
|
||||
--jp-cell-prompt-not-active-font-color: var(--md-grey-700);
|
||||
|
||||
/* A custom blend of MD grey and blue 600
|
||||
* See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */
|
||||
--jp-cell-inprompt-font-color: #307fc1;
|
||||
|
||||
/* A custom blend of MD grey and orange 600
|
||||
* https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */
|
||||
--jp-cell-outprompt-font-color: #bf5b3d;
|
||||
|
||||
/* Notebook specific styles */
|
||||
|
||||
--jp-notebook-padding: 10px;
|
||||
--jp-notebook-select-background: var(--jp-layout-color1);
|
||||
--jp-notebook-multiselected-color: var(--md-blue-50);
|
||||
|
||||
/* The scroll padding is calculated to fill enough space at the bottom of the
|
||||
notebook to show one single-line cell (with appropriate padding) at the top
|
||||
when the notebook is scrolled all the way to the bottom. We also subtract one
|
||||
pixel so that no scrollbar appears if we have just one single-line cell in the
|
||||
notebook. This padding is to enable a 'scroll past end' feature in a notebook.
|
||||
*/
|
||||
--jp-notebook-scroll-padding: calc(
|
||||
100% - var(--jp-code-font-size) * var(--jp-code-line-height) -
|
||||
var(--jp-code-padding) - var(--jp-cell-padding) - 1px
|
||||
);
|
||||
|
||||
/* Rendermime styles */
|
||||
|
||||
--jp-rendermime-error-background: #fdd;
|
||||
--jp-rendermime-table-row-background: var(--md-grey-100);
|
||||
--jp-rendermime-table-row-hover-background: var(--md-light-blue-50);
|
||||
|
||||
/* Dialog specific styles */
|
||||
|
||||
--jp-dialog-background: rgba(0, 0, 0, 0.25);
|
||||
|
||||
/* Console specific styles */
|
||||
|
||||
--jp-console-padding: 10px;
|
||||
|
||||
/* Toolbar specific styles */
|
||||
|
||||
--jp-toolbar-border-color: var(--jp-border-color1);
|
||||
--jp-toolbar-micro-height: 8px;
|
||||
--jp-toolbar-background: var(--jp-layout-color1);
|
||||
--jp-toolbar-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.24);
|
||||
--jp-toolbar-header-margin: 4px 4px 0 4px;
|
||||
--jp-toolbar-active-background: var(--md-grey-300);
|
||||
|
||||
/* Statusbar specific styles */
|
||||
|
||||
--jp-statusbar-height: 24px;
|
||||
|
||||
/* Input field styles */
|
||||
|
||||
--jp-input-box-shadow: inset 0 0 2px var(--md-blue-300);
|
||||
--jp-input-active-background: var(--jp-layout-color1);
|
||||
--jp-input-hover-background: var(--jp-layout-color1);
|
||||
--jp-input-background: var(--md-grey-100);
|
||||
--jp-input-border-color: var(--jp-inverse-border-color);
|
||||
--jp-input-active-border-color: var(--jp-brand-color1);
|
||||
--jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3);
|
||||
|
||||
/* General editor styles */
|
||||
|
||||
--jp-editor-selected-background: #d9d9d9;
|
||||
--jp-editor-selected-focused-background: #d7d4f0;
|
||||
--jp-editor-cursor-color: var(--jp-ui-font-color0);
|
||||
|
||||
/* Code mirror specific styles */
|
||||
|
||||
--jp-mirror-editor-keyword-color: #008000;
|
||||
--jp-mirror-editor-atom-color: #88f;
|
||||
--jp-mirror-editor-number-color: #080;
|
||||
--jp-mirror-editor-def-color: #00f;
|
||||
--jp-mirror-editor-variable-color: var(--md-grey-900);
|
||||
--jp-mirror-editor-variable-2-color: rgb(0, 54, 109);
|
||||
--jp-mirror-editor-variable-3-color: #085;
|
||||
--jp-mirror-editor-punctuation-color: #05a;
|
||||
--jp-mirror-editor-property-color: #05a;
|
||||
--jp-mirror-editor-operator-color: #a2f;
|
||||
--jp-mirror-editor-comment-color: #408080;
|
||||
--jp-mirror-editor-string-color: #ba2121;
|
||||
--jp-mirror-editor-string-2-color: #708;
|
||||
--jp-mirror-editor-meta-color: #a2f;
|
||||
--jp-mirror-editor-qualifier-color: #555;
|
||||
--jp-mirror-editor-builtin-color: #008000;
|
||||
--jp-mirror-editor-bracket-color: #997;
|
||||
--jp-mirror-editor-tag-color: #170;
|
||||
--jp-mirror-editor-attribute-color: #00c;
|
||||
--jp-mirror-editor-header-color: blue;
|
||||
--jp-mirror-editor-quote-color: #090;
|
||||
--jp-mirror-editor-link-color: #00c;
|
||||
--jp-mirror-editor-error-color: #f00;
|
||||
--jp-mirror-editor-hr-color: #999;
|
||||
|
||||
/*
|
||||
RTC user specific colors.
|
||||
These colors are used for the cursor, username in the editor,
|
||||
and the icon of the user.
|
||||
*/
|
||||
|
||||
--jp-collaborator-color1: #ffad8e;
|
||||
--jp-collaborator-color2: #dac83d;
|
||||
--jp-collaborator-color3: #72dd76;
|
||||
--jp-collaborator-color4: #00e4d0;
|
||||
--jp-collaborator-color5: #45d4ff;
|
||||
--jp-collaborator-color6: #e2b1ff;
|
||||
--jp-collaborator-color7: #ff9de6;
|
||||
|
||||
/* Vega extension styles */
|
||||
|
||||
--jp-vega-background: white;
|
||||
|
||||
/* Sidebar-related styles */
|
||||
|
||||
--jp-sidebar-min-width: 250px;
|
||||
|
||||
/* Search-related styles */
|
||||
|
||||
--jp-search-toggle-off-opacity: 0.5;
|
||||
--jp-search-toggle-hover-opacity: 0.8;
|
||||
--jp-search-toggle-on-opacity: 1;
|
||||
--jp-search-selected-match-background-color: rgb(245, 200, 0);
|
||||
--jp-search-selected-match-color: black;
|
||||
--jp-search-unselected-match-background-color: var(
|
||||
--jp-inverse-layout-color0
|
||||
);
|
||||
--jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0);
|
||||
|
||||
/* Icon colors that work well with light or dark backgrounds */
|
||||
--jp-icon-contrast-color0: var(--md-purple-600);
|
||||
--jp-icon-contrast-color1: var(--md-green-600);
|
||||
--jp-icon-contrast-color2: var(--md-pink-600);
|
||||
--jp-icon-contrast-color3: var(--md-blue-600);
|
||||
|
||||
/* Button colors */
|
||||
--jp-accept-color-normal: var(--md-blue-700);
|
||||
--jp-accept-color-hover: var(--md-blue-800);
|
||||
--jp-accept-color-active: var(--md-blue-900);
|
||||
--jp-warn-color-normal: var(--md-red-700);
|
||||
--jp-warn-color-hover: var(--md-red-800);
|
||||
--jp-warn-color-active: var(--md-red-900);
|
||||
--jp-reject-color-normal: var(--md-grey-600);
|
||||
--jp-reject-color-hover: var(--md-grey-700);
|
||||
--jp-reject-color-active: var(--md-grey-800);
|
||||
|
||||
/* File or activity icons and switch semantic variables */
|
||||
--jp-jupyter-icon-color: #f37626;
|
||||
--jp-notebook-icon-color: #f37626;
|
||||
--jp-json-icon-color: var(--md-orange-700);
|
||||
--jp-console-icon-background-color: var(--md-blue-700);
|
||||
--jp-console-icon-color: white;
|
||||
--jp-terminal-icon-background-color: var(--md-grey-800);
|
||||
--jp-terminal-icon-color: var(--md-grey-200);
|
||||
--jp-text-editor-icon-color: var(--md-grey-700);
|
||||
--jp-inspector-icon-color: var(--md-grey-700);
|
||||
--jp-switch-color: var(--md-grey-400);
|
||||
--jp-switch-true-position-color: var(--md-orange-900);
|
||||
}
|
||||
Reference in New Issue
Block a user