Uploaded Test files
This commit is contained in:
parent
f584ad9d97
commit
2e81cb7d99
16627 changed files with 2065359 additions and 102444 deletions
11
venv/share/jupyter/kernels/python3/kernel.json
Normal file
11
venv/share/jupyter/kernels/python3/kernel.json
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"argv": [
|
||||
"python",
|
||||
"-m",
|
||||
"ipykernel_launcher",
|
||||
"-f",
|
||||
"{connection_file}"
|
||||
],
|
||||
"display_name": "Python 3",
|
||||
"language": "python"
|
||||
}
|
BIN
venv/share/jupyter/kernels/python3/logo-32x32.png
Normal file
BIN
venv/share/jupyter/kernels/python3/logo-32x32.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
BIN
venv/share/jupyter/kernels/python3/logo-64x64.png
Normal file
BIN
venv/share/jupyter/kernels/python3/logo-64x64.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.1 KiB |
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"base_template": "base",
|
||||
"mimetypes": {
|
||||
"text/asciidoc": true
|
||||
}
|
||||
}
|
|
@ -0,0 +1,90 @@
|
|||
{% extends 'display_priority.j2' %}
|
||||
|
||||
|
||||
{% block input %}
|
||||
{% if resources.global_content_filter.include_input_prompt %}
|
||||
{% if cell.execution_count is defined -%}
|
||||
+*In[{{ cell.execution_count|replace(None, " ") }}]:*+
|
||||
{% else %}
|
||||
+*In[]:*+
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
[source
|
||||
{%- if 'magics_language' in cell.metadata -%}
|
||||
, {{ cell.metadata.magics_language}}
|
||||
{%- elif 'pygments_lexer' in nb.metadata.get('language_info', {}) -%}
|
||||
, {{ nb.metadata.language_info.pygments_lexer }}
|
||||
{%- elif 'name' in nb.metadata.get('language_info', {}) -%}
|
||||
, {{ nb.metadata.language_info.name }}
|
||||
{%- endif -%}]
|
||||
----
|
||||
{{ cell.source}}
|
||||
----
|
||||
{% endblock input %}
|
||||
|
||||
{% block output_group %}
|
||||
{% if resources.global_content_filter.include_output_prompt %}
|
||||
{% if cell.execution_count is defined -%}
|
||||
+*Out[{{ cell.execution_count|replace(None, " ") }}]:*+
|
||||
{%- else -%}
|
||||
+*Out[]:*+
|
||||
{%- endif -%}
|
||||
{%- endif %}
|
||||
----
|
||||
{{- super() -}}
|
||||
----
|
||||
{% endblock output_group %}
|
||||
|
||||
{% block error %}
|
||||
{{ super() }}
|
||||
{% endblock error %}
|
||||
|
||||
{% block traceback_line %}
|
||||
{{ line | indent | strip_ansi }}
|
||||
{% endblock traceback_line %}
|
||||
|
||||
{%- block execute_result %}
|
||||
{%- block data_priority scoped %}
|
||||
{{- super() -}}
|
||||
{%- endblock %}
|
||||
{%- endblock execute_result %}
|
||||
|
||||
{% block stream %}
|
||||
{{ output.text -}}
|
||||
{% endblock stream %}
|
||||
|
||||
{% block data_svg %}
|
||||

|
||||
{% endblock data_svg %}
|
||||
|
||||
{% block data_png %}
|
||||

|
||||
{% endblock data_png %}
|
||||
|
||||
{% block data_jpg %}
|
||||

