├── .gitattributes ├── .gitignore ├── .travis.yml ├── CHANGELOG.md ├── LICENSE ├── MANIFEST.in ├── README.md ├── images ├── color.png ├── default.png ├── layout.png └── typography.png ├── jupythemer ├── __init__.py ├── jupythemer.py └── styles │ ├── background │ └── dark.css │ ├── code_font │ ├── Inconsolata.css │ ├── Inconsolata.import │ ├── Source_Code_Pro.css │ ├── Source_Code_Pro.import │ ├── Ubuntu_Mono.css │ └── Ubuntu_Mono.import │ ├── color │ ├── 3024-day.css │ ├── 3024-night.css │ ├── abcdef.css │ ├── ambiance.css │ ├── base16-dark.css │ ├── base16-light.css │ ├── blackboard.css │ ├── cobalt.css │ ├── colorforth.css │ ├── dracula.css │ ├── eclipse.css │ ├── elegant.css │ ├── erlang-dark.css │ ├── icecoder.css │ ├── lesser-dark.css │ ├── liquibyte.css │ ├── material.css │ ├── mbo.css │ ├── mdn-like.css │ ├── midnight.css │ ├── monokai.css │ ├── neat.css │ ├── neo.css │ ├── night.css │ ├── paraiso-dark.css │ ├── paraiso-light.css │ ├── pastel-on-dark.css │ ├── rubyblue.css │ ├── seti.css │ ├── solarized-dark.css │ ├── solarized-light.css │ ├── the-matrix.css │ ├── tomorrow-night-bright.css │ ├── tomorrow-night-eighties.css │ ├── ttcn.css │ ├── twilight.css │ ├── vibrant-ink.css │ ├── xq-dark.css │ ├── xq-light.css │ ├── yeti.css │ └── zenburn.css │ ├── layout │ ├── hovertable.css │ └── wide.css │ └── typography │ ├── serif.css │ └── serif.import ├── setup.cfg ├── setup.py └── tests ├── __init__.py └── test_script.py /.gitattributes: -------------------------------------------------------------------------------- 1 | *.css linguist-language=Python -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | env/ 12 | build/ 13 | develop-eggs/ 14 | dist/ 15 | downloads/ 16 | eggs/ 17 | .eggs/ 18 | lib/ 19 | lib64/ 20 | parts/ 21 | sdist/ 22 | var/ 23 | *.egg-info/ 24 | .installed.cfg 25 | *.egg 26 | *.env 27 | 28 | # PyInstaller 29 | # Usually these files are written by a python script from a template 30 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 31 | *.manifest 32 | *.spec 33 | 34 | # Installer logs 35 | pip-log.txt 36 | pip-delete-this-directory.txt 37 | 38 | # Unit test / coverage reports 39 | htmlcov/ 40 | .tox/ 41 | .coverage 42 | .coverage.* 43 | .cache 44 | nosetests.xml 45 | coverage.xml 46 | *,cover 47 | 48 | # Translations 49 | *.mo 50 | *.pot 51 | 52 | # Django stuff: 53 | *.log 54 | 55 | # Sphinx documentation 56 | docs/_build/ 57 | 58 | # PyBuilder 59 | target/ 60 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: python 2 | python: 3 | - "2.7" 4 | - "3.5" 5 | - "3.6" 6 | install: 7 | - if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then 8 | pip install six jupyter notebook 'ipython>=5.0,<6.0'; 9 | else 10 | pip install jupyter notebook 'ipython>=6.0'; 11 | fi 12 | script: nosetests 13 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ### 0.4.0 2 | 3 | (July 5, 2017) 4 | 5 | - Allow specifying fonts without typography [#16](https://github.com/transcranial/jupyter-themer/pull/16) (@musically-ut) 6 | - Add Source Code Pro as a font option [#17](https://github.com/transcranial/jupyter-themer/pull/17) (@musically-ut) 7 | - Add Inconsolata font [#18](https://github.com/transcranial/jupyter-themer/pull/18) (@musically-ut) 8 | - Add option for custom path to custom.css [#23](https://github.com/transcranial/jupyter-themer/pull/23) (@raino01r) 9 | - Create MANIFEST.in [#25](https://github.com/transcranial/jupyter-themer/pull/25) (@pmlandwehr) 10 | 11 | ### 0.3.0 12 | 13 | (September 17, 2016) 14 | 15 | - Added argument to list available options for each type [#15](https://github.com/transcranial/jupyter-themer/pull/15) (@wtgee) 16 | 17 | example: `jupyter-themer --show color` 18 | 19 | ### 0.2.0 20 | 21 | (August 18, 2016) 22 | 23 | - solarized into solarized-light/solarized-dark [#10](https://github.com/transcranial/jupyter-themer/pull/10) (@shian48263) 24 | 25 | example: `jupyter-themer -c solarized-light` 26 | 27 | - New arguments for theme options: code-font, UI colorscheme [#11](https://github.com/transcranial/jupyter-themer/pull/11) (@niloch) 28 | 29 | example: `jupyter-themer -c base16-dark -l wide -b dark -f Ubuntu_Mono` 30 | 31 | - Table layout with hover-over color change [#12](https://github.com/transcranial/jupyter-themer/pull/12) (@dtsmith2001) 32 | 33 | example: `jupyter-themer -l hovertable` 34 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Leon Chen 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include LICENSE 2 | include README.md 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # jupyter-themer 2 | 3 | ![https://travis-ci.org/transcranial/jupyter-themer](https://travis-ci.org/transcranial/jupyter-themer.svg?branch=master) ![https://pypi.python.org/pypi/jupyter-themer/0.1.0](https://img.shields.io/pypi/v/jupyter-themer.svg) 4 | 5 | Apply custom CSS styling to your jupyter notebooks. Contributions are welcome! 6 | 7 | Mix and match themes by: 8 | 9 | - layout (example: `wide`) 10 | 11 | ![layout](images/layout.png) 12 | 13 | - typography (example: `serif`) 14 | 15 | ![typography](images/typography.png) 16 | 17 | - color (example: `night`) 18 | 19 | ![color](images/color.png) 20 | 21 | You can always revert back to the default: 22 | 23 | ![default](images/default.png) 24 | 25 | ### Installation 26 | 27 | ```sh 28 | pip install jupyter-themer 29 | ``` 30 | 31 | or 32 | 33 | ```sh 34 | python setup.py install 35 | ``` 36 | 37 | ### Usage 38 | 39 | NOTE: Old ipython configuration files, for example at the default `~/.ipython`, may need to be removed in order for jupyter to use the correct files. 40 | 41 | ```sh 42 | usage: jupyter-themer [-c COLOR, --color COLOR] 43 | [-l LAYOUT, --layout LAYOUT] 44 | [-t TYPOGRAPHY, --typography TYPOGRAPHY] 45 | [-f CODE_FONT, --font CODE_FONT] 46 | [-b BACKGROUND, --background BACKGROUND] 47 | [-s OPTION, --show OPTION] 48 | [-p PATH, --css_path PATH] 49 | ``` 50 | 51 | If no arguments are supplied, the program will revert the jupyter notebook style back to default. 52 | 53 | Any combination of the style types can be specified, and the program will mix together the associated color/layout/typographic/code font/background css files accordingly, writing it to the `custom.css` file used by the notebook. Use `-p` or `--css_path` to specify a custom path for the css file, for example if you need per-user configuration. 54 | 55 | To get a list of available options use the `show` argument, e.g. `jupyter-themer --show color` 56 | 57 | For all running notebooks, a quick browser refresh will be needed to apply the stylesheet. 58 | 59 | ### Available themes 60 | 61 | ##### `-c, --color` 62 | 63 | - `3024-day` 64 | - `3024-night` 65 | - `abcdef` 66 | - `ambiance` 67 | - `base16-dark` 68 | - `base16-light` 69 | - `blackboard` 70 | - `cobalt` 71 | - `colorforth` 72 | - `dracula` 73 | - `eclipse` 74 | - `elegant` 75 | - `erlang-dark` 76 | - `icecoder` 77 | - `lesser-dark` 78 | - `liquibyte` 79 | - `material` 80 | - `mbo` 81 | - `mdn-like` 82 | - `midnight` 83 | - `monokai` 84 | - `neat` 85 | - `neo` 86 | - `night` 87 | - `paraiso-dark` 88 | - `paraiso-light` 89 | - `pastel-on-dark` 90 | - `rubyblue` 91 | - `seti` 92 | - `solarized-light` 93 | - `solarized-dark` 94 | - `the-matrix` 95 | - `tomorrow-night-bright` 96 | - `tomorrow-night-eighties` 97 | - `ttcn` 98 | - `twilight` 99 | - `vibrant-ink` 100 | - `xq-dark` 101 | - `xq-light` 102 | - `yeti` 103 | - `zenburn` 104 | 105 | ##### `-l, --layout` 106 | 107 | - `wide` 108 | - `hovertable` 109 | 110 | ##### `-t, --typography` 111 | 112 | - `serif` 113 | 114 | ##### `-f, --font` 115 | 116 | - `Ubuntu_Mono` 117 | 118 | ##### `-b, --background` 119 | 120 | - `dark` 121 | 122 | ### License 123 | 124 | MIT License 125 | -------------------------------------------------------------------------------- /images/color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/transcranial/jupyter-themer/c12a953315734b90147a078750cfbe323eda340d/images/color.png -------------------------------------------------------------------------------- /images/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/transcranial/jupyter-themer/c12a953315734b90147a078750cfbe323eda340d/images/default.png -------------------------------------------------------------------------------- /images/layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/transcranial/jupyter-themer/c12a953315734b90147a078750cfbe323eda340d/images/layout.png -------------------------------------------------------------------------------- /images/typography.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/transcranial/jupyter-themer/c12a953315734b90147a078750cfbe323eda340d/images/typography.png -------------------------------------------------------------------------------- /jupythemer/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/transcranial/jupyter-themer/c12a953315734b90147a078750cfbe323eda340d/jupythemer/__init__.py -------------------------------------------------------------------------------- /jupythemer/jupythemer.py: -------------------------------------------------------------------------------- 1 | from __future__ import print_function 2 | 3 | import argparse 4 | import glob 5 | import notebook 6 | import os 7 | import sys 8 | 9 | 10 | current_dir = os.path.dirname(os.path.realpath(__file__)) 11 | notebook_dir = os.path.dirname(notebook.__file__) 12 | custom_css_filepath = notebook_dir + '/static/custom/custom.css' 13 | 14 | 15 | def write_to_css(content, css_path): 16 | try: 17 | with open(css_path, 'w+') as f: 18 | f.write(content) 19 | except: 20 | print('Error writing to custom.css') 21 | sys.exit(1) 22 | 23 | 24 | def run(args=None): 25 | if args is None: 26 | parser = argparse.ArgumentParser(description='Jupyter notebook themer.') 27 | parser.add_argument('-c', '--color', required=False, dest='color', default=None, help='color style') 28 | parser.add_argument('-l', '--layout', required=False, dest='layout', default=None, help='layout style') 29 | parser.add_argument('-t', '--typography', required=False, dest='typography', 30 | default=None, help='typography style') 31 | parser.add_argument('-f', '--font', required=False, dest='font', default=None, help='code font family') 32 | parser.add_argument('-b', '--background', required=False, dest='background', 33 | default=None, help='background theme styling') 34 | parser.add_argument('-s', '--show', required=False, dest='show', 35 | default=None, help='show available choices') 36 | parser.add_argument('-p', '--css_path', required=False, dest='css_path', 37 | default=custom_css_filepath, help='custom css path.(default:%s)' % custom_css_filepath) 38 | args = parser.parse_args() 39 | 40 | if (args.color is None 41 | and args.layout is None 42 | and args.typography is None 43 | and args.font is None 44 | and args.background is None 45 | and args.show is None): 46 | print('Jupyter notebook reverted to default style.') 47 | write_to_css('', args.css_path) 48 | sys.exit() 49 | 50 | if args.show in ['color', 'layout', 'typography', 'font', 'background']: 51 | if args.show == 'font': 52 | args.show = 'code_font' 53 | options = glob.glob('{}/styles/{}/*.css'.format(current_dir, args.show)) 54 | for option in sorted(options): 55 | print(os.path.basename(option).split('.')[0]) 56 | sys.exit() 57 | 58 | content_all = '' 59 | 60 | if args.typography is not None: 61 | try: 62 | with open('{}/styles/typography/{}.import'.format(current_dir, args.typography), 'r') as f_color: 63 | content_all += f_color.read() + '\n' 64 | except: 65 | print('Bad argument passed to --typography') 66 | sys.exit(1) 67 | 68 | if args.font is not None: 69 | try: 70 | with open('{}/styles/code_font/{}.import'.format(current_dir, args.font), 'r') as f_font: 71 | content_all += f_font.read() + '\n' 72 | except: 73 | print('Bad argument passed to --font') 74 | sys.exit(1) 75 | 76 | if args.color is not None: 77 | try: 78 | with open('{}/styles/color/{}.css'.format(current_dir, args.color), 'r') as f_color: 79 | content_all += f_color.read() + '\n' 80 | except: 81 | print('Bad argument passed to --color') 82 | sys.exit(1) 83 | 84 | if args.layout is not None: 85 | try: 86 | with open('{}/styles/layout/{}.css'.format(current_dir, args.layout), 'r') as f_layout: 87 | content_all += f_layout.read() + '\n' 88 | except: 89 | print('Bad argument passed to --layout') 90 | sys.exit(1) 91 | 92 | if args.typography is not None: 93 | try: 94 | with open('{}/styles/typography/{}.css'.format(current_dir, args.typography), 'r') as f_typography: 95 | content_all += f_typography.read() + '\n' 96 | except: 97 | print('Bad argument passed to --typography') 98 | sys.exit(1) 99 | 100 | if args.font is not None: 101 | try: 102 | with open('{}/styles/code_font/{}.css'.format(current_dir, args.font), 'r') as f_font: 103 | content_all += f_font.read() + '\n' 104 | except: 105 | print('Bad argument passed to --font') 106 | sys.exit(1) 107 | 108 | if args.background is not None: 109 | try: 110 | with open('{}/styles/background/{}.css'.format(current_dir, args.background), 'r') as f_background: 111 | content_all += f_background.read() + '\n' 112 | except: 113 | print('Bad argument passed to --background') 114 | sys.exit(1) 115 | 116 | write_to_css(content_all, args.css_path) 117 | print('Custom jupyter notebook theme created - refresh any open jupyter notebooks to apply theme.') 118 | 119 | 120 | if __name__ == '__main__': 121 | run() 122 | -------------------------------------------------------------------------------- /jupythemer/styles/background/dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | Dark theme for Jupyter Notebook/iPython 4 3 | Author: Theodore Pak 4 | Repo at: https://github.com/powerpak/jupyter-dark-theme 5 | 6 | Inspired by and adapted from the following: 7 | Base16 for iPython Notebook (https://github.com/nsonnad/base16-ipython-notebook) 8 | Base16 Twilight Dark, David Hart (http://hart-dev.com) 9 | CodeMirror template adapted for IPython Notebook by Nikhil Sonnad (https://github.com/nsonnad/base16-ipython-notebook) 10 | CodeMirror template by Jan T. Scott (https://github.com/idleberg/base16-chrome-devtools) 11 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) 12 | */ 13 | 14 | /* 15 | SET THE CODE/MONOSPACE FONT 16 | 17 | I prefer Bitsream Vera Sans Mono, which is freely downloadable here: 18 | http://www.dafont.com/bitstream-vera-mono.font 19 | However, there are plenty of alternatives at http://programmingfonts.org/ 20 | in which case, add your preferred font to the stack below. 21 | */ 22 | 23 | .CodeMirror pre, .CodeMirror-dialog, .CodeMirror-dialog .CodeMirror-search-field, .terminal-app .terminal { 24 | font-family: "Bitstream Vera Sans Mono", Monaco, monospace; 25 | font-size: 9pt; 26 | } 27 | .terminal-app .terminal { line-height: 1.3em; } 28 | div.output pre, div.output code, .rendered_html pre, .rendered_html code, div.completions select, div.container pre { 29 | font-family: "Bitstream Vera Sans Mono", Monaco, monospace; 30 | } 31 | div.output pre, div.output code, .rendered_html pre, .rendered_html p code, div.completions select, div.container pre { 32 | font-size: 9pt; 33 | } 34 | 35 | div.prompt, div.tooltiptext pre { 36 | font-family: "Bitstream Vera Sans Mono", Monaco, monospace; 37 | font-size: 8pt; 38 | } 39 | 40 | div.input_area { 41 | border-color: rgba(0, 0, 0, 0.10); 42 | background: rbga(0, 0, 0, 0.5); 43 | } 44 | 45 | /* GLOBALS */ 46 | 47 | @media not print { body { background-color: #eee; } } 48 | a { color: #CF4A4C; } 49 | a:hover, a:focus { color: #DE6F71; } 50 | 51 | /* INTRO PAGE */ 52 | 53 | body[data-notebook-path] { background-color: #222; } 54 | body[data-notebook-path] #header, .terminal-app #header { display: none !important; } 55 | 56 | .tabbable { color: #979797; } 57 | .nav-tabs { border-bottom-color: #444; } 58 | .nav-tabs > li > a:hover, .nav > li > a:focus { 59 | background-color: #333; 60 | border-color: #222 #222 #555 #222; 61 | } 62 | .nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover { 63 | color: #979797; 64 | background-color: #444; 65 | border-top-color: #444; 66 | border-right-color: #444; 67 | border-left-color: #444; 68 | } 69 | .list_container { border-color: #444; } 70 | .list_container > div { border-bottom-color: #444; } 71 | .list_item:hover { background-color: #333; } 72 | .list_header { background-color: #444; } 73 | #notebook_list input[type="checkbox"] { opacity: 0.3; } 74 | #notebook_list input[type="checkbox"]:checked { opacity: 1; } 75 | .item_icon { color: #777; } 76 | .panel { border-color: #444; background-color: #222; } 77 | .panel-default > .panel-heading { border-color: #444; } 78 | #site .panel-group .panel .panel-heading { background-color: #444; } 79 | #running .panel-group .panel .panel-body .list_container .list_item { border-bottom-color: #444; } 80 | 81 | /* Dropdown menus */ 82 | 83 | .dropdown-menu { 84 | background: rgba(50, 50, 50, 0.95); 85 | color: #b7b7b7; 86 | } 87 | .dropdown-menu > li > a, .dropdown-submenu > a:after, .dropdown-menu > li > a:visited:after { 88 | color: #b7b7b7; 89 | } 90 | .dropdown-menu .divider { 91 | background-color: #444; 92 | } 93 | .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { 94 | color: #fff; 95 | background-color: #444; 96 | } 97 | .dropdown-menu > li > a:hover:after, .dropdown-menu > li > a:focus:after, 98 | .dropdown-menu > li > a:active:after { 99 | color: #fff; 100 | } 101 | 102 | /* TERMINAL INTERFACE */ 103 | .terminal-app #site { background: #272727; } 104 | .terminal-app .terminal { background: #141414 !important; } 105 | 106 | /* NOTEBOOK AND EDITOR INTERFACE */ 107 | 108 | /* comment out the following line to unhide the toolbar */ 109 | /*div#maintoolbar { display: none !important; }*/ 110 | 111 | /* 112 | Header UI styles 113 | */ 114 | 115 | body.notebook_app > #header { display: block !important; } 116 | .notebook_app > #header, .edit_app > #header { 117 | background-color: #333; 118 | color: #b7b7b7; 119 | -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); 120 | box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); 121 | } 122 | .edit_app #menubar .navbar { margin-bottom: 0; } 123 | body > #header .header-bar { background: #444; } 124 | #header .navbar-brand { display: none; } 125 | #header .filename { margin-left: 0; margin-right: 2em; } 126 | #header .current_kernel_logo { width: 24px; height: 24px; } 127 | span.save_widget span.filename:hover { 128 | background: rgba(255, 255, 255, 0.15); 129 | color: #fff; 130 | text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.5); 131 | } 132 | .navbar-default { 133 | background: transparent; 134 | color: #b7b7b7; 135 | border-color: #444; 136 | } 137 | .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { 138 | color: #fff; 139 | } 140 | .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, 141 | .navbar-default .navbar-nav > .open > a:focus { 142 | color: #fff; 143 | background-color: #444; 144 | } 145 | 146 | @media not print { 147 | .notebook_app #notebook { 148 | background: #111; 149 | } 150 | 151 | .notebook_app #notebook-container, .edit_app #texteditor-backdrop { 152 | background: #272727; 153 | } 154 | } 155 | 156 | /* 157 | Inverting the notebook editor UI 158 | */ 159 | 160 | .celltoolbar { 161 | border-color: #444; 162 | background: #444; 163 | color: #b7b7b7; 164 | } 165 | .ctb_global_show .ctb_show ~ div.text_cell_render { 166 | border-color: #444; 167 | } 168 | .celltoolbar select { 169 | opacity: 0.5; 170 | } 171 | 172 | .modal-dialog .modal-content, .popover, .popover .popover-title { 173 | background: rgba(50, 50, 50, 0.95); 174 | color: #b7b7b7; 175 | } 176 | .modal-header, .popover-title { 177 | border-bottom-color: #444; 178 | } 179 | .modal-footer { 180 | border-top-color: #444; 181 | } 182 | .modal-dialog .close { 183 | color: #fff; 184 | text-shadow: 0 1px 0 #000; 185 | } 186 | .modal-dialog .alert-info { 187 | background-color: #373E42; 188 | color: #d9edf7; 189 | } 190 | .popover.bottom > .arrow:after { 191 | border-bottom-color: #444; 192 | } 193 | 194 | .btn:focus, .btn:active:focus { 195 | outline: 5px auto rgba(102, 175, 233, 0.3); 196 | outline-offset: -1px; 197 | } 198 | .btn-default { 199 | background-color: #555; 200 | border-color: #222; 201 | box-shadow: 0 0 1px rgba(0, 0, 0, 0.5); 202 | color: #aaa; 203 | } 204 | .btn-default:focus, .btn-default:hover { 205 | background-color: #555; 206 | border-color: #222; 207 | box-shadow: 0 0 3px rgba(0, 0, 0, 0.8); 208 | color: #bbb; 209 | } 210 | .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default { 211 | background-color: #474747; 212 | color: #999; 213 | box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.2); 214 | } 215 | .btn-default.disabled:focus, .btn-default.disabled:hover, 216 | .btn-default[disabled]:focus, .btn-default[disabled]:hover { 217 | background-color: #555; 218 | border-color: #222; 219 | box-shadow: 0 0 1px rgba(0, 0, 0, 0.5); 220 | color: #aaa; 221 | } 222 | .btn-default:active:hover, .btn-default:active:focus, 223 | .open > .dropdown-toggle.btn-default:hover, .open > .dropdown-toggle.btn-default:focus { 224 | background-color: #474747; 225 | color: #999; 226 | border-color: #222; 227 | box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.2); 228 | } 229 | 230 | .btn-primary { 231 | color: #eee; 232 | background-color: #4481b7; 233 | border-color: #222; 234 | box-shadow: 0 0 2px rgba(0, 0, 0, 0.5); 235 | } 236 | .btn-primary:focus, .btn-primary:hover { 237 | background-color: #4481b7; 238 | color: #fff; 239 | } 240 | .btn-primary:active { 241 | background-color: #306ea6; 242 | color: #ccc; 243 | } 244 | .btn-primary:active:hover, .btn-primary:active:focus { 245 | background-color: #306ea6; 246 | color: #ccc; 247 | } 248 | 249 | .form-control { 250 | background: #222; 251 | color: #eee; 252 | border-color: #777; 253 | } 254 | .form-control:focus { 255 | border-color: #458ac1; 256 | box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.3); 257 | } 258 | .form-control::selection { 259 | background: rgba(221, 240, 255, 0.19); 260 | } 261 | 262 | #complete { 263 | border-color: #444; 264 | background: rgba(50, 50, 50, 0.95); 265 | color: #b7b7b7; 266 | -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); 267 | box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); 268 | } 269 | .completions select { 270 | background: rgba(50, 50, 50, 0.95); 271 | color: #b7b7b7; 272 | } 273 | 274 | /* 275 | Set fonts and styles for outputted content 276 | */ 277 | 278 | div#notebook .text_cell_render { 279 | font-size: 16.25px; 280 | font-weight: 300; 281 | line-height: 1.25; 282 | } 283 | 284 | .rendered_html li p { 285 | margin-top: 1em; 286 | } 287 | 288 | .rendered_html h1 { 289 | color: #CF4A4C; 290 | } 291 | 292 | div.output_html { font-family: sans-serif; } 293 | 294 | /* 295 | Set colors and styles that we only want on the screen, not for print 296 | */ 297 | 298 | @media not print { 299 | .notebook_app div.cell.running .input .input_area { 300 | border-left-color: #82591E; 301 | -webkit-animation-name: pulseBorder; 302 | -webkit-animation-duration: 1s; 303 | -webkit-animation-iteration-count: infinite; 304 | -webkit-animation-direction: alternate; 305 | -webkit-animation-timing-function: ease-in-out; 306 | } 307 | @-webkit-keyframes pulseBorder { 308 | from { border-left-color: #82591E; } 309 | to { border-left-color: #eea236; } 310 | } 311 | 312 | .notebook_app div.input_prompt {color: #9b703f;} 313 | .notebook_app div.output_prompt {color: #9b859d;} 314 | .notebook_app div.input_area { 315 | border-radius: 0px; 316 | border: 1px solid #464b50; 317 | } 318 | .notebook_app div.output_area pre { font-weight: normal; color: #979797; } 319 | .notebook_app div.output_subarea { font-weight: normal; color: #979797; } 320 | .notebook_app div.output_stderr {background-color: #cf6a4c;} 321 | .notebook_app div.output_stderr pre {color: #eee;} 322 | 323 | .notebook_app .rendered_html table, .notebook_app .rendered_html th, .notebook_app .rendered_html tr, .notebook_app .rendered_html td { 324 | border: 1px #979797 solid; 325 | color: #979797; 326 | } 327 | .notebook_app div.text_cell_render, .notebook_app div.output_html { color: #979797; } 328 | .notebook_app table.dataframe tr { border: 1px #979797; } 329 | 330 | .notebook_app .rendered_html pre, .notebook_app .rendered_html code { 331 | border: 0; 332 | background-color: #444; 333 | color: #b0b0b0; 334 | padding: 0; 335 | } 336 | } 337 | 338 | /* 339 | Terminal text coloring 340 | */ 341 | 342 | span.ansiblack {color: #323537;} 343 | span.ansiblue {color: #afc4db;} 344 | span.ansigray {color: #838184;} 345 | span.ansigreen {color: #8f9d6a;} 346 | span.ansipurple {color: #9b859d;} 347 | span.ansired {color: #cf6a4c;} 348 | span.ansiyellow {color: #f9ee98;} 349 | 350 | 351 | /* 352 | Markdown editing 353 | */ 354 | 355 | .cm-s-default span.cm-header {color: #CF4A4C;} 356 | .cm-s-default span.cm-variable-2 {color: #7587A6;} 357 | .cm-s-default span.cm-comment {color: #7F7A80;} 358 | -------------------------------------------------------------------------------- /jupythemer/styles/code_font/Inconsolata.css: -------------------------------------------------------------------------------- 1 | .CodeMirror { font-family: "Inconsolata"; } 2 | .output * { font-family: "Inconsolata" !important;} 3 | -------------------------------------------------------------------------------- /jupythemer/styles/code_font/Inconsolata.import: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css?family=Inconsolata'); 2 | -------------------------------------------------------------------------------- /jupythemer/styles/code_font/Source_Code_Pro.css: -------------------------------------------------------------------------------- 1 | .CodeMirror { font-family: "Source Code Pro", monospace; } 2 | .output * { font-family: "Source Code Pro", monospace !important;} 3 | -------------------------------------------------------------------------------- /jupythemer/styles/code_font/Source_Code_Pro.import: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css?family=Source+Code+Pro'); 2 | -------------------------------------------------------------------------------- /jupythemer/styles/code_font/Ubuntu_Mono.css: -------------------------------------------------------------------------------- 1 | .CodeMirror { font-family: "Ubuntu Mono"; } 2 | .output * { font-family: "Ubuntu Mono" !important;} -------------------------------------------------------------------------------- /jupythemer/styles/code_font/Ubuntu_Mono.import: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css?family=Ubuntu+Mono:400'); -------------------------------------------------------------------------------- /jupythemer/styles/color/3024-day.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | 4 | Name: 3024 day 5 | Author: Jan T. Sott (http://github.com/idleberg) 6 | 7 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror) 8 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) 9 | 10 | */ 11 | 12 | .CodeMirror { background: #f7f7f7; color: #3a3432; } 13 | .CodeMirror div.CodeMirror-selected { background: #d6d5d4; } 14 | 15 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: #d6d5d4; } 16 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::selection { background: #d9d9d9; } 17 | 18 | .CodeMirror .CodeMirror-gutters { background: #f7f7f7; border-right: 0px; } 19 | .CodeMirror .CodeMirror-guttermarker { color: #db2d20; } 20 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #807d7c; } 21 | .CodeMirror .CodeMirror-linenumber { color: #807d7c; } 22 | 23 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid #5c5855; } 24 | 25 | .CodeMirror span.cm-comment { color: #cdab53; } 26 | .CodeMirror span.cm-atom { color: #a16a94; } 27 | .CodeMirror span.cm-number { color: #a16a94; } 28 | 29 | .CodeMirror span.cm-property, .CodeMirror span.cm-attribute { color: #01a252; } 30 | .CodeMirror span.cm-keyword { color: #db2d20; } 31 | .CodeMirror span.cm-string { color: #fded02; } 32 | 33 | .CodeMirror span.cm-variable { color: #01a252; } 34 | .CodeMirror span.cm-variable-2 { color: #01a0e4; } 35 | .CodeMirror span.cm-def { color: #e8bbd0; } 36 | .CodeMirror span.cm-bracket { color: #3a3432; } 37 | .CodeMirror span.cm-tag { color: #db2d20; } 38 | .CodeMirror span.cm-link { color: #a16a94; } 39 | .CodeMirror span.cm-error { background: #db2d20; color: #5c5855; } 40 | 41 | .CodeMirror .CodeMirror-activeline-background { background: #e8f2ff; } 42 | .CodeMirror .CodeMirror-matchingbracket { text-decoration: underline; color: #a16a94 !important; } 43 | -------------------------------------------------------------------------------- /jupythemer/styles/color/3024-night.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | 4 | Name: 3024 night 5 | Author: Jan T. Sott (http://github.com/idleberg) 6 | 7 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror) 8 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) 9 | 10 | */ 11 | 12 | .CodeMirror { background: #090300; color: #d6d5d4; } 13 | .CodeMirror div.CodeMirror-selected { background: #3a3432; } 14 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(58, 52, 50, .99); } 15 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(58, 52, 50, .99); } 16 | .CodeMirror .CodeMirror-gutters { background: #090300; border-right: 0px; } 17 | .CodeMirror .CodeMirror-guttermarker { color: #db2d20; } 18 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #5c5855; } 19 | .CodeMirror .CodeMirror-linenumber { color: #5c5855; } 20 | 21 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid #807d7c; } 22 | 23 | .CodeMirror span.cm-comment { color: #cdab53; } 24 | .CodeMirror span.cm-atom { color: #a16a94; } 25 | .CodeMirror span.cm-number { color: #a16a94; } 26 | 27 | .CodeMirror span.cm-property, .CodeMirror span.cm-attribute { color: #01a252; } 28 | .CodeMirror span.cm-keyword { color: #db2d20; } 29 | .CodeMirror span.cm-string { color: #fded02; } 30 | 31 | .CodeMirror span.cm-variable { color: #01a252; } 32 | .CodeMirror span.cm-variable-2 { color: #01a0e4; } 33 | .CodeMirror span.cm-def { color: #e8bbd0; } 34 | .CodeMirror span.cm-bracket { color: #d6d5d4; } 35 | .CodeMirror span.cm-tag { color: #db2d20; } 36 | .CodeMirror span.cm-link { color: #a16a94; } 37 | .CodeMirror span.cm-error { background: #db2d20; color: #807d7c; } 38 | 39 | .CodeMirror .CodeMirror-activeline-background { background: #2F2F2F; } 40 | .CodeMirror .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; } 41 | -------------------------------------------------------------------------------- /jupythemer/styles/color/abcdef.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | .CodeMirror { background: #0f0f0f; color: #defdef; } 6 | .CodeMirror div.CodeMirror-selected { background: #515151; } 7 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(56, 56, 56, 0.99); } 8 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(56, 56, 56, 0.99); } 9 | .CodeMirror .CodeMirror-gutters { background: #555; border-right: 2px solid #314151; } 10 | .CodeMirror .CodeMirror-guttermarker { color: #222; } 11 | .CodeMirror .CodeMirror-guttermarker-subtle { color: azure; } 12 | .CodeMirror .CodeMirror-linenumber { color: #FFFFFF; } 13 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid #00FF00; } 14 | 15 | .CodeMirror span.cm-keyword { color: darkgoldenrod; font-weight: bold; } 16 | .CodeMirror span.cm-atom { color: #77F; } 17 | .CodeMirror span.cm-number { color: violet; } 18 | .CodeMirror span.cm-def { color: #fffabc; } 19 | .CodeMirror span.cm-variable { color: #abcdef; } 20 | .CodeMirror span.cm-variable-2 { color: #cacbcc; } 21 | .CodeMirror span.cm-variable-3 { color: #def; } 22 | .CodeMirror span.cm-property { color: #fedcba; } 23 | .CodeMirror span.cm-operator { color: #ff0; } 24 | .CodeMirror span.cm-comment { color: #7a7b7c; font-style: italic;} 25 | .CodeMirror span.cm-string { color: #2b4; } 26 | .CodeMirror span.cm-meta { color: #C9F; } 27 | .CodeMirror span.cm-qualifier { color: #FFF700; } 28 | .CodeMirror span.cm-builtin { color: #30aabc; } 29 | .CodeMirror span.cm-bracket { color: #8a8a8a; } 30 | .CodeMirror span.cm-tag { color: #FFDD44; } 31 | .CodeMirror span.cm-attribute { color: #DDFF00; } 32 | .CodeMirror span.cm-error { color: #FF0000; } 33 | .CodeMirror span.cm-header { color: aquamarine; font-weight: bold; } 34 | .CodeMirror span.cm-link { color: blue; } 35 | 36 | .CodeMirror .CodeMirror-activeline-background { background: #314151; } 37 | -------------------------------------------------------------------------------- /jupythemer/styles/color/ambiance.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /* ambiance theme for codemirror */ 6 | 7 | /* Color scheme */ 8 | 9 | .CodeMirror span.cm-header { color: blue; } 10 | .CodeMirror span.cm-quote { color: #24C2C7; } 11 | 12 | .CodeMirror span.cm-keyword { color: #cda869; } 13 | .CodeMirror span.cm-atom { color: #CF7EA9; } 14 | .CodeMirror span.cm-number { color: #78CF8A; } 15 | .CodeMirror span.cm-def { color: #aac6e3; } 16 | .CodeMirror span.cm-variable { color: #ffb795; } 17 | .CodeMirror span.cm-variable-2 { color: #eed1b3; } 18 | .CodeMirror span.cm-variable-3 { color: #faded3; } 19 | .CodeMirror span.cm-property { color: #eed1b3; } 20 | .CodeMirror span.cm-operator { color: #fa8d6a; } 21 | .CodeMirror span.cm-comment { color: #555; font-style:italic; } 22 | .CodeMirror span.cm-string { color: #8f9d6a; } 23 | .CodeMirror span.cm-string-2 { color: #9d937c; } 24 | .CodeMirror span.cm-meta { color: #D2A8A1; } 25 | .CodeMirror span.cm-qualifier { color: yellow; } 26 | .CodeMirror span.cm-builtin { color: #9999cc; } 27 | .CodeMirror span.cm-bracket { color: #24C2C7; } 28 | .CodeMirror span.cm-tag { color: #fee4ff; } 29 | .CodeMirror span.cm-attribute { color: #9B859D; } 30 | .CodeMirror span.cm-hr { color: pink; } 31 | .CodeMirror span.cm-link { color: #F4C20B; } 32 | .CodeMirror span.cm-special { color: #FF9D00; } 33 | .CodeMirror span.cm-error { color: #AF2018; } 34 | 35 | .CodeMirror .CodeMirror-matchingbracket { color: #0f0; } 36 | .CodeMirror .CodeMirror-nonmatchingbracket { color: #f22; } 37 | 38 | .CodeMirror div.CodeMirror-selected { background: rgba(255, 255, 255, 0.15); } 39 | .cm-s-ambiance.CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.10); } 40 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); } 41 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); } 42 | 43 | /* Editor styling */ 44 | 45 | .cm-s-ambiance.CodeMirror { 46 | line-height: 1.40em; 47 | color: #E6E1DC; 48 | background-color: #202020; 49 | -webkit-box-shadow: inset 0 0 10px black; 50 | -moz-box-shadow: inset 0 0 10px black; 51 | box-shadow: inset 0 0 10px black; 52 | } 53 | 54 | .CodeMirror .CodeMirror-gutters { 55 | background: #3D3D3D; 56 | border-right: 1px solid #4D4D4D; 57 | box-shadow: 0 10px 20px black; 58 | } 59 | 60 | .CodeMirror .CodeMirror-linenumber { 61 | text-shadow: 0px 1px 1px #4d4d4d; 62 | color: #111; 63 | padding: 0 5px; 64 | } 65 | 66 | .CodeMirror .CodeMirror-guttermarker { color: #aaa; } 67 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #111; } 68 | 69 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid #7991E8; } 70 | 71 | .CodeMirror .CodeMirror-activeline-background { 72 | background: none repeat scroll 0% 0% rgba(255, 255, 255, 0.031); 73 | } 74 | 75 | .cm-s-ambiance.CodeMirror, 76 | .CodeMirror .CodeMirror-gutters { 77 | background-image: url("data:image/png;base64,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"); 78 | } 79 | -------------------------------------------------------------------------------- /jupythemer/styles/color/base16-dark.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | span.ansiblack {color: #343d46;} 4 | span.ansiblue {color: #96b5b4;} 5 | span.ansigray {color: #a7adba;} 6 | span.ansigreen {color: #a3be8c;} 7 | span.ansipurple {color: #b48ead;} 8 | span.ansired {color: #bf616a;} 9 | span.ansiyellow {color: #ebcb8b;} 10 | 11 | div.output_stderr {background-color: #bf616a;} 12 | div.output_stderr pre {color: #dfe1e8;} 13 | 14 | .cm-s-ipython.CodeMirror {background: #2b303b; color: #dfe1e8;} 15 | .cm-s-ipython div.CodeMirror-selected {background: #343d46 !important;} 16 | .cm-s-ipython .CodeMirror-gutters {background: #2b303b; border-right: 0px;} 17 | .cm-s-ipython .CodeMirror-linenumber {color: #65737e;} 18 | .cm-s-ipython .CodeMirror-cursor {border-left: 1px solid #a7adba !important;} 19 | 20 | .cm-s-ipython span.cm-comment {color: #ab7967;} 21 | .cm-s-ipython span.cm-atom {color: #b48ead;} 22 | .cm-s-ipython span.cm-number {color: #b48ead;} 23 | 24 | .cm-s-ipython span.cm-property, .cm-s-ipython span.cm-attribute {color: #a3be8c;} 25 | .cm-s-ipython span.cm-keyword {color: #bf616a;} 26 | .cm-s-ipython span.cm-string {color: #ebcb8b;} 27 | .cm-s-ipython span.cm-operator {color: #ab7967;} 28 | .cm-s-ipython span.cm-builtin {color: #b48ead;} 29 | 30 | .cm-s-ipython span.cm-variable {color: #a3be8c;} 31 | .cm-s-ipython span.cm-variable-2 {color: #8fa1b3;} 32 | .cm-s-ipython span.cm-def {color: #d08770;} 33 | .cm-s-ipython span.cm-error {background: #bf616a; color: #a7adba;} 34 | .cm-s-ipython span.cm-bracket {color: #c0c5ce;} 35 | .cm-s-ipython span.cm-tag {color: #bf616a;} 36 | .cm-s-ipython span.cm-link {color: #b48ead;} 37 | 38 | .cm-s-ipython .CodeMirror-matchingbracket { text-decoration: underline; color: #dfe1e8 !important;} 39 | -------------------------------------------------------------------------------- /jupythemer/styles/color/base16-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /* 6 | 7 | Name: Base16 Default Light 8 | Author: Chris Kempson (http://chriskempson.com) 9 | 10 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-chrome-devtools) 11 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) 12 | 13 | */ 14 | 15 | .CodeMirror { background: #f5f5f5; color: #202020; } 16 | .CodeMirror div.CodeMirror-selected { background: #e0e0e0; } 17 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: #e0e0e0; } 18 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: #e0e0e0; } 19 | .CodeMirror .CodeMirror-gutters { background: #f5f5f5; border-right: 0px; } 20 | .CodeMirror .CodeMirror-guttermarker { color: #ac4142; } 21 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #b0b0b0; } 22 | .CodeMirror .CodeMirror-linenumber { color: #b0b0b0; } 23 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid #505050; } 24 | 25 | .CodeMirror span.cm-comment { color: #8f5536; } 26 | .CodeMirror span.cm-atom { color: #aa759f; } 27 | .CodeMirror span.cm-number { color: #aa759f; } 28 | 29 | .CodeMirror span.cm-property, .CodeMirror span.cm-attribute { color: #90a959; } 30 | .CodeMirror span.cm-keyword { color: #ac4142; } 31 | .CodeMirror span.cm-string { color: #f4bf75; } 32 | 33 | .CodeMirror span.cm-variable { color: #90a959; } 34 | .CodeMirror span.cm-variable-2 { color: #6a9fb5; } 35 | .CodeMirror span.cm-def { color: #d28445; } 36 | .CodeMirror span.cm-bracket { color: #202020; } 37 | .CodeMirror span.cm-tag { color: #ac4142; } 38 | .CodeMirror span.cm-link { color: #aa759f; } 39 | .CodeMirror span.cm-error { background: #ac4142; color: #505050; } 40 | 41 | .CodeMirror .CodeMirror-activeline-background { background: #DDDCDC; } 42 | .CodeMirror .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; } 43 | -------------------------------------------------------------------------------- /jupythemer/styles/color/blackboard.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /* Port of TextMate's Blackboard theme */ 6 | 7 | .CodeMirror { background: #0C1021; color: #F8F8F8; } 8 | .CodeMirror div.CodeMirror-selected { background: #253B76; } 9 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(37, 59, 118, .99); } 10 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(37, 59, 118, .99); } 11 | .CodeMirror .CodeMirror-gutters { background: #0C1021; border-right: 0; } 12 | .CodeMirror .CodeMirror-guttermarker { color: #FBDE2D; } 13 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #888; } 14 | .CodeMirror .CodeMirror-linenumber { color: #888; } 15 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid #A7A7A7; } 16 | 17 | .CodeMirror .cm-keyword { color: #FBDE2D; } 18 | .CodeMirror .cm-atom { color: #D8FA3C; } 19 | .CodeMirror .cm-number { color: #D8FA3C; } 20 | .CodeMirror .cm-def { color: #8DA6CE; } 21 | .CodeMirror .cm-variable { color: #FF6400; } 22 | .CodeMirror .cm-operator { color: #FBDE2D; } 23 | .CodeMirror .cm-comment { color: #AEAEAE; } 24 | .CodeMirror .cm-string { color: #61CE3C; } 25 | .CodeMirror .cm-string-2 { color: #61CE3C; } 26 | .CodeMirror .cm-meta { color: #D8FA3C; } 27 | .CodeMirror .cm-builtin { color: #8DA6CE; } 28 | .CodeMirror .cm-tag { color: #8DA6CE; } 29 | .CodeMirror .cm-attribute { color: #8DA6CE; } 30 | .CodeMirror .cm-header { color: #FF6400; } 31 | .CodeMirror .cm-hr { color: #AEAEAE; } 32 | .CodeMirror .cm-link { color: #8DA6CE; } 33 | .CodeMirror .cm-error { background: #9D1E15; color: #F8F8F8; } 34 | 35 | .CodeMirror .CodeMirror-activeline-background { background: #3C3636; } 36 | .CodeMirror .CodeMirror-matchingbracket { outline:1px solid grey;color:white !important; } 37 | -------------------------------------------------------------------------------- /jupythemer/styles/color/cobalt.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | .CodeMirror { background: #002240; color: white; } 6 | .CodeMirror div.CodeMirror-selected { background: #b36539; } 7 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(179, 101, 57, .99); } 8 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(179, 101, 57, .99); } 9 | .CodeMirror .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; } 10 | .CodeMirror .CodeMirror-guttermarker { color: #ffee80; } 11 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #d0d0d0; } 12 | .CodeMirror .CodeMirror-linenumber { color: #d0d0d0; } 13 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid white; } 14 | 15 | .CodeMirror span.cm-comment { color: #08f; } 16 | .CodeMirror span.cm-atom { color: #845dc4; } 17 | .CodeMirror span.cm-number, .CodeMirror span.cm-attribute { color: #ff80e1; } 18 | .CodeMirror span.cm-keyword { color: #ffee80; } 19 | .CodeMirror span.cm-string { color: #3ad900; } 20 | .CodeMirror span.cm-meta { color: #ff9d00; } 21 | .CodeMirror span.cm-variable-2, .CodeMirror span.cm-tag { color: #9effff; } 22 | .CodeMirror span.cm-variable-3, .CodeMirror span.cm-def { color: white; } 23 | .CodeMirror span.cm-bracket { color: #d8d8d8; } 24 | .CodeMirror span.cm-builtin, .CodeMirror span.cm-special { color: #ff9e59; } 25 | .CodeMirror span.cm-link { color: #845dc4; } 26 | .CodeMirror span.cm-error { color: #9d1e15; } 27 | 28 | .CodeMirror .CodeMirror-activeline-background { background: #002D57; } 29 | .CodeMirror .CodeMirror-matchingbracket { outline:1px solid grey;color:white !important; } 30 | -------------------------------------------------------------------------------- /jupythemer/styles/color/colorforth.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | .CodeMirror { background: #000000; color: #f8f8f8; } 6 | .CodeMirror .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; } 7 | .CodeMirror .CodeMirror-guttermarker { color: #FFBD40; } 8 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #78846f; } 9 | .CodeMirror .CodeMirror-linenumber { color: #bababa; } 10 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid white; } 11 | 12 | .CodeMirror span.cm-comment { color: #ededed; } 13 | .CodeMirror span.cm-def { color: #ff1c1c; font-weight:bold; } 14 | .CodeMirror span.cm-keyword { color: #ffd900; } 15 | .CodeMirror span.cm-builtin { color: #00d95a; } 16 | .CodeMirror span.cm-variable { color: #73ff00; } 17 | .CodeMirror span.cm-string { color: #007bff; } 18 | .CodeMirror span.cm-number { color: #00c4ff; } 19 | .CodeMirror span.cm-atom { color: #606060; } 20 | 21 | .CodeMirror span.cm-variable-2 { color: #EEE; } 22 | .CodeMirror span.cm-variable-3 { color: #DDD; } 23 | .CodeMirror span.cm-property {} 24 | .CodeMirror span.cm-operator {} 25 | 26 | .CodeMirror span.cm-meta { color: yellow; } 27 | .CodeMirror span.cm-qualifier { color: #FFF700; } 28 | .CodeMirror span.cm-bracket { color: #cc7; } 29 | .CodeMirror span.cm-tag { color: #FFBD40; } 30 | .CodeMirror span.cm-attribute { color: #FFF700; } 31 | .CodeMirror span.cm-error { color: #f00; } 32 | 33 | .CodeMirror div.CodeMirror-selected { background: #333d53; } 34 | 35 | .CodeMirror span.cm-compilation { background: rgba(255, 255, 255, 0.12); } 36 | 37 | .CodeMirror .CodeMirror-activeline-background { background: #253540; } 38 | -------------------------------------------------------------------------------- /jupythemer/styles/color/dracula.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /* 6 | 7 | Name: dracula 8 | Author: Michael Kaminsky (http://github.com/mkaminsky11) 9 | 10 | Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme) 11 | 12 | */ 13 | 14 | 15 | .CodeMirror, .CodeMirror .CodeMirror-gutters { 16 | background-color: #282a36 !important; 17 | color: #f8f8f2 !important; 18 | border: none; 19 | } 20 | .CodeMirror .CodeMirror-gutters { color: #282a36; } 21 | .CodeMirror .CodeMirror-cursor { border-left: solid thin #f8f8f0; } 22 | .CodeMirror .CodeMirror-linenumber { color: #6D8A88; } 23 | .cm-s-dracula.CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.10); } 24 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); } 25 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); } 26 | .CodeMirror span.cm-comment { color: #6272a4; } 27 | .CodeMirror span.cm-string, .CodeMirror span.cm-string-2 { color: #f1fa8c; } 28 | .CodeMirror span.cm-number { color: #bd93f9; } 29 | .CodeMirror span.cm-variable { color: #50fa7b; } 30 | .CodeMirror span.cm-variable-2 { color: white; } 31 | .CodeMirror span.cm-def { color: #ffb86c; } 32 | .CodeMirror span.cm-keyword { color: #ff79c6; } 33 | .CodeMirror span.cm-operator { color: #ff79c6; } 34 | .CodeMirror span.cm-keyword { color: #ff79c6; } 35 | .CodeMirror span.cm-atom { color: #bd93f9; } 36 | .CodeMirror span.cm-meta { color: #f8f8f2; } 37 | .CodeMirror span.cm-tag { color: #ff79c6; } 38 | .CodeMirror span.cm-attribute { color: #50fa7b; } 39 | .CodeMirror span.cm-qualifier { color: #50fa7b; } 40 | .CodeMirror span.cm-property { color: #66d9ef; } 41 | .CodeMirror span.cm-builtin { color: #50fa7b; } 42 | .CodeMirror span.cm-variable-3 { color: #50fa7b; } 43 | 44 | .CodeMirror .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); } 45 | .CodeMirror .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; } 46 | -------------------------------------------------------------------------------- /jupythemer/styles/color/eclipse.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | .CodeMirror span.cm-meta { color: #FF1717; } 6 | .CodeMirror span.cm-keyword { line-height: 1em; font-weight: bold; color: #7F0055; } 7 | .CodeMirror span.cm-atom { color: #219; } 8 | .CodeMirror span.cm-number { color: #164; } 9 | .CodeMirror span.cm-def { color: #00f; } 10 | .CodeMirror span.cm-variable { color: black; } 11 | .CodeMirror span.cm-variable-2 { color: #0000C0; } 12 | .CodeMirror span.cm-variable-3 { color: #0000C0; } 13 | .CodeMirror span.cm-property { color: black; } 14 | .CodeMirror span.cm-operator { color: black; } 15 | .CodeMirror span.cm-comment { color: #3F7F5F; } 16 | .CodeMirror span.cm-string { color: #2A00FF; } 17 | .CodeMirror span.cm-string-2 { color: #f50; } 18 | .CodeMirror span.cm-qualifier { color: #555; } 19 | .CodeMirror span.cm-builtin { color: #30a; } 20 | .CodeMirror span.cm-bracket { color: #cc7; } 21 | .CodeMirror span.cm-tag { color: #170; } 22 | .CodeMirror span.cm-attribute { color: #00c; } 23 | .CodeMirror span.cm-link { color: #219; } 24 | .CodeMirror span.cm-error { color: #f00; } 25 | 26 | .CodeMirror .CodeMirror-activeline-background { background: #e8f2ff; } 27 | .CodeMirror .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; } 28 | -------------------------------------------------------------------------------- /jupythemer/styles/color/elegant.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | .CodeMirror span.cm-number, .CodeMirror span.cm-string, .CodeMirror span.cm-atom { color: #762; } 6 | .CodeMirror span.cm-comment { color: #262; font-style: italic; line-height: 1em; } 7 | .CodeMirror span.cm-meta { color: #555; font-style: italic; line-height: 1em; } 8 | .CodeMirror span.cm-variable { color: black; } 9 | .CodeMirror span.cm-variable-2 { color: #b11; } 10 | .CodeMirror span.cm-qualifier { color: #555; } 11 | .CodeMirror span.cm-keyword { color: #730; } 12 | .CodeMirror span.cm-builtin { color: #30a; } 13 | .CodeMirror span.cm-link { color: #762; } 14 | .CodeMirror span.cm-error { background-color: #fdd; } 15 | 16 | .CodeMirror .CodeMirror-activeline-background { background: #e8f2ff; } 17 | .CodeMirror .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; } 18 | -------------------------------------------------------------------------------- /jupythemer/styles/color/erlang-dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | .CodeMirror { background: #002240; color: white; } 6 | .CodeMirror div.CodeMirror-selected { background: #b36539; } 7 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(179, 101, 57, .99); } 8 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(179, 101, 57, .99); } 9 | .CodeMirror .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; } 10 | .CodeMirror .CodeMirror-guttermarker { color: white; } 11 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #d0d0d0; } 12 | .CodeMirror .CodeMirror-linenumber { color: #d0d0d0; } 13 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid white; } 14 | 15 | .CodeMirror span.cm-quote { color: #ccc; } 16 | .CodeMirror span.cm-atom { color: #f133f1; } 17 | .CodeMirror span.cm-attribute { color: #ff80e1; } 18 | .CodeMirror span.cm-bracket { color: #ff9d00; } 19 | .CodeMirror span.cm-builtin { color: #eaa; } 20 | .CodeMirror span.cm-comment { color: #77f; } 21 | .CodeMirror span.cm-def { color: #e7a; } 22 | .CodeMirror span.cm-keyword { color: #ffee80; } 23 | .CodeMirror span.cm-meta { color: #50fefe; } 24 | .CodeMirror span.cm-number { color: #ffd0d0; } 25 | .CodeMirror span.cm-operator { color: #d55; } 26 | .CodeMirror span.cm-property { color: #ccc; } 27 | .CodeMirror span.cm-qualifier { color: #ccc; } 28 | .CodeMirror span.cm-special { color: #ffbbbb; } 29 | .CodeMirror span.cm-string { color: #3ad900; } 30 | .CodeMirror span.cm-string-2 { color: #ccc; } 31 | .CodeMirror span.cm-tag { color: #9effff; } 32 | .CodeMirror span.cm-variable { color: #50fe50; } 33 | .CodeMirror span.cm-variable-2 { color: #e0e; } 34 | .CodeMirror span.cm-variable-3 { color: #ccc; } 35 | .CodeMirror span.cm-error { color: #9d1e15; } 36 | 37 | .CodeMirror .CodeMirror-activeline-background { background: #013461; } 38 | .CodeMirror .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; } 39 | -------------------------------------------------------------------------------- /jupythemer/styles/color/icecoder.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /* 6 | ICEcoder default theme by Matt Pass, used in code editor available at https://icecoder.net 7 | */ 8 | 9 | .CodeMirror { color: #666; background: #141612; } 10 | 11 | .CodeMirror span.cm-keyword { color: #eee; font-weight:bold; } /* off-white 1 */ 12 | .CodeMirror span.cm-atom { color: #e1c76e; } /* yellow */ 13 | .CodeMirror span.cm-number { color: #6cb5d9; } /* blue */ 14 | .CodeMirror span.cm-def { color: #b9ca4a; } /* green */ 15 | 16 | .CodeMirror span.cm-variable { color: #6cb5d9; } /* blue */ 17 | .CodeMirror span.cm-variable-2 { color: #cc1e5c; } /* pink */ 18 | .CodeMirror span.cm-variable-3 { color: #f9602c; } /* orange */ 19 | 20 | .CodeMirror span.cm-property { color: #eee; } /* off-white 1 */ 21 | .CodeMirror span.cm-operator { color: #9179bb; } /* purple */ 22 | .CodeMirror span.cm-comment { color: #97a3aa; } /* grey-blue */ 23 | 24 | .CodeMirror span.cm-string { color: #b9ca4a; } /* green */ 25 | .CodeMirror span.cm-string-2 { color: #6cb5d9; } /* blue */ 26 | 27 | .CodeMirror span.cm-meta { color: #555; } /* grey */ 28 | 29 | .CodeMirror span.cm-qualifier { color: #555; } /* grey */ 30 | .CodeMirror span.cm-builtin { color: #214e7b; } /* bright blue */ 31 | .CodeMirror span.cm-bracket { color: #cc7; } /* grey-yellow */ 32 | 33 | .CodeMirror span.cm-tag { color: #e8e8e8; } /* off-white 2 */ 34 | .CodeMirror span.cm-attribute { color: #099; } /* teal */ 35 | 36 | .CodeMirror span.cm-header { color: #6a0d6a; } /* purple-pink */ 37 | .CodeMirror span.cm-quote { color: #186718; } /* dark green */ 38 | .CodeMirror span.cm-hr { color: #888; } /* mid-grey */ 39 | .CodeMirror span.cm-link { color: #e1c76e; } /* yellow */ 40 | .CodeMirror span.cm-error { color: #d00; } /* red */ 41 | 42 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid white; } 43 | .CodeMirror div.CodeMirror-selected { color: #fff; background: #037; } 44 | .CodeMirror .CodeMirror-gutters { background: #141612; min-width: 41px; border-right: 0; } 45 | .CodeMirror .CodeMirror-linenumber { color: #555; cursor: default; } 46 | .CodeMirror .CodeMirror-matchingbracket { border: 1px solid grey; color: black !important; } 47 | .CodeMirror .CodeMirror-activeline-background { background: #000; } 48 | -------------------------------------------------------------------------------- /jupythemer/styles/color/lesser-dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /* 6 | http://lesscss.org/ dark theme 7 | Ported to CodeMirror by Peter Kroon 8 | */ 9 | .CodeMirror { background: #262626; color: #EBEFE7; text-shadow: 0 -1px 1px #262626; } 10 | .CodeMirror div.CodeMirror-selected { background: #45443B; } /* 33322B*/ 11 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(69, 68, 59, .99); } 12 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(69, 68, 59, .99); } 13 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid white; } 14 | .CodeMirror pre { padding: 0 8px; }/*editable code holder*/ 15 | 16 | .cm-s-lesser-dark.CodeMirror span.CodeMirror-matchingbracket { color: #7EFC7E; }/*65FC65*/ 17 | 18 | .CodeMirror .CodeMirror-gutters { background: #262626; border-right:1px solid #aaa; } 19 | .CodeMirror .CodeMirror-guttermarker { color: #599eff; } 20 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #777; } 21 | .CodeMirror .CodeMirror-linenumber { color: #777; } 22 | 23 | .CodeMirror span.cm-header { color: #a0a; } 24 | .CodeMirror span.cm-quote { color: #090; } 25 | .CodeMirror span.cm-keyword { color: #599eff; } 26 | .CodeMirror span.cm-atom { color: #C2B470; } 27 | .CodeMirror span.cm-number { color: #B35E4D; } 28 | .CodeMirror span.cm-def { color: white; } 29 | .CodeMirror span.cm-variable { color:#D9BF8C; } 30 | .CodeMirror span.cm-variable-2 { color: #669199; } 31 | .CodeMirror span.cm-variable-3 { color: white; } 32 | .CodeMirror span.cm-property { color: #92A75C; } 33 | .CodeMirror span.cm-operator { color: #92A75C; } 34 | .CodeMirror span.cm-comment { color: #666; } 35 | .CodeMirror span.cm-string { color: #BCD279; } 36 | .CodeMirror span.cm-string-2 { color: #f50; } 37 | .CodeMirror span.cm-meta { color: #738C73; } 38 | .CodeMirror span.cm-qualifier { color: #555; } 39 | .CodeMirror span.cm-builtin { color: #ff9e59; } 40 | .CodeMirror span.cm-bracket { color: #EBEFE7; } 41 | .CodeMirror span.cm-tag { color: #669199; } 42 | .CodeMirror span.cm-attribute { color: #00c; } 43 | .CodeMirror span.cm-hr { color: #999; } 44 | .CodeMirror span.cm-link { color: #00c; } 45 | .CodeMirror span.cm-error { color: #9d1e15; } 46 | 47 | .CodeMirror .CodeMirror-activeline-background { background: #3C3A3A; } 48 | .CodeMirror .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; } 49 | -------------------------------------------------------------------------------- /jupythemer/styles/color/liquibyte.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | .CodeMirror { 6 | background-color: #000; 7 | color: #fff; 8 | line-height: 1.2em; 9 | font-size: 1em; 10 | } 11 | .CodeMirror-focused .cm-matchhighlight { 12 | text-decoration: underline; 13 | text-decoration-color: #0f0; 14 | text-decoration-style: wavy; 15 | } 16 | .cm-trailingspace { 17 | text-decoration: line-through; 18 | text-decoration-color: #f00; 19 | text-decoration-style: dotted; 20 | } 21 | .cm-tab { 22 | text-decoration: line-through; 23 | text-decoration-color: #404040; 24 | text-decoration-style: dotted; 25 | } 26 | .CodeMirror .CodeMirror-gutters { background-color: #262626; border-right: 1px solid #505050; padding-right: 0.8em; } 27 | .CodeMirror .CodeMirror-gutter-elt div { font-size: 1.2em; } 28 | .CodeMirror .CodeMirror-guttermarker { } 29 | .CodeMirror .CodeMirror-guttermarker-subtle { } 30 | .CodeMirror .CodeMirror-linenumber { color: #606060; padding-left: 0; } 31 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid #eee; } 32 | 33 | .CodeMirror span.cm-comment { color: #008000; } 34 | .CodeMirror span.cm-def { color: #ffaf40; font-weight: bold; } 35 | .CodeMirror span.cm-keyword { color: #c080ff; font-weight: bold; } 36 | .CodeMirror span.cm-builtin { color: #ffaf40; font-weight: bold; } 37 | .CodeMirror span.cm-variable { color: #5967ff; font-weight: bold; } 38 | .CodeMirror span.cm-string { color: #ff8000; } 39 | .CodeMirror span.cm-number { color: #0f0; font-weight: bold; } 40 | .CodeMirror span.cm-atom { color: #bf3030; font-weight: bold; } 41 | 42 | .CodeMirror span.cm-variable-2 { color: #007f7f; font-weight: bold; } 43 | .CodeMirror span.cm-variable-3 { color: #c080ff; font-weight: bold; } 44 | .CodeMirror span.cm-property { color: #999; font-weight: bold; } 45 | .CodeMirror span.cm-operator { color: #fff; } 46 | 47 | .CodeMirror span.cm-meta { color: #0f0; } 48 | .CodeMirror span.cm-qualifier { color: #fff700; font-weight: bold; } 49 | .CodeMirror span.cm-bracket { color: #cc7; } 50 | .CodeMirror span.cm-tag { color: #ff0; font-weight: bold; } 51 | .CodeMirror span.cm-attribute { color: #c080ff; font-weight: bold; } 52 | .CodeMirror span.cm-error { color: #f00; } 53 | 54 | .CodeMirror div.CodeMirror-selected { background-color: rgba(255, 0, 0, 0.25); } 55 | 56 | .CodeMirror span.cm-compilation { background-color: rgba(255, 255, 255, 0.12); } 57 | 58 | .CodeMirror .CodeMirror-activeline-background { background-color: rgba(0, 255, 0, 0.15); } 59 | 60 | /* Default styles for common addons */ 61 | div.CodeMirror span.CodeMirror-matchingbracket { color: #0f0; font-weight: bold; } 62 | div.CodeMirror span.CodeMirror-nonmatchingbracket { color: #f00; font-weight: bold; } 63 | .CodeMirror-matchingtag { background-color: rgba(150, 255, 0, .3); } 64 | /* Scrollbars */ 65 | /* Simple */ 66 | div.CodeMirror-simplescroll-horizontal div:hover, div.CodeMirror-simplescroll-vertical div:hover { 67 | background-color: rgba(80, 80, 80, .7); 68 | } 69 | div.CodeMirror-simplescroll-horizontal div, div.CodeMirror-simplescroll-vertical div { 70 | background-color: rgba(80, 80, 80, .3); 71 | border: 1px solid #404040; 72 | border-radius: 5px; 73 | } 74 | div.CodeMirror-simplescroll-vertical div { 75 | border-top: 1px solid #404040; 76 | border-bottom: 1px solid #404040; 77 | } 78 | div.CodeMirror-simplescroll-horizontal div { 79 | border-left: 1px solid #404040; 80 | border-right: 1px solid #404040; 81 | } 82 | div.CodeMirror-simplescroll-vertical { 83 | background-color: #262626; 84 | } 85 | div.CodeMirror-simplescroll-horizontal { 86 | background-color: #262626; 87 | border-top: 1px solid #404040; 88 | } 89 | /* Overlay */ 90 | div.CodeMirror-overlayscroll-horizontal div, div.CodeMirror-overlayscroll-vertical div { 91 | background-color: #404040; 92 | border-radius: 5px; 93 | } 94 | div.CodeMirror-overlayscroll-vertical div { 95 | border: 1px solid #404040; 96 | } 97 | div.CodeMirror-overlayscroll-horizontal div { 98 | border: 1px solid #404040; 99 | } 100 | -------------------------------------------------------------------------------- /jupythemer/styles/color/material.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /* 6 | 7 | Name: material 8 | Author: Michael Kaminsky (http://github.com/mkaminsky11) 9 | 10 | Original material color scheme by Mattia Astorino (https://github.com/equinusocio/material-theme) 11 | 12 | */ 13 | 14 | .CodeMirror { 15 | background-color: #263238; 16 | color: rgba(233, 237, 237, 1); 17 | } 18 | .CodeMirror .CodeMirror-gutters { 19 | background: #263238; 20 | color: rgb(83,127,126); 21 | border: none; 22 | } 23 | .CodeMirror .CodeMirror-guttermarker, .CodeMirror .CodeMirror-guttermarker-subtle, .CodeMirror .CodeMirror-linenumber { color: rgb(83,127,126); } 24 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid #f8f8f0; } 25 | .CodeMirror div.CodeMirror-selected { background: rgba(255, 255, 255, 0.15); } 26 | .CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.10); } 27 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); } 28 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); } 29 | 30 | .CodeMirror .CodeMirror-activeline-background { background: rgba(0, 0, 0, 0); } 31 | .CodeMirror span.cm-keyword { color: rgba(199, 146, 234, 1); } 32 | .CodeMirror span.cm-operator { color: rgba(233, 237, 237, 1); } 33 | .CodeMirror span.cm-variable-2 { color: #80CBC4; } 34 | .CodeMirror span.cm-variable-3 { color: #82B1FF; } 35 | .CodeMirror span.cm-builtin { color: #DECB6B; } 36 | .CodeMirror span.cm-atom { color: #F77669; } 37 | .CodeMirror span.cm-number { color: #F77669; } 38 | .CodeMirror span.cm-def { color: rgba(233, 237, 237, 1); } 39 | .CodeMirror span.cm-error { 40 | color: rgba(255, 255, 255, 1.0); 41 | background-color: #EC5F67; 42 | } 43 | .CodeMirror span.cm-string { color: #C3E88D; } 44 | .CodeMirror span.cm-string-2 { color: #80CBC4; } 45 | .CodeMirror span.cm-comment { color: #546E7A; } 46 | .CodeMirror span.cm-variable { color: #82B1FF; } 47 | .CodeMirror span.cm-tag { color: #80CBC4; } 48 | .CodeMirror span.cm-meta { color: #80CBC4; } 49 | .CodeMirror span.cm-attribute { color: #FFCB6B; } 50 | .CodeMirror span.cm-property { color: #80CBAE; } 51 | .CodeMirror span.cm-qualifier { color: #DECB6B; } 52 | .CodeMirror span.cm-variable-3 { color: #DECB6B; } 53 | .CodeMirror span.cm-tag { color: rgba(255, 83, 112, 1); } 54 | .CodeMirror .CodeMirror-matchingbracket { 55 | text-decoration: underline; 56 | color: white !important; 57 | } 58 | -------------------------------------------------------------------------------- /jupythemer/styles/color/mbo.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /****************************************************************/ 6 | /* Based on mbonaci's Brackets mbo theme */ 7 | /* https://github.com/mbonaci/global/blob/master/Mbo.tmTheme */ 8 | /* Create your own: http://tmtheme-editor.herokuapp.com */ 9 | /****************************************************************/ 10 | 11 | .CodeMirror { background: #2c2c2c; color: #ffffec; } 12 | .CodeMirror div.CodeMirror-selected { background: #716C62; } 13 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(113, 108, 98, .99); } 14 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(113, 108, 98, .99); } 15 | .CodeMirror .CodeMirror-gutters { background: #4e4e4e; border-right: 0px; } 16 | .CodeMirror .CodeMirror-guttermarker { color: white; } 17 | .CodeMirror .CodeMirror-guttermarker-subtle { color: grey; } 18 | .CodeMirror .CodeMirror-linenumber { color: #dadada; } 19 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid #ffffec; } 20 | 21 | .CodeMirror span.cm-comment { color: #95958a; } 22 | .CodeMirror span.cm-atom { color: #00a8c6; } 23 | .CodeMirror span.cm-number { color: #00a8c6; } 24 | 25 | .CodeMirror span.cm-property, .CodeMirror span.cm-attribute { color: #9ddfe9; } 26 | .CodeMirror span.cm-keyword { color: #ffb928; } 27 | .CodeMirror span.cm-string { color: #ffcf6c; } 28 | .CodeMirror span.cm-string.cm-property { color: #ffffec; } 29 | 30 | .CodeMirror span.cm-variable { color: #ffffec; } 31 | .CodeMirror span.cm-variable-2 { color: #00a8c6; } 32 | .CodeMirror span.cm-def { color: #ffffec; } 33 | .CodeMirror span.cm-bracket { color: #fffffc; font-weight: bold; } 34 | .CodeMirror span.cm-tag { color: #9ddfe9; } 35 | .CodeMirror span.cm-link { color: #f54b07; } 36 | .CodeMirror span.cm-error { border-bottom: #636363; color: #ffffec; } 37 | .CodeMirror span.cm-qualifier { color: #ffffec; } 38 | 39 | .CodeMirror .CodeMirror-activeline-background { background: #494b41; } 40 | .CodeMirror .CodeMirror-matchingbracket { color: #222 !important; } 41 | .CodeMirror .CodeMirror-matchingtag { background: rgba(255, 255, 255, .37); } 42 | -------------------------------------------------------------------------------- /jupythemer/styles/color/mdn-like.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /* 6 | MDN-LIKE Theme - Mozilla 7 | Ported to CodeMirror by Peter Kroon 8 | Report bugs/issues here: https://github.com/codemirror/CodeMirror/issues 9 | GitHub: @peterkroon 10 | 11 | The mdn-like theme is inspired on the displayed code examples at: https://developer.mozilla.org/en-US/docs/Web/CSS/animation 12 | 13 | */ 14 | .CodeMirror { color: #999; background-color: #fff; } 15 | .CodeMirror div.CodeMirror-selected { background: #cfc; } 16 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: #cfc; } 17 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: #cfc; } 18 | 19 | .CodeMirror .CodeMirror-gutters { background: #f8f8f8; border-left: 6px solid rgba(0,83,159,0.65); color: #333; } 20 | .CodeMirror .CodeMirror-linenumber { color: #aaa; padding-left: 8px; } 21 | .CodeMirror .CodeMirror-cursor { border-left: 2px solid #222; } 22 | 23 | .CodeMirror span.cm-keyword { color: #6262FF; } 24 | .CodeMirror span.cm-atom { color: #F90; } 25 | .CodeMirror span.cm-number { color: #ca7841; } 26 | .CodeMirror span.cm-def { color: #8DA6CE; } 27 | .CodeMirror span.cm-variable-2, .CodeMirror span.cm-tag { color: #690; } 28 | .CodeMirror span.cm-variable-3, .CodeMirror span.cm-def { color: #07a; } 29 | 30 | .CodeMirror span.cm-variable { color: #07a; } 31 | .CodeMirror span.cm-property { color: #905; } 32 | .CodeMirror span.cm-qualifier { color: #690; } 33 | 34 | .CodeMirror span.cm-operator { color: #cda869; } 35 | .CodeMirror span.cm-comment { color:#777; font-weight:normal; } 36 | .CodeMirror span.cm-string { color:#07a; font-style:italic; } 37 | .CodeMirror span.cm-string-2 { color:#bd6b18; } /*?*/ 38 | .CodeMirror span.cm-meta { color: #000; } /*?*/ 39 | .CodeMirror span.cm-builtin { color: #9B7536; } /*?*/ 40 | .CodeMirror span.cm-tag { color: #997643; } 41 | .CodeMirror span.cm-attribute { color: #d6bb6d; } /*?*/ 42 | .CodeMirror span.cm-header { color: #FF6400; } 43 | .CodeMirror span.cm-hr { color: #AEAEAE; } 44 | .CodeMirror span.cm-link { color:#ad9361; font-style:italic; text-decoration:none; } 45 | .CodeMirror span.cm-error { border-bottom: 1px solid red; } 46 | 47 | div.CodeMirror .CodeMirror-activeline-background { background: #efefff; } 48 | div.CodeMirror span.CodeMirror-matchingbracket { outline:1px solid grey; color: inherit; } 49 | 50 | .cm-s-mdn-like.CodeMirror { background-image: url(data:image/png;base64,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); } 51 | -------------------------------------------------------------------------------- /jupythemer/styles/color/midnight.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /* Based on the theme at http://bonsaiden.github.com/JavaScript-Garden */ 6 | 7 | /**/ 8 | .CodeMirror span.CodeMirror-matchhighlight { background: #494949; } 9 | .CodeMirror-focused span.CodeMirror-matchhighlight { background: #314D67 !important; } 10 | 11 | /**/ 12 | .CodeMirror .CodeMirror-activeline-background { background: #253540; } 13 | 14 | .CodeMirror { 15 | background: #0F192A; 16 | color: #D1EDFF; 17 | } 18 | 19 | .CodeMirror { border-top: 1px solid black; border-bottom: 1px solid black; } 20 | 21 | .CodeMirror div.CodeMirror-selected { background: #314D67; } 22 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(49, 77, 103, .99); } 23 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(49, 77, 103, .99); } 24 | .CodeMirror .CodeMirror-gutters { background: #0F192A; border-right: 1px solid; } 25 | .CodeMirror .CodeMirror-guttermarker { color: white; } 26 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #d0d0d0; } 27 | .CodeMirror .CodeMirror-linenumber { color: #D0D0D0; } 28 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid #F8F8F0; } 29 | 30 | .CodeMirror span.cm-comment { color: #428BDD; } 31 | .CodeMirror span.cm-atom { color: #AE81FF; } 32 | .CodeMirror span.cm-number { color: #D1EDFF; } 33 | 34 | .CodeMirror span.cm-property, .CodeMirror span.cm-attribute { color: #A6E22E; } 35 | .CodeMirror span.cm-keyword { color: #E83737; } 36 | .CodeMirror span.cm-string { color: #1DC116; } 37 | 38 | .CodeMirror span.cm-variable { color: #FFAA3E; } 39 | .CodeMirror span.cm-variable-2 { color: #FFAA3E; } 40 | .CodeMirror span.cm-def { color: #4DD; } 41 | .CodeMirror span.cm-bracket { color: #D1EDFF; } 42 | .CodeMirror span.cm-tag { color: #449; } 43 | .CodeMirror span.cm-link { color: #AE81FF; } 44 | .CodeMirror span.cm-error { background: #F92672; color: #F8F8F0; } 45 | 46 | .CodeMirror .CodeMirror-matchingbracket { 47 | text-decoration: underline; 48 | color: white !important; 49 | } 50 | -------------------------------------------------------------------------------- /jupythemer/styles/color/monokai.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /* Based on Sublime Text's Monokai theme */ 6 | 7 | .CodeMirror { background: #272822; color: #f8f8f2; } 8 | .CodeMirror div.CodeMirror-selected { background: #49483E; } 9 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(73, 72, 62, .99); } 10 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(73, 72, 62, .99); } 11 | .CodeMirror .CodeMirror-gutters { background: #272822; border-right: 0px; } 12 | .CodeMirror .CodeMirror-guttermarker { color: white; } 13 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #d0d0d0; } 14 | .CodeMirror .CodeMirror-linenumber { color: #d0d0d0; } 15 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid #f8f8f0; } 16 | 17 | .CodeMirror span.cm-comment { color: #75715e; } 18 | .CodeMirror span.cm-atom { color: #ae81ff; } 19 | .CodeMirror span.cm-number { color: #ae81ff; } 20 | 21 | .CodeMirror span.cm-property, .CodeMirror span.cm-attribute { color: #a6e22e; } 22 | .CodeMirror span.cm-keyword { color: #f92672; } 23 | .CodeMirror span.cm-string { color: #e6db74; } 24 | 25 | .CodeMirror span.cm-variable { color: #f8f8f2; } 26 | .CodeMirror span.cm-variable-2 { color: #9effff; } 27 | .CodeMirror span.cm-variable-3 { color: #66d9ef; } 28 | .CodeMirror span.cm-def { color: #fd971f; } 29 | .CodeMirror span.cm-bracket { color: #f8f8f2; } 30 | .CodeMirror span.cm-tag { color: #f92672; } 31 | .CodeMirror span.cm-header { color: #ae81ff; } 32 | .CodeMirror span.cm-link { color: #ae81ff; } 33 | .CodeMirror span.cm-error { background: #f92672; color: #f8f8f0; } 34 | 35 | .CodeMirror .CodeMirror-activeline-background { background: #373831; } 36 | .CodeMirror .CodeMirror-matchingbracket { 37 | text-decoration: underline; 38 | color: white !important; 39 | } 40 | -------------------------------------------------------------------------------- /jupythemer/styles/color/neat.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | .CodeMirror span.cm-comment { color: #a86; } 6 | .CodeMirror span.cm-keyword { line-height: 1em; font-weight: bold; color: blue; } 7 | .CodeMirror span.cm-string { color: #a22; } 8 | .CodeMirror span.cm-builtin { line-height: 1em; font-weight: bold; color: #077; } 9 | .CodeMirror span.cm-special { line-height: 1em; font-weight: bold; color: #0aa; } 10 | .CodeMirror span.cm-variable { color: black; } 11 | .CodeMirror span.cm-number, .CodeMirror span.cm-atom { color: #3a3; } 12 | .CodeMirror span.cm-meta { color: #555; } 13 | .CodeMirror span.cm-link { color: #3a3; } 14 | 15 | .CodeMirror .CodeMirror-activeline-background { background: #e8f2ff; } 16 | .CodeMirror .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; } 17 | -------------------------------------------------------------------------------- /jupythemer/styles/color/neo.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /* neo theme for codemirror */ 6 | 7 | /* Color scheme */ 8 | 9 | .CodeMirror { 10 | background-color:#ffffff; 11 | color:#2e383c; 12 | line-height:1.4375; 13 | } 14 | .CodeMirror span.cm-comment { color:#75787b; } 15 | .CodeMirror span.cm-keyword, .CodeMirror span.cm-property { color:#1d75b3; } 16 | .CodeMirror span.cm-atom,.CodeMirror span.cm-number { color:#75438a; } 17 | .CodeMirror span.cm-node,.CodeMirror span.cm-tag { color:#9c3328; } 18 | .CodeMirror span.cm-string { color:#b35e14; } 19 | .CodeMirror span.cm-variable,.CodeMirror span.cm-qualifier { color:#047d65; } 20 | 21 | 22 | /* Editor styling */ 23 | 24 | .CodeMirror pre { 25 | padding:0; 26 | } 27 | 28 | .CodeMirror .CodeMirror-gutters { 29 | border:none; 30 | border-right:10px solid transparent; 31 | background-color:transparent; 32 | } 33 | 34 | .CodeMirror .CodeMirror-linenumber { 35 | padding:0; 36 | color:#e0e2e5; 37 | } 38 | 39 | .CodeMirror .CodeMirror-guttermarker { color: #1d75b3; } 40 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #e0e2e5; } 41 | 42 | .CodeMirror .CodeMirror-cursor { 43 | width: auto; 44 | border: 0; 45 | background: rgba(155,157,162,0.37); 46 | z-index: 1; 47 | } 48 | -------------------------------------------------------------------------------- /jupythemer/styles/color/night.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /* Loosely based on the Midnight Textmate theme */ 6 | 7 | .CodeMirror { background: #0a001f; color: #f8f8f8; } 8 | .CodeMirror div.CodeMirror-selected { background: #447; } 9 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(68, 68, 119, .99); } 10 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(68, 68, 119, .99); } 11 | .CodeMirror .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; } 12 | .CodeMirror .CodeMirror-guttermarker { color: white; } 13 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #bbb; } 14 | .CodeMirror .CodeMirror-linenumber { color: #f8f8f8; } 15 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid white; } 16 | 17 | .CodeMirror span.cm-comment { color: #6900a1; } 18 | .CodeMirror span.cm-atom { color: #845dc4; } 19 | .CodeMirror span.cm-number, .CodeMirror span.cm-attribute { color: #ffd500; } 20 | .CodeMirror span.cm-keyword { color: #599eff; } 21 | .CodeMirror span.cm-string { color: #37f14a; } 22 | .CodeMirror span.cm-meta { color: #7678e2; } 23 | .CodeMirror span.cm-variable, .CodeMirror span.cm-variable-2, .CodeMirror span.cm-tag { color: #99b2ff; } 24 | .CodeMirror span.cm-variable-3, .CodeMirror span.cm-def { color: white; } 25 | .CodeMirror span.cm-bracket { color: #8da6ce; } 26 | .CodeMirror span.cm-comment { color: #6900a1; } 27 | .CodeMirror span.cm-builtin, .CodeMirror span.cm-special { color: #ff9e59; } 28 | .CodeMirror span.cm-link { color: #845dc4; } 29 | .CodeMirror span.cm-error { color: #9d1e15; } 30 | 31 | .CodeMirror .CodeMirror-activeline-background { background: #1C005A; } 32 | .CodeMirror .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; } 33 | -------------------------------------------------------------------------------- /jupythemer/styles/color/paraiso-dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /* 6 | 7 | Name: Paraíso (Dark) 8 | Author: Jan T. Sott 9 | 10 | Color scheme by Jan T. Sott (https://github.com/idleberg/Paraiso-CodeMirror) 11 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br) 12 | 13 | */ 14 | 15 | .CodeMirror { background: #2f1e2e; color: #b9b6b0; } 16 | .CodeMirror div.CodeMirror-selected { background: #41323f; } 17 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(65, 50, 63, .99); } 18 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(65, 50, 63, .99); } 19 | .CodeMirror .CodeMirror-gutters { background: #2f1e2e; border-right: 0px; } 20 | .CodeMirror .CodeMirror-guttermarker { color: #ef6155; } 21 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #776e71; } 22 | .CodeMirror .CodeMirror-linenumber { color: #776e71; } 23 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid #8d8687; } 24 | 25 | .CodeMirror span.cm-comment { color: #e96ba8; } 26 | .CodeMirror span.cm-atom { color: #815ba4; } 27 | .CodeMirror span.cm-number { color: #815ba4; } 28 | 29 | .CodeMirror span.cm-property, .CodeMirror span.cm-attribute { color: #48b685; } 30 | .CodeMirror span.cm-keyword { color: #ef6155; } 31 | .CodeMirror span.cm-string { color: #fec418; } 32 | 33 | .CodeMirror span.cm-variable { color: #48b685; } 34 | .CodeMirror span.cm-variable-2 { color: #06b6ef; } 35 | .CodeMirror span.cm-def { color: #f99b15; } 36 | .CodeMirror span.cm-bracket { color: #b9b6b0; } 37 | .CodeMirror span.cm-tag { color: #ef6155; } 38 | .CodeMirror span.cm-link { color: #815ba4; } 39 | .CodeMirror span.cm-error { background: #ef6155; color: #8d8687; } 40 | 41 | .CodeMirror .CodeMirror-activeline-background { background: #4D344A; } 42 | .CodeMirror .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; } 43 | -------------------------------------------------------------------------------- /jupythemer/styles/color/paraiso-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /* 6 | 7 | Name: Paraíso (Light) 8 | Author: Jan T. Sott 9 | 10 | Color scheme by Jan T. Sott (https://github.com/idleberg/Paraiso-CodeMirror) 11 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br) 12 | 13 | */ 14 | 15 | .CodeMirror { background: #e7e9db; color: #41323f; } 16 | .CodeMirror div.CodeMirror-selected { background: #b9b6b0; } 17 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: #b9b6b0; } 18 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: #b9b6b0; } 19 | .CodeMirror .CodeMirror-gutters { background: #e7e9db; border-right: 0px; } 20 | .CodeMirror .CodeMirror-guttermarker { color: black; } 21 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #8d8687; } 22 | .CodeMirror .CodeMirror-linenumber { color: #8d8687; } 23 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid #776e71; } 24 | 25 | .CodeMirror span.cm-comment { color: #e96ba8; } 26 | .CodeMirror span.cm-atom { color: #815ba4; } 27 | .CodeMirror span.cm-number { color: #815ba4; } 28 | 29 | .CodeMirror span.cm-property, .CodeMirror span.cm-attribute { color: #48b685; } 30 | .CodeMirror span.cm-keyword { color: #ef6155; } 31 | .CodeMirror span.cm-string { color: #fec418; } 32 | 33 | .CodeMirror span.cm-variable { color: #48b685; } 34 | .CodeMirror span.cm-variable-2 { color: #06b6ef; } 35 | .CodeMirror span.cm-def { color: #f99b15; } 36 | .CodeMirror span.cm-bracket { color: #41323f; } 37 | .CodeMirror span.cm-tag { color: #ef6155; } 38 | .CodeMirror span.cm-link { color: #815ba4; } 39 | .CodeMirror span.cm-error { background: #ef6155; color: #776e71; } 40 | 41 | .CodeMirror .CodeMirror-activeline-background { background: #CFD1C4; } 42 | .CodeMirror .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; } 43 | -------------------------------------------------------------------------------- /jupythemer/styles/color/pastel-on-dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /** 6 | * Pastel On Dark theme ported from ACE editor 7 | * @license MIT 8 | * @copyright AtomicPages LLC 2014 9 | * @author Dennis Thompson, AtomicPages LLC 10 | * @version 1.1 11 | * @source https://github.com/atomicpages/codemirror-pastel-on-dark-theme 12 | */ 13 | 14 | .CodeMirror { 15 | background: #2c2827; 16 | color: #8F938F; 17 | line-height: 1.5; 18 | font-size: 14px; 19 | } 20 | .CodeMirror div.CodeMirror-selected { background: rgba(221,240,255,0.2); } 21 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(221,240,255,0.2); } 22 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(221,240,255,0.2); } 23 | 24 | .CodeMirror .CodeMirror-gutters { 25 | background: #34302f; 26 | border-right: 0px; 27 | padding: 0 3px; 28 | } 29 | .CodeMirror .CodeMirror-guttermarker { color: white; } 30 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #8F938F; } 31 | .CodeMirror .CodeMirror-linenumber { color: #8F938F; } 32 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid #A7A7A7; } 33 | .CodeMirror span.cm-comment { color: #A6C6FF; } 34 | .CodeMirror span.cm-atom { color: #DE8E30; } 35 | .CodeMirror span.cm-number { color: #CCCCCC; } 36 | .CodeMirror span.cm-property { color: #8F938F; } 37 | .CodeMirror span.cm-attribute { color: #a6e22e; } 38 | .CodeMirror span.cm-keyword { color: #AEB2F8; } 39 | .CodeMirror span.cm-string { color: #66A968; } 40 | .CodeMirror span.cm-variable { color: #AEB2F8; } 41 | .CodeMirror span.cm-variable-2 { color: #BEBF55; } 42 | .CodeMirror span.cm-variable-3 { color: #DE8E30; } 43 | .CodeMirror span.cm-def { color: #757aD8; } 44 | .CodeMirror span.cm-bracket { color: #f8f8f2; } 45 | .CodeMirror span.cm-tag { color: #C1C144; } 46 | .CodeMirror span.cm-link { color: #ae81ff; } 47 | .CodeMirror span.cm-qualifier,.CodeMirror span.cm-builtin { color: #C1C144; } 48 | .CodeMirror span.cm-error { 49 | background: #757aD8; 50 | color: #f8f8f0; 51 | } 52 | .CodeMirror .CodeMirror-activeline-background { background: rgba(255, 255, 255, 0.031); } 53 | .CodeMirror .CodeMirror-matchingbracket { 54 | border: 1px solid rgba(255,255,255,0.25); 55 | color: #8F938F !important; 56 | margin: -1px -1px 0 -1px; 57 | } 58 | -------------------------------------------------------------------------------- /jupythemer/styles/color/rubyblue.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | .CodeMirror { background: #112435; color: white; } 6 | .CodeMirror div.CodeMirror-selected { background: #38566F; } 7 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(56, 86, 111, 0.99); } 8 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(56, 86, 111, 0.99); } 9 | .CodeMirror .CodeMirror-gutters { background: #1F4661; border-right: 7px solid #3E7087; } 10 | .CodeMirror .CodeMirror-guttermarker { color: white; } 11 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #3E7087; } 12 | .CodeMirror .CodeMirror-linenumber { color: white; } 13 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid white; } 14 | 15 | .CodeMirror span.cm-comment { color: #999; font-style:italic; line-height: 1em; } 16 | .CodeMirror span.cm-atom { color: #F4C20B; } 17 | .CodeMirror span.cm-number, .CodeMirror span.cm-attribute { color: #82C6E0; } 18 | .CodeMirror span.cm-keyword { color: #F0F; } 19 | .CodeMirror span.cm-string { color: #F08047; } 20 | .CodeMirror span.cm-meta { color: #F0F; } 21 | .CodeMirror span.cm-variable-2, .CodeMirror span.cm-tag { color: #7BD827; } 22 | .CodeMirror span.cm-variable-3, .CodeMirror span.cm-def { color: white; } 23 | .CodeMirror span.cm-bracket { color: #F0F; } 24 | .CodeMirror span.cm-link { color: #F4C20B; } 25 | .CodeMirror span.CodeMirror-matchingbracket { color:#F0F !important; } 26 | .CodeMirror span.cm-builtin, .CodeMirror span.cm-special { color: #FF9D00; } 27 | .CodeMirror span.cm-error { color: #AF2018; } 28 | 29 | .CodeMirror .CodeMirror-activeline-background { background: #173047; } 30 | -------------------------------------------------------------------------------- /jupythemer/styles/color/seti.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /* 6 | 7 | Name: seti 8 | Author: Michael Kaminsky (http://github.com/mkaminsky11) 9 | 10 | Original seti color scheme by Jesse Weed (https://github.com/jesseweed/seti-syntax) 11 | 12 | */ 13 | 14 | 15 | .CodeMirror { 16 | background-color: #151718 !important; 17 | color: #CFD2D1 !important; 18 | border: none; 19 | } 20 | .CodeMirror .CodeMirror-gutters { 21 | color: #404b53; 22 | background-color: #0E1112; 23 | border: none; 24 | } 25 | .CodeMirror .CodeMirror-cursor { border-left: solid thin #f8f8f0; } 26 | .CodeMirror .CodeMirror-linenumber { color: #6D8A88; } 27 | .cm-s-seti.CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.10); } 28 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); } 29 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); } 30 | .CodeMirror span.cm-comment { color: #41535b; } 31 | .CodeMirror span.cm-string, .CodeMirror span.cm-string-2 { color: #55b5db; } 32 | .CodeMirror span.cm-number { color: #cd3f45; } 33 | .CodeMirror span.cm-variable { color: #55b5db; } 34 | .CodeMirror span.cm-variable-2 { color: #a074c4; } 35 | .CodeMirror span.cm-def { color: #55b5db; } 36 | .CodeMirror span.cm-keyword { color: #ff79c6; } 37 | .CodeMirror span.cm-operator { color: #9fca56; } 38 | .CodeMirror span.cm-keyword { color: #e6cd69; } 39 | .CodeMirror span.cm-atom { color: #cd3f45; } 40 | .CodeMirror span.cm-meta { color: #55b5db; } 41 | .CodeMirror span.cm-tag { color: #55b5db; } 42 | .CodeMirror span.cm-attribute { color: #9fca56; } 43 | .CodeMirror span.cm-qualifier { color: #9fca56; } 44 | .CodeMirror span.cm-property { color: #a074c4; } 45 | .CodeMirror span.cm-variable-3 { color: #9fca56; } 46 | .CodeMirror span.cm-builtin { color: #9fca56; } 47 | .CodeMirror .CodeMirror-activeline-background { background: #101213; } 48 | .CodeMirror .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; } 49 | -------------------------------------------------------------------------------- /jupythemer/styles/color/solarized-dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /* 6 | Solarized theme for code-mirror 7 | http://ethanschoonover.com/solarized 8 | */ 9 | 10 | /* 11 | Solarized color pallet 12 | http://ethanschoonover.com/solarized/img/solarized-palette.png 13 | */ 14 | 15 | .solarized.base03 { color: #002b36; } 16 | .solarized.base02 { color: #073642; } 17 | .solarized.base01 { color: #586e75; } 18 | .solarized.base00 { color: #657b83; } 19 | .solarized.base0 { color: #839496; } 20 | .solarized.base1 { color: #93a1a1; } 21 | .solarized.base2 { color: #eee8d5; } 22 | .solarized.base3 { color: #fdf6e3; } 23 | .solarized.solar-yellow { color: #b58900; } 24 | .solarized.solar-orange { color: #cb4b16; } 25 | .solarized.solar-red { color: #dc322f; } 26 | .solarized.solar-magenta { color: #d33682; } 27 | .solarized.solar-violet { color: #6c71c4; } 28 | .solarized.solar-blue { color: #268bd2; } 29 | .solarized.solar-cyan { color: #2aa198; } 30 | .solarized.solar-green { color: #859900; } 31 | 32 | /* Color scheme for code-mirror */ 33 | 34 | .CodeMirror { 35 | line-height: 1.45em; 36 | color-profile: sRGB; 37 | rendering-intent: auto; 38 | } 39 | .CodeMirror { 40 | color: #839496; 41 | background-color: #002b36; 42 | text-shadow: #002b36 0 1px; 43 | } 44 | /* .CodeMirror { 45 | background-color: #fdf6e3; 46 | color: #657b83; 47 | text-shadow: #eee8d5 0 1px; 48 | } */ 49 | 50 | .CodeMirror .CodeMirror-widget { 51 | text-shadow: none; 52 | } 53 | 54 | .CodeMirror span.cm-header { color: #586e75; } 55 | .CodeMirror span.cm-quote { color: #93a1a1; } 56 | 57 | .CodeMirror span.cm-keyword { color: #cb4b16; } 58 | .CodeMirror span.cm-atom { color: #d33682; } 59 | .CodeMirror span.cm-number { color: #d33682; } 60 | .CodeMirror span.cm-def { color: #2aa198; } 61 | 62 | .CodeMirror span.cm-variable { color: #839496; } 63 | .CodeMirror span.cm-variable-2 { color: #b58900; } 64 | .CodeMirror span.cm-variable-3 { color: #6c71c4; } 65 | 66 | .CodeMirror span.cm-property { color: #2aa198; } 67 | .CodeMirror span.cm-operator { color: #6c71c4; } 68 | 69 | .CodeMirror span.cm-comment { color: #586e75; font-style:italic; } 70 | 71 | .CodeMirror span.cm-string { color: #859900; } 72 | .CodeMirror span.cm-string-2 { color: #b58900; } 73 | 74 | .CodeMirror span.cm-meta { color: #859900; } 75 | .CodeMirror span.cm-qualifier { color: #b58900; } 76 | .CodeMirror span.cm-builtin { color: #d33682; } 77 | .CodeMirror span.cm-bracket { color: #cb4b16; } 78 | .CodeMirror .CodeMirror-matchingbracket { color: #859900; } 79 | .CodeMirror .CodeMirror-nonmatchingbracket { color: #dc322f; } 80 | .CodeMirror span.cm-tag { color: #93a1a1; } 81 | .CodeMirror span.cm-attribute { color: #2aa198; } 82 | .CodeMirror span.cm-hr { 83 | color: transparent; 84 | border-top: 1px solid #586e75; 85 | display: block; 86 | } 87 | .CodeMirror span.cm-link { color: #93a1a1; cursor: pointer; } 88 | .CodeMirror span.cm-special { color: #6c71c4; } 89 | .CodeMirror span.cm-em { 90 | color: #999; 91 | text-decoration: underline; 92 | text-decoration-style: dotted; 93 | } 94 | .CodeMirror span.cm-strong { color: #eee; } 95 | .CodeMirror span.cm-error, 96 | .CodeMirror span.cm-invalidchar { 97 | color: #586e75; 98 | border-bottom: 1px dotted #dc322f; 99 | } 100 | 101 | .CodeMirror div.CodeMirror-selected { background: #073642; } 102 | .CodeMirror.CodeMirror ::selection { background: rgba(7, 54, 66, 0.99); } 103 | .CodeMirror .CodeMirror-line::-moz-selection, span .CodeMirror-line > span::-moz-selection, span .CodeMirror-line > span > span::-moz-selection { background: rgba(7, 54, 66, 0.99); } 104 | 105 | /* .CodeMirror div.CodeMirror-selected { background: #eee8d5; } 106 | .CodeMirror .CodeMirror-line::selection, span .CodeMirror-line > span::selection, span .CodeMirror-line > span > span::selection { background: #eee8d5; } 107 | .CodeMirror .CodeMirror-line::-moz-selection, span.cm-s-ligh .CodeMirror-line > span::-moz-selection, span.cm-s-ligh .CodeMirror-line > span > span::-moz-selection { background: #eee8d5; } */ 108 | 109 | /* Editor styling */ 110 | 111 | 112 | 113 | /* Little shadow on the view-port of the buffer view */ 114 | .CodeMirror { 115 | -moz-box-shadow: inset 7px 0 12px -6px #000; 116 | -webkit-box-shadow: inset 7px 0 12px -6px #000; 117 | box-shadow: inset 7px 0 12px -6px #000; 118 | } 119 | 120 | /* Gutter border and some shadow from it */ 121 | .CodeMirror .CodeMirror-gutters { 122 | border-right: 1px solid; 123 | } 124 | 125 | /* Gutter colors and line number styling based of color scheme (dark / light) */ 126 | 127 | /* Dark */ 128 | .CodeMirror .CodeMirror-gutters { 129 | background-color: #002b36; 130 | border-color: #00232c; 131 | } 132 | 133 | .CodeMirror .CodeMirror-linenumber { 134 | text-shadow: #021014 0 -1px; 135 | } 136 | 137 | /* Light */ 138 | /* .CodeMirror .CodeMirror-gutters { 139 | background-color: #fdf6e3; 140 | border-color: #eee8d5; 141 | } */ 142 | 143 | /* Common */ 144 | .CodeMirror .CodeMirror-linenumber { 145 | color: #586e75; 146 | padding: 0 5px; 147 | } 148 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #586e75; } 149 | .CodeMirror .CodeMirror-guttermarker { color: #ddd; } 150 | /* .CodeMirror .CodeMirror-guttermarker { color: #cb4b16; } */ 151 | 152 | .CodeMirror .CodeMirror-gutter .CodeMirror-gutter-text { 153 | color: #586e75; 154 | } 155 | 156 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid #819090; } 157 | 158 | /* 159 | Active line. Negative margin compensates left padding of the text in the 160 | view-port 161 | */ 162 | .CodeMirror .CodeMirror-activeline-background { 163 | background: rgba(255, 255, 255, 0.10); 164 | } 165 | /* .CodeMirror .CodeMirror-activeline-background { 166 | background: rgba(0, 0, 0, 0.10); 167 | } */ 168 | -------------------------------------------------------------------------------- /jupythemer/styles/color/solarized-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /* 6 | Solarized theme for code-mirror 7 | http://ethanschoonover.com/solarized 8 | */ 9 | 10 | /* 11 | Solarized color pallet 12 | http://ethanschoonover.com/solarized/img/solarized-palette.png 13 | */ 14 | 15 | .solarized.base03 { color: #002b36; } 16 | .solarized.base02 { color: #073642; } 17 | .solarized.base01 { color: #586e75; } 18 | .solarized.base00 { color: #657b83; } 19 | .solarized.base0 { color: #839496; } 20 | .solarized.base1 { color: #93a1a1; } 21 | .solarized.base2 { color: #eee8d5; } 22 | .solarized.base3 { color: #fdf6e3; } 23 | .solarized.solar-yellow { color: #b58900; } 24 | .solarized.solar-orange { color: #cb4b16; } 25 | .solarized.solar-red { color: #dc322f; } 26 | .solarized.solar-magenta { color: #d33682; } 27 | .solarized.solar-violet { color: #6c71c4; } 28 | .solarized.solar-blue { color: #268bd2; } 29 | .solarized.solar-cyan { color: #2aa198; } 30 | .solarized.solar-green { color: #859900; } 31 | 32 | /* Color scheme for code-mirror */ 33 | 34 | .CodeMirror { 35 | line-height: 1.45em; 36 | color-profile: sRGB; 37 | rendering-intent: auto; 38 | } 39 | /* .CodeMirror { 40 | color: #839496; 41 | background-color: #002b36; 42 | text-shadow: #002b36 0 1px; 43 | } */ 44 | .CodeMirror { 45 | background-color: #fdf6e3; 46 | color: #657b83; 47 | text-shadow: #eee8d5 0 1px; 48 | } 49 | 50 | .CodeMirror .CodeMirror-widget { 51 | text-shadow: none; 52 | } 53 | 54 | .CodeMirror span.cm-header { color: #586e75; } 55 | .CodeMirror span.cm-quote { color: #93a1a1; } 56 | 57 | .CodeMirror span.cm-keyword { color: #cb4b16; } 58 | .CodeMirror span.cm-atom { color: #d33682; } 59 | .CodeMirror span.cm-number { color: #d33682; } 60 | .CodeMirror span.cm-def { color: #2aa198; } 61 | 62 | .CodeMirror span.cm-variable { color: #839496; } 63 | .CodeMirror span.cm-variable-2 { color: #b58900; } 64 | .CodeMirror span.cm-variable-3 { color: #6c71c4; } 65 | 66 | .CodeMirror span.cm-property { color: #2aa198; } 67 | .CodeMirror span.cm-operator { color: #6c71c4; } 68 | 69 | .CodeMirror span.cm-comment { color: #586e75; font-style:italic; } 70 | 71 | .CodeMirror span.cm-string { color: #859900; } 72 | .CodeMirror span.cm-string-2 { color: #b58900; } 73 | 74 | .CodeMirror span.cm-meta { color: #859900; } 75 | .CodeMirror span.cm-qualifier { color: #b58900; } 76 | .CodeMirror span.cm-builtin { color: #d33682; } 77 | .CodeMirror span.cm-bracket { color: #cb4b16; } 78 | .CodeMirror .CodeMirror-matchingbracket { color: #859900; } 79 | .CodeMirror .CodeMirror-nonmatchingbracket { color: #dc322f; } 80 | .CodeMirror span.cm-tag { color: #93a1a1; } 81 | .CodeMirror span.cm-attribute { color: #2aa198; } 82 | .CodeMirror span.cm-hr { 83 | color: transparent; 84 | border-top: 1px solid #586e75; 85 | display: block; 86 | } 87 | .CodeMirror span.cm-link { color: #93a1a1; cursor: pointer; } 88 | .CodeMirror span.cm-special { color: #6c71c4; } 89 | .CodeMirror span.cm-em { 90 | color: #999; 91 | text-decoration: underline; 92 | text-decoration-style: dotted; 93 | } 94 | .CodeMirror span.cm-strong { color: #eee; } 95 | .CodeMirror span.cm-error, 96 | .CodeMirror span.cm-invalidchar { 97 | color: #586e75; 98 | border-bottom: 1px dotted #dc322f; 99 | } 100 | 101 | /* .CodeMirror div.CodeMirror-selected { background: #073642; } 102 | .CodeMirror.CodeMirror ::selection { background: rgba(7, 54, 66, 0.99); } 103 | .CodeMirror .CodeMirror-line::-moz-selection, span .CodeMirror-line > span::-moz-selection, span .CodeMirror-line > span > span::-moz-selection { background: rgba(7, 54, 66, 0.99); } */ 104 | 105 | .CodeMirror div.CodeMirror-selected { background: #eee8d5; } 106 | .CodeMirror .CodeMirror-line::selection, span .CodeMirror-line > span::selection, span .CodeMirror-line > span > span::selection { background: #eee8d5; } 107 | .CodeMirror .CodeMirror-line::-moz-selection, span.cm-s-ligh .CodeMirror-line > span::-moz-selection, span.cm-s-ligh .CodeMirror-line > span > span::-moz-selection { background: #eee8d5; } 108 | 109 | /* Editor styling */ 110 | 111 | 112 | 113 | /* Little shadow on the view-port of the buffer view */ 114 | .CodeMirror { 115 | -moz-box-shadow: inset 7px 0 12px -6px #000; 116 | -webkit-box-shadow: inset 7px 0 12px -6px #000; 117 | box-shadow: inset 7px 0 12px -6px #000; 118 | } 119 | 120 | /* Gutter border and some shadow from it */ 121 | .CodeMirror .CodeMirror-gutters { 122 | border-right: 1px solid; 123 | } 124 | 125 | /* Gutter colors and line number styling based of color scheme (dark / light) */ 126 | 127 | /* Dark */ 128 | /* .CodeMirror .CodeMirror-gutters { 129 | background-color: #002b36; 130 | border-color: #00232c; 131 | } 132 | 133 | .CodeMirror .CodeMirror-linenumber { 134 | text-shadow: #021014 0 -1px; 135 | } */ 136 | 137 | /* Light */ 138 | .CodeMirror .CodeMirror-gutters { 139 | background-color: #fdf6e3; 140 | border-color: #eee8d5; 141 | } 142 | 143 | /* Common */ 144 | .CodeMirror .CodeMirror-linenumber { 145 | color: #586e75; 146 | padding: 0 5px; 147 | } 148 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #586e75; } 149 | /* .CodeMirror .CodeMirror-guttermarker { color: #ddd; } */ 150 | .CodeMirror .CodeMirror-guttermarker { color: #cb4b16; } 151 | 152 | .CodeMirror .CodeMirror-gutter .CodeMirror-gutter-text { 153 | color: #586e75; 154 | } 155 | 156 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid #819090; } 157 | 158 | /* 159 | Active line. Negative margin compensates left padding of the text in the 160 | view-port 161 | */ 162 | /* .CodeMirror .CodeMirror-activeline-background { 163 | background: rgba(255, 255, 255, 0.10); 164 | } */ 165 | .CodeMirror .CodeMirror-activeline-background { 166 | background: rgba(0, 0, 0, 0.10); 167 | } 168 | -------------------------------------------------------------------------------- /jupythemer/styles/color/the-matrix.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | .CodeMirror { background: #000000; color: #00FF00; } 6 | .CodeMirror div.CodeMirror-selected { background: #2D2D2D; } 7 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(45, 45, 45, 0.99); } 8 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(45, 45, 45, 0.99); } 9 | .CodeMirror .CodeMirror-gutters { background: #060; border-right: 2px solid #00FF00; } 10 | .CodeMirror .CodeMirror-guttermarker { color: #0f0; } 11 | .CodeMirror .CodeMirror-guttermarker-subtle { color: white; } 12 | .CodeMirror .CodeMirror-linenumber { color: #FFFFFF; } 13 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid #00FF00; } 14 | 15 | .CodeMirror span.cm-keyword { color: #008803; font-weight: bold; } 16 | .CodeMirror span.cm-atom { color: #3FF; } 17 | .CodeMirror span.cm-number { color: #FFB94F; } 18 | .CodeMirror span.cm-def { color: #99C; } 19 | .CodeMirror span.cm-variable { color: #F6C; } 20 | .CodeMirror span.cm-variable-2 { color: #C6F; } 21 | .CodeMirror span.cm-variable-3 { color: #96F; } 22 | .CodeMirror span.cm-property { color: #62FFA0; } 23 | .CodeMirror span.cm-operator { color: #999; } 24 | .CodeMirror span.cm-comment { color: #CCCCCC; } 25 | .CodeMirror span.cm-string { color: #39C; } 26 | .CodeMirror span.cm-meta { color: #C9F; } 27 | .CodeMirror span.cm-qualifier { color: #FFF700; } 28 | .CodeMirror span.cm-builtin { color: #30a; } 29 | .CodeMirror span.cm-bracket { color: #cc7; } 30 | .CodeMirror span.cm-tag { color: #FFBD40; } 31 | .CodeMirror span.cm-attribute { color: #FFF700; } 32 | .CodeMirror span.cm-error { color: #FF0000; } 33 | 34 | .CodeMirror .CodeMirror-activeline-background { background: #040; } 35 | -------------------------------------------------------------------------------- /jupythemer/styles/color/tomorrow-night-bright.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /* 6 | 7 | Name: Tomorrow Night - Bright 8 | Author: Chris Kempson 9 | 10 | Port done by Gerard Braad 11 | 12 | */ 13 | 14 | .CodeMirror { background: #000000; color: #eaeaea; } 15 | .CodeMirror div.CodeMirror-selected { background: #424242; } 16 | .CodeMirror .CodeMirror-gutters { background: #000000; border-right: 0px; } 17 | .CodeMirror .CodeMirror-guttermarker { color: #e78c45; } 18 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #777; } 19 | .CodeMirror .CodeMirror-linenumber { color: #424242; } 20 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid #6A6A6A; } 21 | 22 | .CodeMirror span.cm-comment { color: #d27b53; } 23 | .CodeMirror span.cm-atom { color: #a16a94; } 24 | .CodeMirror span.cm-number { color: #a16a94; } 25 | 26 | .CodeMirror span.cm-property, .CodeMirror span.cm-attribute { color: #99cc99; } 27 | .CodeMirror span.cm-keyword { color: #d54e53; } 28 | .CodeMirror span.cm-string { color: #e7c547; } 29 | 30 | .CodeMirror span.cm-variable { color: #b9ca4a; } 31 | .CodeMirror span.cm-variable-2 { color: #7aa6da; } 32 | .CodeMirror span.cm-def { color: #e78c45; } 33 | .CodeMirror span.cm-bracket { color: #eaeaea; } 34 | .CodeMirror span.cm-tag { color: #d54e53; } 35 | .CodeMirror span.cm-link { color: #a16a94; } 36 | .CodeMirror span.cm-error { background: #d54e53; color: #6A6A6A; } 37 | 38 | .CodeMirror .CodeMirror-activeline-background { background: #2a2a2a; } 39 | .CodeMirror .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; } 40 | -------------------------------------------------------------------------------- /jupythemer/styles/color/tomorrow-night-eighties.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | /* 6 | 7 | Name: Tomorrow Night - Eighties 8 | Author: Chris Kempson 9 | 10 | CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror) 11 | Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) 12 | 13 | */ 14 | 15 | .CodeMirror { background: #000000; color: #CCCCCC; } 16 | .CodeMirror div.CodeMirror-selected { background: #2D2D2D; } 17 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(45, 45, 45, 0.99); } 18 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(45, 45, 45, 0.99); } 19 | .CodeMirror .CodeMirror-gutters { background: #000000; border-right: 0px; } 20 | .CodeMirror .CodeMirror-guttermarker { color: #f2777a; } 21 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #777; } 22 | .CodeMirror .CodeMirror-linenumber { color: #515151; } 23 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid #6A6A6A; } 24 | 25 | .CodeMirror span.cm-comment { color: #d27b53; } 26 | .CodeMirror span.cm-atom { color: #a16a94; } 27 | .CodeMirror span.cm-number { color: #a16a94; } 28 | 29 | .CodeMirror span.cm-property, .CodeMirror span.cm-attribute { color: #99cc99; } 30 | .CodeMirror span.cm-keyword { color: #f2777a; } 31 | .CodeMirror span.cm-string { color: #ffcc66; } 32 | 33 | .CodeMirror span.cm-variable { color: #99cc99; } 34 | .CodeMirror span.cm-variable-2 { color: #6699cc; } 35 | .CodeMirror span.cm-def { color: #f99157; } 36 | .CodeMirror span.cm-bracket { color: #CCCCCC; } 37 | .CodeMirror span.cm-tag { color: #f2777a; } 38 | .CodeMirror span.cm-link { color: #a16a94; } 39 | .CodeMirror span.cm-error { background: #f2777a; color: #6A6A6A; } 40 | 41 | .CodeMirror .CodeMirror-activeline-background { background: #343600; } 42 | .CodeMirror .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; } 43 | -------------------------------------------------------------------------------- /jupythemer/styles/color/ttcn.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | .CodeMirror span.cm-quote { color: #090; } 6 | .CodeMirror span.cm-negative { color: #d44; } 7 | .CodeMirror span.cm-positive { color: #292; } 8 | .CodeMirror span.cm-header, span.cm-strong { font-weight: bold; } 9 | .CodeMirror span.cm-em { font-style: italic; } 10 | .CodeMirror span.cm-link { text-decoration: underline; } 11 | .CodeMirror span.cm-strikethrough { text-decoration: line-through; } 12 | .CodeMirror span.cm-header { color: #00f; font-weight: bold; } 13 | 14 | .CodeMirror span.cm-atom { color: #219; } 15 | .CodeMirror span.cm-attribute { color: #00c; } 16 | .CodeMirror span.cm-bracket { color: #997; } 17 | .CodeMirror span.cm-comment { color: #333333; } 18 | .CodeMirror span.cm-def { color: #00f; } 19 | .CodeMirror span.cm-em { font-style: italic; } 20 | .CodeMirror span.cm-error { color: #f00; } 21 | .CodeMirror span.cm-hr { color: #999; } 22 | .CodeMirror span.cm-invalidchar { color: #f00; } 23 | .CodeMirror span.cm-keyword { font-weight:bold; } 24 | .CodeMirror span.cm-link { color: #00c; text-decoration: underline; } 25 | .CodeMirror span.cm-meta { color: #555; } 26 | .CodeMirror span.cm-negative { color: #d44; } 27 | .CodeMirror span.cm-positive { color: #292; } 28 | .CodeMirror span.cm-qualifier { color: #555; } 29 | .CodeMirror span.cm-strikethrough { text-decoration: line-through; } 30 | .CodeMirror span.cm-string { color: #006400; } 31 | .CodeMirror span.cm-string-2 { color: #f50; } 32 | .CodeMirror span.cm-strong { font-weight: bold; } 33 | .CodeMirror span.cm-tag { color: #170; } 34 | .CodeMirror span.cm-variable { color: #8B2252; } 35 | .CodeMirror span.cm-variable-2 { color: #05a; } 36 | .CodeMirror span.cm-variable-3 { color: #085; } 37 | 38 | .CodeMirror span.cm-invalidchar { color: #f00; } 39 | 40 | /* ASN */ 41 | .CodeMirror span.cm-accessTypes, 42 | .CodeMirror span.cm-compareTypes { color: #27408B; } 43 | .CodeMirror span.cm-cmipVerbs { color: #8B2252; } 44 | .CodeMirror span.cm-modifier { color:#D2691E; } 45 | .CodeMirror span.cm-status { color:#8B4545; } 46 | .CodeMirror span.cm-storage { color:#A020F0; } 47 | .CodeMirror span.cm-tags { color:#006400; } 48 | 49 | /* CFG */ 50 | .CodeMirror span.cm-externalCommands { color: #8B4545; font-weight:bold; } 51 | .CodeMirror span.cm-fileNCtrlMaskOptions, 52 | .CodeMirror span.cm-sectionTitle { color: #2E8B57; font-weight:bold; } 53 | 54 | /* TTCN */ 55 | .CodeMirror span.cm-booleanConsts, 56 | .CodeMirror span.cm-otherConsts, 57 | .CodeMirror span.cm-verdictConsts { color: #006400; } 58 | .CodeMirror span.cm-configOps, 59 | .CodeMirror span.cm-functionOps, 60 | .CodeMirror span.cm-portOps, 61 | .CodeMirror span.cm-sutOps, 62 | .CodeMirror span.cm-timerOps, 63 | .CodeMirror span.cm-verdictOps { color: #0000FF; } 64 | .CodeMirror span.cm-preprocessor, 65 | .CodeMirror span.cm-templateMatch, 66 | .CodeMirror span.cm-ttcn3Macros { color: #27408B; } 67 | .CodeMirror span.cm-types { color: #A52A2A; font-weight:bold; } 68 | .CodeMirror span.cm-visibilityModifiers { font-weight:bold; } 69 | -------------------------------------------------------------------------------- /jupythemer/styles/color/twilight.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | 5 | .CodeMirror { background: #141414; color: #f7f7f7; } /**/ 6 | .CodeMirror div.CodeMirror-selected { background: #323232; } /**/ 7 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(50, 50, 50, 0.99); } 8 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(50, 50, 50, 0.99); } 9 | 10 | .CodeMirror .CodeMirror-gutters { background: #222; border-right: 1px solid #aaa; } 11 | .CodeMirror .CodeMirror-guttermarker { color: white; } 12 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #aaa; } 13 | .CodeMirror .CodeMirror-linenumber { color: #aaa; } 14 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid white; } 15 | 16 | .CodeMirror span.cm-keyword { color: #f9ee98; } /**/ 17 | .CodeMirror span.cm-atom { color: #FC0; } 18 | .CodeMirror span.cm-number { color: #ca7841; } /**/ 19 | .CodeMirror span.cm-def { color: #8DA6CE; } 20 | .CodeMirror span.cm-variable-2, .CodeMirror span.cm-tag { color: #607392; } /**/ 21 | .CodeMirror span.cm-variable-3, .CodeMirror span.cm-def { color: #607392; } /**/ 22 | .CodeMirror span.cm-operator { color: #cda869; } /**/ 23 | .CodeMirror span.cm-comment { color:#777; font-style:italic; font-weight:normal; } /**/ 24 | .CodeMirror span.cm-string { color:#8f9d6a; font-style:italic; } /**/ 25 | .CodeMirror span.cm-string-2 { color:#bd6b18; } /*?*/ 26 | .CodeMirror span.cm-meta { background-color:#141414; color:#f7f7f7; } /*?*/ 27 | .CodeMirror span.cm-builtin { color: #cda869; } /*?*/ 28 | .CodeMirror span.cm-tag { color: #997643; } /**/ 29 | .CodeMirror span.cm-attribute { color: #d6bb6d; } /*?*/ 30 | .CodeMirror span.cm-header { color: #FF6400; } 31 | .CodeMirror span.cm-hr { color: #AEAEAE; } 32 | .CodeMirror span.cm-link { color:#ad9361; font-style:italic; text-decoration:none; } /**/ 33 | .CodeMirror span.cm-error { border-bottom: 1px solid red; } 34 | 35 | .CodeMirror .CodeMirror-activeline-background { background: #27282E; } 36 | .CodeMirror .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; } 37 | -------------------------------------------------------------------------------- /jupythemer/styles/color/vibrant-ink.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | */ 4 | /* Taken from the popular Visual Studio Vibrant Ink Schema */ 5 | 6 | .CodeMirror { background: black; color: white; } 7 | .CodeMirror div.CodeMirror-selected { background: #35493c; } 8 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(53, 73, 60, 0.99); } 9 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(53, 73, 60, 0.99); } 10 | 11 | .CodeMirror .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; } 12 | .CodeMirror .CodeMirror-guttermarker { color: white; } 13 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #d0d0d0; } 14 | .CodeMirror .CodeMirror-linenumber { color: #d0d0d0; } 15 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid white; } 16 | 17 | .CodeMirror span.cm-keyword { color: #CC7832; } 18 | .CodeMirror span.cm-atom { color: #FC0; } 19 | .CodeMirror span.cm-number { color: #FFEE98; } 20 | .CodeMirror span.cm-def { color: #8DA6CE; } 21 | .CodeMirror span.cm-variable-2, span.cm-s-vibrant span.cm-tag { color: #FFC66D; } 22 | .CodeMirror span.cm-variable-3, span.cm-s-vibrant span.cm-def { color: #FFC66D; } 23 | .CodeMirror span.cm-operator { color: #888; } 24 | .CodeMirror span.cm-comment { color: gray; font-weight: bold; } 25 | .CodeMirror span.cm-string { color: #A5C25C; } 26 | .CodeMirror span.cm-string-2 { color: red; } 27 | .CodeMirror span.cm-meta { color: #D8FA3C; } 28 | .CodeMirror span.cm-builtin { color: #8DA6CE; } 29 | .CodeMirror span.cm-tag { color: #8DA6CE; } 30 | .CodeMirror span.cm-attribute { color: #8DA6CE; } 31 | .CodeMirror span.cm-header { color: #FF6400; } 32 | .CodeMirror span.cm-hr { color: #AEAEAE; } 33 | .CodeMirror span.cm-link { color: blue; } 34 | .CodeMirror span.cm-error { border-bottom: 1px solid red; } 35 | 36 | .CodeMirror .CodeMirror-activeline-background { background: #27282E; } 37 | .CodeMirror .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; } 38 | -------------------------------------------------------------------------------- /jupythemer/styles/color/xq-dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | 4 | Copyright (C) 2011 by MarkLogic Corporation 5 | Author: Mike Brevoort 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in 15 | all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | THE SOFTWARE. 24 | */ 25 | .CodeMirror { background: #0a001f; color: #f8f8f8; } 26 | .CodeMirror div.CodeMirror-selected { background: #27007A; } 27 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: rgba(39, 0, 122, 0.99); } 28 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: rgba(39, 0, 122, 0.99); } 29 | .CodeMirror .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; } 30 | .CodeMirror .CodeMirror-guttermarker { color: #FFBD40; } 31 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #f8f8f8; } 32 | .CodeMirror .CodeMirror-linenumber { color: #f8f8f8; } 33 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid white; } 34 | 35 | .CodeMirror span.cm-keyword { color: #FFBD40; } 36 | .CodeMirror span.cm-atom { color: #6C8CD5; } 37 | .CodeMirror span.cm-number { color: #164; } 38 | .CodeMirror span.cm-def { color: #FFF; text-decoration:underline; } 39 | .CodeMirror span.cm-variable { color: #FFF; } 40 | .CodeMirror span.cm-variable-2 { color: #EEE; } 41 | .CodeMirror span.cm-variable-3 { color: #DDD; } 42 | .CodeMirror span.cm-property {} 43 | .CodeMirror span.cm-operator {} 44 | .CodeMirror span.cm-comment { color: gray; } 45 | .CodeMirror span.cm-string { color: #9FEE00; } 46 | .CodeMirror span.cm-meta { color: yellow; } 47 | .CodeMirror span.cm-qualifier { color: #FFF700; } 48 | .CodeMirror span.cm-builtin { color: #30a; } 49 | .CodeMirror span.cm-bracket { color: #cc7; } 50 | .CodeMirror span.cm-tag { color: #FFBD40; } 51 | .CodeMirror span.cm-attribute { color: #FFF700; } 52 | .CodeMirror span.cm-error { color: #f00; } 53 | 54 | .CodeMirror .CodeMirror-activeline-background { background: #27282E; } 55 | .CodeMirror .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; } 56 | -------------------------------------------------------------------------------- /jupythemer/styles/color/xq-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | 4 | Copyright (C) 2011 by MarkLogic Corporation 5 | Author: Mike Brevoort 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in 15 | all copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | THE SOFTWARE. 24 | */ 25 | .CodeMirror span.cm-keyword { line-height: 1em; font-weight: bold; color: #5A5CAD; } 26 | .CodeMirror span.cm-atom { color: #6C8CD5; } 27 | .CodeMirror span.cm-number { color: #164; } 28 | .CodeMirror span.cm-def { text-decoration:underline; } 29 | .CodeMirror span.cm-variable { color: black; } 30 | .CodeMirror span.cm-variable-2 { color:black; } 31 | .CodeMirror span.cm-variable-3 { color: black; } 32 | .CodeMirror span.cm-property {} 33 | .CodeMirror span.cm-operator {} 34 | .CodeMirror span.cm-comment { color: #0080FF; font-style: italic; } 35 | .CodeMirror span.cm-string { color: red; } 36 | .CodeMirror span.cm-meta { color: yellow; } 37 | .CodeMirror span.cm-qualifier { color: grey; } 38 | .CodeMirror span.cm-builtin { color: #7EA656; } 39 | .CodeMirror span.cm-bracket { color: #cc7; } 40 | .CodeMirror span.cm-tag { color: #3F7F7F; } 41 | .CodeMirror span.cm-attribute { color: #7F007F; } 42 | .CodeMirror span.cm-error { color: #f00; } 43 | 44 | .CodeMirror .CodeMirror-activeline-background { background: #e8f2ff; } 45 | .CodeMirror .CodeMirror-matchingbracket { outline:1px solid grey;color:black !important;background:yellow; } 46 | -------------------------------------------------------------------------------- /jupythemer/styles/color/yeti.css: -------------------------------------------------------------------------------- 1 | /* 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | 4 | Name: yeti 5 | Author: Michael Kaminsky (http://github.com/mkaminsky11) 6 | 7 | Original yeti color scheme by Jesse Weed (https://github.com/jesseweed/yeti-syntax) 8 | 9 | */ 10 | 11 | 12 | .CodeMirror { 13 | background-color: #ECEAE8 !important; 14 | color: #d1c9c0 !important; 15 | border: none; 16 | } 17 | 18 | .CodeMirror .CodeMirror-gutters { 19 | color: #adaba6; 20 | background-color: #E5E1DB; 21 | border: none; 22 | } 23 | .CodeMirror .CodeMirror-cursor { border-left: solid thin #d1c9c0; } 24 | .CodeMirror .CodeMirror-linenumber { color: #adaba6; } 25 | .cm-s-yeti.CodeMirror-focused div.CodeMirror-selected { background: #DCD8D2; } 26 | .CodeMirror .CodeMirror-line::selection, .CodeMirror .CodeMirror-line > span::selection, .CodeMirror .CodeMirror-line > span > span::selection { background: #DCD8D2; } 27 | .CodeMirror .CodeMirror-line::-moz-selection, .CodeMirror .CodeMirror-line > span::-moz-selection, .CodeMirror .CodeMirror-line > span > span::-moz-selection { background: #DCD8D2; } 28 | .CodeMirror span.cm-comment { color: #d4c8be; } 29 | .CodeMirror span.cm-string, .CodeMirror span.cm-string-2 { color: #96c0d8; } 30 | .CodeMirror span.cm-number { color: #a074c4; } 31 | .CodeMirror span.cm-variable { color: #55b5db; } 32 | .CodeMirror span.cm-variable-2 { color: #a074c4; } 33 | .CodeMirror span.cm-def { color: #55b5db; } 34 | .CodeMirror span.cm-operator { color: #9fb96e; } 35 | .CodeMirror span.cm-keyword { color: #9fb96e; } 36 | .CodeMirror span.cm-atom { color: #a074c4; } 37 | .CodeMirror span.cm-meta { color: #96c0d8; } 38 | .CodeMirror span.cm-tag { color: #96c0d8; } 39 | .CodeMirror span.cm-attribute { color: #9fb96e; } 40 | .CodeMirror span.cm-qualifier { color: #96c0d8; } 41 | .CodeMirror span.cm-property { color: #a074c4; } 42 | .CodeMirror span.cm-builtin { color: #a074c4; } 43 | .CodeMirror span.cm-variable-3 { color: #96c0d8; } 44 | .CodeMirror .CodeMirror-activeline-background { background: #E7E4E0; } 45 | .CodeMirror .CodeMirror-matchingbracket { text-decoration: underline; } 46 | -------------------------------------------------------------------------------- /jupythemer/styles/color/zenburn.css: -------------------------------------------------------------------------------- 1 | /** 2 | Adapted for jupyter-themer from https://github.com/codemirror 3 | * " 4 | * Using Zenburn color palette from the Emacs Zenburn Theme 5 | * https://github.com/bbatsov/zenburn-emacs/blob/master/zenburn-theme.el 6 | * 7 | * Also using parts of https://github.com/xavi/coderay-lighttable-theme 8 | * " 9 | * From: https://github.com/wisenomad/zenburn-lighttable-theme/blob/master/zenburn.css 10 | */ 11 | 12 | .CodeMirror .CodeMirror-gutters { background: #3f3f3f !important; } 13 | .CodeMirror .CodeMirror-foldgutter-open, .CodeMirror-foldgutter-folded { color: #999; } 14 | .CodeMirror .CodeMirror-cursor { border-left: 1px solid white; } 15 | .CodeMirror { background-color: #3f3f3f; color: #dcdccc; } 16 | .CodeMirror span.cm-builtin { color: #dcdccc; font-weight: bold; } 17 | .CodeMirror span.cm-comment { color: #7f9f7f; } 18 | .CodeMirror span.cm-keyword { color: #f0dfaf; font-weight: bold; } 19 | .CodeMirror span.cm-atom { color: #bfebbf; } 20 | .CodeMirror span.cm-def { color: #dcdccc; } 21 | .CodeMirror span.cm-variable { color: #dfaf8f; } 22 | .CodeMirror span.cm-variable-2 { color: #dcdccc; } 23 | .CodeMirror span.cm-string { color: #cc9393; } 24 | .CodeMirror span.cm-string-2 { color: #cc9393; } 25 | .CodeMirror span.cm-number { color: #dcdccc; } 26 | .CodeMirror span.cm-tag { color: #93e0e3; } 27 | .CodeMirror span.cm-property { color: #dfaf8f; } 28 | .CodeMirror span.cm-attribute { color: #dfaf8f; } 29 | .CodeMirror span.cm-qualifier { color: #7cb8bb; } 30 | .CodeMirror span.cm-meta { color: #f0dfaf; } 31 | .CodeMirror span.cm-header { color: #f0efd0; } 32 | .CodeMirror span.cm-operator { color: #f0efd0; } 33 | .CodeMirror span.CodeMirror-matchingbracket { box-sizing: border-box; background: transparent; border-bottom: 1px solid; } 34 | .CodeMirror span.CodeMirror-nonmatchingbracket { border-bottom: 1px solid; background: none; } 35 | .CodeMirror .CodeMirror-activeline { background: #000000; } 36 | .CodeMirror .CodeMirror-activeline-background { background: #000000; } 37 | .CodeMirror div.CodeMirror-selected { background: #545454; } 38 | .CodeMirror .CodeMirror-focused div.CodeMirror-selected { background: #4f4f4f; } 39 | -------------------------------------------------------------------------------- /jupythemer/styles/layout/hovertable.css: -------------------------------------------------------------------------------- 1 | table { 2 | border-collapse: collapse; 3 | width: 100%; 4 | } 5 | td { 6 | text-align: left; 7 | padding: 8px; 8 | } 9 | 10 | tr:nth-child(even){background-color: lightgray} 11 | 12 | th { 13 | background-color: #4CAF50; 14 | color: white; 15 | } 16 | 17 | tr:hover {background-color: gray} 18 | -------------------------------------------------------------------------------- /jupythemer/styles/layout/wide.css: -------------------------------------------------------------------------------- 1 | div.code_cell { 2 | margin: 2em 0; 3 | } 4 | 5 | div.text_cell { 6 | margin: 1em 0; 7 | } 8 | 9 | div.input { 10 | padding: 1em; 11 | } 12 | 13 | div.input_area .CodeMirror { 14 | line-height: 1.3em; 15 | padding: 1em; 16 | } 17 | -------------------------------------------------------------------------------- /jupythemer/styles/typography/serif.css: -------------------------------------------------------------------------------- 1 | 2 | #notebook_name { 3 | font-family: "Sorts Mill Goudy", Garamond, Palatino, serif; 4 | font-variant: small-caps; 5 | letter-spacing: 0.15em; 6 | } 7 | 8 | div.text_cell.rendered { 9 | font-family: "Sorts Mill Goudy", Garamond, Palatino, serif; 10 | } 11 | -------------------------------------------------------------------------------- /jupythemer/styles/typography/serif.import: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css?family=Sorts+Mill+Goudy:400'); -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [metadata] 2 | description-file = README.md 3 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import setup, find_packages 2 | 3 | long_description = 'Apply custom CSS styling to your jupyter notebooks.\n\nMix and match themes by:\n\n- color\n- layout\n- typography\n' 4 | 5 | setup( 6 | name='jupyter-themer', 7 | version='0.4.0', 8 | license='MIT', 9 | description='Custom CSS themer for jupyter notebooks', 10 | long_description=long_description, 11 | author='Leon Chen', 12 | author_email='lchen3@gmail.com', 13 | url='https://github.com/transcranial/jupyter-themer', 14 | packages = find_packages(exclude=['*test*']), 15 | package_data = { 16 | 'jupythemer': ['styles/**/*.css'] 17 | }, 18 | entry_points = { 19 | 'console_scripts' : [ 20 | 'jupyter-themer = jupythemer.jupythemer:run' 21 | ] 22 | }, 23 | install_requires=['jupyter', 'notebook'], 24 | keywords = ['jupyter', 'ipython', 'notebook', 'themes', 'css'], 25 | ) 26 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/transcranial/jupyter-themer/c12a953315734b90147a078750cfbe323eda340d/tests/__init__.py -------------------------------------------------------------------------------- /tests/test_script.py: -------------------------------------------------------------------------------- 1 | from __future__ import print_function 2 | 3 | import jupyter 4 | import os 5 | import unittest 6 | 7 | import tempfile 8 | from collections import namedtuple 9 | from jupythemer import jupythemer 10 | from jupythemer.jupythemer import custom_css_filepath 11 | 12 | neo_css = '''/* 13 | Adapted for jupyter-themer from https://github.com/codemirror 14 | */ 15 | 16 | /* neo theme for codemirror */ 17 | 18 | /* Color scheme */ 19 | 20 | .CodeMirror { 21 | background-color:#ffffff; 22 | color:#2e383c; 23 | line-height:1.4375; 24 | } 25 | .CodeMirror span.cm-comment { color:#75787b; } 26 | .CodeMirror span.cm-keyword, .CodeMirror span.cm-property { color:#1d75b3; } 27 | .CodeMirror span.cm-atom,.CodeMirror span.cm-number { color:#75438a; } 28 | .CodeMirror span.cm-node,.CodeMirror span.cm-tag { color:#9c3328; } 29 | .CodeMirror span.cm-string { color:#b35e14; } 30 | .CodeMirror span.cm-variable,.CodeMirror span.cm-qualifier { color:#047d65; } 31 | 32 | 33 | /* Editor styling */ 34 | 35 | .CodeMirror pre { 36 | padding:0; 37 | } 38 | 39 | .CodeMirror .CodeMirror-gutters { 40 | border:none; 41 | border-right:10px solid transparent; 42 | background-color:transparent; 43 | } 44 | 45 | .CodeMirror .CodeMirror-linenumber { 46 | padding:0; 47 | color:#e0e2e5; 48 | } 49 | 50 | .CodeMirror .CodeMirror-guttermarker { color: #1d75b3; } 51 | .CodeMirror .CodeMirror-guttermarker-subtle { color: #e0e2e5; } 52 | 53 | .CodeMirror .CodeMirror-cursor { 54 | width: auto; 55 | border: 0; 56 | background: rgba(155,157,162,0.37); 57 | z-index: 1; 58 | } 59 | 60 | ''' 61 | 62 | 63 | class TestScript(unittest.TestCase): 64 | 65 | def setUp(self): 66 | self.backup = '' 67 | if os.path.isfile(custom_css_filepath): 68 | self.fn = custom_css_filepath 69 | else: 70 | _, self.fn = tempfile.mkstemp() 71 | 72 | with open(self.fn, 'r') as f: 73 | self.backup = f.read() 74 | 75 | def tearDown(self): 76 | with open(self.fn, 'w') as f: 77 | f.write(self.backup) 78 | 79 | def test_color(self): 80 | args = namedtuple('args', ('color', 'layout', 'typography', 'font', 'background', 'show', 'css_path')) 81 | jupythemer.run(args('neo', None, None, None, None, None, self.fn)) 82 | with open(self.fn, 'r') as f: 83 | content = f.read() 84 | print(content) 85 | self.assertEqual(content, neo_css) 86 | 87 | 88 | class TestScriptCustomPath(unittest.TestCase): 89 | 90 | def setUp(self): 91 | _, self.fn = tempfile.mkstemp() 92 | 93 | def tearDown(self): 94 | os.remove(self.fn) 95 | 96 | def test_color(self): 97 | args = namedtuple('args', ('color', 'layout', 'typography', 'font', 'background', 'show', 'css_path')) 98 | 99 | with open(self.fn, 'r') as f: 100 | content = f.read() 101 | 102 | self.assertEqual(content, '') 103 | 104 | jupythemer.run(args('neo', None, None, None, None, None, self.fn)) 105 | with open(self.fn, 'r') as f: 106 | content = f.read() 107 | 108 | self.assertEqual(content, neo_css) 109 | 110 | 111 | if __name__ == '__main__': 112 | print('Test script') 113 | unittest.main() 114 | --------------------------------------------------------------------------------