forked from jupyterlab/jupyterlab
/
lab.html
104 lines (86 loc) · 2.67 KB
/
lab.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<!DOCTYPE html>
<!--
Copyright (c) Jupyter Development Team.
Distributed under the terms of the Modified BSD License.
-->
<html>
<head>
<meta charset="utf-8">
<title>{% block title %}{{page_title}}{% endblock %}</title>
{% block stylesheet %}
{% for css_file in jupyterlab_css %}
<link href="{{ css_file }}" rel="stylesheet">
{% endfor %}
{% endblock %}
<script id="jupyter-config-data" type="application/json">{
{% for key, value in jupyterlab_config.items() -%}
"{{ key }}": "{{ value }}",
{% endfor -%}
"baseUrl": "{{base_url | urlencode}}",
"wsUrl": "{{ws_url | urlencode}}"
}</script>
{% block favicon %}<link rel="shortcut icon" type="image/x-icon" href="{{ base_url }}static/base/images/favicon.ico">{% endblock %}
{% for bundle_file in jupyterlab_bundles %}
<script src="{{ bundle_file }}" type="text/javascript" charset="utf-8"></script>
{% endfor %}
{% if mathjax_url %}
<script type="text/javascript" src="{{mathjax_url}}?config={{mathjax_config}}&delayStartupUntil=configured" charset="utf-8"></script>
{% endif %}
{% block meta %}
{% endblock %}
</head>
<body>
{% block script %}
<script>
var loader = jupyter.loader;
delete jupyter.loader;
var createLab = loader.require("{{ jupyterlab_main }}").createLab;
var lab = jupyter.lab = createLab(loader);
var plugins = [];
/**
* Get the plugins for an entry point.
*/
var getEntryPoint = function (entryPoint) {
var plugins = loader.require(entryPoint);
try {
plugins = loader.extractPlugins(plugins);
} catch (err) {
console.error(err);
plugins = [];
}
return plugins;
}
{% for plugin_entry in plugin_entries %}
plugins = plugins.concat(getEntryPoint("{{ plugin_entry }}"));
{% endfor %}
lab.registerPlugins(plugins);
lab.start();
</script>
{% endblock %}
<script type="text/javascript">
function _remove_token_from_url() {
if (window.location.search.length <= 1) {
return;
}
var search_parameters = window.location.search.slice(1).split('&');
for (var i = 0; i < search_parameters.length; i++) {
if (search_parameters[i].split('=')[0] === 'token') {
// remote token from search parameters
search_parameters.splice(i, 1);
var new_search = '';
if (search_parameters.length) {
new_search = '?' + search_parameters.join('&');
}
var new_url = window.location.origin +
window.location.pathname +
new_search +
window.location.hash;
window.history.replaceState({}, "", new_url);
return;
}
}
}
_remove_token_from_url();
</script>
</body>
</html>