|
||||
{% endblock data_jpg %}
|
||||
|
||||
{% block data_latex %}
|
||||
{{ output.data['text/latex'] | convert_pandoc(from_format="latex", to_format="asciidoc")}}
|
||||
{% endblock data_latex %}
|
||||
|
||||
{% block data_html scoped %}
|
||||
{{ output.data['text/html'] | convert_pandoc(from_format='html', to_format='asciidoc')}}
|
||||
{% endblock data_html %}
|
||||
|
||||
{% block data_markdown scoped %}
|
||||
{{ output.data['text/markdown'] | markdown2asciidoc}}
|
||||
{% endblock data_markdown %}
|
||||
|
||||
{% block data_text scoped %}
|
||||
{{-output.data['text/plain']-}}
|
||||
{% endblock data_text %}
|
||||
|
||||
{% block markdowncell scoped %}
|
||||
{{ cell.source | markdown2asciidoc}}
|
||||
{% endblock markdowncell %}
|
||||
|
||||
{% block unknowncell scoped %}
|
||||
unknown type {{ cell.type }}
|
||||
{% endblock unknowncell %}
|
7
venv/share/jupyter/nbconvert/templates/base/celltags.j2
Normal file
7
venv/share/jupyter/nbconvert/templates/base/celltags.j2
Normal file
|
@ -0,0 +1,7 @@
|
|||
{%- macro celltags(cell) -%}
|
||||
{% if cell.metadata.tags | length > 0 -%}
|
||||
{% for tag in cell.metadata.tags -%}
|
||||
{{ ' celltag_' ~ tag -}}
|
||||
{%- endfor -%}
|
||||
{%- endif %}
|
||||
{%- endmacro %}
|
|
@ -0,0 +1,46 @@
|
|||
{%- extends 'base/null.j2' -%}
|
||||
|
||||
{#display data priority#}
|
||||
|
||||
|
||||
{%- block data_priority scoped -%}
|
||||
{%- for type in output.data | filter_data_type -%}
|
||||
{%- if type == 'application/pdf' -%}
|
||||
{%- block data_pdf -%}
|
||||
{%- endblock -%}
|
||||
{%- elif type == 'image/svg+xml' -%}
|
||||
{%- block data_svg -%}
|
||||
{%- endblock -%}
|
||||
{%- elif type == 'image/png' -%}
|
||||
{%- block data_png -%}
|
||||
{%- endblock -%}
|
||||
{%- elif type == 'text/html' -%}
|
||||
{%- block data_html -%}
|
||||
{%- endblock -%}
|
||||
{%- elif type == 'text/markdown' -%}
|
||||
{%- block data_markdown -%}
|
||||
{%- endblock -%}
|
||||
{%- elif type == 'image/jpeg' -%}
|
||||
{%- block data_jpg -%}
|
||||
{%- endblock -%}
|
||||
{%- elif type == 'text/plain' -%}
|
||||
{%- block data_text -%}
|
||||
{%- endblock -%}
|
||||
{%- elif type == 'text/latex' -%}
|
||||
{%- block data_latex -%}
|
||||
{%- endblock -%}
|
||||
{%- elif type == 'application/javascript' -%}
|
||||
{%- block data_javascript -%}
|
||||
{%- endblock -%}
|
||||
{%- elif type == 'application/vnd.jupyter.widget-state+json' -%}
|
||||
{%- block data_widget_state -%}
|
||||
{%- endblock -%}
|
||||
{%- elif type == 'application/vnd.jupyter.widget-view+json' -%}
|
||||
{%- block data_widget_view -%}
|
||||
{%- endblock -%}
|
||||
{%- else -%}
|
||||
{%- block data_other -%}
|
||||
{%- endblock -%}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
{%- endblock data_priority -%}
|
|
@ -0,0 +1,28 @@
|
|||
{%- macro jupyter_widgets(widgets_cdn_url, html_manager_semver_range) -%}
|
||||
|
||||
<script>
|
||||
(function() {
|
||||
function addWidgetsRenderer() {
|
||||
var mimeElement = document.querySelector('script[type="application/vnd.jupyter.widget-view+json"]');
|
||||
var scriptElement = document.createElement('script');
|
||||
var widgetRendererSrc = '{{ widgets_cdn_url }}@jupyter-widgets/html-manager@{{ html_manager_semver_range }}/dist/embed-amd.js';
|
||||
var widgetState;
|
||||
|
||||
// Fallback for older version:
|
||||
try {
|
||||
widgetState = mimeElement && JSON.parse(mimeElement.innerHTML);
|
||||
|
||||
if (widgetState && (widgetState.version_major < 2 || !widgetState.version_major)) {
|
||||
widgetRendererSrc = '{{ widgets_cdn_url }}jupyter-js-widgets@*/dist/embed.js';
|
||||
}
|
||||
} catch(e) {}
|
||||
|
||||
scriptElement.src = widgetRendererSrc;
|
||||
document.body.appendChild(scriptElement);
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', addWidgetsRenderer);
|
||||
}());
|
||||
</script>
|
||||
|
||||
{%- endmacro %}
|
42
venv/share/jupyter/nbconvert/templates/base/mathjax.html.j2
Normal file
42
venv/share/jupyter/nbconvert/templates/base/mathjax.html.j2
Normal file
|
@ -0,0 +1,42 @@
|
|||
|
||||
{%- macro mathjax(url="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-MML-AM_CHTML-full,Safe") -%}
|
||||
<!-- Load mathjax -->
|
||||
<script src="{{url}}"> </script>
|
||||
<!-- MathJax configuration -->
|
||||
<script type="text/x-mathjax-config">
|
||||
init_mathjax = function() {
|
||||
if (window.MathJax) {
|
||||
// MathJax loaded
|
||||
MathJax.Hub.Config({
|
||||
TeX: {
|
||||
equationNumbers: {
|
||||
autoNumber: "AMS",
|
||||
useLabelIds: true
|
||||
}
|
||||
},
|
||||
tex2jax: {
|
||||
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
|
||||
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
|
||||
processEscapes: true,
|
||||
processEnvironments: true
|
||||
},
|
||||
displayAlign: 'center',
|
||||
CommonHTML: {
|
||||
linebreaks: {
|
||||
automatic: true
|
||||
}
|
||||
},
|
||||
"HTML-CSS": {
|
||||
linebreaks: {
|
||||
automatic: true
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
|
||||
}
|
||||
}
|
||||
init_mathjax();
|
||||
</script>
|
||||
<!-- End of mathjax configuration -->
|
||||
{%- endmacro %}
|
108
venv/share/jupyter/nbconvert/templates/base/null.j2
Normal file
108
venv/share/jupyter/nbconvert/templates/base/null.j2
Normal file
|
@ -0,0 +1,108 @@
|
|||
{#
|
||||
|
||||
DO NOT USE THIS AS A BASE,
|
||||
IF YOU ARE COPY AND PASTING THIS FILE
|
||||
YOU ARE PROBABLY DOING THINGS INCORRECTLY.
|
||||
|
||||
Null template, does nothing except defining a basic structure
|
||||
To layout the different blocks of a notebook.
|
||||
|
||||
Subtemplates can override blocks to define their custom representation.
|
||||
|
||||
If one of the block you do overwrite is not a leaf block, consider
|
||||
calling super.
|
||||
|
||||
{%- block nonLeafBlock -%}
|
||||
#add stuff at beginning
|
||||
{{ super() }}
|
||||
#add stuff at end
|
||||
{%- endblock nonLeafBlock -%}
|
||||
|
||||
consider calling super even if it is a leaf block, we might insert more blocks later.
|
||||
|
||||
#}
|
||||
{%- block header -%}
|
||||
{%- endblock header -%}
|
||||
{%- block body -%}
|
||||
{%- block body_header -%}
|
||||
{%- endblock body_header -%}
|
||||
{%- block body_loop -%}
|
||||
{%- for cell in nb.cells -%}
|
||||
{%- block any_cell scoped -%}
|
||||
{%- if cell.cell_type == 'code'-%}
|
||||
{%- if resources.global_content_filter.include_code -%}
|
||||
{%- block codecell scoped -%}
|
||||
{%- if resources.global_content_filter.include_input and not cell.get("transient",{}).get("remove_source", false) -%}
|
||||
{%- block input_group -%}
|
||||
{%- if resources.global_content_filter.include_input_prompt -%}
|
||||
{%- block in_prompt -%}{%- endblock in_prompt -%}
|
||||
{%- endif -%}
|
||||
{%- block input -%}{%- endblock input -%}
|
||||
{%- endblock input_group -%}
|
||||
{%- endif -%}
|
||||
{%- if cell.outputs and resources.global_content_filter.include_output -%}
|
||||
{%- block output_group -%}
|
||||
{%- if resources.global_content_filter.include_output_prompt -%}
|
||||
{%- block output_prompt -%}{%- endblock output_prompt -%}
|
||||
{%- endif -%}
|
||||
{%- block outputs scoped -%}
|
||||
{%- for output in cell.outputs -%}
|
||||
{%- block output scoped -%}
|
||||
{%- if output.output_type == 'execute_result' -%}
|
||||
{%- block execute_result scoped -%}{%- endblock execute_result -%}
|
||||
{%- elif output.output_type == 'stream' -%}
|
||||
{%- block stream scoped -%}
|
||||
{%- if output.name == 'stdout' -%}
|
||||
{%- block stream_stdout scoped -%}
|
||||
{%- endblock stream_stdout -%}
|
||||
{%- elif output.name == 'stderr' -%}
|
||||
{%- block stream_stderr scoped -%}
|
||||
{%- endblock stream_stderr -%}
|
||||
{%- endif -%}
|
||||
{%- endblock stream -%}
|
||||
{%- elif output.output_type == 'display_data' -%}
|
||||
{%- block display_data scoped -%}
|
||||
{%- block data_priority scoped -%}
|
||||
{%- endblock data_priority -%}
|
||||
{%- endblock display_data -%}
|
||||
{%- elif output.output_type == 'error' -%}
|
||||
{%- block error scoped -%}
|
||||
{%- for line in output.traceback -%}
|
||||
{%- block traceback_line scoped -%}{%- endblock traceback_line -%}
|
||||
{%- endfor -%}
|
||||
{%- endblock error -%}
|
||||
{%- endif -%}
|
||||
{%- endblock output -%}
|
||||
{%- endfor -%}
|
||||
{%- endblock outputs -%}
|
||||
{%- endblock output_group -%}
|
||||
{%- endif -%}
|
||||
{%- endblock codecell -%}
|
||||
{%- endif -%}
|
||||
{%- elif cell.cell_type in ['markdown'] -%}
|
||||
{%- if resources.global_content_filter.include_markdown and not cell.get("transient",{}).get("remove_source", false) -%}
|
||||
{%- block markdowncell scoped-%} {%- endblock markdowncell -%}
|
||||
{%- endif -%}
|
||||
{%- elif cell.cell_type in ['raw'] -%}
|
||||
{%- if resources.global_content_filter.include_raw and not cell.get("transient",{}).get("remove_source", false) -%}
|
||||
{%- block rawcell scoped -%}
|
||||
{%- if cell.metadata.get('raw_mimetype', '').lower() in resources.get('raw_mimetypes', ['']) -%}
|
||||
{{ cell.source }}
|
||||
{%- endif -%}
|
||||
{%- endblock rawcell -%}
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{%- if resources.global_content_filter.include_unknown and not cell.get("transient",{}).get("remove_source", false) -%}
|
||||
{%- block unknowncell scoped-%}
|
||||
{%- endblock unknowncell -%}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endblock any_cell -%}
|
||||
{%- endfor -%}
|
||||
{%- endblock body_loop -%}
|
||||
{%- block body_footer -%}
|
||||
{%- endblock body_footer -%}
|
||||
{%- endblock body -%}
|
||||
|
||||
{%- block footer -%}
|
||||
{%- endblock footer -%}
|
6
venv/share/jupyter/nbconvert/templates/basic/conf.json
Normal file
6
venv/share/jupyter/nbconvert/templates/basic/conf.json
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"base_template": "classic",
|
||||
"mimetypes": {
|
||||
"text/html": true
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{%- extends 'classic/base.html.j2' -%}
|
264
venv/share/jupyter/nbconvert/templates/classic/base.html.j2
Normal file
264
venv/share/jupyter/nbconvert/templates/classic/base.html.j2
Normal file
|
@ -0,0 +1,264 @@
|
|||
{%- extends 'display_priority.j2' -%}
|
||||
{% from 'celltags.j2' import celltags %}
|
||||
|
||||
{% block codecell %}
|
||||
<div class="cell border-box-sizing code_cell rendered{{ celltags(cell) }}">
|
||||
{{ super() }}
|
||||
</div>
|
||||
{%- endblock codecell %}
|
||||
|
||||
{% block input_group -%}
|
||||
<div class="input">
|
||||
{{ super() }}
|
||||
</div>
|
||||
{% endblock input_group %}
|
||||
|
||||
{% block output_group %}
|
||||
<div class="output_wrapper">
|
||||
<div class="output">
|
||||
{{ super() }}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock output_group %}
|
||||
|
||||
{% block in_prompt -%}
|
||||
<div class="prompt input_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="prompt input_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 input %}
|
||||
<div class="inner_cell">
|
||||
<div class="input_area">
|
||||
{{ cell.source | highlight_code(metadata=cell.metadata) }}
|
||||
</div>
|
||||
</div>
|
||||
{%- endblock input %}
|
||||
|
||||
{% block output_area_prompt %}
|
||||
{%- if output.output_type == 'execute_result' -%}
|
||||
<div class="prompt output_prompt">
|
||||
{%- if cell.execution_count is defined -%}
|
||||
Out[{{ cell.execution_count|replace(None, " ") }}]:
|
||||
{%- else -%}
|
||||
Out[ ]:
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
<div class="prompt">
|
||||
{%- endif -%}
|
||||
</div>
|
||||
{% endblock output_area_prompt %}
|
||||
|
||||
{% block output %}
|
||||
<div class="output_area">
|
||||
{% if resources.global_content_filter.include_output_prompt %}
|
||||
{{ self.output_area_prompt() }}
|
||||
{% endif %}
|
||||
{{ super() }}
|
||||
</div>
|
||||
{% endblock output %}
|
||||
|
||||
{% block markdowncell scoped %}
|
||||
<div class="cell border-box-sizing text_cell rendered{{ celltags(cell) }}">
|
||||
{%- if resources.global_content_filter.include_input_prompt-%}
|
||||
{{ self.empty_in_prompt() }}
|
||||
{%- endif -%}
|
||||
<div class="inner_cell">
|
||||
<div class="text_cell_render border-box-sizing rendered_html">
|
||||
{{ cell.source | markdown2html | strip_files_prefix }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{%- endblock markdowncell %}
|
||||
|
||||
{% block unknowncell scoped %}
|
||||
unknown type {{ cell.type }}
|
||||
{% endblock unknowncell %}
|
||||
|
||||
{% block execute_result -%}
|
||||
{%- set extra_class="output_execute_result" -%}
|
||||
{% block data_priority scoped %}
|
||||
{{ super() }}
|
||||
{% endblock data_priority %}
|
||||
{%- set extra_class="" -%}
|
||||
{%- endblock execute_result %}
|
||||
|
||||
{% block stream_stdout -%}
|
||||
<div class="output_subarea output_stream output_stdout output_text">
|
||||
<pre>
|
||||
{{- output.text | ansi2html -}}
|
||||
</pre>
|
||||
</div>
|
||||
{%- endblock stream_stdout %}
|
||||
|
||||
{% block stream_stderr -%}
|
||||
<div class="output_subarea output_stream output_stderr output_text">
|
||||
<pre>
|
||||
{{- output.text | ansi2html -}}
|
||||
</pre>
|
||||
</div>
|
||||
{%- endblock stream_stderr %}
|
||||
|
||||
{% block data_svg scoped -%}
|
||||
<div class="output_svg output_subarea {{ extra_class }}">
|
||||
{%- if output.svg_filename %}
|
||||
<img src="{{ output.svg_filename | posix_path }}">
|
||||
{%- else %}
|
||||
{{ output.data['image/svg+xml'] }}
|
||||
{%- endif %}
|
||||
</div>
|
||||
{%- endblock data_svg %}
|
||||
|
||||
{% block data_html scoped -%}
|
||||
<div class="output_html rendered_html output_subarea {{ extra_class }}">
|
||||
{{ output.data['text/html'] }}
|
||||
</div>
|
||||
{%- endblock data_html %}
|
||||
|
||||
{% block data_markdown scoped -%}
|
||||
<div class="output_markdown rendered_html output_subarea {{ extra_class }}">
|
||||
{{ output.data['text/markdown'] | markdown2html }}
|
||||
</div>
|
||||
{%- endblock data_markdown %}
|
||||
|
||||
{% block data_png scoped %}
|
||||
<div class="output_png output_subarea {{ extra_class }}">
|
||||
{%- if 'image/png' in output.metadata.get('filenames', {}) %}
|
||||
<img src="{{ output.metadata.filenames['image/png'] | posix_path }}"
|
||||
{%- else %}
|
||||
<img src="data:image/png;base64,{{ output.data['image/png'] }}"
|
||||
{%- endif %}
|
||||
{%- set width=output | get_metadata('width', 'image/png') -%}
|
||||
{%- if width is not none %}
|
||||
width={{ width }}
|
||||
{%- endif %}
|
||||
{%- set height=output | get_metadata('height', 'image/png') -%}
|
||||
{%- if height is not none %}
|
||||
height={{ height }}
|
||||
{%- endif %}
|
||||
{%- if output | get_metadata('unconfined', 'image/png') %}
|
||||
class="unconfined"
|
||||
{%- endif %}
|
||||
{%- set alttext=(output | get_metadata('alt', 'image/png')) or (cell | get_metadata('alt')) -%}
|
||||
{%- if alttext is not none %}
|
||||
alt="{{ alttext }}"
|
||||
{%- endif %}
|
||||
>
|
||||
</div>
|
||||
{%- endblock data_png %}
|
||||
|
||||
{% block data_jpg scoped %}
|
||||
<div class="output_jpeg output_subarea {{ extra_class }}">
|
||||
{%- if 'image/jpeg' in output.metadata.get('filenames', {}) %}
|
||||
<img src="{{ output.metadata.filenames['image/jpeg'] | posix_path }}"
|
||||
{%- else %}
|
||||
<img src="data:image/jpeg;base64,{{ output.data['image/jpeg'] }}"
|
||||
{%- endif %}
|
||||
{%- set width=output | get_metadata('width', 'image/jpeg') -%}
|
||||
{%- if width is not none %}
|
||||
width={{ width }}
|
||||
{%- endif %}
|
||||
{%- set height=output | get_metadata('height', 'image/jpeg') -%}
|
||||
{%- if height is not none %}
|
||||
height={{ height }}
|
||||
{%- endif %}
|
||||
{%- if output | get_metadata('unconfined', 'image/jpeg') %}
|
||||
class="unconfined"
|
||||
{%- endif %}
|
||||
{%- set alttext=(output | get_metadata('alt', 'image/jpeg')) or (cell | get_metadata('alt')) -%}
|
||||
{%- if alttext is not none %}
|
||||
alt="{{ alttext }}"
|
||||
{%- endif %}
|
||||
>
|
||||
</div>
|
||||
{%- endblock data_jpg %}
|
||||
|
||||
{% block data_latex scoped %}
|
||||
<div class="output_latex output_subarea {{ extra_class }}">
|
||||
{{ output.data['text/latex'] | e }}
|
||||
</div>
|
||||
{%- endblock data_latex %}
|
||||
|
||||
{% block error -%}
|
||||
<div class="output_subarea output_text output_error">
|
||||
<pre>
|
||||
{{- super() -}}
|
||||
</pre>
|
||||
</div>
|
||||
{%- endblock error %}
|
||||
|
||||
{%- block traceback_line %}
|
||||
{{ line | ansi2html }}
|
||||
{%- endblock traceback_line %}
|
||||
|
||||
{%- block data_text scoped %}
|
||||
<div class="output_text output_subarea {{ extra_class }}">
|
||||
<pre>
|
||||
{{- output.data['text/plain'] | ansi2html -}}
|
||||
</pre>
|
||||
</div>
|
||||
{%- endblock -%}
|
||||
|
||||
{%- block data_javascript scoped %}
|
||||
{% set div_id = uuid4() %}
|
||||
<div id="{{ div_id }}" class="output_subarea output_javascript {{ extra_class }}">
|
||||
<script type="text/javascript">
|
||||
var element = $('#{{ div_id }}');
|
||||
{{ output.data['application/javascript'] }}
|
||||
</script>
|
||||
</div>
|
||||
{%- endblock -%}
|
||||
|
||||
{%- block data_widget_state scoped %}
|
||||
{% set div_id = uuid4() %}
|
||||
{% set datatype_list = output.data | filter_data_type %}
|
||||
{% set datatype = datatype_list[0]%}
|
||||
<div id="{{ div_id }}" class="output_subarea output_widget_state {{ extra_class }}">
|
||||
<script type="text/javascript">
|
||||
var element = $('#{{ div_id }}');
|
||||
</script>
|
||||
<script type="{{ datatype }}">
|
||||
{{ output.data[datatype] | json_dumps }}
|
||||
</script>
|
||||
</div>
|
||||
{%- endblock data_widget_state -%}
|
||||
|
||||
{%- 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="output_subarea output_widget_view {{ extra_class }}">
|
||||
<script type="text/javascript">
|
||||
var element = $('#{{ div_id }}');
|
||||
</script>
|
||||
<script type="{{ datatype }}">
|
||||
{{ output.data[datatype] | json_dumps }}
|
||||
</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 }}
|
||||
</script>
|
||||
{% endif %}
|
||||
{{ super() }}
|
||||
{%- endblock footer-%}
|
13
venv/share/jupyter/nbconvert/templates/classic/conf.json
Normal file
13
venv/share/jupyter/nbconvert/templates/classic/conf.json
Normal file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"base_template": "base",
|
||||
"mimetypes": {
|
||||
"text/html": true
|
||||
},
|
||||
"preprocessors": {
|
||||
"100-pygments": {
|
||||
"type": "nbconvert.preprocessors.CSSHTMLHeaderPreprocessor",
|
||||
"enabled": true,
|
||||
"style": "default"
|
||||
}
|
||||
}
|
||||
}
|
103
venv/share/jupyter/nbconvert/templates/classic/index.html.j2
Normal file
103
venv/share/jupyter/nbconvert/templates/classic/index.html.j2
Normal file
|
@ -0,0 +1,103 @@
|
|||
{%- extends 'base.html.j2' -%}
|
||||
{% from 'mathjax.html.j2' import mathjax %}
|
||||
{% from 'jupyter_widgets.html.j2' import jupyter_widgets %}
|
||||
|
||||
{%- block header -%}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<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', '') or resources['metadata']['name'] %}
|
||||
<title>{{nb_title}}</title>
|
||||
|
||||
{%- block html_head_js -%}
|
||||
{%- block html_head_js_jquery -%}
|
||||
<script src="{{ resources.jquery_url }}"></script>
|
||||
{%- endblock html_head_js_jquery -%}
|
||||
{%- 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) }}
|
||||
{%- endif -%}
|
||||
{% endblock jupyter_widgets %}
|
||||
|
||||
{% for css in resources.inlining.css -%}
|
||||
<style type="text/css">
|
||||
{{ css }}
|
||||
</style>
|
||||
{% endfor %}
|
||||
|
||||
{% block notebook_css %}
|
||||
{{ resources.include_css("static/style.css") }}
|
||||
<style type="text/css">
|
||||
/* Overrides of notebook CSS for static HTML export */
|
||||
body {
|
||||
overflow: visible;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
div#notebook {
|
||||
overflow: visible;
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
{%- if resources.global_content_filter.no_prompt-%}
|
||||
div#notebook-container{
|
||||
padding: 6ex 12ex 8ex 12ex;
|
||||
}
|
||||
{%- endif -%}
|
||||
|
||||
@media print {
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
div.cell {
|
||||
display: block;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
div.output_wrapper {
|
||||
display: block;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
div.output {
|
||||
display: block;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
{% endblock notebook_css %}
|
||||
|
||||
{{ mathjax() }}
|
||||
|
||||
{%- block html_head_css -%}
|
||||
{%- endblock html_head_css -%}
|
||||
|
||||
{%- endblock html_head -%}
|
||||
</head>
|
||||
{%- endblock header -%}
|
||||
|
||||
{% block body_header %}
|
||||
<body>
|
||||
<div tabindex="-1" id="notebook" class="border-box-sizing">
|
||||
<div class="container" id="notebook-container">
|
||||
{% endblock body_header %}
|
||||
|
||||
{% block body_footer %}
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
{% endblock body_footer %}
|
||||
|
||||
{% block footer %}
|
||||
{% block footer_js %}
|
||||
{% endblock footer_js %}
|
||||
{{ super() }}
|
||||
</html>
|
||||
{% endblock footer %}
|
||||
|
12935
venv/share/jupyter/nbconvert/templates/classic/static/style.css
Normal file
12935
venv/share/jupyter/nbconvert/templates/classic/static/style.css
Normal file
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,2 @@
|
|||
{{ resources.deprecated("This template is deprecated, please use base/display_priority.j2") }}
|
||||
{%- extends 'display_priority.j2' -%}
|
|
@ -0,0 +1,2 @@
|
|||
{{ resources.deprecated("This template is deprecated, please use classic/index.html.j2") }}
|
||||
{%- extends 'index.html.j2' -%}
|
270
venv/share/jupyter/nbconvert/templates/lab/base.html.j2
Normal file
270
venv/share/jupyter/nbconvert/templates/lab/base.html.j2
Normal file
|
@ -0,0 +1,270 @@
|
|||
{%- extends 'display_priority.j2' -%}
|
||||
{% from 'celltags.j2' import celltags %}
|
||||
|
||||
{% 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 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-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="CodeMirror cm-s-jupyter">
|
||||
{{ cell.source | highlight_code(metadata=cell.metadata) }}
|
||||
</div>
|
||||
</div>
|
||||
{%- endblock input %}
|
||||
|
||||
{% block output_group %}
|
||||
<div class="jp-Cell-outputWrapper">
|
||||
{{ 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 %}
|
||||
<div class="jp-OutputArea-child">
|
||||
{% if resources.global_content_filter.include_output_prompt %}
|
||||
{{ self.output_area_prompt() }}
|
||||
{% endif %}
|
||||
{{ super() }}
|
||||
</div>
|
||||
{% endblock output %}
|
||||
|
||||
{% block markdowncell scoped %}
|
||||
<div class="jp-Cell-inputWrapper">
|
||||
{%- 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">
|
||||
{{ cell.source | markdown2html | strip_files_prefix }}
|
||||
</div>
|
||||
</div>
|
||||
{%- endblock markdowncell %}
|
||||
|
||||
{% 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 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 }}">
|
||||
{%- else %}
|
||||
{{ output.data['image/svg+xml'] }}
|
||||
{%- endif %}
|
||||
</div>
|
||||
{%- endblock data_svg %}
|
||||
|
||||
{% block data_html scoped -%}
|
||||
<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output {{ extra_class }}" data-mime-type="text/html">
|
||||
{{ output.data['text/html'] }}
|
||||
</div>
|
||||
{%- endblock data_html %}
|
||||
|
||||
{% block data_markdown scoped -%}
|
||||
<div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-OutputArea-output {{ extra_class }}" data-mime-type="text/markdown">
|
||||
{{ output.data['text/markdown'] | markdown2html }}
|
||||
</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 }}"
|
||||
{%- else %}
|
||||
<img src="data:image/png;base64,{{ output.data['image/png'] }}"
|
||||
{%- endif %}
|
||||
{%- set width=output | get_metadata('width', 'image/png') -%}
|
||||
{%- if width is not none %}
|
||||
width={{ width }}
|
||||
{%- endif %}
|
||||
{%- set height=output | get_metadata('height', 'image/png') -%}
|
||||
{%- if height is not none %}
|
||||
height={{ height }}
|
||||
{%- endif %}
|
||||
{%- if output | get_metadata('unconfined', 'image/png') %}
|
||||
class="unconfined"
|
||||
{%- 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 }}"
|
||||
{%- else %}
|
||||
<img src="data:image/jpeg;base64,{{ output.data['image/jpeg'] }}"
|
||||
{%- endif %}
|
||||
{%- set width=output | get_metadata('width', 'image/jpeg') -%}
|
||||
{%- if width is not none %}
|
||||
width={{ width }}
|
||||
{%- endif %}
|
||||
{%- set height=output | get_metadata('height', 'image/jpeg') -%}
|
||||
{%- if height is not none %}
|
||||
height={{ height }}
|
||||
{%- endif %}
|
||||
{%- if output | get_metadata('unconfined', 'image/jpeg') %}
|
||||
class="unconfined"
|
||||
{%- 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? #
|
||||
###############################################################################
|
||||
#}
|
||||
|
||||
{% set div_id = uuid4() %}
|
||||
{%- block data_javascript scoped %}
|
||||
<div id="{{ div_id }}" class="jp-RenderedJavaScript jp-OutputArea-output {{ extra_class }}" data-mime-type="application/javascript">
|
||||
<script type="text/javascript">
|
||||
var element = document.getElementById('{{ div_id }}');
|
||||
{{ output.data['application/javascript'] }}
|
||||
</script>
|
||||
</div>
|
||||
{%- endblock -%}
|
||||
|
||||
{%- block data_widget_state scoped %}
|
||||
{% set div_id = uuid4() %}
|
||||
{% set datatype_list = output.data | filter_data_type %}
|
||||
{% set datatype = datatype_list[0]%}
|
||||
<div id="{{ div_id }}" class="output_subarea output_widget_state {{ extra_class }}">
|
||||
<script type="text/javascript">
|
||||
var element = document.getElementById('{{ div_id }}');
|
||||
</script>
|
||||
<script type="{{ datatype }}">
|
||||
{{ output.data[datatype] | json_dumps }}
|
||||
</script>
|
||||
</div>
|
||||
{%- endblock data_widget_state -%}
|
||||
|
||||
{%- 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 }}
|
||||
</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 }}
|
||||
</script>
|
||||
{% endif %}
|
||||
{{ super() }}
|
||||
{%- endblock footer-%}
|
12
venv/share/jupyter/nbconvert/templates/lab/conf.json
Normal file
12
venv/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
|
||||
}
|
||||
}
|
||||
}
|
96
venv/share/jupyter/nbconvert/templates/lab/index.html.j2
Normal file
96
venv/share/jupyter/nbconvert/templates/lab/index.html.j2
Normal file
|
@ -0,0 +1,96 @@
|
|||
{%- extends 'base.html.j2' -%}
|
||||
{% from 'mathjax.html.j2' import mathjax %}
|
||||
{% from 'jupyter_widgets.html.j2' import jupyter_widgets %}
|
||||
|
||||
{%- block header -%}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<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', '') or resources['metadata']['name'] %}
|
||||
<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) }}
|
||||
{%- 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") }}
|
||||
{% else %}
|
||||
{{ resources.include_css("static/theme-light.css") }}
|
||||
{% endif %}
|
||||
<style type="text/css">
|
||||
a.anchor-link {
|
||||
display: none;
|
||||
}
|
||||
.highlight {
|
||||
margin: 0.4em;
|
||||
}
|
||||
|
||||
/* Input area styling */
|
||||
.jp-InputArea {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.jp-InputArea-editor {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
@media print {
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
{% endblock notebook_css %}
|
||||
|
||||
{{ mathjax() }}
|
||||
|
||||
{%- 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 %}
|
||||
{%- endblock body_header -%}
|
||||
|
||||
{% block body_footer %}
|
||||
</body>
|
||||
{% endblock body_footer %}
|
||||
|
||||
{% block footer %}
|
||||
{% block footer_js %}
|
||||
{% endblock footer_js %}
|
||||
{{ super() }}
|
||||
</html>
|
||||
{% endblock footer %}
|
||||
|
13736
venv/share/jupyter/nbconvert/templates/lab/static/index.css
Normal file
13736
venv/share/jupyter/nbconvert/templates/lab/static/index.css
Normal file
File diff suppressed because one or more lines are too long
405
venv/share/jupyter/nbconvert/templates/lab/static/theme-dark.css
Normal file
405
venv/share/jupyter/nbconvert/templates/lab/static/theme-dark.css
Normal file
|
@ -0,0 +1,405 @@
|
|||
/*-----------------------------------------------------------------------------
|
||||
| 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: 0px 2px 1px -1px var(--jp-shadow-umbra-color),
|
||||
0px 1px 1px 0px var(--jp-shadow-penumbra-color),
|
||||
0px 1px 3px 0px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z2: 0px 3px 1px -2px var(--jp-shadow-umbra-color),
|
||||
0px 2px 2px 0px var(--jp-shadow-penumbra-color),
|
||||
0px 1px 5px 0px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z4: 0px 2px 4px -1px var(--jp-shadow-umbra-color),
|
||||
0px 4px 5px 0px var(--jp-shadow-penumbra-color),
|
||||
0px 1px 10px 0px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z6: 0px 3px 5px -1px var(--jp-shadow-umbra-color),
|
||||
0px 6px 10px 0px var(--jp-shadow-penumbra-color),
|
||||
0px 1px 18px 0px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z8: 0px 5px 5px -3px var(--jp-shadow-umbra-color),
|
||||
0px 8px 10px 1px var(--jp-shadow-penumbra-color),
|
||||
0px 3px 14px 2px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z12: 0px 7px 8px -4px var(--jp-shadow-umbra-color),
|
||||
0px 12px 17px 2px var(--jp-shadow-penumbra-color),
|
||||
0px 5px 22px 4px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z16: 0px 8px 10px -5px var(--jp-shadow-umbra-color),
|
||||
0px 16px 24px 2px var(--jp-shadow-penumbra-color),
|
||||
0px 6px 30px 5px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z20: 0px 10px 13px -6px var(--jp-shadow-umbra-color),
|
||||
0px 20px 31px 3px var(--jp-shadow-penumbra-color),
|
||||
0px 8px 38px 7px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z24: 0px 11px 15px -7px var(--jp-shadow-umbra-color),
|
||||
0px 24px 38px 3px var(--jp-shadow-penumbra-color),
|
||||
0px 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-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: -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: -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: #111111;
|
||||
--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: 'Source Code Pro', monospace;
|
||||
--jp-cell-prompt-letter-spacing: 0px;
|
||||
--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: 0px 0px 2px 0px rgba(0, 0, 0, 0.8);
|
||||
--jp-toolbar-header-margin: 4px 4px 0px 4px;
|
||||
--jp-toolbar-active-background: var(--jp-layout-color0);
|
||||
|
||||
/* 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-border-color1);
|
||||
--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-400);
|
||||
--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: #aa22ff;
|
||||
--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: #aa22ff;
|
||||
--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;
|
||||
|
||||
/* Vega extension styles */
|
||||
|
||||
--jp-vega-background: var(--md-grey-400);
|
||||
|
||||
/* Sidebar-related styles */
|
||||
|
||||
--jp-sidebar-min-width: 180px;
|
||||
|
||||
/* 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);
|
||||
}
|
|
@ -0,0 +1,388 @@
|
|||
/*-----------------------------------------------------------------------------
|
||||
| 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: 0px 2px 1px -1px var(--jp-shadow-umbra-color),
|
||||
0px 1px 1px 0px var(--jp-shadow-penumbra-color),
|
||||
0px 1px 3px 0px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z2: 0px 3px 1px -2px var(--jp-shadow-umbra-color),
|
||||
0px 2px 2px 0px var(--jp-shadow-penumbra-color),
|
||||
0px 1px 5px 0px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z4: 0px 2px 4px -1px var(--jp-shadow-umbra-color),
|
||||
0px 4px 5px 0px var(--jp-shadow-penumbra-color),
|
||||
0px 1px 10px 0px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z6: 0px 3px 5px -1px var(--jp-shadow-umbra-color),
|
||||
0px 6px 10px 0px var(--jp-shadow-penumbra-color),
|
||||
0px 1px 18px 0px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z8: 0px 5px 5px -3px var(--jp-shadow-umbra-color),
|
||||
0px 8px 10px 1px var(--jp-shadow-penumbra-color),
|
||||
0px 3px 14px 2px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z12: 0px 7px 8px -4px var(--jp-shadow-umbra-color),
|
||||
0px 12px 17px 2px var(--jp-shadow-penumbra-color),
|
||||
0px 5px 22px 4px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z16: 0px 8px 10px -5px var(--jp-shadow-umbra-color),
|
||||
0px 16px 24px 2px var(--jp-shadow-penumbra-color),
|
||||
0px 6px 30px 5px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z20: 0px 10px 13px -6px var(--jp-shadow-umbra-color),
|
||||
0px 20px 31px 3px var(--jp-shadow-penumbra-color),
|
||||
0px 8px 38px 7px var(--jp-shadow-ambient-color);
|
||||
--jp-elevation-z24: 0px 11px 15px -7px var(--jp-shadow-umbra-color),
|
||||
0px 24px 38px 3px var(--jp-shadow-penumbra-color),
|
||||
0px 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-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: -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-700);
|
||||
|
||||
--jp-content-font-family: -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: #111111;
|
||||
--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-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(--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: 'Source Code Pro', monospace;
|
||||
--jp-cell-prompt-letter-spacing: 0px;
|
||||
--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: 0px 0px 2px 0px rgba(0, 0, 0, 0.24);
|
||||
--jp-toolbar-header-margin: 4px 4px 0px 4px;
|
||||
--jp-toolbar-active-background: var(--md-grey-300);
|
||||
|
||||
/* 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-border-color1);
|
||||
--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: #05a;
|
||||
--jp-mirror-editor-variable-3-color: #085;
|
||||
--jp-mirror-editor-punctuation-color: #05a;
|
||||
--jp-mirror-editor-property-color: #05a;
|
||||
--jp-mirror-editor-operator-color: #aa22ff;
|
||||
--jp-mirror-editor-comment-color: #408080;
|
||||
--jp-mirror-editor-string-color: #ba2121;
|
||||
--jp-mirror-editor-string-2-color: #708;
|
||||
--jp-mirror-editor-meta-color: #aa22ff;
|
||||
--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;
|
||||
|
||||
/* Vega extension styles */
|
||||
|
||||
--jp-vega-background: white;
|
||||
|
||||
/* Sidebar-related styles */
|
||||
|
||||
--jp-sidebar-min-width: 180px;
|
||||
|
||||
/* 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);
|
||||
}
|
213
venv/share/jupyter/nbconvert/templates/latex/base.tex.j2
Normal file
213
venv/share/jupyter/nbconvert/templates/latex/base.tex.j2
Normal file
|
@ -0,0 +1,213 @@
|
|||
((=- Latex base template (must inherit)
|
||||
This template builds upon the abstract template, adding common latex output
|
||||
functions. Figures, data_text,
|
||||
This template defines defines a default docclass, the inheriting class should
|
||||
override this.-=))
|
||||
|
||||
((*- extends 'document_contents.tex.j2' -*))
|
||||
|
||||
%===============================================================================
|
||||
% Abstract overrides
|
||||
%===============================================================================
|
||||
|
||||
((*- block header -*))
|
||||
((* block docclass *))\documentclass[11pt]{article}((* endblock docclass *))
|
||||
|
||||
((* block packages *))
|
||||
\usepackage{iftex}
|
||||
\ifPDFTeX
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{mathpazo}
|
||||
\else
|
||||
\usepackage{fontspec}
|
||||
\fi
|
||||
|
||||
% Basic figure setup, for now with no caption control since it's done
|
||||
% automatically by Pandoc (which extracts  syntax from Markdown).
|
||||
\usepackage{graphicx}
|
||||
% Maintain compatibility with old templates. Remove in nbconvert 6.0
|
||||
\let\Oldincludegraphics\includegraphics
|
||||
% Ensure that by default, figures have no caption (until we provide a
|
||||
% proper Figure object with a Caption API and a way to capture that
|
||||
% in the conversion process - todo).
|
||||
\usepackage{caption}
|
||||
\DeclareCaptionFormat{nocaption}{}
|
||||
\captionsetup{format=nocaption,aboveskip=0pt,belowskip=0pt}
|
||||
|
||||
\usepackage{float}
|
||||
\floatplacement{figure}{H} % forces figures to be placed at the correct location
|
||||
\usepackage{xcolor} % Allow colors to be defined
|
||||
\usepackage{enumerate} % Needed for markdown enumerations to work
|
||||
\usepackage{geometry} % Used to adjust the document margins
|
||||
\usepackage{amsmath} % Equations
|
||||
\usepackage{amssymb} % Equations
|
||||
\usepackage{textcomp} % defines textquotesingle
|
||||
% Hack from http://tex.stackexchange.com/a/47451/13684:
|
||||
\AtBeginDocument{%
|
||||
\def\PYZsq{\textquotesingle}% Upright quotes in Pygmentized code
|
||||
}
|
||||
\usepackage{upquote} % Upright quotes for verbatim code
|
||||
\usepackage{eurosym} % defines \euro
|
||||
\usepackage[mathletters]{ucs} % Extended unicode (utf-8) support
|
||||
\usepackage{fancyvrb} % verbatim replacement that allows latex
|
||||
\usepackage{grffile} % extends the file name processing of package graphics
|
||||
% to support a larger range
|
||||
\makeatletter % fix for old versions of grffile with XeLaTeX
|
||||
\@ifpackagelater{grffile}{2019/11/01}
|
||||
{
|
||||
% Do nothing on new versions
|
||||
}
|
||||
{
|
||||
\def\Gread@@xetex#1{%
|
||||
\IfFileExists{"\Gin@base".bb}%
|
||||
{\Gread@eps{\Gin@base.bb}}%
|
||||
{\Gread@@xetex@aux#1}%
|
||||
}
|
||||
}
|
||||
\makeatother
|
||||
\usepackage[Export]{adjustbox} % Used to constrain images to a maximum size
|
||||
\adjustboxset{max size={0.9\linewidth}{0.9\paperheight}}
|
||||
|
||||
% The hyperref package gives us a pdf with properly built
|
||||
% internal navigation ('pdf bookmarks' for the table of contents,
|
||||
% internal cross-reference links, web links for URLs, etc.)
|
||||
\usepackage{hyperref}
|
||||
% The default LaTeX title has an obnoxious amount of whitespace. By default,
|
||||
% titling removes some of it. It also provides customization options.
|
||||
\usepackage{titling}
|
||||
\usepackage{longtable} % longtable support required by pandoc >1.10
|
||||
\usepackage{booktabs} % table support for pandoc > 1.12.2
|
||||
\usepackage[inline]{enumitem} % IRkernel/repr support (it uses the enumerate* environment)
|
||||
\usepackage[normalem]{ulem} % ulem is needed to support strikethroughs (\sout)
|
||||
% normalem makes italics be italics, not underlines
|
||||
\usepackage{mathrsfs}
|
||||
((* endblock packages *))
|
||||
|
||||
((* block definitions *))
|
||||
% Colors for the hyperref package
|
||||
\definecolor{urlcolor}{rgb}{0,.145,.698}
|
||||
\definecolor{linkcolor}{rgb}{.71,0.21,0.01}
|
||||
\definecolor{citecolor}{rgb}{.12,.54,.11}
|
||||
|
||||
% ANSI colors
|
||||
\definecolor{ansi-black}{HTML}{3E424D}
|
||||
\definecolor{ansi-black-intense}{HTML}{282C36}
|
||||
\definecolor{ansi-red}{HTML}{E75C58}
|
||||
\definecolor{ansi-red-intense}{HTML}{B22B31}
|
||||
\definecolor{ansi-green}{HTML}{00A250}
|
||||
\definecolor{ansi-green-intense}{HTML}{007427}
|
||||
\definecolor{ansi-yellow}{HTML}{DDB62B}
|
||||
\definecolor{ansi-yellow-intense}{HTML}{B27D12}
|
||||
\definecolor{ansi-blue}{HTML}{208FFB}
|
||||
\definecolor{ansi-blue-intense}{HTML}{0065CA}
|
||||
\definecolor{ansi-magenta}{HTML}{D160C4}
|
||||
\definecolor{ansi-magenta-intense}{HTML}{A03196}
|
||||
\definecolor{ansi-cyan}{HTML}{60C6C8}
|
||||
\definecolor{ansi-cyan-intense}{HTML}{258F8F}
|
||||
\definecolor{ansi-white}{HTML}{C5C1B4}
|
||||
\definecolor{ansi-white-intense}{HTML}{A1A6B2}
|
||||
\definecolor{ansi-default-inverse-fg}{HTML}{FFFFFF}
|
||||
\definecolor{ansi-default-inverse-bg}{HTML}{000000}
|
||||
|
||||
% common color for the border for error outputs.
|
||||
\definecolor{outerrorbackground}{HTML}{FFDFDF}
|
||||
|
||||
% commands and environments needed by pandoc snippets
|
||||
% extracted from the output of `pandoc -s`
|
||||
\providecommand{\tightlist}{%
|
||||
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
|
||||
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\}}
|
||||
% Add ',fontsize=\small' for more characters per line
|
||||
\newenvironment{Shaded}{}{}
|
||||
\newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{{#1}}}}
|
||||
\newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.56,0.13,0.00}{{#1}}}
|
||||
\newcommand{\DecValTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{{#1}}}
|
||||
\newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{{#1}}}
|
||||
\newcommand{\FloatTok}[1]{\textcolor[rgb]{0.25,0.63,0.44}{{#1}}}
|
||||
\newcommand{\CharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{{#1}}}
|
||||
\newcommand{\StringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{{#1}}}
|
||||
\newcommand{\CommentTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textit{{#1}}}}
|
||||
\newcommand{\OtherTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{{#1}}}
|
||||
\newcommand{\AlertTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{{#1}}}}
|
||||
\newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.02,0.16,0.49}{{#1}}}
|
||||
\newcommand{\RegionMarkerTok}[1]{{#1}}
|
||||
\newcommand{\ErrorTok}[1]{\textcolor[rgb]{1.00,0.00,0.00}{\textbf{{#1}}}}
|
||||
\newcommand{\NormalTok}[1]{{#1}}
|
||||
|
||||
% Additional commands for more recent versions of Pandoc
|
||||
\newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.53,0.00,0.00}{{#1}}}
|
||||
\newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{{#1}}}
|
||||
\newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.25,0.44,0.63}{{#1}}}
|
||||
\newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.73,0.40,0.53}{{#1}}}
|
||||
\newcommand{\ImportTok}[1]{{#1}}
|
||||
\newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.73,0.13,0.13}{\textit{{#1}}}}
|
||||
\newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{{#1}}}}}
|
||||
\newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{{#1}}}}}
|
||||
\newcommand{\VariableTok}[1]{\textcolor[rgb]{0.10,0.09,0.49}{{#1}}}
|
||||
\newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.00,0.44,0.13}{\textbf{{#1}}}}
|
||||
\newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.40,0.40,0.40}{{#1}}}
|
||||
\newcommand{\BuiltInTok}[1]{{#1}}
|
||||
\newcommand{\ExtensionTok}[1]{{#1}}
|
||||
\newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.74,0.48,0.00}{{#1}}}
|
||||
\newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.49,0.56,0.16}{{#1}}}
|
||||
\newcommand{\InformationTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{{#1}}}}}
|
||||
\newcommand{\WarningTok}[1]{\textcolor[rgb]{0.38,0.63,0.69}{\textbf{\textit{{#1}}}}}
|
||||
|
||||
|
||||
% Define a nice break command that doesn't care if a line doesn't already
|
||||
% exist.
|
||||
\def\br{\hspace*{\fill} \\* }
|
||||
% Math Jax compatibility definitions
|
||||
\def\gt{>}
|
||||
\def\lt{<}
|
||||
\let\Oldtex\TeX
|
||||
\let\Oldlatex\LaTeX
|
||||
\renewcommand{\TeX}{\textrm{\Oldtex}}
|
||||
\renewcommand{\LaTeX}{\textrm{\Oldlatex}}
|
||||
% Document parameters
|
||||
% Document title
|
||||
((* block title -*))
|
||||
((*- set nb_title = nb.metadata.get('title', '') or resources['metadata']['name'] -*))
|
||||
\title{((( nb_title | escape_latex )))}
|
||||
((*- endblock title *))
|
||||
((* block date *))((* endblock date *))
|
||||
((* block author *))
|
||||
((* if 'authors' in nb.metadata *))
|
||||
\author{((( nb.metadata.authors | join(', ', attribute='name') )))}
|
||||
((* endif *))
|
||||
((* endblock author *))
|
||||
((* endblock definitions *))
|
||||
|
||||
((* block commands *))
|
||||
% Prevent overflowing lines due to hard-to-break entities
|
||||
\sloppy
|
||||
% Setup hyperref package
|
||||
\hypersetup{
|
||||
breaklinks=true, % so long urls are correctly broken across lines
|
||||
colorlinks=true,
|
||||
urlcolor=urlcolor,
|
||||
linkcolor=linkcolor,
|
||||
citecolor=citecolor,
|
||||
}
|
||||
% Slightly bigger margins than the latex defaults
|
||||
((* block margins *))
|
||||
\geometry{verbose,tmargin=1in,bmargin=1in,lmargin=1in,rmargin=1in}
|
||||
((* endblock margins *))
|
||||
((* endblock commands *))
|
||||
((* endblock header *))
|
||||
|
||||
((* block body *))
|
||||
\begin{document}
|
||||
((* block predoc *))
|
||||
((* block maketitle *))\maketitle((* endblock maketitle *))
|
||||
((* block abstract *))((* endblock abstract *))
|
||||
((* endblock predoc *))
|
||||
|
||||
((( super() )))
|
||||
|
||||
% Add a bibliography block to the postdoc
|
||||
((* block postdoc *))
|
||||
((* block bibliography *))((* endblock bibliography *))
|
||||
((* endblock postdoc *))
|
||||
\end{document}
|
||||
((* endblock body *))
|
8
venv/share/jupyter/nbconvert/templates/latex/conf.json
Normal file
8
venv/share/jupyter/nbconvert/templates/latex/conf.json
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"base_template": "base",
|
||||
"mimetypes": {
|
||||
"text/latex": true,
|
||||
"text/tex": true,
|
||||
"application/pdf": true
|
||||
}
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
((= Auto-generated template file, DO NOT edit directly!
|
||||
To edit this file, please refer to ../../skeleton/README.md =))
|
||||
|
||||
|
||||
((*- extends 'null.j2' -*))
|
||||
|
||||
((=display data priority=))
|
||||
|
||||
|
||||
((*- block data_priority scoped -*))
|
||||
((*- for type in output.data | filter_data_type -*))
|
||||
((*- if type == 'application/pdf' -*))
|
||||
((*- block data_pdf -*))
|
||||
((*- endblock -*))
|
||||
((*- elif type == 'image/svg+xml' -*))
|
||||
((*- block data_svg -*))
|
||||
((*- endblock -*))
|
||||
((*- elif type == 'image/png' -*))
|
||||
((*- block data_png -*))
|
||||
((*- endblock -*))
|
||||
((*- elif type == 'text/html' -*))
|
||||
((*- block data_html -*))
|
||||
((*- endblock -*))
|
||||
((*- elif type == 'text/markdown' -*))
|
||||
((*- block data_markdown -*))
|
||||
((*- endblock -*))
|
||||
((*- elif type == 'image/jpeg' -*))
|
||||
((*- block data_jpg -*))
|
||||
((*- endblock -*))
|
||||
((*- elif type == 'text/plain' -*))
|
||||
((*- block data_text -*))
|
||||
((*- endblock -*))
|
||||
((*- elif type == 'text/latex' -*))
|
||||
((*- block data_latex -*))
|
||||
((*- endblock -*))
|
||||
((*- elif type == 'application/javascript' -*))
|
||||
((*- block data_javascript -*))
|
||||
((*- endblock -*))
|
||||
((*- elif type == 'application/vnd.jupyter.widget-state+json' -*))
|
||||
((*- block data_widget_state -*))
|
||||
((*- endblock -*))
|
||||
((*- elif type == 'application/vnd.jupyter.widget-view+json' -*))
|
||||
((*- block data_widget_view -*))
|
||||
((*- endblock -*))
|
||||
((*- else -*))
|
||||
((*- block data_other -*))
|
||||
((*- endblock -*))
|
||||
((*- endif -*))
|
||||
((*- endfor -*))
|
||||
((*- endblock data_priority -*))
|
|
@ -0,0 +1,73 @@
|
|||
((*- extends 'display_priority.j2' -*))
|
||||
|
||||
%===============================================================================
|
||||
% Support blocks
|
||||
%===============================================================================
|
||||
|
||||
% Displaying simple data text
|
||||
((* block data_text *))
|
||||
\begin{Verbatim}[commandchars=\\\{\}]
|
||||
((( output.data['text/plain'] | escape_latex | ansi2latex )))
|
||||
\end{Verbatim}
|
||||
((* endblock data_text *))
|
||||
|
||||
% Display python error text with colored frame (saves printer ink vs bkgnd)
|
||||
((* block error *))
|
||||
\begin{Verbatim}[commandchars=\\\{\}, frame=single, framerule=2mm, rulecolor=\color{outerrorbackground}]
|
||||
(((- super() )))
|
||||
\end{Verbatim}
|
||||
((* endblock error *))
|
||||
% Display error lines with coloring
|
||||
((*- block traceback_line *))
|
||||
((( line | escape_latex | ansi2latex )))
|
||||
((*- endblock traceback_line *))
|
||||
|
||||
% Display stream ouput with coloring
|
||||
((* block stream *))
|
||||
\begin{Verbatim}[commandchars=\\\{\}]
|
||||
((( output.text | escape_latex | ansi2latex )))
|
||||
\end{Verbatim}
|
||||
((* endblock stream *))
|
||||
|
||||
% Display latex
|
||||
((* block data_latex -*))
|
||||
((( output.data['text/latex'] | strip_files_prefix )))
|
||||
((* endblock data_latex *))
|
||||
|
||||
% Display markdown
|
||||
((* block data_markdown -*))
|
||||
((( output.data['text/markdown'] | citation2latex | strip_files_prefix | convert_pandoc('markdown+tex_math_double_backslash', 'latex'))))
|
||||
((* endblock data_markdown *))
|
||||
|
||||
% Default mechanism for rendering figures
|
||||
((*- block data_png -*))((( draw_figure(output.metadata.filenames['image/png']) )))((*- endblock -*))
|
||||
((*- block data_jpg -*))((( draw_figure(output.metadata.filenames['image/jpeg']) )))((*- endblock -*))
|
||||
((*- block data_svg -*))((( draw_figure(output.metadata.filenames['image/svg+xml']) )))((*- endblock -*))
|
||||
((*- block data_pdf -*))((( draw_figure(output.metadata.filenames['application/pdf']) )))((*- endblock -*))
|
||||
|
||||
% Draw a figure using the graphicx package.
|
||||
((* macro draw_figure(filename) -*))
|
||||
((* set filename = filename | posix_path *))
|
||||
((*- block figure scoped -*))
|
||||
\begin{center}
|
||||
\adjustimage{max size={0.9\linewidth}{0.9\paperheight}}{((( filename )))}
|
||||
\end{center}
|
||||
{ \hspace*{\fill} \\}
|
||||
((*- endblock figure -*))
|
||||
((*- endmacro *))
|
||||
|
||||
% Redirect execute_result to display data priority.
|
||||
((* block execute_result scoped *))
|
||||
((* block data_priority scoped *))
|
||||
((( super() )))
|
||||
((* endblock *))
|
||||
((* endblock execute_result *))
|
||||
|
||||
% Render markdown
|
||||
((* block markdowncell scoped *))
|
||||
((( cell.source | citation2latex | strip_files_prefix | convert_pandoc('markdown+tex_math_double_backslash', 'json',extra_args=[]) | resolve_references | convert_pandoc('json','latex'))))
|
||||
((* endblock markdowncell *))
|
||||
|
||||
% Don't display unknown types
|
||||
((* block unknowncell scoped *))
|
||||
((* endblock unknowncell *))
|
17
venv/share/jupyter/nbconvert/templates/latex/index.tex.j2
Normal file
17
venv/share/jupyter/nbconvert/templates/latex/index.tex.j2
Normal file
|
@ -0,0 +1,17 @@
|
|||
|
||||
((=- Default to the notebook output style -=))
|
||||
((*- if not cell_style is defined -*))
|
||||
((* set cell_style = 'style_jupyter.tex.j2' *))
|
||||
((*- endif -*))
|
||||
|
||||
((=- Inherit from the specified cell style. -=))
|
||||
((* extends cell_style *))
|
||||
|
||||
|
||||
%===============================================================================
|
||||
% Latex Article
|
||||
%===============================================================================
|
||||
|
||||
((*- block docclass -*))
|
||||
\documentclass[11pt]{article}
|
||||
((*- endblock docclass -*))
|
106
venv/share/jupyter/nbconvert/templates/latex/null.j2
Normal file
106
venv/share/jupyter/nbconvert/templates/latex/null.j2
Normal file
|
@ -0,0 +1,106 @@
|
|||
((=- Auto-generated template file, DO NOT edit directly!
|
||||
To edit this file, please refer to ../../skeleton/README.md -=))
|
||||
|
||||
|
||||
((=
|
||||
|
||||
DO NOT USE THIS AS A BASE,
|
||||
IF YOU ARE COPY AND PASTING THIS FILE
|
||||
YOU ARE PROBABLY DOING THINGS INCORRECTLY.
|
||||
|
||||
Null template, does nothing except defining a basic structure
|
||||
To layout the different blocks of a notebook.
|
||||
|
||||
Subtemplates can override blocks to define their custom representation.
|
||||
|
||||
If one of the block you do overwrite is not a leaf block, consider
|
||||
calling super.
|
||||
|
||||
((*- block nonLeafBlock -*))
|
||||
#add stuff at beginning
|
||||
((( super() )))
|
||||
#add stuff at end
|
||||
((*- endblock nonLeafBlock -*))
|
||||
|
||||
consider calling super even if it is a leaf block, we might insert more blocks later.
|
||||
|
||||
=))
|
||||
((*- block header -*))
|
||||
((*- endblock header -*))
|
||||
((*- block body -*))
|
||||
((*- for cell in nb.cells -*))
|
||||
((*- block any_cell scoped -*))
|
||||
((*- if cell.cell_type == 'code'-*))
|
||||
((*- if resources.global_content_filter.include_code -*))
|
||||
((*- block codecell scoped -*))
|
||||
((*- if resources.global_content_filter.include_input and not cell.get("transient",{}).get("remove_source", false) -*))
|
||||
((*- block input_group -*))
|
||||
((*- if resources.global_content_filter.include_input_prompt -*))
|
||||
((*- block in_prompt -*))((*- endblock in_prompt -*))
|
||||
((*- endif -*))
|
||||
((*- block input -*))((*- endblock input -*))
|
||||
((*- endblock input_group -*))
|
||||
((*- endif -*))
|
||||
((*- if cell.outputs and resources.global_content_filter.include_output -*))
|
||||
((*- block output_group -*))
|
||||
((*- if resources.global_content_filter.include_output_prompt -*))
|
||||
((*- block output_prompt -*))((*- endblock output_prompt -*))
|
||||
((*- endif -*))
|
||||
((*- block outputs scoped -*))
|
||||
((*- for output in cell.outputs -*))
|
||||
((*- block output scoped -*))
|
||||
((*- if output.output_type == 'execute_result' -*))
|
||||
((*- block execute_result scoped -*))((*- endblock execute_result -*))
|
||||
((*- elif output.output_type == 'stream' -*))
|
||||
((*- block stream scoped -*))
|
||||
((*- if output.name == 'stdout' -*))
|
||||
((*- block stream_stdout scoped -*))
|
||||
((*- endblock stream_stdout -*))
|
||||
((*- elif output.name == 'stderr' -*))
|
||||
((*- block stream_stderr scoped -*))
|
||||
((*- endblock stream_stderr -*))
|
||||
((*- endif -*))
|
||||
((*- endblock stream -*))
|
||||
((*- elif output.output_type == 'display_data' -*))
|
||||
((*- block display_data scoped -*))
|
||||
((*- block data_priority scoped -*))
|
||||
((*- endblock data_priority -*))
|
||||
((*- endblock display_data -*))
|
||||
((*- elif output.output_type == 'error' -*))
|
||||
((*- block error scoped -*))
|
||||
((*- for line in output.traceback -*))
|
||||
((*- block traceback_line scoped -*))((*- endblock traceback_line -*))
|
||||
((*- endfor -*))
|
||||
((*- endblock error -*))
|
||||
((*- endif -*))
|
||||
((*- endblock output -*))
|
||||
((*- endfor -*))
|
||||
((*- endblock outputs -*))
|
||||
((*- endblock output_group -*))
|
||||
((*- endif -*))
|
||||
((*- endblock codecell -*))
|
||||
((*- endif -*))
|
||||
((*- elif cell.cell_type in ['markdown'] -*))
|
||||
((*- if resources.global_content_filter.include_markdown and not cell.get("transient",{}).get("remove_source", false) -*))
|
||||
((*- block markdowncell scoped-*)) ((*- endblock markdowncell -*))
|
||||
((*- endif -*))
|
||||
((*- elif cell.cell_type in ['raw'] -*))
|
||||
((*- if resources.global_content_filter.include_raw and not cell.get("transient",{}).get("remove_source", false) -*))
|
||||
((*- block rawcell scoped -*))
|
||||
((*- if cell.metadata.get('raw_mimetype', '').lower() in resources.get('raw_mimetypes', ['']) -*))
|
||||
((( cell.source )))
|
||||
((*- endif -*))
|
||||
((*- endblock rawcell -*))
|
||||
((*- endif -*))
|
||||
((*- else -*))
|
||||
((*- if resources.global_content_filter.include_unknown and not cell.get("transient",{}).get("remove_source", false) -*))
|
||||
((*- block unknowncell scoped-*))
|
||||
((*- endblock unknowncell -*))
|
||||
((*- endif -*))
|
||||
((*- endif -*))
|
||||
((*- endblock any_cell -*))
|
||||
((*- endfor -*))
|
||||
((*- endblock body -*))
|
||||
|
||||
((*- block footer -*))
|
||||
((*- endblock footer -*))
|
26
venv/share/jupyter/nbconvert/templates/latex/report.tex.j2
Normal file
26
venv/share/jupyter/nbconvert/templates/latex/report.tex.j2
Normal file
|
@ -0,0 +1,26 @@
|
|||
|
||||
% Default to the notebook output style
|
||||
((* if not cell_style is defined *))
|
||||
((* set cell_style = 'style_ipython.tex.j2' *))
|
||||
((* endif *))
|
||||
|
||||
% Inherit from the specified cell style.
|
||||
((* extends cell_style *))
|
||||
|
||||
|
||||
%===============================================================================
|
||||
% Latex Book
|
||||
%===============================================================================
|
||||
|
||||
((* block predoc *))
|
||||
((( super() )))
|
||||
((* block tableofcontents *))\tableofcontents((* endblock tableofcontents *))
|
||||
((* endblock predoc *))
|
||||
|
||||
((* block docclass *))
|
||||
\documentclass{report}
|
||||
((* endblock docclass *))
|
||||
|
||||
((* block markdowncell scoped *))
|
||||
((( cell.source | citation2latex | strip_files_prefix | convert_pandoc('markdown+tex_math_double_backslash', 'json',extra_args=[]) | resolve_references | convert_pandoc('json','latex', extra_args=["--top-level-division=chapter"]) )))
|
||||
((* endblock markdowncell *))
|
|
@ -0,0 +1,57 @@
|
|||
((= Black&white ipython input/output style =))
|
||||
|
||||
((*- extends 'base.tex.j2' -*))
|
||||
|
||||
%===============================================================================
|
||||
% Input
|
||||
%===============================================================================
|
||||
|
||||
((* block input scoped *))
|
||||
((*- if resources.global_content_filter.include_input_prompt *))
|
||||
((( add_prompt(cell.source, cell, 'In ') )))
|
||||
((* else *))
|
||||
(((cell.source)))
|
||||
((* endif -*))
|
||||
((* endblock input *))
|
||||
|
||||
|
||||
%===============================================================================
|
||||
% Output
|
||||
%===============================================================================
|
||||
|
||||
((* block execute_result scoped *))
|
||||
((*- for type in output.data | filter_data_type -*))
|
||||
((*- if resources.global_content_filter.include_output_prompt -*))
|
||||
((*- if type in ['text/plain'] *))
|
||||
((( add_prompt(output.data['text/plain'], cell, 'Out') )))
|
||||
((*- else -*))
|
||||
\verb+Out[((( cell.execution_count )))]:+((( super() )))
|
||||
((*- endif -*))
|
||||
((*- else -*))
|
||||
((*- if type in ['text/plain'] *))
|
||||
((( output.data['text/plain'] )))
|
||||
((*- else -*))
|
||||
\verb+((( super() )))
|
||||
((*- endif -*))
|
||||
((*- endif -*))
|
||||
((*- endfor -*))
|
||||
((* endblock execute_result *))
|
||||
|
||||
|
||||
%==============================================================================
|
||||
% Support Macros
|
||||
%==============================================================================
|
||||
|
||||
% Name: draw_prompt
|
||||
% Purpose: Renders an output/input prompt
|
||||
((* macro add_prompt(text, cell, prompt) -*))
|
||||
((*- if cell.execution_count is defined -*))
|
||||
((*- set execution_count = "" ~ (cell.execution_count | replace(None, " ")) -*))
|
||||
((*- else -*))
|
||||
((*- set execution_count = " " -*))
|
||||
((*- endif -*))
|
||||
((*- set indentation = " " * (execution_count | length + 7) -*))
|
||||
\begin{verbatim}
|
||||
(((- text | add_prompts(first=prompt ~ '[' ~ execution_count ~ ']: ', cont=indentation) -)))
|
||||
\end{verbatim}
|
||||
((*- endmacro *))
|
|
@ -0,0 +1,17 @@
|
|||
((= Black&white Python input/output style =))
|
||||
|
||||
((*- extends 'base.tex.j2' -*))
|
||||
|
||||
%===============================================================================
|
||||
% Input
|
||||
%===============================================================================
|
||||
|
||||
((* block input scoped *))
|
||||
\begin{verbatim}
|
||||
((*- if resources.global_content_filter.include_input_prompt *))
|
||||
((( cell.source | add_prompts )))
|
||||
((* else *))
|
||||
((( cell.source )))
|
||||
((* endif *))
|
||||
\end{verbatim}
|
||||
((* endblock input *))
|
|
@ -0,0 +1,70 @@
|
|||
((= IPython input/output style =))
|
||||
|
||||
((*- extends 'base.tex.j2' -*))
|
||||
|
||||
% Custom definitions
|
||||
((* block definitions *))
|
||||
((( super() )))
|
||||
|
||||
% Pygments definitions
|
||||
((( resources.latex.pygments_definitions )))
|
||||
|
||||
% Exact colors from NB
|
||||
\definecolor{incolor}{rgb}{0.0, 0.0, 0.5}
|
||||
\definecolor{outcolor}{rgb}{0.545, 0.0, 0.0}
|
||||
|
||||
((* endblock definitions *))
|
||||
|
||||
%===============================================================================
|
||||
% Input
|
||||
%===============================================================================
|
||||
|
||||
((* block input scoped *))
|
||||
((*- if resources.global_content_filter.include_input_prompt *))
|
||||
((( add_prompt(cell.source | highlight_code(strip_verbatim=True, metadata=cell.metadata), cell, 'In ', 'incolor') )))
|
||||
((*- else *))
|
||||
((( cell.source | highlight_code(strip_verbatim=True, metadata=cell.metadata) )))
|
||||
((* endif *))
|
||||
((* endblock input *))
|
||||
|
||||
|
||||
%===============================================================================
|
||||
% Output
|
||||
%===============================================================================
|
||||
|
||||
((* block execute_result scoped *))
|
||||
((*- for type in output.data | filter_data_type -*))
|
||||
((*- if resources.global_content_filter.include_output_prompt -*))
|
||||
((*- if type in ['text/plain'] *))
|
||||
((( add_prompt(output.data['text/plain'] | escape_latex, cell, 'Out', 'outcolor') )))
|
||||
((* else -*))
|
||||
\texttt{\color{outcolor}Out[{\color{outcolor}((( cell.execution_count )))}]:}((( super() )))
|
||||
((*- endif -*))
|
||||
((*- else -*))
|
||||
((*- if type in ['text/plain'] *))
|
||||
((( output.data['text/plain'] | escape_latex )))
|
||||
((* else -*))
|
||||
((( super() )))
|
||||
((*- endif -*))
|
||||
((*- endif -*))
|
||||
((*- endfor -*))
|
||||
((* endblock execute_result *))
|
||||
|
||||
|
||||
%==============================================================================
|
||||
% Support Macros
|
||||
%==============================================================================
|
||||
|
||||
% Name: draw_prompt
|
||||
% Purpose: Renders an output/input prompt
|
||||
((* macro add_prompt(text, cell, prompt, prompt_color) -*))
|
||||
((*- if cell.execution_count is defined -*))
|
||||
((*- set execution_count = "" ~ (cell.execution_count | replace(None, " ")) -*))
|
||||
((*- else -*))
|
||||
((*- set execution_count = " " -*))
|
||||
((*- endif -*))
|
||||
((*- set indention = " " * (execution_count | length + 7) -*))
|
||||
\begin{Verbatim}[commandchars=\\\{\}]
|
||||
((( text | add_prompts(first='{\color{' ~ prompt_color ~ '}' ~ prompt ~ '[{\\color{' ~ prompt_color ~ '}' ~ execution_count ~ '}]:} ', cont=indention) )))
|
||||
\end{Verbatim}
|
||||
((*- endmacro *))
|
|
@ -0,0 +1,178 @@
|
|||
((=- IPython input/output style -=))
|
||||
((*- extends 'base.tex.j2' -*))
|
||||
|
||||
((*- block packages -*))
|
||||
\usepackage[breakable]{tcolorbox}
|
||||
\usepackage{parskip} % Stop auto-indenting (to mimic markdown behaviour)
|
||||
((( super() )))
|
||||
((*- endblock packages -*))
|
||||
|
||||
((*- block definitions -*))
|
||||
((( super() )))
|
||||
% Pygments definitions
|
||||
(((- resources.latex.pygments_definitions )))
|
||||
|
||||
% For linebreaks inside Verbatim environment from package fancyvrb.
|
||||
\makeatletter
|
||||
\newbox\Wrappedcontinuationbox
|
||||
\newbox\Wrappedvisiblespacebox
|
||||
\newcommand*\Wrappedvisiblespace {\textcolor{red}{\textvisiblespace}}
|
||||
\newcommand*\Wrappedcontinuationsymbol {\textcolor{red}{\llap{\tiny$\m@th\hookrightarrow$}}}
|
||||
\newcommand*\Wrappedcontinuationindent {3ex }
|
||||
\newcommand*\Wrappedafterbreak {\kern\Wrappedcontinuationindent\copy\Wrappedcontinuationbox}
|
||||
% Take advantage of the already applied Pygments mark-up to insert
|
||||
% potential linebreaks for TeX processing.
|
||||
% {, <, #, %, $, ' and ": go to next line.
|
||||
% _, }, ^, &, >, - and ~: stay at end of broken line.
|
||||
% Use of \textquotesingle for straight quote.
|
||||
\newcommand*\Wrappedbreaksatspecials {%
|
||||
\def\PYGZus{\discretionary{\char`\_}{\Wrappedafterbreak}{\char`\_}}%
|
||||
\def\PYGZob{\discretionary{}{\Wrappedafterbreak\char`\{}{\char`\{}}%
|
||||
\def\PYGZcb{\discretionary{\char`\}}{\Wrappedafterbreak}{\char`\}}}%
|
||||
\def\PYGZca{\discretionary{\char`\^}{\Wrappedafterbreak}{\char`\^}}%
|
||||
\def\PYGZam{\discretionary{\char`\&}{\Wrappedafterbreak}{\char`\&}}%
|
||||
\def\PYGZlt{\discretionary{}{\Wrappedafterbreak\char`\<}{\char`\<}}%
|
||||
\def\PYGZgt{\discretionary{\char`\>}{\Wrappedafterbreak}{\char`\>}}%
|
||||
\def\PYGZsh{\discretionary{}{\Wrappedafterbreak\char`\#}{\char`\#}}%
|
||||
\def\PYGZpc{\discretionary{}{\Wrappedafterbreak\char`\%}{\char`\%}}%
|
||||
\def\PYGZdl{\discretionary{}{\Wrappedafterbreak\char`\$}{\char`\$}}%
|
||||
\def\PYGZhy{\discretionary{\char`\-}{\Wrappedafterbreak}{\char`\-}}%
|
||||
\def\PYGZsq{\discretionary{}{\Wrappedafterbreak\textquotesingle}{\textquotesingle}}%
|
||||
\def\PYGZdq{\discretionary{}{\Wrappedafterbreak\char`\"}{\char`\"}}%
|
||||
\def\PYGZti{\discretionary{\char`\~}{\Wrappedafterbreak}{\char`\~}}%
|
||||
}
|
||||
% Some characters . , ; ? ! / are not pygmentized.
|
||||
% This macro makes them "active" and they will insert potential linebreaks
|
||||
\newcommand*\Wrappedbreaksatpunct {%
|
||||
\lccode`\~`\.\lowercase{\def~}{\discretionary{\hbox{\char`\.}}{\Wrappedafterbreak}{\hbox{\char`\.}}}%
|
||||
\lccode`\~`\,\lowercase{\def~}{\discretionary{\hbox{\char`\,}}{\Wrappedafterbreak}{\hbox{\char`\,}}}%
|
||||
\lccode`\~`\;\lowercase{\def~}{\discretionary{\hbox{\char`\;}}{\Wrappedafterbreak}{\hbox{\char`\;}}}%
|
||||
\lccode`\~`\:\lowercase{\def~}{\discretionary{\hbox{\char`\:}}{\Wrappedafterbreak}{\hbox{\char`\:}}}%
|
||||
\lccode`\~`\?\lowercase{\def~}{\discretionary{\hbox{\char`\?}}{\Wrappedafterbreak}{\hbox{\char`\?}}}%
|
||||
\lccode`\~`\!\lowercase{\def~}{\discretionary{\hbox{\char`\!}}{\Wrappedafterbreak}{\hbox{\char`\!}}}%
|
||||
\lccode`\~`\/\lowercase{\def~}{\discretionary{\hbox{\char`\/}}{\Wrappedafterbreak}{\hbox{\char`\/}}}%
|
||||
\catcode`\.\active
|
||||
\catcode`\,\active
|
||||
\catcode`\;\active
|
||||
\catcode`\:\active
|
||||
\catcode`\?\active
|
||||
\catcode`\!\active
|
||||
\catcode`\/\active
|
||||
\lccode`\~`\~
|
||||
}
|
||||
\makeatother
|
||||
|
||||
\let\OriginalVerbatim=\Verbatim
|
||||
\makeatletter
|
||||
\renewcommand{\Verbatim}[1][1]{%
|
||||
%\parskip\z@skip
|
||||
\sbox\Wrappedcontinuationbox {\Wrappedcontinuationsymbol}%
|
||||
\sbox\Wrappedvisiblespacebox {\FV@SetupFont\Wrappedvisiblespace}%
|
||||
\def\FancyVerbFormatLine ##1{\hsize\linewidth
|
||||
\vtop{\raggedright\hyphenpenalty\z@\exhyphenpenalty\z@
|
||||
\doublehyphendemerits\z@\finalhyphendemerits\z@
|
||||
\strut ##1\strut}%
|
||||
}%
|
||||
% If the linebreak is at a space, the latter will be displayed as visible
|
||||
% space at end of first line, and a continuation symbol starts next line.
|
||||
% Stretch/shrink are however usually zero for typewriter font.
|
||||
\def\FV@Space {%
|
||||
\nobreak\hskip\z@ plus\fontdimen3\font minus\fontdimen4\font
|
||||
\discretionary{\copy\Wrappedvisiblespacebox}{\Wrappedafterbreak}
|
||||
{\kern\fontdimen2\font}%
|
||||
}%
|
||||
|
||||
% Allow breaks at special characters using \PYG... macros.
|
||||
\Wrappedbreaksatspecials
|
||||
% Breaks at punctuation characters . , ; ? ! and / need catcode=\active
|
||||
\OriginalVerbatim[#1,codes*=\Wrappedbreaksatpunct]%
|
||||
}
|
||||
\makeatother
|
||||
|
||||
% Exact colors from NB
|
||||
((*- block style_colors *))
|
||||
\definecolor{incolor}{HTML}{303F9F}
|
||||
\definecolor{outcolor}{HTML}{D84315}
|
||||
\definecolor{cellborder}{HTML}{CFCFCF}
|
||||
\definecolor{cellbackground}{HTML}{F7F7F7}
|
||||
((*- endblock style_colors *))
|
||||
|
||||
% prompt
|
||||
\makeatletter
|
||||
\newcommand{\boxspacing}{\kern\kvtcb@left@rule\kern\kvtcb@boxsep}
|
||||
\makeatother
|
||||
((*- block style_prompt *))
|
||||
\newcommand{\prompt}[4]{
|
||||
{\ttfamily\llap{{\color{#2}[#3]:\hspace{3pt}#4}}\vspace{-\baselineskip}}
|
||||
}
|
||||
((* endblock style_prompt *))
|
||||
|
||||
((*- endblock definitions -*))
|
||||
|
||||
%===============================================================================
|
||||
% Input
|
||||
%===============================================================================
|
||||
|
||||
((* block input scoped *))
|
||||
((( draw_cell(cell.source | highlight_code(strip_verbatim=True), cell, 'In', 'incolor', '\\boxspacing') )))
|
||||
((* endblock input *))
|
||||
|
||||
|
||||
%===============================================================================
|
||||
% Output
|
||||
%===============================================================================
|
||||
|
||||
((*- if charlim is not defined -*))
|
||||
((* set charlim = 80 *))
|
||||
((*- endif -*))
|
||||
|
||||
((* block execute_result scoped *))
|
||||
((*- for type in output.data | filter_data_type -*))
|
||||
((*- if type in ['text/plain']*))
|
||||
((( draw_cell(output.data['text/plain'] | wrap_text(charlim) | escape_latex | ansi2latex, cell, 'Out', 'outcolor', '\\boxspacing') )))
|
||||
((* else -*))
|
||||
((( " " )))
|
||||
((( draw_prompt(cell, 'Out', 'outcolor','') )))((( super() )))
|
||||
((*- endif -*))
|
||||
((*- endfor -*))
|
||||
((* endblock execute_result *))
|
||||
|
||||
((* block stream *))
|
||||
\begin{Verbatim}[commandchars=\\\{\}]
|
||||
((( output.text | wrap_text(charlim) | escape_latex | strip_trailing_newline | ansi2latex )))
|
||||
\end{Verbatim}
|
||||
((* endblock stream *))
|
||||
|
||||
%==============================================================================
|
||||
% Support Macros
|
||||
%==============================================================================
|
||||
|
||||
% Name: draw_cell
|
||||
% Purpose: Renders an output/input prompt
|
||||
((*- if draw_cell is not defined -*)) % Required to allow overriding.
|
||||
((* macro draw_cell(text, cell, prompt, prompt_color, extra_space) -*))
|
||||
((*- if prompt == 'In' -*))
|
||||
((*- set style = "breakable, size=fbox, boxrule=1pt, pad at break*=1mm,colback=cellbackground, colframe=cellborder"-*))
|
||||
((*- else -*))((*- set style = "breakable, size=fbox, boxrule=.5pt, pad at break*=1mm, opacityfill=0"-*))((*- endif -*))
|
||||
|
||||
\begin{tcolorbox}[((( style )))]
|
||||
(((- draw_prompt(cell, prompt, prompt_color, extra_space) )))
|
||||
\begin{Verbatim}[commandchars=\\\{\}]
|
||||
((( text )))
|
||||
\end{Verbatim}
|
||||
\end{tcolorbox}
|
||||
((*- endmacro *))
|
||||
((*- endif -*))
|
||||
|
||||
% Name: draw_prompt
|
||||
% Purpose: Renders an output/input prompt
|
||||
((* macro draw_prompt(cell, prompt, prompt_color, extra_space) -*))
|
||||
((*- if cell.execution_count is defined -*))
|
||||
((*- set execution_count = "" ~ (cell.execution_count | replace(None, " ")) -*))
|
||||
((*- else -*))((*- set execution_count = " " -*))((*- endif *))
|
||||
|
||||
((*- if (resources.global_content_filter.include_output_prompt and prompt == 'Out')
|
||||
or (resources.global_content_filter.include_input_prompt and prompt == 'In' ) *))
|
||||
\prompt{(((prompt)))}{(((prompt_color)))}{(((execution_count)))}{(((extra_space)))}
|
||||
((*- endif -*))
|
||||
((*- endmacro *))
|
|
@ -0,0 +1,25 @@
|
|||
((= Python input/output style =))
|
||||
|
||||
((*- extends 'base.tex.j2' -*))
|
||||
|
||||
% Custom definitions
|
||||
((* block definitions *))
|
||||
((( super() )))
|
||||
|
||||
% Pygments definitions
|
||||
((( resources.latex.pygments_definitions )))
|
||||
((* endblock definitions *))
|
||||
|
||||
%===============================================================================
|
||||
% Input
|
||||
%===============================================================================
|
||||
|
||||
((* block input scoped *))
|
||||
\begin{Verbatim}[commandchars=\\\{\}]
|
||||
((*- if resources.global_content_filter.include_input_prompt *))
|
||||
((( cell.source | highlight_code(strip_verbatim=True, metadata=cell.metadata) | add_prompts )))
|
||||
((* else *))
|
||||
((( cell.source | highlight_code(strip_verbatim=True, metadata=cell.metadata) )))
|
||||
((* endif *))
|
||||
\end{Verbatim}
|
||||
((* endblock input *))
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"base_template": "base",
|
||||
"mimetypes": {
|
||||
"text/markdown": true
|
||||
}
|
||||
}
|
86
venv/share/jupyter/nbconvert/templates/markdown/index.md.j2
Normal file
86
venv/share/jupyter/nbconvert/templates/markdown/index.md.j2
Normal file
|
@ -0,0 +1,86 @@
|
|||
{% extends 'base/display_priority.j2' %}
|
||||
|
||||
|
||||
{% block in_prompt %}
|
||||
{% endblock in_prompt %}
|
||||
|
||||
{% block output_prompt %}
|
||||
{%- endblock output_prompt %}
|
||||
|
||||
{% block input %}
|
||||
```
|
||||
{%- if 'magics_language' in cell.metadata -%}
|
||||
{{ cell.metadata.magics_language}}
|
||||
{%- elif 'name' in nb.metadata.get('language_info', {}) -%}
|
||||
{{ nb.metadata.language_info.name }}
|
||||
{%- endif %}
|
||||
{{ cell.source}}
|
||||
```
|
||||
{% endblock input %}
|
||||
|
||||
{% block error %}
|
||||
{{ super() }}
|
||||
{% endblock error %}
|
||||
|
||||
{% block traceback_line %}
|
||||
{{ line | indent | strip_ansi }}
|
||||
{% endblock traceback_line %}
|
||||
|
||||
{% block execute_result %}
|
||||
|
||||
{% block data_priority scoped %}
|
||||
{{ super() }}
|
||||
{% endblock %}
|
||||
{% endblock execute_result %}
|
||||
|
||||
{% block stream %}
|
||||
{{ output.text | indent }}
|
||||
{% endblock stream %}
|
||||
|
||||
{% block data_svg %}
|
||||
{% if "filenames" in output.metadata %}
|
||||

|
||||
{% else %}
|
||||

|
||||
{% endif %}
|
||||
{% endblock data_svg %}
|
||||
|
||||
{% block data_png %}
|
||||
{% if "filenames" in output.metadata %}
|
||||

|
||||
{% else %}
|
||||

|
||||
{% endif %}
|
||||
{% endblock data_png %}
|
||||
|
||||
{% block data_jpg %}
|
||||
{% if "filenames" in output.metadata %}
|
||||

|
||||
{% else %}
|
||||

|
||||
{% endif %}
|
||||
{% endblock data_jpg %}
|
||||
|
||||
{% block data_latex %}
|
||||
{{ output.data['text/latex'] }}
|
||||
{% endblock data_latex %}
|
||||
|
||||
{% block data_html scoped %}
|
||||
{{ output.data['text/html'] }}
|
||||
{% endblock data_html %}
|
||||
|
||||
{% block data_markdown scoped %}
|
||||
{{ output.data['text/markdown'] }}
|
||||
{% endblock data_markdown %}
|
||||
|
||||
{% block data_text scoped %}
|
||||
{{ output.data['text/plain'] | indent }}
|
||||
{% endblock data_text %}
|
||||
|
||||
{% block markdowncell scoped %}
|
||||
{{ cell.source }}
|
||||
{% endblock markdowncell %}
|
||||
|
||||
{% block unknowncell scoped %}
|
||||
unknown type {{ cell.type }}
|
||||
{% endblock unknowncell %}
|
6
venv/share/jupyter/nbconvert/templates/python/conf.json
Normal file
6
venv/share/jupyter/nbconvert/templates/python/conf.json
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"base_template": "base",
|
||||
"mimetypes": {
|
||||
"text/x-python": true
|
||||
}
|
||||
}
|
20
venv/share/jupyter/nbconvert/templates/python/index.py.j2
Normal file
20
venv/share/jupyter/nbconvert/templates/python/index.py.j2
Normal file
|
@ -0,0 +1,20 @@
|
|||
{%- extends 'null.j2' -%}
|
||||
|
||||
{%- block header -%}
|
||||
#!/usr/bin/env python
|
||||
# coding: utf-8
|
||||
{% endblock header %}
|
||||
|
||||
{% block in_prompt %}
|
||||
{% if resources.global_content_filter.include_input_prompt -%}
|
||||
# In[{{ cell.execution_count if cell.execution_count else ' ' }}]:
|
||||
{% endif %}
|
||||
{% endblock in_prompt %}
|
||||
|
||||
{% block input %}
|
||||
{{ cell.source | ipython2python }}
|
||||
{% endblock input %}
|
||||
|
||||
{% block markdowncell scoped %}
|
||||
{{ cell.source | comment_lines }}
|
||||
{% endblock markdowncell %}
|
32
venv/share/jupyter/nbconvert/templates/reveal/base.html.j2
Normal file
32
venv/share/jupyter/nbconvert/templates/reveal/base.html.j2
Normal file
|
@ -0,0 +1,32 @@
|
|||
{%- extends 'lab/base.html.j2' -%}
|
||||
|
||||
{%- block any_cell scoped -%}
|
||||
{%- if cell.metadata.get('slide_start', False) -%}
|
||||
<section>
|
||||
{%- endif -%}
|
||||
{%- if cell.metadata.get('subslide_start', False) -%}
|
||||
<section>
|
||||
{%- endif -%}
|
||||
{%- if cell.metadata.get('fragment_start', False) -%}
|
||||
<div class="fragment">
|
||||
{%- endif -%}
|
||||
|
||||
{%- if cell.metadata.slide_type == 'notes' -%}
|
||||
<aside class="notes">
|
||||
{{ super() }}
|
||||
</aside>
|
||||
{%- elif cell.metadata.slide_type == 'skip' -%}
|
||||
{%- else -%}
|
||||
{{ super() }}
|
||||
{%- endif -%}
|
||||
|
||||
{%- if cell.metadata.get('fragment_end', False) -%}
|
||||
</div>
|
||||
{%- endif -%}
|
||||
{%- if cell.metadata.get('subslide_end', False) -%}
|
||||
</section>
|
||||
{%- endif -%}
|
||||
{%- if cell.metadata.get('slide_end', False) -%}
|
||||
</section>
|
||||
{%- endif -%}
|
||||
{%- endblock any_cell -%}
|
16
venv/share/jupyter/nbconvert/templates/reveal/conf.json
Normal file
16
venv/share/jupyter/nbconvert/templates/reveal/conf.json
Normal file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"base_template": "lab",
|
||||
"mimetypes": {
|
||||
"text/html": true
|
||||
},
|
||||
"preprocessors": {
|
||||
"100-pygments": {
|
||||
"type": "nbconvert.preprocessors.CSSHTMLHeaderPreprocessor",
|
||||
"enabled": true
|
||||
},
|
||||
"500-reveal": {
|
||||
"type": "nbconvert.exporters.slides._RevealMetadataPreprocessor",
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
167
venv/share/jupyter/nbconvert/templates/reveal/index.html.j2
Normal file
167
venv/share/jupyter/nbconvert/templates/reveal/index.html.j2
Normal file
|
@ -0,0 +1,167 @@
|
|||
{%- extends 'base.html.j2' -%}
|
||||
{% from 'mathjax.html.j2' import mathjax %}
|
||||
{% from 'jupyter_widgets.html.j2' import jupyter_widgets %}
|
||||
|
||||
{% set reveal_url_prefix = resources.reveal.url_prefix | default('https://unpkg.com/reveal.js@4.0.2', true) %}
|
||||
{% set reveal_theme = resources.reveal.theme | default('white', true) %}
|
||||
{% set reveal_transition = resources.reveal.transition | default('slide', true) %}
|
||||
{% set reveal_scroll = resources.reveal.scroll | default(false, true) | json_dumps %}
|
||||
|
||||
{%- block header -%}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
|
||||
{%- block html_head -%}
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="chrome=1" />
|
||||
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
|
||||
{% set nb_title = nb.metadata.get('title', '') or resources['metadata']['name'] %}
|
||||
<title>{{nb_title}} slides</title>
|
||||
|
||||
{%- block html_head_js -%}
|
||||
{%- block html_head_js_jquery -%}
|
||||
<script src="{{ resources.jquery_url }}"></script>
|
||||
{%- endblock html_head_js_jquery -%}
|
||||
{%- 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) }}
|
||||
{%- endif -%}
|
||||
{% endblock jupyter_widgets %}
|
||||
|
||||
<!-- General and theme style sheets -->
|
||||
<link rel="stylesheet" href="{{ reveal_url_prefix }}/dist/reveal.css">
|
||||
<link rel="stylesheet" href="{{ reveal_url_prefix }}/dist/theme/{{reveal_theme}}.css" id="theme">
|
||||
|
||||
<!-- If the query includes 'print-pdf', include the PDF print sheet -->
|
||||
<script>
|
||||
if( window.location.search.match( /print-pdf/gi ) ) {
|
||||
var link = document.createElement( 'link' );
|
||||
link.rel = 'stylesheet';
|
||||
link.type = 'text/css';
|
||||
document.getElementsByTagName( 'head' )[0].appendChild( link );
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- Loading the mathjax macro -->
|
||||
{{ mathjax() }}
|
||||
|
||||
{% 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") }}
|
||||
{% else %}
|
||||
{{ resources.include_css("static/theme-light.css") }}
|
||||
{% endif %}
|
||||
<style type="text/css">
|
||||
a.anchor-link {
|
||||
display: none;
|
||||
}
|
||||
.highlight {
|
||||
margin: 0.4em;
|
||||
}
|
||||
.jp-Notebook {
|
||||
padding: 0;
|
||||
}
|
||||
:root {
|
||||
--jp-ui-font-size1: 20px; /* instead of 14px */
|
||||
--jp-content-font-size1: 20px; /* instead of 14px */
|
||||
--jp-code-font-size: 19px; /* instead of 13px */
|
||||
--jp-cell-prompt-width: 110px; /* instead of 64px */
|
||||
}
|
||||
@media print {
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
{{ resources.include_css("static/custom_reveal.css") }}
|
||||
|
||||
{% endblock notebook_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 %}
|
||||
<div class="reveal">
|
||||
<div class="slides">
|
||||
{%- endblock body_header -%}
|
||||
|
||||
{% block body_footer %}
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
{% endblock body_footer %}
|
||||
|
||||
{% block footer %}
|
||||
{% block footer_js %}
|
||||
<script>
|
||||
require(
|
||||
{
|
||||
// it makes sense to wait a little bit when you are loading
|
||||
// reveal from a cdn in a slow connection environment
|
||||
waitSeconds: 15
|
||||
},
|
||||
[
|
||||
"{{ reveal_url_prefix }}/dist/reveal.js"
|
||||
],
|
||||
|
||||
function(Reveal){
|
||||
// Full list of configuration options available here: https://github.com/hakimel/reveal.js#configuration
|
||||
Reveal.initialize({
|
||||
controls: true,
|
||||
progress: true,
|
||||
history: true,
|
||||
transition: "{{reveal_transition}}",
|
||||
});
|
||||
|
||||
var update = function(event){
|
||||
if(MathJax.Hub.getAllJax(Reveal.getCurrentSlide())){
|
||||
MathJax.Hub.Rerender(Reveal.getCurrentSlide());
|
||||
}
|
||||
};
|
||||
|
||||
Reveal.addEventListener('slidechanged', update);
|
||||
|
||||
function setScrollingSlide() {
|
||||
var scroll = {{ reveal_scroll }}
|
||||
if (scroll === true) {
|
||||
var h = $('.reveal').height() * 0.95;
|
||||
$('section.present').find('section')
|
||||
.filter(function() {
|
||||
return $(this).height() > h;
|
||||
})
|
||||
.css('height', 'calc(95vh)')
|
||||
.css('overflow-y', 'scroll')
|
||||
.css('margin-top', '20px');
|
||||
}
|
||||
}
|
||||
|
||||
// check and set the scrolling slide every time the slide change
|
||||
Reveal.addEventListener('slidechanged', setScrollingSlide);
|
||||
}
|
||||
);
|
||||
</script>
|
||||
{% endblock footer_js %}
|
||||
</html>
|
||||
{% endblock footer %}
|
|
@ -0,0 +1,105 @@
|
|||
/* Overrides of notebook CSS for static HTML export */
|
||||
.reveal {
|
||||
font-size: 160%;
|
||||
}
|
||||
.reveal pre {
|
||||
width: inherit;
|
||||
padding: 0.4em;
|
||||
margin: 0px;
|
||||
font-family: monospace, sans-serif;
|
||||
font-size: 80%;
|
||||
box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
|
||||
}
|
||||
.reveal pre code {
|
||||
padding: 0px;
|
||||
}
|
||||
.reveal section img {
|
||||
border: 0px solid black;
|
||||
box-shadow: 0 0 10px rgba(0, 0, 0, 0);
|
||||
}
|
||||
.reveal i {
|
||||
font-style: normal;
|
||||
font-family: FontAwesome;
|
||||
font-size: 2em;
|
||||
}
|
||||
.reveal .slides {
|
||||
text-align: left;
|
||||
}
|
||||
.reveal.fade {
|
||||
opacity: 1;
|
||||
}
|
||||
.reveal .progress {
|
||||
position: static;
|
||||
}
|
||||
|
||||
div.jp-InputArea-editor {
|
||||
padding: 0.06em;
|
||||
}
|
||||
|
||||
div.code_cell {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
div.output_area pre {
|
||||
font-family: monospace, sans-serif;
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
div.jp-OutputPrompt {
|
||||
/* 5px right shift to account for margin in parent container */
|
||||
margin: 5px 5px 0 0;
|
||||
}
|
||||
|
||||
/* Reveal navigation controls */
|
||||
|
||||
.reveal .controls .navigate-left,
|
||||
.reveal .controls .navigate-left.enabled {
|
||||
border-right-color: #727272;
|
||||
}
|
||||
.reveal .controls .navigate-left.enabled:hover,
|
||||
.reveal .controls .navigate-left.enabled.enabled:hover {
|
||||
border-right-color: #dfdfdf;
|
||||
}
|
||||
.reveal .controls .navigate-right,
|
||||
.reveal .controls .navigate-right.enabled {
|
||||
border-left-color: #727272;
|
||||
}
|
||||
.reveal .controls .navigate-right.enabled:hover,
|
||||
.reveal .controls .navigate-right.enabled.enabled:hover {
|
||||
border-left-color: #dfdfdf;
|
||||
}
|
||||
.reveal .controls .navigate-up,
|
||||
.reveal .controls .navigate-up.enabled {
|
||||
border-bottom-color: #727272;
|
||||
}
|
||||
.reveal .controls .navigate-up.enabled:hover,
|
||||
.reveal .controls .navigate-up.enabled.enabled:hover {
|
||||
border-bottom-color: #dfdfdf;
|
||||
}
|
||||
.reveal .controls .navigate-down,
|
||||
.reveal .controls .navigate-down.enabled {
|
||||
border-top-color: #727272;
|
||||
}
|
||||
.reveal .controls .navigate-down.enabled:hover,
|
||||
.reveal .controls .navigate-down.enabled.enabled:hover {
|
||||
border-top-color: #dfdfdf;
|
||||
}
|
||||
.reveal .progress span {
|
||||
background: #727272;
|
||||
}
|
||||
|
||||
/* Scrollbars */
|
||||
|
||||
::-webkit-scrollbar
|
||||
{
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
}
|
||||
::-webkit-scrollbar *
|
||||
{
|
||||
background:transparent;
|
||||
}
|
||||
::-webkit-scrollbar-thumb
|
||||
{
|
||||
background: #727272 !important;
|
||||
}
|
6
venv/share/jupyter/nbconvert/templates/rst/conf.json
Normal file
6
venv/share/jupyter/nbconvert/templates/rst/conf.json
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"base_template": "base",
|
||||
"mimetypes": {
|
||||
"text/restructuredtext": true
|
||||
}
|
||||
}
|
113
venv/share/jupyter/nbconvert/templates/rst/index.rst.j2
Normal file
113
venv/share/jupyter/nbconvert/templates/rst/index.rst.j2
Normal file
|
@ -0,0 +1,113 @@
|
|||
{%- extends 'display_priority.j2' -%}
|
||||
|
||||
|
||||
{% block in_prompt %}
|
||||
{% endblock in_prompt %}
|
||||
|
||||
{% block output_prompt %}
|
||||
{% endblock output_prompt %}
|
||||
|
||||
{% block input scoped%}
|
||||
{%- if cell.source.strip() -%}
|
||||
{{".. code:: "-}}
|
||||
{%- if 'magics_language' in cell.metadata -%}
|
||||
{{ cell.metadata.magics_language}}
|
||||
{%- elif 'pygments_lexer' in nb.metadata.get('language_info', {}) -%}
|
||||
{{ nb.metadata.language_info.pygments_lexer }}
|
||||
{%- elif 'name' in nb.metadata.get('language_info', {}) -%}
|
||||
{{ nb.metadata.language_info.name }}
|
||||
{%- endif %}
|
||||
|
||||
{{ cell.source | indent}}
|
||||
{% endif -%}
|
||||
{% endblock input %}
|
||||
|
||||
{% block error %}
|
||||
::
|
||||
|
||||
{{ super() }}
|
||||
{% endblock error %}
|
||||
|
||||
{% block traceback_line %}
|
||||
{{ line | indent | strip_ansi }}
|
||||
{% endblock traceback_line %}
|
||||
|
||||
{% block execute_result %}
|
||||
{% block data_priority scoped %}
|
||||
{{ super() }}
|
||||
{% endblock %}
|
||||
{% endblock execute_result %}
|
||||
|
||||
{% block stream %}
|
||||
.. parsed-literal::
|
||||
|
||||
{{ output.text | indent }}
|
||||
{% endblock stream %}
|
||||
|
||||
{% block data_svg %}
|
||||
.. image:: {{ output.metadata.filenames['image/svg+xml'] | urlencode }}
|
||||
{% endblock data_svg %}
|
||||
|
||||
{% block data_png %}
|
||||
.. image:: {{ output.metadata.filenames['image/png'] | urlencode }}
|
||||
{%- set width=output | get_metadata('width', 'image/png') -%}
|
||||
{%- if width is not none %}
|
||||
:width: {{ width }}px
|
||||
{%- endif %}
|
||||
{%- set height=output | get_metadata('height', 'image/png') -%}
|
||||
{%- if height is not none %}
|
||||
:height: {{ height }}px
|
||||
{%- endif %}
|
||||
{% endblock data_png %}
|
||||
|
||||
{% block data_jpg %}
|
||||
.. image:: {{ output.metadata.filenames['image/jpeg'] | urlencode }}
|
||||
{%- set width=output | get_metadata('width', 'image/jpeg') -%}
|
||||
{%- if width is not none %}
|
||||
:width: {{ width }}px
|
||||
{%- endif %}
|
||||
{%- set height=output | get_metadata('height', 'image/jpeg') -%}
|
||||
{%- if height is not none %}
|
||||
:height: {{ height }}px
|
||||
{%- endif %}
|
||||
{% endblock data_jpg %}
|
||||
|
||||
{% block data_markdown %}
|
||||
{{ output.data['text/markdown'] | convert_pandoc("markdown", "rst") }}
|
||||
{% endblock data_markdown %}
|
||||
|
||||
{% block data_latex %}
|
||||
.. math::
|
||||
|
||||
{{ output.data['text/latex'] | strip_dollars | indent }}
|
||||
{% endblock data_latex %}
|
||||
|
||||
{% block data_text scoped %}
|
||||
.. parsed-literal::
|
||||
|
||||
{{ output.data['text/plain'] | indent }}
|
||||
{% endblock data_text %}
|
||||
|
||||
{% block data_html scoped %}
|
||||
.. raw:: html
|
||||
|
||||
{{ output.data['text/html'] | indent }}
|
||||
{% endblock data_html %}
|
||||
|
||||
{% block markdowncell scoped %}
|
||||
{{ cell.source | convert_pandoc("markdown", "rst") }}
|
||||
{% endblock markdowncell %}
|
||||
|
||||
{%- block rawcell scoped -%}
|
||||
{%- if cell.metadata.get('raw_mimetype', '').lower() in resources.get('raw_mimetypes', ['']) %}
|
||||
{{cell.source}}
|
||||
{% endif -%}
|
||||
{%- endblock rawcell -%}
|
||||
|
||||
{% block headingcell scoped %}
|
||||
{{ ("#" * cell.level + cell.source) | replace('\n', ' ') | convert_pandoc("markdown", "rst") }}
|
||||
{% endblock headingcell %}
|
||||
|
||||
{% block unknowncell scoped %}
|
||||
unknown type {{cell.type}}
|
||||
{% endblock unknowncell %}
|
6
venv/share/jupyter/nbconvert/templates/script/conf.json
Normal file
6
venv/share/jupyter/nbconvert/templates/script/conf.json
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"base_template": "base",
|
||||
"mimetypes": {
|
||||
"text/plain": true
|
||||
}
|
||||
}
|
5
venv/share/jupyter/nbconvert/templates/script/script.j2
Normal file
5
venv/share/jupyter/nbconvert/templates/script/script.j2
Normal file
|
@ -0,0 +1,5 @@
|
|||
{%- extends 'null.j2' -%}
|
||||
|
||||
{% block input %}
|
||||
{{ cell.source }}
|
||||
{% endblock input %}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
BIN
venv/share/man/man1/ipython.1.gz
Normal file
BIN
venv/share/man/man1/ipython.1.gz
Normal file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue