From 614606bedf81e1d7897198f0a56598b284e59f4a Mon Sep 17 00:00:00 2001 From: tix Date: Tue, 7 Feb 2017 15:05:05 +0800 Subject: [PATCH] + ei/classification_area page --- public/css/mod.css | 3685 +++++++++++++++++++++++++++++ public/js/json_tree.js | 2 +- public/js/mod.js | 9 + routes/ei.js | 8 + views/ei.html | 13 +- views/inc/classification_area.ejs | 466 ++++ 6 files changed, 4172 insertions(+), 11 deletions(-) create mode 100644 views/inc/classification_area.ejs diff --git a/public/css/mod.css b/public/css/mod.css index c72d123..aa936bc 100644 --- a/public/css/mod.css +++ b/public/css/mod.css @@ -62,4 +62,3689 @@ div.text_cell_render { .rendered_html p { text-align:left; +} + +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +body { + background-color:#fff; + /* This makes sure that the body covers the entire window and needs to + be in a different element than the display: box in wrapper below */ + position:absolute; + left:0px; + right:0px; + top:0px; + bottom:0px; + overflow:visible; +} + +body > #header { + /* Initially hidden to prevent FLOUC */ + display:none; + background-color:#fff; + /* Display over codemirror */ + position:relative; + z-index:100; +} + +body > #header #header-container { + padding-bottom:5px; + padding-top:5px; + box-sizing:border-box; + -moz-box-sizing:border-box; + -webkit-box-sizing:border-box; +} + +body > #header .header-bar { + width:100%; + height:1px; + background:#e7e7e7; + margin-bottom:-1px; +} + +@media print { + body > #header { + display:none !important; + } +} + +#header-spacer { + width:100%; + visibility:hidden; +} + +@media print { + #header-spacer { + display:none; + } +} + +#ipython_notebook { + padding-left:0px; + padding-top:1px; + padding-bottom:1px; +} + +@media (max-width:991px) { + #ipython_notebook { + margin-left:10px; + } +} + +#noscript { + width:auto; + padding-top:16px; + padding-bottom:16px; + text-align:center; + font-size:22px; + color:red; + font-weight:bold; +} + +#ipython_notebook img { + height:28px; +} + +#site { + width:100%; + display:none; + box-sizing:border-box; + -moz-box-sizing:border-box; + -webkit-box-sizing:border-box; + overflow:auto; +} + +@media print { + #site { + height:auto !important; + } +} + +/* Smaller buttons */ +.ui-button .ui-button-text { + padding:0.2em 0.8em; + font-size:77%; +} + +input.ui-button { + padding:0.3em 0.9em; +} + +span#login_widget { + float:right; +} + +span#login_widget > .button, +#logout { + color:#333; + background-color:#fff; + border-color:#ccc; +} + +span#login_widget > .button:focus, +#logout:focus, +span#login_widget > .button.focus, +#logout.focus { + color:#333; + background-color:#e6e6e6; + border-color:#8c8c8c; +} + +span#login_widget > .button:hover, +#logout:hover { + color:#333; + background-color:#e6e6e6; + border-color:#adadad; +} + +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + color:#333; + background-color:#e6e6e6; + border-color:#adadad; +} + +span#login_widget > .button:active:hover, +#logout:active:hover, +span#login_widget > .button.active:hover, +#logout.active:hover, +.open > .dropdown-togglespan#login_widget > .button:hover, +.open > .dropdown-toggle#logout:hover, +span#login_widget > .button:active:focus, +#logout:active:focus, +span#login_widget > .button.active:focus, +#logout.active:focus, +.open > .dropdown-togglespan#login_widget > .button:focus, +.open > .dropdown-toggle#logout:focus, +span#login_widget > .button:active.focus, +#logout:active.focus, +span#login_widget > .button.active.focus, +#logout.active.focus, +.open > .dropdown-togglespan#login_widget > .button.focus, +.open > .dropdown-toggle#logout.focus { + color:#333; + background-color:#d4d4d4; + border-color:#8c8c8c; +} + +span#login_widget > .button:active, +#logout:active, +span#login_widget > .button.active, +#logout.active, +.open > .dropdown-togglespan#login_widget > .button, +.open > .dropdown-toggle#logout { + background-image:none; +} + +span#login_widget > .button.disabled:hover, +#logout.disabled:hover, +span#login_widget > .button[disabled]:hover, +#logout[disabled]:hover, +fieldset[disabled] span#login_widget > .button:hover, +fieldset[disabled] #logout:hover, +span#login_widget > .button.disabled:focus, +#logout.disabled:focus, +span#login_widget > .button[disabled]:focus, +#logout[disabled]:focus, +fieldset[disabled] span#login_widget > .button:focus, +fieldset[disabled] #logout:focus, +span#login_widget > .button.disabled.focus, +#logout.disabled.focus, +span#login_widget > .button[disabled].focus, +#logout[disabled].focus, +fieldset[disabled] span#login_widget > .button.focus, +fieldset[disabled] #logout.focus { + background-color:#fff; + border-color:#ccc; +} + +span#login_widget > .button .badge, +#logout .badge { + color:#fff; + background-color:#333; +} + +.nav-header { + text-transform:none; +} + +#header > span { + margin-top:10px; +} + +.modal_stretch .modal-dialog { + /* Old browsers */ + display:-webkit-box; + -webkit-box-orient:vertical; + -webkit-box-align:stretch; + display:-moz-box; + -moz-box-orient:vertical; + -moz-box-align:stretch; + display:box; + box-orient:vertical; + box-align:stretch; + /* Modern browsers */ + display:flex; + flex-direction:column; + align-items:stretch; + min-height:80vh; +} + +.modal_stretch .modal-dialog .modal-body { + max-height:calc(100vh - 200px); + overflow:auto; + flex:1; +} + +@media (min-width:768px) { + .modal .modal-dialog { + width:700px; + } +} + +@media (min-width:768px) { + select.form-control { + margin-left:12px; + margin-right:12px; + } +} + +/*! +* +* IPython auth +* +*/ +.center-nav { + display:inline-block; + margin-bottom:-4px; +} + +/*! +* +* IPython tree view +* +*/ +/* We need an invisible input field on top of the sentense*/ +/* "Drag file onto the list ..." */ +.alternate_upload { + background-color:none; + display:inline; +} + +.alternate_upload.form { + padding:0; + margin:0; +} + +.alternate_upload input.fileinput { + text-align:center; + vertical-align:middle; + display:inline; + opacity:0; + z-index:2; + width:12ex; + margin-right:-12ex; +} + +.alternate_upload .btn-upload { + height:22px; +} + +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +ul#tabs { + margin-bottom:4px; +} + +ul#tabs a { + padding-top:6px; + padding-bottom:4px; +} + +ul.breadcrumb a:focus, +ul.breadcrumb a:hover { + text-decoration:none; +} + +ul.breadcrumb i.icon-home { + font-size:16px; + margin-right:4px; +} + +ul.breadcrumb span { + color:#5e5e5e; +} + +.list_toolbar { + padding:4px 0 4px 0; + vertical-align:middle; +} + +.list_toolbar .tree-buttons { + padding-top:1px; +} + +.dynamic-buttons { + padding-top:3px; + display:inline-block; +} + +.list_toolbar [class*="span"] { + min-height:24px; +} + +.list_header { + font-weight:bold; + background-color:#eee; +} + +.list_placeholder { + font-weight:bold; + padding-top:4px; + padding-bottom:4px; + padding-left:7px; + padding-right:7px; +} + +.list_container { + margin-top:4px; + margin-bottom:20px; + border:1px solid #ddd; + border-radius:2px; +} + +.list_container > div { + border-bottom:1px solid #ddd; +} + +.list_container > div:hover .list-item { + background-color:red; +} + +.list_container > div:last-child { + border:none; +} + +.list_item:hover .list_item { + background-color:#ddd; +} + +.list_item a { + text-decoration:none; +} + +.list_item:hover { + background-color:#fafafa; +} + +.list_header > div, +.list_item > div { + padding-top:4px; + padding-bottom:4px; + padding-left:7px; + padding-right:7px; + line-height:22px; +} + +.list_header > div input, +.list_item > div input { + margin-right:7px; + margin-left:14px; + vertical-align:baseline; + line-height:22px; + position:relative; + top:-1px; +} + +.list_header > div .item_link, +.list_item > div .item_link { + margin-left:-1px; + vertical-align:baseline; + line-height:22px; +} + +.new-file input[type=checkbox] { + visibility:hidden; +} + +.item_name { + line-height:22px; + height:24px; +} + +.item_icon { + font-size:14px; + color:#5e5e5e; + margin-right:7px; + margin-left:7px; + line-height:22px; + vertical-align:baseline; +} + +.item_buttons { + line-height:1em; + margin-left:-5px; +} + +.item_buttons .btn, +.item_buttons .btn-group, +.item_buttons .input-group { + float:left; +} + +.item_buttons > .btn, +.item_buttons > .btn-group, +.item_buttons > .input-group { + margin-left:5px; +} + +.item_buttons .btn { + min-width:13ex; +} + +.item_buttons .running-indicator { + padding-top:4px; + color:#5cb85c; +} + +.item_buttons .kernel-name { + padding-top:4px; + color:#5bc0de; + margin-right:7px; + float:left; +} + +.toolbar_info { + height:24px; + line-height:24px; +} + +.list_item input:not([type=checkbox]) { + padding-top:3px; + padding-bottom:3px; + height:22px; + line-height:14px; + margin:0px; +} + +.highlight_text { + color:blue; +} + +#project_name { + display:inline-block; + padding-left:7px; + margin-left:-2px; +} + +#project_name > .breadcrumb { + padding:0px; + margin-bottom:0px; + background-color:transparent; + font-weight:bold; +} + +#tree-selector { + padding-right:0px; +} + +#button-select-all { + min-width:50px; +} + +#select-all { + margin-left:7px; + margin-right:2px; +} + +.menu_icon { + margin-right:2px; +} + +.tab-content .row { + margin-left:0px; + margin-right:0px; +} + +.folder_icon:before { + display:inline-block; + font:normal normal normal 14px/1 FontAwesome; + font-size:inherit; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; + content:"\f114"; +} + +.folder_icon:before.pull-left { + margin-right:.3em; +} + +.folder_icon:before.pull-right { + margin-left:.3em; +} + +.notebook_icon:before { + display:inline-block; + font:normal normal normal 14px/1 FontAwesome; + font-size:inherit; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; + content:"\f02d"; + position:relative; + top:-1px; +} + +.notebook_icon:before.pull-left { + margin-right:.3em; +} + +.notebook_icon:before.pull-right { + margin-left:.3em; +} + +.running_notebook_icon:before { + display:inline-block; + font:normal normal normal 14px/1 FontAwesome; + font-size:inherit; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; + content:"\f02d"; + position:relative; + top:-1px; + color:#5cb85c; +} + +.running_notebook_icon:before.pull-left { + margin-right:.3em; +} + +.running_notebook_icon:before.pull-right { + margin-left:.3em; +} + +.file_icon:before { + display:inline-block; + font:normal normal normal 14px/1 FontAwesome; + font-size:inherit; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; + content:"\f016"; + position:relative; + top:-2px; +} + +.file_icon:before.pull-left { + margin-right:.3em; +} + +.file_icon:before.pull-right { + margin-left:.3em; +} + +#notebook_toolbar .pull-right { + padding-top:0px; + margin-right:-1px; +} + +ul#new-menu { + left:auto; + right:0; +} + +.kernel-menu-icon { + padding-right:12px; + width:24px; + content:"\f096"; +} + +.kernel-menu-icon:before { + content:"\f096"; +} + +.kernel-menu-icon-current:before { + content:"\f00c"; +} + +#tab_content { + padding-top:20px; +} + +#running .panel-group .panel { + margin-top:3px; + margin-bottom:1em; +} + +#running .panel-group .panel .panel-heading { + background-color:#eee; + padding-top:4px; + padding-bottom:4px; + padding-left:7px; + padding-right:7px; + line-height:22px; +} + +#running .panel-group .panel .panel-heading a:focus, +#running .panel-group .panel .panel-heading a:hover { + text-decoration:none; +} + +#running .panel-group .panel .panel-body { + padding:0px; +} + +#running .panel-group .panel .panel-body .list_container { + margin-top:0px; + margin-bottom:0px; + border:0px; + border-radius:0px; +} + +#running .panel-group .panel .panel-body .list_container .list_item { + border-bottom:1px solid #ddd; +} + +#running .panel-group .panel .panel-body .list_container .list_item:last-child { + border-bottom:0px; +} + +.delete-button { + display:none; +} + +.duplicate-button { + display:none; +} + +.rename-button { + display:none; +} + +.shutdown-button { + display:none; +} + +.dynamic-instructions { + display:inline-block; + padding-top:4px; +} + +/*! +* +* IPython text editor webapp +* +*/ +.selected-keymap i.fa { + padding:0px 5px; +} + +.selected-keymap i.fa:before { + content:"\f00c"; +} + +#mode-menu { + overflow:auto; + max-height:20em; +} + +.edit_app #header { + -webkit-box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} + +.edit_app #menubar .navbar { + /* Use a negative 1 bottom margin, so the border overlaps the border of the + header */ + margin-bottom:-1px; +} + +.dirty-indicator { + display:inline-block; + font:normal normal normal 14px/1 FontAwesome; + font-size:inherit; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; + width:20px; +} + +.dirty-indicator.pull-left { + margin-right:.3em; +} + +.dirty-indicator.pull-right { + margin-left:.3em; +} + +.dirty-indicator-dirty { + display:inline-block; + font:normal normal normal 14px/1 FontAwesome; + font-size:inherit; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; + width:20px; +} + +.dirty-indicator-dirty.pull-left { + margin-right:.3em; +} + +.dirty-indicator-dirty.pull-right { + margin-left:.3em; +} + +.dirty-indicator-clean { + display:inline-block; + font:normal normal normal 14px/1 FontAwesome; + font-size:inherit; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; + width:20px; +} + +.dirty-indicator-clean.pull-left { + margin-right:.3em; +} + +.dirty-indicator-clean.pull-right { + margin-left:.3em; +} + +.dirty-indicator-clean:before { + display:inline-block; + font:normal normal normal 14px/1 FontAwesome; + font-size:inherit; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; + content:"\f00c"; +} + +.dirty-indicator-clean:before.pull-left { + margin-right:.3em; +} + +.dirty-indicator-clean:before.pull-right { + margin-left:.3em; +} + +#filename { + font-size:16pt; + display:table; + padding:0px 5px; +} + +#current-mode { + padding-left:5px; + padding-right:5px; +} + +#texteditor-backdrop { + padding-top:20px; + padding-bottom:20px; +} + +@media not print { + #texteditor-backdrop { + background-color:#eee; + } +} + +@media print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color:#fff; + } +} + +@media not print { + #texteditor-backdrop #texteditor-container .CodeMirror-gutter, + #texteditor-backdrop #texteditor-container .CodeMirror-gutters { + background-color:#fff; + } +} + +@media not print { + #texteditor-backdrop #texteditor-container { + padding:0px; + background-color:#fff; + -webkit-box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} + +/*! +* +* IPython notebook +* +*/ +/* CSS font colors for translated ANSI colors. */ +.ansibold { + font-weight:bold; +} + +/* use dark versions for foreground, to improve visibility */ +.ansiblack { + color:black; +} + +.ansired { + color:darkred; +} + +.ansigreen { + color:darkgreen; +} + +.ansiyellow { + color:#c4a000; +} + +.ansiblue { + color:darkblue; +} + +.ansipurple { + color:darkviolet; +} + +.ansicyan { + color:steelblue; +} + +.ansigray { + color:gray; +} + +/* and light for background, for the same reason */ +.ansibgblack { + background-color:black; +} + +.ansibgred { + background-color:red; +} + +.ansibggreen { + background-color:green; +} + +.ansibgyellow { + background-color:yellow; +} + +.ansibgblue { + background-color:blue; +} + +.ansibgpurple { + background-color:magenta; +} + +.ansibgcyan { + background-color:cyan; +} + +.ansibggray { + background-color:gray; +} + +div.cell { + /* Old browsers */ + display:-webkit-box; + -webkit-box-orient:vertical; + -webkit-box-align:stretch; + display:-moz-box; + -moz-box-orient:vertical; + -moz-box-align:stretch; + display:box; + box-orient:vertical; + box-align:stretch; + /* Modern browsers */ + display:flex; + flex-direction:column; + align-items:stretch; + border-radius:2px; + box-sizing:border-box; + -moz-box-sizing:border-box; + -webkit-box-sizing:border-box; + border-width:1px; + border-style:solid; + border-color:transparent; + width:100%; + padding:5px; + /* This acts as a spacer between cells, that is outside the border */ + margin:0px; + outline:none; + border-left-width:1px; + padding-left:5px; + background:linear-gradient(to right, transparent -40px, transparent 1px, transparent 1px, transparent 100%); +} + +div.cell.jupyter-soft-selected { + border-left-color:#90caf9; + border-left-color:#e3f2fd; + border-left-width:1px; + padding-left:5px; + border-right-color:#e3f2fd; + border-right-width:1px; + background:#e3f2fd; +} + +@media print { + div.cell.jupyter-soft-selected { + border-color:transparent; + } +} + +div.cell.selected { + border-color:#ababab; + border-left-width:0px; + padding-left:6px; + background:linear-gradient(to right, #42a5f5 -40px, #42a5f5 5px, transparent 5px, transparent 100%); +} + +@media print { + div.cell.selected { + border-color:transparent; + } +} + +div.cell.selected.jupyter-soft-selected { + border-left-width:0; + padding-left:6px; + background:linear-gradient(to right, #42a5f5 -40px, #42a5f5 7px, #e3f2fd 7px, #e3f2fd 100%); +} + +.edit_mode div.cell.selected { + border-color:#66bb6a; + border-left-width:0px; + padding-left:6px; + background:linear-gradient(to right, #66bb6a -40px, #66bb6a 5px, transparent 5px, transparent 100%); +} + +@media print { + .edit_mode div.cell.selected { + border-color:transparent; + } +} + +.prompt { + /* This needs to be wide enough for 3 digit prompt numbers: In[100]: */ + min-width:14ex; + /* This padding is tuned to match the padding on the CodeMirror editor. */ + padding:0.4em; + margin:0px; + font-family:monospace; + text-align:right; + /* This has to match that of the the CodeMirror class line-height below */ + line-height:1.21429em; + /* Don't highlight prompt number selection */ + -webkit-touch-callout:none; + -webkit-user-select:none; + -khtml-user-select:none; + -moz-user-select:none; + -ms-user-select:none; + user-select:none; + /* Use default cursor */ + cursor:default; +} + +@media (max-width:540px) { + .prompt { + text-align:left; + } +} + +div.inner_cell { + /* Old browsers */ + display:-webkit-box; + -webkit-box-orient:vertical; + -webkit-box-align:stretch; + display:-moz-box; + -moz-box-orient:vertical; + -moz-box-align:stretch; + display:box; + box-orient:vertical; + box-align:stretch; + /* Modern browsers */ + display:flex; + flex-direction:column; + align-items:stretch; + /* Old browsers */ + -webkit-box-flex:1; + -moz-box-flex:1; + box-flex:1; + /* Modern browsers */ + flex:1; +} + +@-moz-document url-prefix() { + div.inner_cell { + overflow-x:hidden; + } +} + +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_area { + border:1px solid #cfcfcf; + border-radius:2px; + background:#f7f7f7; + line-height:1.21429em; +} + +/* This is needed so that empty prompt areas can collapse to zero height when there + is no content in the output_subarea and the prompt. The main purpose of this is + to make sure that empty JavaScript output_subareas have no height. */ +div.prompt:empty { + padding-top:0; + padding-bottom:0; +} + +div.unrecognized_cell { + padding:5px 5px 5px 0px; + /* Old browsers */ + display:-webkit-box; + -webkit-box-orient:horizontal; + -webkit-box-align:stretch; + display:-moz-box; + -moz-box-orient:horizontal; + -moz-box-align:stretch; + display:box; + box-orient:horizontal; + box-align:stretch; + /* Modern browsers */ + display:flex; + flex-direction:row; + align-items:stretch; +} + +div.unrecognized_cell .inner_cell { + border-radius:2px; + padding:5px; + font-weight:bold; + color:red; + border:1px solid #cfcfcf; + background:#eaeaea; +} + +div.unrecognized_cell .inner_cell a { + color:inherit; + text-decoration:none; +} + +div.unrecognized_cell .inner_cell a:hover { + color:inherit; + text-decoration:none; +} + +@media (max-width:540px) { + div.unrecognized_cell > div.prompt { + display:none; + } +} + +div.code_cell { + /* avoid page breaking on code cells when printing */ +} + +@media print { + div.code_cell { + page-break-inside:avoid; + } +} + +/* any special styling for code cells that are currently running goes here */ +div.input { + page-break-inside:avoid; + /* Old browsers */ + display:-webkit-box; + -webkit-box-orient:horizontal; + -webkit-box-align:stretch; + display:-moz-box; + -moz-box-orient:horizontal; + -moz-box-align:stretch; + display:box; + box-orient:horizontal; + box-align:stretch; + /* Modern browsers */ + display:flex; + flex-direction:row; + align-items:stretch; +} + +@media (max-width:540px) { + div.input { + /* Old browsers */ + display:-webkit-box; + -webkit-box-orient:vertical; + -webkit-box-align:stretch; + display:-moz-box; + -moz-box-orient:vertical; + -moz-box-align:stretch; + display:box; + box-orient:vertical; + box-align:stretch; + /* Modern browsers */ + display:flex; + flex-direction:column; + align-items:stretch; + } +} + +/* input_area and input_prompt must match in top border and margin for alignment */ +div.input_prompt { + color:#303f9f; + border-top:1px solid transparent; +} + +div.input_area > div.highlight { + margin:0.4em; + border:none; + padding:0px; + background-color:transparent; +} + +div.input_area > div.highlight > pre { + margin:0px; + border:none; + padding:0px; + background-color:transparent; +} + +/* The following gets added to the if it is detected that the user has a + * monospace font with inconsistent normal/bold/italic height. See + * notebookmain.js. Such fonts will have keywords vertically offset with + * respect to the rest of the text. The user should select a better font. + * See: https://github.com/ipython/ipython/issues/1503 + * + * .CodeMirror span { + * vertical-align: bottom; + * } + */ +.CodeMirror { + line-height:1.21429em; + /* Changed from 1em to our global default */ + font-size:14px; + height:auto; + /* Changed to auto to autogrow */ + background:none; + /* Changed from white to allow our bg to show through */ +} + +.CodeMirror-scroll { + /* The CodeMirror docs are a bit fuzzy on if overflow-y should be hidden or visible.*/ + /* We have found that if it is visible, vertical scrollbars appear with font size changes.*/ + overflow-y:hidden; + overflow-x:auto; +} + +.CodeMirror-lines { + /* In CM2, this used to be 0.4em, but in CM3 it went to 4px. We need the em value because */ + /* we have set a different line-height and want this to scale with that. */ + padding:0.4em; +} + +.CodeMirror-linenumber { + padding:0 8px 0 4px; +} + +.CodeMirror-gutters { + border-bottom-left-radius:2px; + border-top-left-radius:2px; +} + +.CodeMirror pre { + /* In CM3 this went to 4px from 0 in CM2. We need the 0 value because of how we size */ + /* .CodeMirror-lines */ + padding:0; + border:0; + border-radius:0; +} + +/* + +Original style from softwaremaniacs.org (c) Ivan Sagalaev +Adapted from GitHub theme + +*/ +.highlight-base { + color:#000; +} + +.highlight-variable { + color:#000; +} + +.highlight-variable-2 { + color:#1a1a1a; +} + +.highlight-variable-3 { + color:#333; +} + +.highlight-string { + color:#ba2121; +} + +.highlight-comment { + color:#408080; + font-style:italic; +} + +.highlight-number { + color:#080; +} + +.highlight-atom { + color:#88f; +} + +.highlight-keyword { + color:#008000; + font-weight:bold; +} + +.highlight-builtin { + color:#008000; +} + +.highlight-error { + color:#f00; +} + +.highlight-operator { + color:#a2f; + font-weight:bold; +} + +.highlight-meta { + color:#a2f; +} + +/* previously not defined, copying from default codemirror */ +.highlight-def { + color:#00f; +} + +.highlight-string-2 { + color:#f50; +} + +.highlight-qualifier { + color:#555; +} + +.highlight-bracket { + color:#997; +} + +.highlight-tag { + color:#170; +} + +.highlight-attribute { + color:#00c; +} + +.highlight-header { + color:blue; +} + +.highlight-quote { + color:#090; +} + +.highlight-link { + color:#00c; +} + +/* apply the same style to codemirror */ +.cm-s-ipython span.cm-keyword { + color:#008000; + font-weight:bold; +} + +.cm-s-ipython span.cm-atom { + color:#88f; +} + +.cm-s-ipython span.cm-number { + color:#080; +} + +.cm-s-ipython span.cm-def { + color:#00f; +} + +.cm-s-ipython span.cm-variable { + color:#000; +} + +.cm-s-ipython span.cm-operator { + color:#a2f; + font-weight:bold; +} + +.cm-s-ipython span.cm-variable-2 { + color:#1a1a1a; +} + +.cm-s-ipython span.cm-variable-3 { + color:#333; +} + +.cm-s-ipython span.cm-comment { + color:#408080; + font-style:italic; +} + +.cm-s-ipython span.cm-string { + color:#ba2121; +} + +.cm-s-ipython span.cm-string-2 { + color:#f50; +} + +.cm-s-ipython span.cm-meta { + color:#a2f; +} + +.cm-s-ipython span.cm-qualifier { + color:#555; +} + +.cm-s-ipython span.cm-builtin { + color:#008000; +} + +.cm-s-ipython span.cm-bracket { + color:#997; +} + +.cm-s-ipython span.cm-tag { + color:#170; +} + +.cm-s-ipython span.cm-attribute { + color:#00c; +} + +.cm-s-ipython span.cm-header { + color:blue; +} + +.cm-s-ipython span.cm-quote { + color:#090; +} + +.cm-s-ipython span.cm-link { + color:#00c; +} + +.cm-s-ipython span.cm-error { + color:#f00; +} + +.cm-s-ipython span.cm-tab { + background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=); + background-position:right; + background-repeat:no-repeat; +} + +div.output_wrapper { + /* this position must be relative to enable descendents to be absolute within it */ + position:relative; + /* Old browsers */ + display:-webkit-box; + -webkit-box-orient:vertical; + -webkit-box-align:stretch; + display:-moz-box; + -moz-box-orient:vertical; + -moz-box-align:stretch; + display:box; + box-orient:vertical; + box-align:stretch; + /* Modern browsers */ + display:flex; + flex-direction:column; + align-items:stretch; + z-index:1; +} + +/* class for the output area when it should be height-limited */ +div.output_scroll { + /* ideally, this would be max-height, but FF barfs all over that */ + height:24em; + /* FF needs this *and the wrapper* to specify full width, or it will shrinkwrap */ + width:100%; + overflow:auto; + border-radius:2px; + -webkit-box-shadow:inset 0 2px 8px rgba(0, 0, 0, 0.8); + box-shadow:inset 0 2px 8px rgba(0, 0, 0, 0.8); + display:block; +} + +/* output div while it is collapsed */ +div.output_collapsed { + margin:0px; + padding:0px; + /* Old browsers */ + display:-webkit-box; + -webkit-box-orient:vertical; + -webkit-box-align:stretch; + display:-moz-box; + -moz-box-orient:vertical; + -moz-box-align:stretch; + display:box; + box-orient:vertical; + box-align:stretch; + /* Modern browsers */ + display:flex; + flex-direction:column; + align-items:stretch; +} + +div.out_prompt_overlay { + height:100%; + padding:0px 0.4em; + position:absolute; + border-radius:2px; +} + +div.out_prompt_overlay:hover { + /* use inner shadow to get border that is computed the same on WebKit/FF */ + -webkit-box-shadow:inset 0 0 1px #000; + box-shadow:inset 0 0 1px #000; + background:rgba(240, 240, 240, 0.5); +} + +div.output_prompt { + color:#d84315; +} + +/* This class is the outer container of all output sections. */ +div.output_area { + padding:0px; + page-break-inside:avoid; + /* Old browsers */ + display:-webkit-box; + -webkit-box-orient:horizontal; + -webkit-box-align:stretch; + display:-moz-box; + -moz-box-orient:horizontal; + -moz-box-align:stretch; + display:box; + box-orient:horizontal; + box-align:stretch; + /* Modern browsers */ + display:flex; + flex-direction:row; + align-items:stretch; +} + +div.output_area .MathJax_Display { + text-align:left !important; +} + +div.output_area .rendered_html table { + margin-left:0; + margin-right:0; +} + +div.output_area .rendered_html img { + margin-left:0; + margin-right:0; +} + +div.output_area img, +div.output_area svg { + max-width:100%; + height:auto; +} + +div.output_area img.unconfined, +div.output_area svg.unconfined { + max-width:none; +} + +/* This is needed to protect the pre formating from global settings such + as that of bootstrap */ +.output { + /* Old browsers */ + display:-webkit-box; + -webkit-box-orient:vertical; + -webkit-box-align:stretch; + display:-moz-box; + -moz-box-orient:vertical; + -moz-box-align:stretch; + display:box; + box-orient:vertical; + box-align:stretch; + /* Modern browsers */ + display:flex; + flex-direction:column; + align-items:stretch; +} + +@media (max-width:540px) { + div.output_area { + /* Old browsers */ + display:-webkit-box; + -webkit-box-orient:vertical; + -webkit-box-align:stretch; + display:-moz-box; + -moz-box-orient:vertical; + -moz-box-align:stretch; + display:box; + box-orient:vertical; + box-align:stretch; + /* Modern browsers */ + display:flex; + flex-direction:column; + align-items:stretch; + } +} + +div.output_area pre { + margin:0; + padding:0; + border:0; + vertical-align:baseline; + color:black; + background-color:transparent; + border-radius:0; +} + +/* This class is for the output subarea inside the output_area and after + the prompt div. */ +div.output_subarea { + overflow-x:auto; + padding:0.4em; + /* Old browsers */ + -webkit-box-flex:1; + -moz-box-flex:1; + box-flex:1; + /* Modern browsers */ + flex:1; + max-width:calc(100% - 14ex); +} + +div.output_scroll div.output_subarea { + overflow-x:visible; +} + +/* The rest of the output_* classes are for special styling of the different + output types */ +/* all text output has this class: */ +div.output_text { + text-align:left; + color:#000; + /* This has to match that of the the CodeMirror class line-height below */ + line-height:1.21429em; +} + +/* stdout/stderr are 'text' as well as 'stream', but execute_result/error are *not* streams */ +div.output_stderr { + background:#fdd; + /* very light red background for stderr */ +} + +div.output_latex { + text-align:left; +} + +/* Empty output_javascript divs should have no height */ +div.output_javascript:empty { + padding:0; +} + +.js-error { + color:darkred; +} + +/* raw_input styles */ +div.raw_input_container { + line-height:1.21429em; + padding-top:5px; +} + +pre.raw_input_prompt { + /* nothing needed here. */ +} + +input.raw_input { + font-family:monospace; + font-size:inherit; + color:inherit; + width:auto; + /* make sure input baseline aligns with prompt */ + vertical-align:baseline; + /* padding + margin = 0.5em between prompt and cursor */ + padding:0em 0.25em; + margin:0em 0.25em; +} + +input.raw_input:focus { + box-shadow:none; +} + +p.p-space { + margin-bottom:10px; +} + +div.output_unrecognized { + padding:5px; + font-weight:bold; + color:red; +} + +div.output_unrecognized a { + color:inherit; + text-decoration:none; +} + +div.output_unrecognized a:hover { + color:inherit; + text-decoration:none; +} + +.rendered_html { + color:#000; + /* any extras will just be numbers: */ +} + +.rendered_html em { + font-style:italic; +} + +.rendered_html strong { + font-weight:bold; +} + +.rendered_html u { + text-decoration:underline; +} + +.rendered_html :link { + text-decoration:underline; +} + +.rendered_html :visited { + text-decoration:underline; +} + +.rendered_html h1 { + font-size:185.7%; + margin:1.08em 0 0 0; + font-weight:bold; + line-height:1.0; +} + +.rendered_html h2 { + font-size:157.1%; + margin:1.27em 0 0 0; + font-weight:bold; + line-height:1.0; +} + +.rendered_html h3 { + font-size:128.6%; + margin:1.55em 0 0 0; + font-weight:bold; + line-height:1.0; +} + +.rendered_html h4 { + font-size:100%; + margin:2em 0 0 0; + font-weight:bold; + line-height:1.0; +} + +.rendered_html h5 { + font-size:100%; + margin:2em 0 0 0; + font-weight:bold; + line-height:1.0; + font-style:italic; +} + +.rendered_html h6 { + font-size:100%; + margin:2em 0 0 0; + font-weight:bold; + line-height:1.0; + font-style:italic; +} + +.rendered_html h1:first-child { + margin-top:0.538em; +} + +.rendered_html h2:first-child { + margin-top:0.636em; +} + +.rendered_html h3:first-child { + margin-top:0.777em; +} + +.rendered_html h4:first-child { + margin-top:1em; +} + +.rendered_html h5:first-child { + margin-top:1em; +} + +.rendered_html h6:first-child { + margin-top:1em; +} + +.rendered_html ul { + list-style:disc; + margin:0em 2em; + padding-left:0px; +} + +.rendered_html ul ul { + list-style:square; + margin:0em 2em; +} + +.rendered_html ul ul ul { + list-style:circle; + margin:0em 2em; +} + +.rendered_html ol { + list-style:decimal; + margin:0em 2em; + padding-left:0px; +} + +.rendered_html ol ol { + list-style:upper-alpha; + margin:0em 2em; +} + +.rendered_html ol ol ol { + list-style:lower-alpha; + margin:0em 2em; +} + +.rendered_html ol ol ol ol { + list-style:lower-roman; + margin:0em 2em; +} + +.rendered_html ol ol ol ol ol { + list-style:decimal; + margin:0em 2em; +} + +.rendered_html * + ul { + margin-top:1em; +} + +.rendered_html * + ol { + margin-top:1em; +} + +.rendered_html hr { + color:black; + background-color:black; +} + +.rendered_html pre { + margin:1em 2em; +} + +.rendered_html pre, +.rendered_html code { + border:0; + background-color:#fff; + color:#000; + font-size:100%; + padding:0px; +} + +.rendered_html blockquote { + margin:1em 2em; +} + +.rendered_html table { + margin-left:auto; + margin-right:auto; + border:1px solid black; + border-collapse:collapse; +} + +.rendered_html tr, +.rendered_html th, +.rendered_html td { + border:1px solid black; + border-collapse:collapse; + margin:1em 2em; +} + +.rendered_html td, +.rendered_html th { + text-align:left; + vertical-align:middle; + padding:4px; +} + +.rendered_html th { + font-weight:bold; +} + +.rendered_html * + table { + margin-top:1em; +} + +.rendered_html p { + text-align:left; +} + +.rendered_html * + p { + margin-top:1em; +} + +.rendered_html img { + display:block; + margin-left:auto; + margin-right:auto; +} + +.rendered_html * + img { + margin-top:1em; +} + +.rendered_html img, +.rendered_html svg { + max-width:100%; + height:auto; +} + +.rendered_html img.unconfined, +.rendered_html svg.unconfined { + max-width:none; +} + +div.text_cell { + /* Old browsers */ + display:-webkit-box; + -webkit-box-orient:horizontal; + -webkit-box-align:stretch; + display:-moz-box; + -moz-box-orient:horizontal; + -moz-box-align:stretch; + display:box; + box-orient:horizontal; + box-align:stretch; + /* Modern browsers */ + display:flex; + flex-direction:row; + align-items:stretch; +} + +@media (max-width:540px) { + div.text_cell > div.prompt { + display:none; + } +} + +div.text_cell_render { + /*font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;*/ + outline:none; + resize:none; + width:inherit; + border-style:none; + padding:0.5em 0.5em 0.5em 0.4em; + color:#000; + box-sizing:border-box; + -moz-box-sizing:border-box; + -webkit-box-sizing:border-box; +} + +a.anchor-link:link { + text-decoration:none; + padding:0px 20px; + visibility:hidden; +} + +h1:hover .anchor-link, +h2:hover .anchor-link, +h3:hover .anchor-link, +h4:hover .anchor-link, +h5:hover .anchor-link, +h6:hover .anchor-link { + visibility:visible; +} + +.text_cell.rendered .input_area { + display:none; +} + +.text_cell.rendered .rendered_html { + overflow-x:auto; + overflow-y:hidden; +} + +.text_cell.unrendered .text_cell_render { + display:none; +} + +.cm-header-1, +.cm-header-2, +.cm-header-3, +.cm-header-4, +.cm-header-5, +.cm-header-6 { + font-weight:bold; + font-family:"Helvetica Neue", Helvetica, Arial, sans-serif; +} + +.cm-header-1 { + font-size:185.7%; +} + +.cm-header-2 { + font-size:157.1%; +} + +.cm-header-3 { + font-size:128.6%; +} + +.cm-header-4 { + font-size:110%; +} + +.cm-header-5 { + font-size:100%; + font-style:italic; +} + +.cm-header-6 { + font-size:100%; + font-style:italic; +} + +/*! +* +* IPython notebook webapp +* +*/ +@media (max-width:767px) { + .notebook_app { + padding-left:0px; + padding-right:0px; + } +} + +#ipython-main-app { + box-sizing:border-box; + -moz-box-sizing:border-box; + -webkit-box-sizing:border-box; + height:100%; +} + +div#notebook_panel { + margin:0px; + padding:0px; + box-sizing:border-box; + -moz-box-sizing:border-box; + -webkit-box-sizing:border-box; + height:100%; +} + +div#notebook { + font-size:14px; + line-height:20px; + overflow-y:hidden; + overflow-x:auto; + width:100%; + /* This spaces the page away from the edge of the notebook area */ + padding-top:20px; + margin:0px; + outline:none; + box-sizing:border-box; + -moz-box-sizing:border-box; + -webkit-box-sizing:border-box; + min-height:100%; +} + +@media not print { + #notebook-container { + padding:15px; + background-color:#fff; + min-height:0; + -webkit-box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2); + } +} + +@media print { + #notebook-container { + width:100%; + } +} + +div.ui-widget-content { + border:1px solid #ababab; + outline:none; +} + +pre.dialog { + background-color:#f7f7f7; + border:1px solid #ddd; + border-radius:2px; + padding:0.4em; + padding-left:2em; +} + +p.dialog { + padding:0.2em; +} + +/* Word-wrap output correctly. This is the CSS3 spelling, though Firefox seems + to not honor it correctly. Webkit browsers (Chrome, rekonq, Safari) do. + */ +pre, +code, +kbd, +samp { + white-space:pre-wrap; +} + +#fonttest { + font-family:monospace; +} + +p { + margin-bottom:0; +} + +.end_space { + min-height:100px; + transition:height .2s ease; +} + +.notebook_app > #header { + -webkit-box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} + +@media not print { + .notebook_app { + background-color:#eee; + } +} + +kbd { + border-style:solid; + border-width:1px; + box-shadow:none; + margin:2px; + padding-left:2px; + padding-right:2px; + padding-top:1px; + padding-bottom:1px; +} + +/* CSS for the cell toolbar */ +.celltoolbar { + border:thin solid #cfcfcf; + border-bottom:none; + background:#eee; + border-radius:2px 2px 0px 0px; + width:100%; + height:29px; + padding-right:4px; + /* Old browsers */ + display:-webkit-box; + -webkit-box-orient:horizontal; + -webkit-box-align:stretch; + display:-moz-box; + -moz-box-orient:horizontal; + -moz-box-align:stretch; + display:box; + box-orient:horizontal; + box-align:stretch; + /* Modern browsers */ + display:flex; + flex-direction:row; + align-items:stretch; + /* Old browsers */ + -webkit-box-pack:end; + -moz-box-pack:end; + box-pack:end; + /* Modern browsers */ + justify-content:flex-end; + display:-webkit-flex; +} + +@media print { + .celltoolbar { + display:none; + } +} + +.ctb_hideshow { + display:none; + vertical-align:bottom; +} + +/* ctb_show is added to the ctb_hideshow div to show the cell toolbar. + Cell toolbars are only shown when the ctb_global_show class is also set. +*/ +.ctb_global_show .ctb_show.ctb_hideshow { + display:block; +} + +.ctb_global_show .ctb_show + .input_area, +.ctb_global_show .ctb_show + div.text_cell_input, +.ctb_global_show .ctb_show ~ div.text_cell_render { + border-top-right-radius:0px; + border-top-left-radius:0px; +} + +.ctb_global_show .ctb_show ~ div.text_cell_render { + border:1px solid #cfcfcf; +} + +.celltoolbar { + font-size:87%; + padding-top:3px; +} + +.celltoolbar select { + display:block; + width:100%; + height:32px; + padding:6px 12px; + font-size:13px; + line-height:1.42857143; + color:#555; + background-color:#fff; + background-image:none; + border:1px solid #ccc; + border-radius:2px; + -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s; + height:30px; + padding:5px 10px; + font-size:12px; + line-height:1.5; + border-radius:1px; + width:inherit; + font-size:inherit; + height:22px; + padding:0px; + display:inline-block; +} + +.celltoolbar select:focus { + border-color:#66afe9; + outline:0; + -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6); +} + +.celltoolbar select::-moz-placeholder { + color:#999; + opacity:1; +} + +.celltoolbar select:-ms-input-placeholder { + color:#999; +} + +.celltoolbar select::-webkit-input-placeholder { + color:#999; +} + +.celltoolbar select::-ms-expand { + border:0; + background-color:transparent; +} + +.celltoolbar select[disabled], +.celltoolbar select[readonly], +fieldset[disabled] .celltoolbar select { + background-color:#eee; + opacity:1; +} + +.celltoolbar select[disabled], +fieldset[disabled] .celltoolbar select { + cursor:not-allowed; +} + +textarea.celltoolbar select { + height:auto; +} + +select.celltoolbar select { + height:30px; + line-height:30px; +} + +textarea.celltoolbar select, +select[multiple].celltoolbar select { + height:auto; +} + +.celltoolbar label { + margin-left:5px; + margin-right:5px; +} + +.completions { + position:absolute; + z-index:110; + overflow:hidden; + border:1px solid #ababab; + border-radius:2px; + -webkit-box-shadow:0px 6px 10px -1px #adadad; + box-shadow:0px 6px 10px -1px #adadad; + line-height:1; +} + +.completions select { + background:white; + outline:none; + border:none; + padding:0px; + margin:0px; + overflow:auto; + font-family:monospace; + font-size:110%; + color:#000; + width:auto; +} + +.completions select option.context { + color:#286090; +} + +#kernel_logo_widget { + float:right !important; + float:right; +} + +#kernel_logo_widget .current_kernel_logo { + display:none; + margin-top:-1px; + margin-bottom:-1px; + width:32px; + height:32px; +} + +#menubar { + box-sizing:border-box; + -moz-box-sizing:border-box; + -webkit-box-sizing:border-box; + margin-top:1px; +} + +#menubar .navbar { + border-top:1px; + border-radius:0px 0px 2px 2px; + margin-bottom:0px; +} + +#menubar .navbar-toggle { + float:left; + padding-top:7px; + padding-bottom:7px; + border:none; +} + +#menubar .navbar-collapse { + clear:left; +} + +.nav-wrapper { + border-bottom:1px solid #e7e7e7; +} + +i.menu-icon { + padding-top:4px; +} + +ul#help_menu li a { + overflow:hidden; + padding-right:2.2em; +} + +ul#help_menu li a i { + margin-right:-1.2em; +} + +.dropdown-submenu { + position:relative; +} + +.dropdown-submenu > .dropdown-menu { + top:0; + left:100%; + margin-top:-6px; + margin-left:-1px; +} + +.dropdown-submenu:hover > .dropdown-menu { + display:block; +} + +.dropdown-submenu > a:after { + display:inline-block; + font:normal normal normal 14px/1 FontAwesome; + font-size:inherit; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; + display:block; + content:"\f0da"; + float:right; + color:#333; + margin-top:2px; + margin-right:-10px; +} + +.dropdown-submenu > a:after.pull-left { + margin-right:.3em; +} + +.dropdown-submenu > a:after.pull-right { + margin-left:.3em; +} + +.dropdown-submenu:hover > a:after { + color:#262626; +} + +.dropdown-submenu.pull-left { + float:none; +} + +.dropdown-submenu.pull-left > .dropdown-menu { + left:-100%; + margin-left:10px; +} + +#notification_area { + float:right !important; + float:right; + z-index:10; +} + +.indicator_area { + float:right !important; + float:right; + color:#777; + margin-left:5px; + margin-right:5px; + width:11px; + z-index:10; + text-align:center; + width:auto; +} + +#kernel_indicator { + float:right !important; + float:right; + color:#777; + margin-left:5px; + margin-right:5px; + width:11px; + z-index:10; + text-align:center; + width:auto; + border-left:1px solid; +} + +#kernel_indicator .kernel_indicator_name { + padding-left:5px; + padding-right:5px; +} + +#modal_indicator { + float:right !important; + float:right; + color:#777; + margin-left:5px; + margin-right:5px; + width:11px; + z-index:10; + text-align:center; + width:auto; +} + +#readonly-indicator { + float:right !important; + float:right; + color:#777; + margin-left:5px; + margin-right:5px; + width:11px; + z-index:10; + text-align:center; + width:auto; + margin-top:2px; + margin-bottom:0px; + margin-left:0px; + margin-right:0px; + display:none; +} + +.modal_indicator:before { + width:1.28571429em; + text-align:center; +} + +.edit_mode .modal_indicator:before { + display:inline-block; + font:normal normal normal 14px/1 FontAwesome; + font-size:inherit; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; + content:"\f040"; +} + +.edit_mode .modal_indicator:before.pull-left { + margin-right:.3em; +} + +.edit_mode .modal_indicator:before.pull-right { + margin-left:.3em; +} + +.command_mode .modal_indicator:before { + display:inline-block; + font:normal normal normal 14px/1 FontAwesome; + font-size:inherit; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; + content:' '; +} + +.command_mode .modal_indicator:before.pull-left { + margin-right:.3em; +} + +.command_mode .modal_indicator:before.pull-right { + margin-left:.3em; +} + +.kernel_idle_icon:before { + display:inline-block; + font:normal normal normal 14px/1 FontAwesome; + font-size:inherit; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; + content:"\f10c"; +} + +.kernel_idle_icon:before.pull-left { + margin-right:.3em; +} + +.kernel_idle_icon:before.pull-right { + margin-left:.3em; +} + +.kernel_busy_icon:before { + display:inline-block; + font:normal normal normal 14px/1 FontAwesome; + font-size:inherit; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; + content:"\f111"; +} + +.kernel_busy_icon:before.pull-left { + margin-right:.3em; +} + +.kernel_busy_icon:before.pull-right { + margin-left:.3em; +} + +.kernel_dead_icon:before { + display:inline-block; + font:normal normal normal 14px/1 FontAwesome; + font-size:inherit; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; + content:"\f1e2"; +} + +.kernel_dead_icon:before.pull-left { + margin-right:.3em; +} + +.kernel_dead_icon:before.pull-right { + margin-left:.3em; +} + +.kernel_disconnected_icon:before { + display:inline-block; + font:normal normal normal 14px/1 FontAwesome; + font-size:inherit; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; + content:"\f127"; +} + +.kernel_disconnected_icon:before.pull-left { + margin-right:.3em; +} + +.kernel_disconnected_icon:before.pull-right { + margin-left:.3em; +} + +.notification_widget { + color:#777; + z-index:10; + background:rgba(240, 240, 240, 0.5); + margin-right:4px; + color:#333; + background-color:#fff; + border-color:#ccc; +} + +.notification_widget:focus, +.notification_widget.focus { + color:#333; + background-color:#e6e6e6; + border-color:#8c8c8c; +} + +.notification_widget:hover { + color:#333; + background-color:#e6e6e6; + border-color:#adadad; +} + +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + color:#333; + background-color:#e6e6e6; + border-color:#adadad; +} + +.notification_widget:active:hover, +.notification_widget.active:hover, +.open > .dropdown-toggle.notification_widget:hover, +.notification_widget:active:focus, +.notification_widget.active:focus, +.open > .dropdown-toggle.notification_widget:focus, +.notification_widget:active.focus, +.notification_widget.active.focus, +.open > .dropdown-toggle.notification_widget.focus { + color:#333; + background-color:#d4d4d4; + border-color:#8c8c8c; +} + +.notification_widget:active, +.notification_widget.active, +.open > .dropdown-toggle.notification_widget { + background-image:none; +} + +.notification_widget.disabled:hover, +.notification_widget[disabled]:hover, +fieldset[disabled] .notification_widget:hover, +.notification_widget.disabled:focus, +.notification_widget[disabled]:focus, +fieldset[disabled] .notification_widget:focus, +.notification_widget.disabled.focus, +.notification_widget[disabled].focus, +fieldset[disabled] .notification_widget.focus { + background-color:#fff; + border-color:#ccc; +} + +.notification_widget .badge { + color:#fff; + background-color:#333; +} + +.notification_widget.warning { + color:#fff; + background-color:#f0ad4e; + border-color:#eea236; +} + +.notification_widget.warning:focus, +.notification_widget.warning.focus { + color:#fff; + background-color:#ec971f; + border-color:#985f0d; +} + +.notification_widget.warning:hover { + color:#fff; + background-color:#ec971f; + border-color:#d58512; +} + +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + color:#fff; + background-color:#ec971f; + border-color:#d58512; +} + +.notification_widget.warning:active:hover, +.notification_widget.warning.active:hover, +.open > .dropdown-toggle.notification_widget.warning:hover, +.notification_widget.warning:active:focus, +.notification_widget.warning.active:focus, +.open > .dropdown-toggle.notification_widget.warning:focus, +.notification_widget.warning:active.focus, +.notification_widget.warning.active.focus, +.open > .dropdown-toggle.notification_widget.warning.focus { + color:#fff; + background-color:#d58512; + border-color:#985f0d; +} + +.notification_widget.warning:active, +.notification_widget.warning.active, +.open > .dropdown-toggle.notification_widget.warning { + background-image:none; +} + +.notification_widget.warning.disabled:hover, +.notification_widget.warning[disabled]:hover, +fieldset[disabled] .notification_widget.warning:hover, +.notification_widget.warning.disabled:focus, +.notification_widget.warning[disabled]:focus, +fieldset[disabled] .notification_widget.warning:focus, +.notification_widget.warning.disabled.focus, +.notification_widget.warning[disabled].focus, +fieldset[disabled] .notification_widget.warning.focus { + background-color:#f0ad4e; + border-color:#eea236; +} + +.notification_widget.warning .badge { + color:#f0ad4e; + background-color:#fff; +} + +.notification_widget.success { + color:#fff; + background-color:#5cb85c; + border-color:#4cae4c; +} + +.notification_widget.success:focus, +.notification_widget.success.focus { + color:#fff; + background-color:#449d44; + border-color:#255625; +} + +.notification_widget.success:hover { + color:#fff; + background-color:#449d44; + border-color:#398439; +} + +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + color:#fff; + background-color:#449d44; + border-color:#398439; +} + +.notification_widget.success:active:hover, +.notification_widget.success.active:hover, +.open > .dropdown-toggle.notification_widget.success:hover, +.notification_widget.success:active:focus, +.notification_widget.success.active:focus, +.open > .dropdown-toggle.notification_widget.success:focus, +.notification_widget.success:active.focus, +.notification_widget.success.active.focus, +.open > .dropdown-toggle.notification_widget.success.focus { + color:#fff; + background-color:#398439; + border-color:#255625; +} + +.notification_widget.success:active, +.notification_widget.success.active, +.open > .dropdown-toggle.notification_widget.success { + background-image:none; +} + +.notification_widget.success.disabled:hover, +.notification_widget.success[disabled]:hover, +fieldset[disabled] .notification_widget.success:hover, +.notification_widget.success.disabled:focus, +.notification_widget.success[disabled]:focus, +fieldset[disabled] .notification_widget.success:focus, +.notification_widget.success.disabled.focus, +.notification_widget.success[disabled].focus, +fieldset[disabled] .notification_widget.success.focus { + background-color:#5cb85c; + border-color:#4cae4c; +} + +.notification_widget.success .badge { + color:#5cb85c; + background-color:#fff; +} + +.notification_widget.info { + color:#fff; + background-color:#5bc0de; + border-color:#46b8da; +} + +.notification_widget.info:focus, +.notification_widget.info.focus { + color:#fff; + background-color:#31b0d5; + border-color:#1b6d85; +} + +.notification_widget.info:hover { + color:#fff; + background-color:#31b0d5; + border-color:#269abc; +} + +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + color:#fff; + background-color:#31b0d5; + border-color:#269abc; +} + +.notification_widget.info:active:hover, +.notification_widget.info.active:hover, +.open > .dropdown-toggle.notification_widget.info:hover, +.notification_widget.info:active:focus, +.notification_widget.info.active:focus, +.open > .dropdown-toggle.notification_widget.info:focus, +.notification_widget.info:active.focus, +.notification_widget.info.active.focus, +.open > .dropdown-toggle.notification_widget.info.focus { + color:#fff; + background-color:#269abc; + border-color:#1b6d85; +} + +.notification_widget.info:active, +.notification_widget.info.active, +.open > .dropdown-toggle.notification_widget.info { + background-image:none; +} + +.notification_widget.info.disabled:hover, +.notification_widget.info[disabled]:hover, +fieldset[disabled] .notification_widget.info:hover, +.notification_widget.info.disabled:focus, +.notification_widget.info[disabled]:focus, +fieldset[disabled] .notification_widget.info:focus, +.notification_widget.info.disabled.focus, +.notification_widget.info[disabled].focus, +fieldset[disabled] .notification_widget.info.focus { + background-color:#5bc0de; + border-color:#46b8da; +} + +.notification_widget.info .badge { + color:#5bc0de; + background-color:#fff; +} + +.notification_widget.danger { + color:#fff; + background-color:#d9534f; + border-color:#d43f3a; +} + +.notification_widget.danger:focus, +.notification_widget.danger.focus { + color:#fff; + background-color:#c9302c; + border-color:#761c19; +} + +.notification_widget.danger:hover { + color:#fff; + background-color:#c9302c; + border-color:#ac2925; +} + +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + color:#fff; + background-color:#c9302c; + border-color:#ac2925; +} + +.notification_widget.danger:active:hover, +.notification_widget.danger.active:hover, +.open > .dropdown-toggle.notification_widget.danger:hover, +.notification_widget.danger:active:focus, +.notification_widget.danger.active:focus, +.open > .dropdown-toggle.notification_widget.danger:focus, +.notification_widget.danger:active.focus, +.notification_widget.danger.active.focus, +.open > .dropdown-toggle.notification_widget.danger.focus { + color:#fff; + background-color:#ac2925; + border-color:#761c19; +} + +.notification_widget.danger:active, +.notification_widget.danger.active, +.open > .dropdown-toggle.notification_widget.danger { + background-image:none; +} + +.notification_widget.danger.disabled:hover, +.notification_widget.danger[disabled]:hover, +fieldset[disabled] .notification_widget.danger:hover, +.notification_widget.danger.disabled:focus, +.notification_widget.danger[disabled]:focus, +fieldset[disabled] .notification_widget.danger:focus, +.notification_widget.danger.disabled.focus, +.notification_widget.danger[disabled].focus, +fieldset[disabled] .notification_widget.danger.focus { + background-color:#d9534f; + border-color:#d43f3a; +} + +.notification_widget.danger .badge { + color:#d9534f; + background-color:#fff; +} + +div#pager { + background-color:#fff; + font-size:14px; + line-height:20px; + overflow:hidden; + display:none; + position:fixed; + bottom:0px; + width:100%; + max-height:50%; + padding-top:8px; + -webkit-box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2); + /* Display over codemirror */ + z-index:100; + /* Hack which prevents jquery ui resizable from changing top. */ + top:auto !important; +} + +div#pager pre { + line-height:1.21429em; + color:#000; + background-color:#f7f7f7; + padding:0.4em; +} + +div#pager #pager-button-area { + position:absolute; + top:8px; + right:20px; +} + +div#pager #pager-contents { + position:relative; + overflow:auto; + width:100%; + height:100%; +} + +div#pager #pager-contents #pager-container { + position:relative; + padding:15px 0px; + box-sizing:border-box; + -moz-box-sizing:border-box; + -webkit-box-sizing:border-box; +} + +div#pager .ui-resizable-handle { + top:0px; + height:8px; + background:#f7f7f7; + border-top:1px solid #cfcfcf; + border-bottom:1px solid #cfcfcf; + /* This injects handle bars (a short, wide = symbol) for + the resize handle. */ +} + +div#pager .ui-resizable-handle::after { + content:''; + top:2px; + left:50%; + height:3px; + width:30px; + margin-left:-15px; + position:absolute; + border-top:1px solid #cfcfcf; +} + +.quickhelp { + /* Old browsers */ + display:-webkit-box; + -webkit-box-orient:horizontal; + -webkit-box-align:stretch; + display:-moz-box; + -moz-box-orient:horizontal; + -moz-box-align:stretch; + display:box; + box-orient:horizontal; + box-align:stretch; + /* Modern browsers */ + display:flex; + flex-direction:row; + align-items:stretch; + line-height:1.8em; +} + +.shortcut_key { + display:inline-block; + width:20ex; + text-align:right; + font-family:monospace; +} + +.shortcut_descr { + display:inline-block; + /* Old browsers */ + -webkit-box-flex:1; + -moz-box-flex:1; + box-flex:1; + /* Modern browsers */ + flex:1; +} + +span.save_widget { + margin-top:6px; +} + +span.save_widget span.filename { + height:1em; + line-height:1em; + padding:3px; + margin-left:16px; + border:none; + font-size:146.5%; + border-radius:2px; +} + +span.save_widget span.filename:hover { + background-color:#e6e6e6; +} + +span.checkpoint_status, +span.autosave_status { + font-size:small; +} + +@media (max-width:767px) { + span.save_widget { + font-size:small; + } + + span.checkpoint_status, + span.autosave_status { + display:none; + } +} + +@media (min-width:768px) and (max-width:991px) { + span.checkpoint_status { + display:none; + } + + span.autosave_status { + font-size:x-small; + } +} + +.toolbar { + padding:0px; + margin-left:-5px; + margin-top:2px; + margin-bottom:5px; + box-sizing:border-box; + -moz-box-sizing:border-box; + -webkit-box-sizing:border-box; +} + +.toolbar select, +.toolbar label { + width:auto; + vertical-align:middle; + margin-right:2px; + margin-bottom:0px; + display:inline; + font-size:92%; + margin-left:0.3em; + margin-right:0.3em; + padding:0px; + padding-top:3px; +} + +.toolbar .btn { + padding:2px 8px; +} + +.toolbar .btn-group { + margin-top:0px; + margin-left:5px; +} + +#maintoolbar { + margin-bottom:-3px; + margin-top:-8px; + border:0px; + min-height:27px; + margin-left:0px; + padding-top:11px; + padding-bottom:3px; +} + +#maintoolbar .navbar-text { + float:none; + vertical-align:middle; + text-align:right; + margin-left:5px; + margin-right:0px; + margin-top:0px; +} + +.select-xs { + height:24px; +} + +.pulse, +.dropdown-menu > li > a.pulse, +li.pulse > a.dropdown-toggle, +li.pulse.open > a.dropdown-toggle { + background-color:#f37626; + color:white; +} + +/** + * Primary styles + * + * Author: Jupyter Development Team + */ +/** WARNING IF YOU ARE EDITTING THIS FILE, if this is a .css file, It has a lot + * of chance of beeing generated from the ../less/[samename].less file, you can + * try to get back the less file by reverting somme commit in history + **/ +/* + * We'll try to get something pretty, so we + * have some strange css to have the scroll bar on + * the left with fix button on the top right of the tooltip + */ +@-moz-keyframes fadeOut { + from { + opacity:1; + } + to { + opacity:0; + } +} + +@-webkit-keyframes fadeOut { + from { + opacity:1; + } + to { + opacity:0; + } +} + +@-moz-keyframes fadeIn { + from { + opacity:0; + } + to { + opacity:1; + } +} + +@-webkit-keyframes fadeIn { + from { + opacity:0; + } + to { + opacity:1; + } +} + +/*properties of tooltip after "expand"*/ +.bigtooltip { + overflow:auto; + height:200px; + -webkit-transition-property:height; + -webkit-transition-duration:500ms; + -moz-transition-property:height; + -moz-transition-duration:500ms; + transition-property:height; + transition-duration:500ms; +} + +/*properties of tooltip before "expand"*/ +.smalltooltip { + -webkit-transition-property:height; + -webkit-transition-duration:500ms; + -moz-transition-property:height; + -moz-transition-duration:500ms; + transition-property:height; + transition-duration:500ms; + text-overflow:ellipsis; + overflow:hidden; + height:80px; +} + +.tooltipbuttons { + position:absolute; + padding-right:15px; + top:0px; + right:0px; +} + +.tooltiptext { + /*avoid the button to overlap on some docstring*/ + padding-right:30px; +} + +.ipython_tooltip { + max-width:700px; + /*fade-in animation when inserted*/ + -webkit-animation:fadeOut 400ms; + -moz-animation:fadeOut 400ms; + animation:fadeOut 400ms; + -webkit-animation:fadeIn 400ms; + -moz-animation:fadeIn 400ms; + animation:fadeIn 400ms; + vertical-align:middle; + background-color:#f7f7f7; + overflow:visible; + border:#ababab 1px solid; + outline:none; + padding:3px; + margin:0px; + padding-left:7px; + font-family:monospace; + min-height:50px; + -moz-box-shadow:0px 6px 10px -1px #adadad; + -webkit-box-shadow:0px 6px 10px -1px #adadad; + box-shadow:0px 6px 10px -1px #adadad; + border-radius:2px; + position:absolute; + z-index:1000; +} + +.ipython_tooltip a { + float:right; +} + +.ipython_tooltip .tooltiptext pre { + border:0; + border-radius:0; + font-size:100%; + background-color:#f7f7f7; +} + +.pretooltiparrow { + left:0px; + margin:0px; + top:-16px; + width:40px; + height:16px; + overflow:hidden; + position:absolute; +} + +.pretooltiparrow:before { + background-color:#f7f7f7; + border:1px #ababab solid; + z-index:11; + content:""; + position:absolute; + left:15px; + top:10px; + width:25px; + height:25px; + -webkit-transform:rotate(45deg); + -moz-transform:rotate(45deg); + -ms-transform:rotate(45deg); + -o-transform:rotate(45deg); +} + +ul.typeahead-list i { + margin-left:-10px; + width:18px; +} + +ul.typeahead-list { + max-height:80vh; + overflow:auto; +} + +ul.typeahead-list > li > a { + /** Firefox bug **/ + /* see https://github.com/jupyter/notebook/issues/559 */ + white-space:normal; +} + +.cmd-palette .modal-body { + padding:7px; +} + +.cmd-palette form { + background:white; +} + +.cmd-palette input { + outline:none; +} + +.no-shortcut { + display:none; +} + +.command-shortcut:before { + content:"(command)"; + padding-right:3px; + color:#777; +} + +.edit-shortcut:before { + content:"(edit)"; + padding-right:3px; + color:#777; +} + +#find-and-replace #replace-preview .match, +#find-and-replace #replace-preview .insert { + background-color:#bbdefb; + border-color:#90caf9; + border-style:solid; + border-width:1px; + border-radius:0px; +} + +#find-and-replace #replace-preview .replace .match { + background-color:#ffcdd2; + border-color:#ef9a9a; + border-radius:0px; +} + +#find-and-replace #replace-preview .replace .insert { + background-color:#c8e6c9; + border-color:#a5d6a7; + border-radius:0px; +} + +#find-and-replace #replace-preview { + max-height:60vh; + overflow:auto; +} + +#find-and-replace #replace-preview pre { + padding:5px 10px; +} + +.terminal-app { + background:#eee; +} + +.terminal-app #header { + background:#fff; + -webkit-box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2); + box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.2); +} + +.terminal-app .terminal { + float:left; + font-family:monospace; + color:white; + background:black; + padding:0.4em; + border-radius:2px; + -webkit-box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.4); + box-shadow:0px 0px 12px 1px rgba(87, 87, 87, 0.4); +} + +.terminal-app .terminal, +.terminal-app .terminal dummy-screen { + line-height:1em; + font-size:14px; +} + +.terminal-app .terminal-cursor { + color:black; + background:white; +} + +.terminal-app #terminado-container { + margin-top:20px; +} + +/*# sourceMappingURL=style.min.css.map */ +< +/ +style > +< style type + += +"text/css" +> +.highlight .hll { background-color:#ffc } + +.highlight { background:#f8f8f8; } + +.highlight .c { color:#408080; font-style:italic } + +/* Comment */ +.highlight .err { border:1px solid #f00 } + +/* Error */ +.highlight .k { color:#008000; font-weight:bold } + +/* Keyword */ +.highlight .o { color:#666 } + +/* Operator */ +.highlight .ch { color:#408080; font-style:italic } + +/* Comment.Hashbang */ +.highlight .cm { color:#408080; font-style:italic } + +/* Comment.Multiline */ +.highlight .cp { color:#bc7a00 } + +/* Comment.Preproc */ +.highlight .cpf { color:#408080; font-style:italic } + +/* Comment.PreprocFile */ +.highlight .c1 { color:#408080; font-style:italic } + +/* Comment.Single */ +.highlight .cs { color:#408080; font-style:italic } + +/* Comment.Special */ +.highlight .gd { color:#a00000 } + +/* Generic.Deleted */ +.highlight .ge { font-style:italic } + +/* Generic.Emph */ +.highlight .gr { color:#f00 } + +/* Generic.Error */ +.highlight .gh { color:#000080; font-weight:bold } + +/* Generic.Heading */ +.highlight .gi { color:#00a000 } + +/* Generic.Inserted */ +.highlight .go { color:#888 } + +/* Generic.Output */ +.highlight .gp { color:#000080; font-weight:bold } + +/* Generic.Prompt */ +.highlight .gs { font-weight:bold } + +/* Generic.Strong */ +.highlight .gu { color:#800080; font-weight:bold } + +/* Generic.Subheading */ +.highlight .gt { color:#04d } + +/* Generic.Traceback */ +.highlight .kc { color:#008000; font-weight:bold } + +/* Keyword.Constant */ +.highlight .kd { color:#008000; font-weight:bold } + +/* Keyword.Declaration */ +.highlight .kn { color:#008000; font-weight:bold } + +/* Keyword.Namespace */ +.highlight .kp { color:#008000 } + +/* Keyword.Pseudo */ +.highlight .kr { color:#008000; font-weight:bold } + +/* Keyword.Reserved */ +.highlight .kt { color:#b00040 } + +/* Keyword.Type */ +.highlight .m { color:#666 } + +/* Literal.Number */ +.highlight .s { color:#ba2121 } + +/* Literal.String */ +.highlight .na { color:#7d9029 } + +/* Name.Attribute */ +.highlight .nb { color:#008000 } + +/* Name.Builtin */ +.highlight .nc { color:#00f; font-weight:bold } + +/* Name.Class */ +.highlight .no { color:#800 } + +/* Name.Constant */ +.highlight .nd { color:#a2f } + +/* Name.Decorator */ +.highlight .ni { color:#999; font-weight:bold } + +/* Name.Entity */ +.highlight .ne { color:#d2413a; font-weight:bold } + +/* Name.Exception */ +.highlight .nf { color:#00f } + +/* Name.Function */ +.highlight .nl { color:#a0a000 } + +/* Name.Label */ +.highlight .nn { color:#00f; font-weight:bold } + +/* Name.Namespace */ +.highlight .nt { color:#008000; font-weight:bold } + +/* Name.Tag */ +.highlight .nv { color:#19177c } + +/* Name.Variable */ +.highlight .ow { color:#a2f; font-weight:bold } + +/* Operator.Word */ +.highlight .w { color:#bbb } + +/* Text.Whitespace */ +.highlight .mb { color:#666 } + +/* Literal.Number.Bin */ +.highlight .mf { color:#666 } + +/* Literal.Number.Float */ +.highlight .mh { color:#666 } + +/* Literal.Number.Hex */ +.highlight .mi { color:#666 } + +/* Literal.Number.Integer */ +.highlight .mo { color:#666 } + +/* Literal.Number.Oct */ +.highlight .sb { color:#ba2121 } + +/* Literal.String.Backtick */ +.highlight .sc { color:#ba2121 } + +/* Literal.String.Char */ +.highlight .sd { color:#ba2121; font-style:italic } + +/* Literal.String.Doc */ +.highlight .s2 { color:#ba2121 } + +/* Literal.String.Double */ +.highlight .se { color:#b62; font-weight:bold } + +/* Literal.String.Escape */ +.highlight .sh { color:#ba2121 } + +/* Literal.String.Heredoc */ +.highlight .si { color:#b68; font-weight:bold } + +/* Literal.String.Interpol */ +.highlight .sx { color:#008000 } + +/* Literal.String.Other */ +.highlight .sr { color:#b68 } + +/* Literal.String.Regex */ +.highlight .s1 { color:#ba2121 } + +/* Literal.String.Single */ +.highlight .ss { color:#19177c } + +/* Literal.String.Symbol */ +.highlight .bp { color:#008000 } + +/* Name.Builtin.Pseudo */ +.highlight .vc { color:#19177c } + +/* Name.Variable.Class */ +.highlight .vg { color:#19177c } + +/* Name.Variable.Global */ +.highlight .vi { color:#19177c } + +/* Name.Variable.Instance */ +.highlight .il { color:#666 } + +/* Literal.Number.Integer.Long */ +< +/ +style > +< style type + += +"text/css" +> + +/* Temporary definitions which will become obsolete with Notebook release 5.0 */ +.ansi-black-fg { color:#3e424d; } + +.ansi-black-bg { background-color:#3e424d; } + +.ansi-black-intense-fg { color:#282c36; } + +.ansi-black-intense-bg { background-color:#282c36; } + +.ansi-red-fg { color:#e75c58; } + +.ansi-red-bg { background-color:#e75c58; } + +.ansi-red-intense-fg { color:#b22b31; } + +.ansi-red-intense-bg { background-color:#b22b31; } + +.ansi-green-fg { color:#00a250; } + +.ansi-green-bg { background-color:#00a250; } + +.ansi-green-intense-fg { color:#007427; } + +.ansi-green-intense-bg { background-color:#007427; } + +.ansi-yellow-fg { color:#ddb62b; } + +.ansi-yellow-bg { background-color:#ddb62b; } + +.ansi-yellow-intense-fg { color:#b27d12; } + +.ansi-yellow-intense-bg { background-color:#b27d12; } + +.ansi-blue-fg { color:#208ffb; } + +.ansi-blue-bg { background-color:#208ffb; } + +.ansi-blue-intense-fg { color:#0065ca; } + +.ansi-blue-intense-bg { background-color:#0065ca; } + +.ansi-magenta-fg { color:#d160c4; } + +.ansi-magenta-bg { background-color:#d160c4; } + +.ansi-magenta-intense-fg { color:#a03196; } + +.ansi-magenta-intense-bg { background-color:#a03196; } + +.ansi-cyan-fg { color:#60c6c8; } + +.ansi-cyan-bg { background-color:#60c6c8; } + +.ansi-cyan-intense-fg { color:#258f8f; } + +.ansi-cyan-intense-bg { background-color:#258f8f; } + +.ansi-white-fg { color:#c5c1b4; } + +.ansi-white-bg { background-color:#c5c1b4; } + +.ansi-white-intense-fg { color:#a1a6b2; } + +.ansi-white-intense-bg { background-color:#a1a6b2; } + +.ansi-bold { font-weight:bold; } + +< +/ +style > +< style type + += +"text/css" +> +/* Overrides of notebook CSS for static HTML export */ +body { + overflow:visible; + padding:8px; +} + +div#notebook { + overflow:visible; + border-top:none; +} + +@media print { + 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; + } } \ No newline at end of file diff --git a/public/js/json_tree.js b/public/js/json_tree.js index 795a622..b39e6fa 100644 --- a/public/js/json_tree.js +++ b/public/js/json_tree.js @@ -7,7 +7,7 @@ var json_tree_intro = '[{"text":"自然地理概况","nodes":[{"text":"地理位 var json_tree_origin = '[{"text":"遥感监测","nodes":[{"text":"土地利用/土地覆盖","href":"/origin/land_use"},{"text":"生态环境质量状况","href":"/origin/ecology"},{"text":"牧草产量","href":"/origin/forage_yield"},{"text":"土壤侵蚀","href":"/origin/soil_erosion"}]},{"text":"地面监测","nodes":[{"text":"气象监测","href":"/origin/meteorological"},{"text":"水文水资源监测","href":"/origin/water"},{"text":"草地生态监测","href":"/origin/grass"},{"text":"森林监测","href":"/origin/forest"},{"text":"沙化土地监测","href":"/origin/desertification"},{"text":"湿地监测","href":"/origin/wetland"},{"text":"水土保持监测","href":"/origin/soil_and_water_conservation"},{"text":"环境质量监测","href":"/origin/env_quality_monitoring"}]},{"text":"社会经济调查","nodes":[{"text":"人口","href":"#"},{"text":"社会经济","href":"#"},{"text":"环境保护机构","href":"#"},{"text":"污染源","href":"#"},{"text":"生态移民","href":"#"},{"text":"工程项目","href":"#"}]}]'; -var json_tree_ei = '[{"text":"生态系统宏观结构","nodes":[{"text":"分类面积"},{"text":"变化率"},{"text":"动态度"},{"text":"宏观结构变化指数"},{"text":"群落结构特征"}]},{"text":"生态系统质量","nodes":[{"text":"草地退化/恢复"},{"text":"生产力"},{"text":"地表覆盖"},{"text":"环境质量"},{"text":"多年冻土"}]},{"text":"生态系统服务功能","nodes":[{"text":"水分调节"},{"text":"持水能力"},{"text":"径流调节"},{"text":"水土保持"},{"text":"防风固沙"},{"text":"牧草供给"},{"text":"水供给"},{"text":"栖息地隐蔽性"},{"text":"栖息地食物供给"},{"text":"栖息地水源供给"},{"text":"人类干扰程度"}]},{"text":"生态系统变化的影响","nodes":[{"text":"气候变化"},{"text":"人类活动"}]}]'; +var json_tree_ei = '[{"text":"生态系统宏观结构","nodes":[{"text":"分类面积","href":"/ei/classification_area"},{"text":"变化率"},{"text":"动态度"},{"text":"宏观结构变化指数"},{"text":"群落结构特征"}]},{"text":"生态系统质量","nodes":[{"text":"草地退化/恢复"},{"text":"生产力"},{"text":"地表覆盖"},{"text":"环境质量"},{"text":"多年冻土"}]},{"text":"生态系统服务功能","nodes":[{"text":"水分调节"},{"text":"持水能力"},{"text":"径流调节"},{"text":"水土保持"},{"text":"防风固沙"},{"text":"牧草供给"},{"text":"水供给"},{"text":"栖息地隐蔽性"},{"text":"栖息地食物供给"},{"text":"栖息地水源供给"},{"text":"人类干扰程度"}]},{"text":"生态系统变化的影响","nodes":[{"text":"气候变化"},{"text":"人类活动"}]}]'; diff --git a/public/js/mod.js b/public/js/mod.js index a8594d9..b459ff8 100644 --- a/public/js/mod.js +++ b/public/js/mod.js @@ -11,6 +11,15 @@ $('.navbar-nav li a').each(function () { }); +function onEachFeature(feature, layer) { + var out = []; + if (feature.properties) { + for (var key in feature.properties) { + out.push(key + ": " + feature.properties[key]); + } + } + layer.bindPopup(out.join("
")); +} // $(document).on('click', '.navbar-nav li', function () { // $(".nav-list li").removeClass("active"); diff --git a/routes/ei.js b/routes/ei.js index b2250ff..6932a27 100644 --- a/routes/ei.js +++ b/routes/ei.js @@ -4,9 +4,17 @@ var router = express.Router(); router.get('/', function (req, res, next) { res.render('ei', { + page_cont: null, page_title: '评价指标数据' }); }); +router.get('/classification_area', function (req, res, next) { + res.render('ei', { + page_title: 'classification_area', + page_cont: 'inc', + inc_tag: 'classification_area' + }); +}); module.exports = router; diff --git a/views/ei.html b/views/ei.html index b79af11..4b85493 100644 --- a/views/ei.html +++ b/views/ei.html @@ -5,16 +5,9 @@
- -
-

评估结果

- - -
+ <% if (page_cont == 'inc') { %> + <%- include('inc/' + inc_tag) %> + <% } %>
diff --git a/views/inc/classification_area.ejs b/views/inc/classification_area.ejs new file mode 100644 index 0000000..d626edc --- /dev/null +++ b/views/inc/classification_area.ejs @@ -0,0 +1,466 @@ + +
+

评估结果

+ + +
\ No newline at end of file