├── .vscode └── settings.json ├── LICENSE ├── README.md ├── build.py ├── codeclose ├── __init__.py ├── __main__.py ├── errors.py ├── model.py ├── obfuscation.py └── runtime.py ├── docs ├── .gitignore ├── 404.md ├── Gemfile ├── Gemfile.lock ├── _config.yml ├── _includes │ ├── autotitle.html │ ├── base.html │ └── toc.html ├── _layouts │ └── default.html ├── android-chrome-192x192.png ├── android-chrome-512x512.png ├── apple-touch-icon.png ├── assets │ ├── css │ │ └── codeclose_style.css │ ├── fontello │ │ ├── LICENSE.txt │ │ ├── README.txt │ │ ├── config.json │ │ ├── css │ │ │ ├── animation.css │ │ │ ├── fontello-codes.css │ │ │ ├── fontello-embedded.css │ │ │ ├── fontello-ie7-codes.css │ │ │ ├── fontello-ie7.css │ │ │ └── fontello.css │ │ ├── demo.html │ │ └── font │ │ │ ├── fontello.eot │ │ │ ├── fontello.svg │ │ │ ├── fontello.ttf │ │ │ ├── fontello.woff │ │ │ └── fontello.woff2 │ ├── highlight │ │ ├── CHANGES.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── README.ru.md │ │ ├── highlight.pack.js │ │ └── styles │ │ │ ├── a11y-dark.css │ │ │ ├── a11y-light.css │ │ │ ├── agate.css │ │ │ ├── an-old-hope.css │ │ │ ├── androidstudio.css │ │ │ ├── arduino-light.css │ │ │ ├── arta.css │ │ │ ├── ascetic.css │ │ │ ├── atelier-cave-dark.css │ │ │ ├── atelier-cave-light.css │ │ │ ├── atelier-dune-dark.css │ │ │ ├── atelier-dune-light.css │ │ │ ├── atelier-estuary-dark.css │ │ │ ├── atelier-estuary-light.css │ │ │ ├── atelier-forest-dark.css │ │ │ ├── atelier-forest-light.css │ │ │ ├── atelier-heath-dark.css │ │ │ ├── atelier-heath-light.css │ │ │ ├── atelier-lakeside-dark.css │ │ │ ├── atelier-lakeside-light.css │ │ │ ├── atelier-plateau-dark.css │ │ │ ├── atelier-plateau-light.css │ │ │ ├── atelier-savanna-dark.css │ │ │ ├── atelier-savanna-light.css │ │ │ ├── atelier-seaside-dark.css │ │ │ ├── atelier-seaside-light.css │ │ │ ├── atelier-sulphurpool-dark.css │ │ │ ├── atelier-sulphurpool-light.css │ │ │ ├── atom-one-dark-reasonable.css │ │ │ ├── atom-one-dark.css │ │ │ ├── atom-one-light.css │ │ │ ├── brown-paper.css │ │ │ ├── brown-papersq.png │ │ │ ├── codepen-embed.css │ │ │ ├── color-brewer.css │ │ │ ├── darcula.css │ │ │ ├── dark.css │ │ │ ├── default.css │ │ │ ├── docco.css │ │ │ ├── dracula.css │ │ │ ├── far.css │ │ │ ├── foundation.css │ │ │ ├── github-gist.css │ │ │ ├── github.css │ │ │ ├── gml.css │ │ │ ├── googlecode.css │ │ │ ├── gradient-dark.css │ │ │ ├── gradient-light.css │ │ │ ├── grayscale.css │ │ │ ├── gruvbox-dark.css │ │ │ ├── gruvbox-light.css │ │ │ ├── hopscotch.css │ │ │ ├── hybrid.css │ │ │ ├── idea.css │ │ │ ├── ir-black.css │ │ │ ├── isbl-editor-dark.css │ │ │ ├── isbl-editor-light.css │ │ │ ├── kimbie.dark.css │ │ │ ├── kimbie.light.css │ │ │ ├── lightfair.css │ │ │ ├── lioshi.css │ │ │ ├── magula.css │ │ │ ├── mono-blue.css │ │ │ ├── monokai-sublime.css │ │ │ ├── monokai.css │ │ │ ├── night-owl.css │ │ │ ├── nnfx-dark.css │ │ │ ├── nnfx.css │ │ │ ├── nord.css │ │ │ ├── obsidian.css │ │ │ ├── ocean.css │ │ │ ├── paraiso-dark.css │ │ │ ├── paraiso-light.css │ │ │ ├── pojoaque.css │ │ │ ├── pojoaque.jpg │ │ │ ├── purebasic.css │ │ │ ├── qtcreator_dark.css │ │ │ ├── qtcreator_light.css │ │ │ ├── railscasts.css │ │ │ ├── rainbow.css │ │ │ ├── routeros.css │ │ │ ├── school-book.css │ │ │ ├── school-book.png │ │ │ ├── shades-of-purple.css │ │ │ ├── solarized-dark.css │ │ │ ├── solarized-light.css │ │ │ ├── srcery.css │ │ │ ├── sunburst.css │ │ │ ├── tomorrow-night-blue.css │ │ │ ├── tomorrow-night-bright.css │ │ │ ├── tomorrow-night-eighties.css │ │ │ ├── tomorrow-night.css │ │ │ ├── tomorrow.css │ │ │ ├── vs.css │ │ │ ├── vs2015.css │ │ │ ├── xcode.css │ │ │ ├── xt256.css │ │ │ └── zenburn.css │ ├── img │ │ ├── background.svg │ │ └── lock.svg │ └── js │ │ └── fp.js ├── browserconfig.xml ├── contact.md ├── documentation.md ├── download.md ├── favicon-16x16.png ├── favicon-32x32.png ├── favicon.ico ├── favicon.svg ├── index.md ├── legal.md ├── mstile-144x144.png ├── mstile-150x150.png ├── mstile-310x150.png ├── mstile-310x310.png ├── mstile-70x70.png ├── privacy.md ├── safari-pinned-tab.svg ├── site.webmanifest └── terms.md ├── examples ├── .gitignore ├── example1 │ ├── __init__.py │ ├── __main__.py │ └── model.py ├── example2 │ ├── __init__.py │ └── __main__.py ├── example3 │ ├── __init__.py │ ├── __main__.py │ └── unencrypted_submodule.py ├── example4 │ ├── __init__.py │ └── __main__.py ├── example5 │ ├── __init__.py │ └── __main__.py ├── example6 │ ├── __init__.py │ └── __main__.py ├── example7 │ ├── __init__.py │ └── __main__.py ├── keys │ ├── code_encrypting.key │ ├── pk_signing-private.pem │ ├── pk_verifying-public.pem │ └── product_key.txt └── protect.sh └── setup.py /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "python.jediEnabled": true, 3 | "files.exclude": { 4 | "**/*.bak": true, 5 | "**/*.pyc": true 6 | }, 7 | "python.languageServer": "Jedi" 8 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Juan Lao Tebar 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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Codeclose 2 | 3 | ## A license system and code obfuscator for Python 4 | 5 | This is the main repository of Codeclose, and this document is intended to its maintainers. 6 | 7 | If you want to **use** Codeclose, you will find more information in its [official website](https://juanlao7.github.io/codeclose/). 8 | 9 | ## Under construction 10 | 11 | Codeclose was born as an internal license system for [Protopipe](https://juanlao7.github.io/protopipe_web/). However, since it may help someone else, I decided to separate it into another repository and publish it as an open source tool under the MIT License. 12 | 13 | I am not actively working on this project, but if you find any bug or you have any feature request, I will surely find time to fix or implement it. Feel free to use [the issue tracker](https://github.com/juanlao7/codeclose/issues) or [contact me](https://juanlao7.github.io/codeclose/contact). 14 | 15 | In the commit history of this repository you will find strange commit messages that talk about things not related to this repository. The reason is that those commits originally belonged to Protopipe's repository and contained more changes. 16 | 17 | You will also find weird that this project has no tests. The reason is that I invested most of my time developing a suite for testing the obfuscated \& encrypted code of Protopipe. I made the assumption that, if Protopipe works fine, then Codeclose works too. 18 | -------------------------------------------------------------------------------- /build.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import os 3 | import subprocess 4 | from shutil import copyfile 5 | 6 | def uninstall(): 7 | subprocess.call('pip uninstall codeclose -y', shell=True) 8 | 9 | def install(): 10 | uninstall() 11 | subprocess.check_call('pip install . --user', shell=True) 12 | 13 | def all(): 14 | install() 15 | 16 | for targetName in sys.argv[1:]: 17 | target = getattr(sys.modules[__name__], targetName) 18 | target() 19 | -------------------------------------------------------------------------------- /codeclose/__init__.py: -------------------------------------------------------------------------------- 1 | from .model import * 2 | -------------------------------------------------------------------------------- /codeclose/errors.py: -------------------------------------------------------------------------------- 1 | class InvalidProductKey(Exception): 2 | def __init__(self): 3 | super().__init__('Invalid product key.') 4 | 5 | class InvalidProductId(Exception): 6 | def __init__(self): 7 | super().__init__('Valid product key, but not for this product.') 8 | 9 | class ExpiredLicense(Exception): 10 | def __init__(self, expirationTime): 11 | super().__init__('Expired license.') 12 | self.expirationTime = expirationTime 13 | 14 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | _site -------------------------------------------------------------------------------- /docs/404.md: -------------------------------------------------------------------------------- 1 | 8 | 9 | # 404 10 | 11 | Page not found. 12 | -------------------------------------------------------------------------------- /docs/Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | gem 'github-pages', group: :jekyll_plugins 3 | gem 'wdm', '>= 0.1.0' if Gem.win_platform? 4 | -------------------------------------------------------------------------------- /docs/_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-cayman 2 | title: Codeclose 3 | description: Protect and license your Python source code 4 | baseurl: /codeclose 5 | permalink: /404.html 6 | name: Codeclose website 7 | 8 | company: 9 | name: Juan Lao Tebar 10 | email: juanlaotebar`.and.more`{:.antispam}@gmail.com 11 | url: https://www.linkedin.com/in/juan-lao/ 12 | 13 | github: 14 | is_project_page: false 15 | 16 | exclude: ["_*"] 17 | -------------------------------------------------------------------------------- /docs/_includes/autotitle.html: -------------------------------------------------------------------------------- 1 | {% capture autotitleWorkspace %} 2 | {% if page.no_title %} 3 | {% capture autotitle %}{{ site.title }} — {{ site.description }}{% endcapture %} 4 | {% else %} 5 | {% assign nodes = include.html | split: '' | first }}>{% endcapture %} 8 | {% assign header = _workspace[0] | replace: _hAttrToStrip, '' | strip_html %} 9 | {% capture autotitle %}{{ header }} | {{ site.title }} — {{ site.description }}{% endcapture %} 10 | {% endif %} 11 | {% endcapture %}{% assign autotitleWorkspace = '' %} 12 | {{ autotitle }} 13 | -------------------------------------------------------------------------------- /docs/_includes/base.html: -------------------------------------------------------------------------------- 1 | {% assign base = '' %} {% assign depth = page.url | split: '/' | size | minus: 1 2 | %} {% if depth <= 1 %}{% assign base = '.' %} {% elsif depth == 2 %}{% assign 3 | base = '..' %} {% elsif depth == 3 %}{% assign base = '../..' %} {% elsif depth 4 | == 4 %}{% assign base = '../../..' %}{% endif %} -------------------------------------------------------------------------------- /docs/_includes/toc.html: -------------------------------------------------------------------------------- 1 | {% capture tocWorkspace %} 2 | {% comment %} 3 | Version 1.0.6 4 | https://github.com/allejo/jekyll-toc 5 | 6 | "...like all things liquid - where there's a will, and ~36 hours to spare, there's usually a/some way" ~jaybe 7 | 8 | Usage: 9 | {% include toc.html html=content sanitize=true class="inline_toc" id="my_toc" h_min=2 h_max=3 %} 10 | 11 | Parameters: 12 | * html (string) - the HTML of compiled markdown generated by kramdown in Jekyll 13 | 14 | Optional Parameters: 15 | * sanitize (bool) : false - when set to true, the headers will be stripped of any HTML in the TOC 16 | * class (string) : '' - a CSS class assigned to the TOC 17 | * id (string) : '' - an ID to assigned to the TOC 18 | * h_min (int) : 1 - the minimum TOC header level to use; any header lower than this value will be ignored 19 | * h_max (int) : 6 - the maximum TOC header level to use; any header greater than this value will be ignored 20 | * ordered (bool) : false - when set to true, an ordered list will be outputted instead of an unordered list 21 | * item_class (string) : '' - add custom class(es) for each list item; has support for '%level%' placeholder, which is the current heading level 22 | * baseurl (string) : '' - add a base url to the TOC links for when your TOC is on another page than the actual content 23 | * anchor_class (string) : '' - add custom class(es) for each anchor element 24 | 25 | Output: 26 | An ordered or unordered list representing the table of contents of a markdown block. This snippet will only 27 | generate the table of contents and will NOT output the markdown given to it 28 | {% endcomment %} 29 | 30 | {% capture my_toc %}{% endcapture %} 31 | {% assign orderedList = include.ordered | default: false %} 32 | {% assign minHeader = include.h_min | default: 1 %} 33 | {% assign maxHeader = include.h_max | default: 6 %} 34 | {% assign nodes = include.html | split: ' maxHeader %} 47 | {% continue %} 48 | {% endif %} 49 | 50 | {% if firstHeader %} 51 | {% assign firstHeader = false %} 52 | {% assign minHeader = headerLevel %} 53 | {% endif %} 54 | 55 | {% assign indentAmount = headerLevel | minus: minHeader | add: 1 %} 56 | {% assign _workspace = node | split: '' | first }}>{% endcapture %} 63 | {% assign header = _workspace[0] | replace: _hAttrToStrip, '' %} 64 | 65 | {% assign space = '' %} 66 | {% for i in (1..indentAmount) %} 67 | {% assign space = space | prepend: ' ' %} 68 | {% endfor %} 69 | 70 | {% unless include.item_class == blank %} 71 | {% capture listItemClass %}{:.{{ include.item_class | replace: '%level%', headerLevel }}}{% endcapture %} 72 | {% endunless %} 73 | 74 | {% capture my_toc %}{{ my_toc }} 75 | {{ space }}{{ listModifier }} {{ listItemClass }} [{% if include.sanitize %}{{ header | strip_html }}{% else %}{{ header }}{% endif %}]({% if include.baseurl %}{{ include.baseurl }}{% endif %}#{{ html_id }}){% if include.anchor_class %}{:.{{ include.anchor_class }}}{% endif %}{% endcapture %} 76 | {% endfor %} 77 | 78 | {% if include.class %} 79 | {% capture my_toc %}{:.{{ include.class }}} 80 | {{ my_toc | lstrip }}{% endcapture %} 81 | {% endif %} 82 | 83 | {% if include.id %} 84 | {% capture my_toc %}{: #{{ include.id }}} 85 | {{ my_toc | lstrip }}{% endcapture %} 86 | {% endif %} 87 | {% endcapture %}{% assign tocWorkspace = '' %}{{ my_toc | markdownify | strip }} -------------------------------------------------------------------------------- /docs/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/docs/android-chrome-192x192.png -------------------------------------------------------------------------------- /docs/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/docs/android-chrome-512x512.png -------------------------------------------------------------------------------- /docs/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/docs/apple-touch-icon.png -------------------------------------------------------------------------------- /docs/assets/fontello/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Font license info 2 | 3 | 4 | ## Entypo 5 | 6 | Copyright (C) 2012 by Daniel Bruce 7 | 8 | Author: Daniel Bruce 9 | License: SIL (http://scripts.sil.org/OFL) 10 | Homepage: http://www.entypo.com 11 | 12 | 13 | ## Modern Pictograms 14 | 15 | Copyright (c) 2012 by John Caserta. All rights reserved. 16 | 17 | Author: John Caserta 18 | License: SIL (http://scripts.sil.org/OFL) 19 | Homepage: http://thedesignoffice.org/project/modern-pictograms/ 20 | 21 | 22 | ## Font Awesome 23 | 24 | Copyright (C) 2016 by Dave Gandy 25 | 26 | Author: Dave Gandy 27 | License: SIL () 28 | Homepage: http://fortawesome.github.com/Font-Awesome/ 29 | 30 | 31 | ## Elusive 32 | 33 | Copyright (C) 2013 by Aristeides Stathopoulos 34 | 35 | Author: Aristeides Stathopoulos 36 | License: SIL (http://scripts.sil.org/OFL) 37 | Homepage: http://aristeides.com/ 38 | 39 | 40 | ## Fontelico 41 | 42 | Copyright (C) 2012 by Fontello project 43 | 44 | Author: Crowdsourced, for Fontello project 45 | License: SIL (http://scripts.sil.org/OFL) 46 | Homepage: http://fontello.com 47 | 48 | 49 | -------------------------------------------------------------------------------- /docs/assets/fontello/README.txt: -------------------------------------------------------------------------------- 1 | This webfont is generated by http://fontello.com open source project. 2 | 3 | 4 | ================================================================================ 5 | Please, note, that you should obey original font licenses, used to make this 6 | webfont pack. Details available in LICENSE.txt file. 7 | 8 | - Usually, it's enough to publish content of LICENSE.txt file somewhere on your 9 | site in "About" section. 10 | 11 | - If your project is open-source, usually, it will be ok to make LICENSE.txt 12 | file publicly available in your repository. 13 | 14 | - Fonts, used in Fontello, don't require a clickable link on your site. 15 | But any kind of additional authors crediting is welcome. 16 | ================================================================================ 17 | 18 | 19 | Comments on archive content 20 | --------------------------- 21 | 22 | - /font/* - fonts in different formats 23 | 24 | - /css/* - different kinds of css, for all situations. Should be ok with 25 | twitter bootstrap. Also, you can skip style and assign icon classes 26 | directly to text elements, if you don't mind about IE7. 27 | 28 | - demo.html - demo file, to show your webfont content 29 | 30 | - LICENSE.txt - license info about source fonts, used to build your one. 31 | 32 | - config.json - keeps your settings. You can import it back into fontello 33 | anytime, to continue your work 34 | 35 | 36 | Why so many CSS files ? 37 | ----------------------- 38 | 39 | Because we like to fit all your needs :) 40 | 41 | - basic file, .css - is usually enough, it contains @font-face 42 | and character code definitions 43 | 44 | - *-ie7.css - if you need IE7 support, but still don't wish to put char codes 45 | directly into html 46 | 47 | - *-codes.css and *-ie7-codes.css - if you like to use your own @font-face 48 | rules, but still wish to benefit from css generation. That can be very 49 | convenient for automated asset build systems. When you need to update font - 50 | no need to manually edit files, just override old version with archive 51 | content. See fontello source code for examples. 52 | 53 | - *-embedded.css - basic css file, but with embedded WOFF font, to avoid 54 | CORS issues in Firefox and IE9+, when fonts are hosted on the separate domain. 55 | We strongly recommend to resolve this issue by `Access-Control-Allow-Origin` 56 | server headers. But if you ok with dirty hack - this file is for you. Note, 57 | that data url moved to separate @font-face to avoid problems with 15 | 16 | 17 | ``` 18 | 19 | Библиотека найдёт и раскрасит код внутри тегов `
`, попытавшись
 20 | автоматически определить язык. Когда автоопределение не срабатывает, можно явно
 21 | указать язык в атрибуте class:
 22 | 
 23 | ```html
 24 | 
...
25 | ``` 26 | 27 | Список поддерживаемых классов языков доступен в [справочнике по классам][2]. 28 | Класс также можно предварить префиксами `language-` или `lang-`. 29 | 30 | Чтобы отключить подсветку для какого-то блока, используйте класс `nohighlight`: 31 | 32 | ```html 33 |
...
34 | ``` 35 | 36 | ## Инициализация вручную 37 | 38 | Чтобы иметь чуть больше контроля за инициализацией подсветки, вы можете 39 | использовать функции [`highlightBlock`][3] и [`configure`][4]. Таким образом 40 | можно управлять тем, *что* и *когда* подсвечивать. 41 | 42 | Вот пример инициализации, эквивалентной вызову [`initHighlightingOnLoad`][1], но 43 | с использованием `document.addEventListener`: 44 | 45 | ```js 46 | document.addEventListener('DOMContentLoaded', (event) => { 47 | document.querySelectorAll('pre code').forEach((block) => { 48 | hljs.highlightBlock(block); 49 | }); 50 | }); 51 | ``` 52 | 53 | Вы можете использовать любые теги разметки вместо `
`. Если
 54 | используете контейнер, не сохраняющий переводы строк, вам нужно сказать
 55 | highlight.js использовать для них тег `
`: 56 | 57 | ```js 58 | hljs.configure({useBR: true}); 59 | 60 | document.querySelectorAll('div.code').forEach((block) => { 61 | hljs.highlightBlock(block); 62 | }); 63 | ``` 64 | 65 | Другие опции можно найти в документации функции [`configure`][4]. 66 | 67 | 68 | ## Web Workers 69 | 70 | Подсветку можно запустить внутри web worker'а, чтобы окно 71 | браузера не подтормаживало при работе с большими кусками кода. 72 | 73 | В основном скрипте: 74 | 75 | ```js 76 | addEventListener('load', () => { 77 | const code = document.querySelector('#code'); 78 | const worker = new Worker('worker.js'); 79 | worker.onmessage = (event) => { code.innerHTML = event.data; } 80 | worker.postMessage(code.textContent); 81 | }); 82 | ``` 83 | 84 | В worker.js: 85 | 86 | ```js 87 | onmessage = (event) => { 88 | importScripts('/highlight.min.js'); 89 | const result = self.hljs.highlightAuto(event.data); 90 | postMessage(result.value); 91 | }; 92 | ``` 93 | 94 | 95 | ## Установка библиотеки 96 | 97 | Highlight.js можно использовать в браузере прямо с CDN хостинга или скачать 98 | индивидуальную сборку, а также установив модуль на сервере. На 99 | [странице загрузки][5] подробно описаны все варианты. 100 | 101 | **Не подключайте GitHub напрямую.** Библиотека не предназначена для 102 | использования в виде исходного кода, а требует отдельной сборки. Если вам не 103 | подходит ни один из готовых вариантов, читайте [документацию по сборке][6]. 104 | 105 | **Файл на CDN содержит не все языки.** Иначе он будет слишком большого размера. 106 | Если нужного вам языка нет в [категории "Common"][5], можно дообавить его 107 | вручную: 108 | 109 | ```html 110 | 112 | ``` 113 | 114 | **Про Almond.** Нужно задать имя модуля в оптимизаторе, например: 115 | 116 | ``` 117 | r.js -o name=hljs paths.hljs=/path/to/highlight out=highlight.js 118 | ``` 119 | 120 | 121 | ## Лицензия 122 | 123 | Highlight.js распространяется под лицензией BSD. Подробнее читайте файл 124 | [LICENSE][7]. 125 | 126 | 127 | ## Ссылки 128 | 129 | Официальный сайт билиотеки расположен по адресу . 130 | 131 | Более подробная документация по API и другим темам расположена на 132 | . 133 | 134 | Авторы и контрибьюторы перечислены в файле [AUTHORS.txt][8] file. 135 | 136 | [1]: http://highlightjs.readthedocs.io/en/latest/api.html#inithighlightingonload 137 | [2]: http://highlightjs.readthedocs.io/en/latest/css-classes-reference.html 138 | [3]: http://highlightjs.readthedocs.io/en/latest/api.html#highlightblock-block 139 | [4]: http://highlightjs.readthedocs.io/en/latest/api.html#configure-options 140 | [5]: https://highlightjs.org/download/ 141 | [6]: http://highlightjs.readthedocs.io/en/latest/building-testing.html 142 | [7]: https://github.com/highlightjs/highlight.js/blob/master/LICENSE 143 | [8]: https://github.com/highlightjs/highlight.js/blob/master/AUTHORS.txt 144 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/a11y-dark.css: -------------------------------------------------------------------------------- 1 | /* a11y-dark theme */ 2 | /* Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css */ 3 | /* @author: ericwbailey */ 4 | 5 | /* Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #d4d0ab; 9 | } 10 | 11 | /* Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-tag, 15 | .hljs-name, 16 | .hljs-selector-id, 17 | .hljs-selector-class, 18 | .hljs-regexp, 19 | .hljs-deletion { 20 | color: #ffa07a; 21 | } 22 | 23 | /* Orange */ 24 | .hljs-number, 25 | .hljs-built_in, 26 | .hljs-builtin-name, 27 | .hljs-literal, 28 | .hljs-type, 29 | .hljs-params, 30 | .hljs-meta, 31 | .hljs-link { 32 | color: #f5ab35; 33 | } 34 | 35 | /* Yellow */ 36 | .hljs-attribute { 37 | color: #ffd700; 38 | } 39 | 40 | /* Green */ 41 | .hljs-string, 42 | .hljs-symbol, 43 | .hljs-bullet, 44 | .hljs-addition { 45 | color: #abe338; 46 | } 47 | 48 | /* Blue */ 49 | .hljs-title, 50 | .hljs-section { 51 | color: #00e0e0; 52 | } 53 | 54 | /* Purple */ 55 | .hljs-keyword, 56 | .hljs-selector-tag { 57 | color: #dcc6e0; 58 | } 59 | 60 | .hljs { 61 | display: block; 62 | overflow-x: auto; 63 | background: #2b2b2b; 64 | color: #f8f8f2; 65 | padding: 0.5em; 66 | } 67 | 68 | .hljs-emphasis { 69 | font-style: italic; 70 | } 71 | 72 | .hljs-strong { 73 | font-weight: bold; 74 | } 75 | 76 | @media screen and (-ms-high-contrast: active) { 77 | .hljs-addition, 78 | .hljs-attribute, 79 | .hljs-built_in, 80 | .hljs-builtin-name, 81 | .hljs-bullet, 82 | .hljs-comment, 83 | .hljs-link, 84 | .hljs-literal, 85 | .hljs-meta, 86 | .hljs-number, 87 | .hljs-params, 88 | .hljs-string, 89 | .hljs-symbol, 90 | .hljs-type, 91 | .hljs-quote { 92 | color: highlight; 93 | } 94 | 95 | .hljs-keyword, 96 | .hljs-selector-tag { 97 | font-weight: bold; 98 | } 99 | } 100 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/a11y-light.css: -------------------------------------------------------------------------------- 1 | /* a11y-light theme */ 2 | /* Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css */ 3 | /* @author: ericwbailey */ 4 | 5 | /* Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #696969; 9 | } 10 | 11 | /* Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-tag, 15 | .hljs-name, 16 | .hljs-selector-id, 17 | .hljs-selector-class, 18 | .hljs-regexp, 19 | .hljs-deletion { 20 | color: #d91e18; 21 | } 22 | 23 | /* Orange */ 24 | .hljs-number, 25 | .hljs-built_in, 26 | .hljs-builtin-name, 27 | .hljs-literal, 28 | .hljs-type, 29 | .hljs-params, 30 | .hljs-meta, 31 | .hljs-link { 32 | color: #aa5d00; 33 | } 34 | 35 | /* Yellow */ 36 | .hljs-attribute { 37 | color: #aa5d00; 38 | } 39 | 40 | /* Green */ 41 | .hljs-string, 42 | .hljs-symbol, 43 | .hljs-bullet, 44 | .hljs-addition { 45 | color: #008000; 46 | } 47 | 48 | /* Blue */ 49 | .hljs-title, 50 | .hljs-section { 51 | color: #007faa; 52 | } 53 | 54 | /* Purple */ 55 | .hljs-keyword, 56 | .hljs-selector-tag { 57 | color: #7928a1; 58 | } 59 | 60 | .hljs { 61 | display: block; 62 | overflow-x: auto; 63 | background: #fefefe; 64 | color: #545454; 65 | padding: 0.5em; 66 | } 67 | 68 | .hljs-emphasis { 69 | font-style: italic; 70 | } 71 | 72 | .hljs-strong { 73 | font-weight: bold; 74 | } 75 | 76 | @media screen and (-ms-high-contrast: active) { 77 | .hljs-addition, 78 | .hljs-attribute, 79 | .hljs-built_in, 80 | .hljs-builtin-name, 81 | .hljs-bullet, 82 | .hljs-comment, 83 | .hljs-link, 84 | .hljs-literal, 85 | .hljs-meta, 86 | .hljs-number, 87 | .hljs-params, 88 | .hljs-string, 89 | .hljs-symbol, 90 | .hljs-type, 91 | .hljs-quote { 92 | color: highlight; 93 | } 94 | 95 | .hljs-keyword, 96 | .hljs-selector-tag { 97 | font-weight: bold; 98 | } 99 | } 100 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/agate.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Agate by Taufik Nurrohman 3 | * --------------------------------------------------------------- 4 | * 5 | * #ade5fc 6 | * #a2fca2 7 | * #c6b4f0 8 | * #d36363 9 | * #fcc28c 10 | * #fc9b9b 11 | * #ffa 12 | * #fff 13 | * #333 14 | * #62c8f3 15 | * #888 16 | * 17 | */ 18 | 19 | .hljs { 20 | display: block; 21 | overflow-x: auto; 22 | padding: 0.5em; 23 | background: #333; 24 | color: white; 25 | } 26 | 27 | .hljs-name, 28 | .hljs-strong { 29 | font-weight: bold; 30 | } 31 | 32 | .hljs-code, 33 | .hljs-emphasis { 34 | font-style: italic; 35 | } 36 | 37 | .hljs-tag { 38 | color: #62c8f3; 39 | } 40 | 41 | .hljs-variable, 42 | .hljs-template-variable, 43 | .hljs-selector-id, 44 | .hljs-selector-class { 45 | color: #ade5fc; 46 | } 47 | 48 | .hljs-string, 49 | .hljs-bullet { 50 | color: #a2fca2; 51 | } 52 | 53 | .hljs-type, 54 | .hljs-title, 55 | .hljs-section, 56 | .hljs-attribute, 57 | .hljs-quote, 58 | .hljs-built_in, 59 | .hljs-builtin-name { 60 | color: #ffa; 61 | } 62 | 63 | .hljs-number, 64 | .hljs-symbol, 65 | .hljs-bullet { 66 | color: #d36363; 67 | } 68 | 69 | .hljs-keyword, 70 | .hljs-selector-tag, 71 | .hljs-literal { 72 | color: #fcc28c; 73 | } 74 | 75 | .hljs-comment, 76 | .hljs-deletion, 77 | .hljs-code { 78 | color: #888; 79 | } 80 | 81 | .hljs-regexp, 82 | .hljs-link { 83 | color: #c6b4f0; 84 | } 85 | 86 | .hljs-meta { 87 | color: #fc9b9b; 88 | } 89 | 90 | .hljs-deletion { 91 | background-color: #fc9b9b; 92 | color: #333; 93 | } 94 | 95 | .hljs-addition { 96 | background-color: #a2fca2; 97 | color: #333; 98 | } 99 | 100 | .hljs a { 101 | color: inherit; 102 | } 103 | 104 | .hljs a:focus, 105 | .hljs a:hover { 106 | color: inherit; 107 | text-decoration: underline; 108 | } 109 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/an-old-hope.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | An Old Hope – Star Wars Syntax (c) Gustavo Costa 4 | Original theme - Ocean Dark Theme – by https://github.com/gavsiu 5 | Based on Jesse Leite's Atom syntax theme 'An Old Hope' – https://github.com/JesseLeite/an-old-hope-syntax-atom 6 | 7 | */ 8 | 9 | /* Death Star Comment */ 10 | .hljs-comment, 11 | .hljs-quote 12 | { 13 | color: #B6B18B; 14 | } 15 | 16 | /* Darth Vader */ 17 | .hljs-variable, 18 | .hljs-template-variable, 19 | .hljs-tag, 20 | .hljs-name, 21 | .hljs-selector-id, 22 | .hljs-selector-class, 23 | .hljs-regexp, 24 | .hljs-deletion 25 | { 26 | color: #EB3C54; 27 | } 28 | 29 | /* Threepio */ 30 | .hljs-number, 31 | .hljs-built_in, 32 | .hljs-builtin-name, 33 | .hljs-literal, 34 | .hljs-type, 35 | .hljs-params, 36 | .hljs-meta, 37 | .hljs-link 38 | { 39 | color: #E7CE56; 40 | } 41 | 42 | /* Luke Skywalker */ 43 | .hljs-attribute 44 | { 45 | color: #EE7C2B; 46 | } 47 | 48 | /* Obi Wan Kenobi */ 49 | .hljs-string, 50 | .hljs-symbol, 51 | .hljs-bullet, 52 | .hljs-addition 53 | { 54 | color: #4FB4D7; 55 | } 56 | 57 | /* Yoda */ 58 | .hljs-title, 59 | .hljs-section 60 | { 61 | color: #78BB65; 62 | } 63 | 64 | /* Mace Windu */ 65 | .hljs-keyword, 66 | .hljs-selector-tag 67 | { 68 | color: #B45EA4; 69 | } 70 | 71 | /* Millenium Falcon */ 72 | .hljs 73 | { 74 | display: block; 75 | overflow-x: auto; 76 | background: #1C1D21; 77 | color: #c0c5ce; 78 | padding: 0.5em; 79 | } 80 | 81 | .hljs-emphasis 82 | { 83 | font-style: italic; 84 | } 85 | 86 | .hljs-strong 87 | { 88 | font-weight: bold; 89 | } 90 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/androidstudio.css: -------------------------------------------------------------------------------- 1 | /* 2 | Date: 24 Fev 2015 3 | Author: Pedro Oliveira 4 | */ 5 | 6 | .hljs { 7 | color: #a9b7c6; 8 | background: #282b2e; 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | } 13 | 14 | .hljs-number, 15 | .hljs-literal, 16 | .hljs-symbol, 17 | .hljs-bullet { 18 | color: #6897BB; 19 | } 20 | 21 | .hljs-keyword, 22 | .hljs-selector-tag, 23 | .hljs-deletion { 24 | color: #cc7832; 25 | } 26 | 27 | .hljs-variable, 28 | .hljs-template-variable, 29 | .hljs-link { 30 | color: #629755; 31 | } 32 | 33 | .hljs-comment, 34 | .hljs-quote { 35 | color: #808080; 36 | } 37 | 38 | .hljs-meta { 39 | color: #bbb529; 40 | } 41 | 42 | .hljs-string, 43 | .hljs-attribute, 44 | .hljs-addition { 45 | color: #6A8759; 46 | } 47 | 48 | .hljs-section, 49 | .hljs-title, 50 | .hljs-type { 51 | color: #ffc66d; 52 | } 53 | 54 | .hljs-name, 55 | .hljs-selector-id, 56 | .hljs-selector-class { 57 | color: #e8bf6a; 58 | } 59 | 60 | .hljs-emphasis { 61 | font-style: italic; 62 | } 63 | 64 | .hljs-strong { 65 | font-weight: bold; 66 | } 67 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/arduino-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Arduino® Light Theme - Stefania Mellai 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #FFFFFF; 12 | } 13 | 14 | .hljs, 15 | .hljs-subst { 16 | color: #434f54; 17 | } 18 | 19 | .hljs-keyword, 20 | .hljs-attribute, 21 | .hljs-selector-tag, 22 | .hljs-doctag, 23 | .hljs-name { 24 | color: #00979D; 25 | } 26 | 27 | .hljs-built_in, 28 | .hljs-literal, 29 | .hljs-bullet, 30 | .hljs-code, 31 | .hljs-addition { 32 | color: #D35400; 33 | } 34 | 35 | .hljs-regexp, 36 | .hljs-symbol, 37 | .hljs-variable, 38 | .hljs-template-variable, 39 | .hljs-link, 40 | .hljs-selector-attr, 41 | .hljs-selector-pseudo { 42 | color: #00979D; 43 | } 44 | 45 | .hljs-type, 46 | .hljs-string, 47 | .hljs-selector-id, 48 | .hljs-selector-class, 49 | .hljs-quote, 50 | .hljs-template-tag, 51 | .hljs-deletion { 52 | color: #005C5F; 53 | } 54 | 55 | .hljs-title, 56 | .hljs-section { 57 | color: #880000; 58 | font-weight: bold; 59 | } 60 | 61 | .hljs-comment { 62 | color: rgba(149,165,166,.8); 63 | } 64 | 65 | .hljs-meta-keyword { 66 | color: #728E00; 67 | } 68 | 69 | .hljs-meta { 70 | color: #434f54; 71 | } 72 | 73 | .hljs-emphasis { 74 | font-style: italic; 75 | } 76 | 77 | .hljs-strong { 78 | font-weight: bold; 79 | } 80 | 81 | .hljs-function { 82 | color: #728E00; 83 | } 84 | 85 | .hljs-number { 86 | color: #8A7B52; 87 | } 88 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/arta.css: -------------------------------------------------------------------------------- 1 | /* 2 | Date: 17.V.2011 3 | Author: pumbur 4 | */ 5 | 6 | .hljs { 7 | display: block; 8 | overflow-x: auto; 9 | padding: 0.5em; 10 | background: #222; 11 | } 12 | 13 | .hljs, 14 | .hljs-subst { 15 | color: #aaa; 16 | } 17 | 18 | .hljs-section { 19 | color: #fff; 20 | } 21 | 22 | .hljs-comment, 23 | .hljs-quote, 24 | .hljs-meta { 25 | color: #444; 26 | } 27 | 28 | .hljs-string, 29 | .hljs-symbol, 30 | .hljs-bullet, 31 | .hljs-regexp { 32 | color: #ffcc33; 33 | } 34 | 35 | .hljs-number, 36 | .hljs-addition { 37 | color: #00cc66; 38 | } 39 | 40 | .hljs-built_in, 41 | .hljs-builtin-name, 42 | .hljs-literal, 43 | .hljs-type, 44 | .hljs-template-variable, 45 | .hljs-attribute, 46 | .hljs-link { 47 | color: #32aaee; 48 | } 49 | 50 | .hljs-keyword, 51 | .hljs-selector-tag, 52 | .hljs-name, 53 | .hljs-selector-id, 54 | .hljs-selector-class { 55 | color: #6644aa; 56 | } 57 | 58 | .hljs-title, 59 | .hljs-variable, 60 | .hljs-deletion, 61 | .hljs-template-tag { 62 | color: #bb1166; 63 | } 64 | 65 | .hljs-section, 66 | .hljs-doctag, 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | 71 | .hljs-emphasis { 72 | font-style: italic; 73 | } 74 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/ascetic.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Original style from softwaremaniacs.org (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: white; 12 | color: black; 13 | } 14 | 15 | .hljs-string, 16 | .hljs-variable, 17 | .hljs-template-variable, 18 | .hljs-symbol, 19 | .hljs-bullet, 20 | .hljs-section, 21 | .hljs-addition, 22 | .hljs-attribute, 23 | .hljs-link { 24 | color: #888; 25 | } 26 | 27 | .hljs-comment, 28 | .hljs-quote, 29 | .hljs-meta, 30 | .hljs-deletion { 31 | color: #ccc; 32 | } 33 | 34 | .hljs-keyword, 35 | .hljs-selector-tag, 36 | .hljs-section, 37 | .hljs-name, 38 | .hljs-type, 39 | .hljs-strong { 40 | font-weight: bold; 41 | } 42 | 43 | .hljs-emphasis { 44 | font-style: italic; 45 | } 46 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atelier-cave-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Cave Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Cave Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #7e7887; 9 | } 10 | 11 | /* Atelier-Cave Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-regexp, 16 | .hljs-link, 17 | .hljs-tag, 18 | .hljs-name, 19 | .hljs-selector-id, 20 | .hljs-selector-class { 21 | color: #be4678; 22 | } 23 | 24 | /* Atelier-Cave Orange */ 25 | .hljs-number, 26 | .hljs-meta, 27 | .hljs-built_in, 28 | .hljs-builtin-name, 29 | .hljs-literal, 30 | .hljs-type, 31 | .hljs-params { 32 | color: #aa573c; 33 | } 34 | 35 | /* Atelier-Cave Green */ 36 | .hljs-string, 37 | .hljs-symbol, 38 | .hljs-bullet { 39 | color: #2a9292; 40 | } 41 | 42 | /* Atelier-Cave Blue */ 43 | .hljs-title, 44 | .hljs-section { 45 | color: #576ddb; 46 | } 47 | 48 | /* Atelier-Cave Purple */ 49 | .hljs-keyword, 50 | .hljs-selector-tag { 51 | color: #955ae7; 52 | } 53 | 54 | .hljs-deletion, 55 | .hljs-addition { 56 | color: #19171c; 57 | display: inline-block; 58 | width: 100%; 59 | } 60 | 61 | .hljs-deletion { 62 | background-color: #be4678; 63 | } 64 | 65 | .hljs-addition { 66 | background-color: #2a9292; 67 | } 68 | 69 | .hljs { 70 | display: block; 71 | overflow-x: auto; 72 | background: #19171c; 73 | color: #8b8792; 74 | padding: 0.5em; 75 | } 76 | 77 | .hljs-emphasis { 78 | font-style: italic; 79 | } 80 | 81 | .hljs-strong { 82 | font-weight: bold; 83 | } 84 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atelier-cave-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Cave Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Cave Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #655f6d; 9 | } 10 | 11 | /* Atelier-Cave Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-name, 21 | .hljs-selector-id, 22 | .hljs-selector-class { 23 | color: #be4678; 24 | } 25 | 26 | /* Atelier-Cave Orange */ 27 | .hljs-number, 28 | .hljs-meta, 29 | .hljs-built_in, 30 | .hljs-builtin-name, 31 | .hljs-literal, 32 | .hljs-type, 33 | .hljs-params { 34 | color: #aa573c; 35 | } 36 | 37 | /* Atelier-Cave Green */ 38 | .hljs-string, 39 | .hljs-symbol, 40 | .hljs-bullet { 41 | color: #2a9292; 42 | } 43 | 44 | /* Atelier-Cave Blue */ 45 | .hljs-title, 46 | .hljs-section { 47 | color: #576ddb; 48 | } 49 | 50 | /* Atelier-Cave Purple */ 51 | .hljs-keyword, 52 | .hljs-selector-tag { 53 | color: #955ae7; 54 | } 55 | 56 | .hljs-deletion, 57 | .hljs-addition { 58 | color: #19171c; 59 | display: inline-block; 60 | width: 100%; 61 | } 62 | 63 | .hljs-deletion { 64 | background-color: #be4678; 65 | } 66 | 67 | .hljs-addition { 68 | background-color: #2a9292; 69 | } 70 | 71 | .hljs { 72 | display: block; 73 | overflow-x: auto; 74 | background: #efecf4; 75 | color: #585260; 76 | padding: 0.5em; 77 | } 78 | 79 | .hljs-emphasis { 80 | font-style: italic; 81 | } 82 | 83 | .hljs-strong { 84 | font-weight: bold; 85 | } 86 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atelier-dune-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Dune Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Dune Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #999580; 9 | } 10 | 11 | /* Atelier-Dune Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #d73737; 23 | } 24 | 25 | /* Atelier-Dune Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #b65611; 34 | } 35 | 36 | /* Atelier-Dune Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #60ac39; 41 | } 42 | 43 | /* Atelier-Dune Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #6684e1; 47 | } 48 | 49 | /* Atelier-Dune Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #b854d4; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #20201d; 59 | color: #a6a28c; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atelier-dune-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Dune Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Dune Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #7d7a68; 9 | } 10 | 11 | /* Atelier-Dune Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #d73737; 23 | } 24 | 25 | /* Atelier-Dune Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #b65611; 34 | } 35 | 36 | /* Atelier-Dune Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #60ac39; 41 | } 42 | 43 | /* Atelier-Dune Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #6684e1; 47 | } 48 | 49 | /* Atelier-Dune Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #b854d4; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #fefbec; 59 | color: #6e6b5e; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atelier-estuary-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Estuary Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Estuary Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #878573; 9 | } 10 | 11 | /* Atelier-Estuary Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #ba6236; 23 | } 24 | 25 | /* Atelier-Estuary Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #ae7313; 34 | } 35 | 36 | /* Atelier-Estuary Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #7d9726; 41 | } 42 | 43 | /* Atelier-Estuary Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #36a166; 47 | } 48 | 49 | /* Atelier-Estuary Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #5f9182; 53 | } 54 | 55 | .hljs-deletion, 56 | .hljs-addition { 57 | color: #22221b; 58 | display: inline-block; 59 | width: 100%; 60 | } 61 | 62 | .hljs-deletion { 63 | background-color: #ba6236; 64 | } 65 | 66 | .hljs-addition { 67 | background-color: #7d9726; 68 | } 69 | 70 | .hljs { 71 | display: block; 72 | overflow-x: auto; 73 | background: #22221b; 74 | color: #929181; 75 | padding: 0.5em; 76 | } 77 | 78 | .hljs-emphasis { 79 | font-style: italic; 80 | } 81 | 82 | .hljs-strong { 83 | font-weight: bold; 84 | } 85 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atelier-estuary-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Estuary Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Estuary Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #6c6b5a; 9 | } 10 | 11 | /* Atelier-Estuary Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #ba6236; 23 | } 24 | 25 | /* Atelier-Estuary Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #ae7313; 34 | } 35 | 36 | /* Atelier-Estuary Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #7d9726; 41 | } 42 | 43 | /* Atelier-Estuary Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #36a166; 47 | } 48 | 49 | /* Atelier-Estuary Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #5f9182; 53 | } 54 | 55 | .hljs-deletion, 56 | .hljs-addition { 57 | color: #22221b; 58 | display: inline-block; 59 | width: 100%; 60 | } 61 | 62 | .hljs-deletion { 63 | background-color: #ba6236; 64 | } 65 | 66 | .hljs-addition { 67 | background-color: #7d9726; 68 | } 69 | 70 | .hljs { 71 | display: block; 72 | overflow-x: auto; 73 | background: #f4f3ec; 74 | color: #5f5e4e; 75 | padding: 0.5em; 76 | } 77 | 78 | .hljs-emphasis { 79 | font-style: italic; 80 | } 81 | 82 | .hljs-strong { 83 | font-weight: bold; 84 | } 85 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atelier-forest-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Forest Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Forest Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #9c9491; 9 | } 10 | 11 | /* Atelier-Forest Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #f22c40; 23 | } 24 | 25 | /* Atelier-Forest Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #df5320; 34 | } 35 | 36 | /* Atelier-Forest Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #7b9726; 41 | } 42 | 43 | /* Atelier-Forest Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #407ee7; 47 | } 48 | 49 | /* Atelier-Forest Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #6666ea; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #1b1918; 59 | color: #a8a19f; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atelier-forest-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Forest Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Forest Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #766e6b; 9 | } 10 | 11 | /* Atelier-Forest Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #f22c40; 23 | } 24 | 25 | /* Atelier-Forest Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #df5320; 34 | } 35 | 36 | /* Atelier-Forest Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #7b9726; 41 | } 42 | 43 | /* Atelier-Forest Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #407ee7; 47 | } 48 | 49 | /* Atelier-Forest Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #6666ea; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #f1efee; 59 | color: #68615e; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atelier-heath-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Heath Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Heath Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #9e8f9e; 9 | } 10 | 11 | /* Atelier-Heath Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #ca402b; 23 | } 24 | 25 | /* Atelier-Heath Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #a65926; 34 | } 35 | 36 | /* Atelier-Heath Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #918b3b; 41 | } 42 | 43 | /* Atelier-Heath Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #516aec; 47 | } 48 | 49 | /* Atelier-Heath Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #7b59c0; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #1b181b; 59 | color: #ab9bab; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atelier-heath-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Heath Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Heath Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #776977; 9 | } 10 | 11 | /* Atelier-Heath Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #ca402b; 23 | } 24 | 25 | /* Atelier-Heath Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #a65926; 34 | } 35 | 36 | /* Atelier-Heath Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #918b3b; 41 | } 42 | 43 | /* Atelier-Heath Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #516aec; 47 | } 48 | 49 | /* Atelier-Heath Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #7b59c0; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #f7f3f7; 59 | color: #695d69; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atelier-lakeside-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Lakeside Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Lakeside Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #7195a8; 9 | } 10 | 11 | /* Atelier-Lakeside Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #d22d72; 23 | } 24 | 25 | /* Atelier-Lakeside Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #935c25; 34 | } 35 | 36 | /* Atelier-Lakeside Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #568c3b; 41 | } 42 | 43 | /* Atelier-Lakeside Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #257fad; 47 | } 48 | 49 | /* Atelier-Lakeside Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #6b6bb8; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #161b1d; 59 | color: #7ea2b4; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atelier-lakeside-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Lakeside Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Lakeside Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #5a7b8c; 9 | } 10 | 11 | /* Atelier-Lakeside Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #d22d72; 23 | } 24 | 25 | /* Atelier-Lakeside Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #935c25; 34 | } 35 | 36 | /* Atelier-Lakeside Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #568c3b; 41 | } 42 | 43 | /* Atelier-Lakeside Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #257fad; 47 | } 48 | 49 | /* Atelier-Lakeside Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #6b6bb8; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #ebf8ff; 59 | color: #516d7b; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atelier-plateau-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Plateau Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Plateau Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #7e7777; 9 | } 10 | 11 | /* Atelier-Plateau Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #ca4949; 23 | } 24 | 25 | /* Atelier-Plateau Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #b45a3c; 34 | } 35 | 36 | /* Atelier-Plateau Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #4b8b8b; 41 | } 42 | 43 | /* Atelier-Plateau Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #7272ca; 47 | } 48 | 49 | /* Atelier-Plateau Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #8464c4; 53 | } 54 | 55 | .hljs-deletion, 56 | .hljs-addition { 57 | color: #1b1818; 58 | display: inline-block; 59 | width: 100%; 60 | } 61 | 62 | .hljs-deletion { 63 | background-color: #ca4949; 64 | } 65 | 66 | .hljs-addition { 67 | background-color: #4b8b8b; 68 | } 69 | 70 | .hljs { 71 | display: block; 72 | overflow-x: auto; 73 | background: #1b1818; 74 | color: #8a8585; 75 | padding: 0.5em; 76 | } 77 | 78 | .hljs-emphasis { 79 | font-style: italic; 80 | } 81 | 82 | .hljs-strong { 83 | font-weight: bold; 84 | } 85 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atelier-plateau-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Plateau Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Plateau Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #655d5d; 9 | } 10 | 11 | /* Atelier-Plateau Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #ca4949; 23 | } 24 | 25 | /* Atelier-Plateau Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #b45a3c; 34 | } 35 | 36 | /* Atelier-Plateau Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #4b8b8b; 41 | } 42 | 43 | /* Atelier-Plateau Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #7272ca; 47 | } 48 | 49 | /* Atelier-Plateau Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #8464c4; 53 | } 54 | 55 | .hljs-deletion, 56 | .hljs-addition { 57 | color: #1b1818; 58 | display: inline-block; 59 | width: 100%; 60 | } 61 | 62 | .hljs-deletion { 63 | background-color: #ca4949; 64 | } 65 | 66 | .hljs-addition { 67 | background-color: #4b8b8b; 68 | } 69 | 70 | .hljs { 71 | display: block; 72 | overflow-x: auto; 73 | background: #f4ecec; 74 | color: #585050; 75 | padding: 0.5em; 76 | } 77 | 78 | .hljs-emphasis { 79 | font-style: italic; 80 | } 81 | 82 | .hljs-strong { 83 | font-weight: bold; 84 | } 85 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atelier-savanna-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Savanna Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Savanna Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #78877d; 9 | } 10 | 11 | /* Atelier-Savanna Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #b16139; 23 | } 24 | 25 | /* Atelier-Savanna Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #9f713c; 34 | } 35 | 36 | /* Atelier-Savanna Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #489963; 41 | } 42 | 43 | /* Atelier-Savanna Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #478c90; 47 | } 48 | 49 | /* Atelier-Savanna Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #55859b; 53 | } 54 | 55 | .hljs-deletion, 56 | .hljs-addition { 57 | color: #171c19; 58 | display: inline-block; 59 | width: 100%; 60 | } 61 | 62 | .hljs-deletion { 63 | background-color: #b16139; 64 | } 65 | 66 | .hljs-addition { 67 | background-color: #489963; 68 | } 69 | 70 | .hljs { 71 | display: block; 72 | overflow-x: auto; 73 | background: #171c19; 74 | color: #87928a; 75 | padding: 0.5em; 76 | } 77 | 78 | .hljs-emphasis { 79 | font-style: italic; 80 | } 81 | 82 | .hljs-strong { 83 | font-weight: bold; 84 | } 85 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atelier-savanna-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Savanna Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Savanna Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #5f6d64; 9 | } 10 | 11 | /* Atelier-Savanna Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #b16139; 23 | } 24 | 25 | /* Atelier-Savanna Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #9f713c; 34 | } 35 | 36 | /* Atelier-Savanna Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #489963; 41 | } 42 | 43 | /* Atelier-Savanna Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #478c90; 47 | } 48 | 49 | /* Atelier-Savanna Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #55859b; 53 | } 54 | 55 | .hljs-deletion, 56 | .hljs-addition { 57 | color: #171c19; 58 | display: inline-block; 59 | width: 100%; 60 | } 61 | 62 | .hljs-deletion { 63 | background-color: #b16139; 64 | } 65 | 66 | .hljs-addition { 67 | background-color: #489963; 68 | } 69 | 70 | .hljs { 71 | display: block; 72 | overflow-x: auto; 73 | background: #ecf4ee; 74 | color: #526057; 75 | padding: 0.5em; 76 | } 77 | 78 | .hljs-emphasis { 79 | font-style: italic; 80 | } 81 | 82 | .hljs-strong { 83 | font-weight: bold; 84 | } 85 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atelier-seaside-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Seaside Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Seaside Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #809980; 9 | } 10 | 11 | /* Atelier-Seaside Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #e6193c; 23 | } 24 | 25 | /* Atelier-Seaside Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #87711d; 34 | } 35 | 36 | /* Atelier-Seaside Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #29a329; 41 | } 42 | 43 | /* Atelier-Seaside Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #3d62f5; 47 | } 48 | 49 | /* Atelier-Seaside Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #ad2bee; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #131513; 59 | color: #8ca68c; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atelier-seaside-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Seaside Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Seaside Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #687d68; 9 | } 10 | 11 | /* Atelier-Seaside Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #e6193c; 23 | } 24 | 25 | /* Atelier-Seaside Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #87711d; 34 | } 35 | 36 | /* Atelier-Seaside Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #29a329; 41 | } 42 | 43 | /* Atelier-Seaside Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #3d62f5; 47 | } 48 | 49 | /* Atelier-Seaside Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #ad2bee; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #f4fbf4; 59 | color: #5e6e5e; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atelier-sulphurpool-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Sulphurpool Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Sulphurpool Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #898ea4; 9 | } 10 | 11 | /* Atelier-Sulphurpool Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #c94922; 23 | } 24 | 25 | /* Atelier-Sulphurpool Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #c76b29; 34 | } 35 | 36 | /* Atelier-Sulphurpool Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #ac9739; 41 | } 42 | 43 | /* Atelier-Sulphurpool Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #3d8fd1; 47 | } 48 | 49 | /* Atelier-Sulphurpool Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #6679cc; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #202746; 59 | color: #979db4; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atelier-sulphurpool-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Sulphurpool Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Sulphurpool Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #6b7394; 9 | } 10 | 11 | /* Atelier-Sulphurpool Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #c94922; 23 | } 24 | 25 | /* Atelier-Sulphurpool Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #c76b29; 34 | } 35 | 36 | /* Atelier-Sulphurpool Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #ac9739; 41 | } 42 | 43 | /* Atelier-Sulphurpool Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #3d8fd1; 47 | } 48 | 49 | /* Atelier-Sulphurpool Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #6679cc; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #f5f7ff; 59 | color: #5e6687; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atom-one-dark-reasonable.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Atom One Dark With support for ReasonML by Gidi Morris, based off work by Daniel Gamage 4 | 5 | Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax 6 | 7 | */ 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | color: #abb2bf; 13 | background: #282c34; 14 | } 15 | .hljs-keyword, .hljs-operator { 16 | color: #F92672; 17 | } 18 | .hljs-pattern-match { 19 | color: #F92672; 20 | } 21 | .hljs-pattern-match .hljs-constructor { 22 | color: #61aeee; 23 | } 24 | .hljs-function { 25 | color: #61aeee; 26 | } 27 | .hljs-function .hljs-params { 28 | color: #A6E22E; 29 | } 30 | .hljs-function .hljs-params .hljs-typing { 31 | color: #FD971F; 32 | } 33 | .hljs-module-access .hljs-module { 34 | color: #7e57c2; 35 | } 36 | .hljs-constructor { 37 | color: #e2b93d; 38 | } 39 | .hljs-constructor .hljs-string { 40 | color: #9CCC65; 41 | } 42 | .hljs-comment, .hljs-quote { 43 | color: #b18eb1; 44 | font-style: italic; 45 | } 46 | .hljs-doctag, .hljs-formula { 47 | color: #c678dd; 48 | } 49 | .hljs-section, .hljs-name, .hljs-selector-tag, .hljs-deletion, .hljs-subst { 50 | color: #e06c75; 51 | } 52 | .hljs-literal { 53 | color: #56b6c2; 54 | } 55 | .hljs-string, .hljs-regexp, .hljs-addition, .hljs-attribute, .hljs-meta-string { 56 | color: #98c379; 57 | } 58 | .hljs-built_in, .hljs-class .hljs-title { 59 | color: #e6c07b; 60 | } 61 | .hljs-attr, .hljs-variable, .hljs-template-variable, .hljs-type, .hljs-selector-class, .hljs-selector-attr, .hljs-selector-pseudo, .hljs-number { 62 | color: #d19a66; 63 | } 64 | .hljs-symbol, .hljs-bullet, .hljs-link, .hljs-meta, .hljs-selector-id, .hljs-title { 65 | color: #61aeee; 66 | } 67 | .hljs-emphasis { 68 | font-style: italic; 69 | } 70 | .hljs-strong { 71 | font-weight: bold; 72 | } 73 | .hljs-link { 74 | text-decoration: underline; 75 | } 76 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atom-one-dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Atom One Dark by Daniel Gamage 4 | Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax 5 | 6 | base: #282c34 7 | mono-1: #abb2bf 8 | mono-2: #818896 9 | mono-3: #5c6370 10 | hue-1: #56b6c2 11 | hue-2: #61aeee 12 | hue-3: #c678dd 13 | hue-4: #98c379 14 | hue-5: #e06c75 15 | hue-5-2: #be5046 16 | hue-6: #d19a66 17 | hue-6-2: #e6c07b 18 | 19 | */ 20 | 21 | .hljs { 22 | display: block; 23 | overflow-x: auto; 24 | padding: 0.5em; 25 | color: #abb2bf; 26 | background: #282c34; 27 | } 28 | 29 | .hljs-comment, 30 | .hljs-quote { 31 | color: #5c6370; 32 | font-style: italic; 33 | } 34 | 35 | .hljs-doctag, 36 | .hljs-keyword, 37 | .hljs-formula { 38 | color: #c678dd; 39 | } 40 | 41 | .hljs-section, 42 | .hljs-name, 43 | .hljs-selector-tag, 44 | .hljs-deletion, 45 | .hljs-subst { 46 | color: #e06c75; 47 | } 48 | 49 | .hljs-literal { 50 | color: #56b6c2; 51 | } 52 | 53 | .hljs-string, 54 | .hljs-regexp, 55 | .hljs-addition, 56 | .hljs-attribute, 57 | .hljs-meta-string { 58 | color: #98c379; 59 | } 60 | 61 | .hljs-built_in, 62 | .hljs-class .hljs-title { 63 | color: #e6c07b; 64 | } 65 | 66 | .hljs-attr, 67 | .hljs-variable, 68 | .hljs-template-variable, 69 | .hljs-type, 70 | .hljs-selector-class, 71 | .hljs-selector-attr, 72 | .hljs-selector-pseudo, 73 | .hljs-number { 74 | color: #d19a66; 75 | } 76 | 77 | .hljs-symbol, 78 | .hljs-bullet, 79 | .hljs-link, 80 | .hljs-meta, 81 | .hljs-selector-id, 82 | .hljs-title { 83 | color: #61aeee; 84 | } 85 | 86 | .hljs-emphasis { 87 | font-style: italic; 88 | } 89 | 90 | .hljs-strong { 91 | font-weight: bold; 92 | } 93 | 94 | .hljs-link { 95 | text-decoration: underline; 96 | } 97 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/atom-one-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Atom One Light by Daniel Gamage 4 | Original One Light Syntax theme from https://github.com/atom/one-light-syntax 5 | 6 | base: #fafafa 7 | mono-1: #383a42 8 | mono-2: #686b77 9 | mono-3: #a0a1a7 10 | hue-1: #0184bb 11 | hue-2: #4078f2 12 | hue-3: #a626a4 13 | hue-4: #50a14f 14 | hue-5: #e45649 15 | hue-5-2: #c91243 16 | hue-6: #986801 17 | hue-6-2: #c18401 18 | 19 | */ 20 | 21 | .hljs { 22 | display: block; 23 | overflow-x: auto; 24 | padding: 0.5em; 25 | color: #383a42; 26 | background: #fafafa; 27 | } 28 | 29 | .hljs-comment, 30 | .hljs-quote { 31 | color: #a0a1a7; 32 | font-style: italic; 33 | } 34 | 35 | .hljs-doctag, 36 | .hljs-keyword, 37 | .hljs-formula { 38 | color: #a626a4; 39 | } 40 | 41 | .hljs-section, 42 | .hljs-name, 43 | .hljs-selector-tag, 44 | .hljs-deletion, 45 | .hljs-subst { 46 | color: #e45649; 47 | } 48 | 49 | .hljs-literal { 50 | color: #0184bb; 51 | } 52 | 53 | .hljs-string, 54 | .hljs-regexp, 55 | .hljs-addition, 56 | .hljs-attribute, 57 | .hljs-meta-string { 58 | color: #50a14f; 59 | } 60 | 61 | .hljs-built_in, 62 | .hljs-class .hljs-title { 63 | color: #c18401; 64 | } 65 | 66 | .hljs-attr, 67 | .hljs-variable, 68 | .hljs-template-variable, 69 | .hljs-type, 70 | .hljs-selector-class, 71 | .hljs-selector-attr, 72 | .hljs-selector-pseudo, 73 | .hljs-number { 74 | color: #986801; 75 | } 76 | 77 | .hljs-symbol, 78 | .hljs-bullet, 79 | .hljs-link, 80 | .hljs-meta, 81 | .hljs-selector-id, 82 | .hljs-title { 83 | color: #4078f2; 84 | } 85 | 86 | .hljs-emphasis { 87 | font-style: italic; 88 | } 89 | 90 | .hljs-strong { 91 | font-weight: bold; 92 | } 93 | 94 | .hljs-link { 95 | text-decoration: underline; 96 | } 97 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/brown-paper.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Brown Paper style from goldblog.com.ua (c) Zaripov Yura 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background:#b7a68e url(./brown-papersq.png); 12 | } 13 | 14 | .hljs-keyword, 15 | .hljs-selector-tag, 16 | .hljs-literal { 17 | color:#005599; 18 | font-weight:bold; 19 | } 20 | 21 | .hljs, 22 | .hljs-subst { 23 | color: #363c69; 24 | } 25 | 26 | .hljs-string, 27 | .hljs-title, 28 | .hljs-section, 29 | .hljs-type, 30 | .hljs-attribute, 31 | .hljs-symbol, 32 | .hljs-bullet, 33 | .hljs-built_in, 34 | .hljs-addition, 35 | .hljs-variable, 36 | .hljs-template-tag, 37 | .hljs-template-variable, 38 | .hljs-link, 39 | .hljs-name { 40 | color: #2c009f; 41 | } 42 | 43 | .hljs-comment, 44 | .hljs-quote, 45 | .hljs-meta, 46 | .hljs-deletion { 47 | color: #802022; 48 | } 49 | 50 | .hljs-keyword, 51 | .hljs-selector-tag, 52 | .hljs-literal, 53 | .hljs-doctag, 54 | .hljs-title, 55 | .hljs-section, 56 | .hljs-type, 57 | .hljs-name, 58 | .hljs-strong { 59 | font-weight: bold; 60 | } 61 | 62 | .hljs-emphasis { 63 | font-style: italic; 64 | } 65 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/brown-papersq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/docs/assets/highlight/styles/brown-papersq.png -------------------------------------------------------------------------------- /docs/assets/highlight/styles/codepen-embed.css: -------------------------------------------------------------------------------- 1 | /* 2 | codepen.io Embed Theme 3 | Author: Justin Perry 4 | Original theme - https://github.com/chriskempson/tomorrow-theme 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #222; 12 | color: #fff; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-quote { 17 | color: #777; 18 | } 19 | 20 | .hljs-variable, 21 | .hljs-template-variable, 22 | .hljs-tag, 23 | .hljs-regexp, 24 | .hljs-meta, 25 | .hljs-number, 26 | .hljs-built_in, 27 | .hljs-builtin-name, 28 | .hljs-literal, 29 | .hljs-params, 30 | .hljs-symbol, 31 | .hljs-bullet, 32 | .hljs-link, 33 | .hljs-deletion { 34 | color: #ab875d; 35 | } 36 | 37 | .hljs-section, 38 | .hljs-title, 39 | .hljs-name, 40 | .hljs-selector-id, 41 | .hljs-selector-class, 42 | .hljs-type, 43 | .hljs-attribute { 44 | color: #9b869b; 45 | } 46 | 47 | .hljs-string, 48 | .hljs-keyword, 49 | .hljs-selector-tag, 50 | .hljs-addition { 51 | color: #8f9c6c; 52 | } 53 | 54 | .hljs-emphasis { 55 | font-style: italic; 56 | } 57 | 58 | .hljs-strong { 59 | font-weight: bold; 60 | } 61 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/color-brewer.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Colorbrewer theme 4 | Original: https://github.com/mbostock/colorbrewer-theme (c) Mike Bostock 5 | Ported by Fabrício Tavares de Oliveira 6 | 7 | */ 8 | 9 | .hljs { 10 | display: block; 11 | overflow-x: auto; 12 | padding: 0.5em; 13 | background: #fff; 14 | } 15 | 16 | .hljs, 17 | .hljs-subst { 18 | color: #000; 19 | } 20 | 21 | .hljs-string, 22 | .hljs-meta, 23 | .hljs-symbol, 24 | .hljs-template-tag, 25 | .hljs-template-variable, 26 | .hljs-addition { 27 | color: #756bb1; 28 | } 29 | 30 | .hljs-comment, 31 | .hljs-quote { 32 | color: #636363; 33 | } 34 | 35 | .hljs-number, 36 | .hljs-regexp, 37 | .hljs-literal, 38 | .hljs-bullet, 39 | .hljs-link { 40 | color: #31a354; 41 | } 42 | 43 | .hljs-deletion, 44 | .hljs-variable { 45 | color: #88f; 46 | } 47 | 48 | 49 | 50 | .hljs-keyword, 51 | .hljs-selector-tag, 52 | .hljs-title, 53 | .hljs-section, 54 | .hljs-built_in, 55 | .hljs-doctag, 56 | .hljs-type, 57 | .hljs-tag, 58 | .hljs-name, 59 | .hljs-selector-id, 60 | .hljs-selector-class, 61 | .hljs-strong { 62 | color: #3182bd; 63 | } 64 | 65 | .hljs-emphasis { 66 | font-style: italic; 67 | } 68 | 69 | .hljs-attribute { 70 | color: #e6550d; 71 | } 72 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/darcula.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Darcula color scheme from the JetBrains family of IDEs 4 | 5 | */ 6 | 7 | 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #2b2b2b; 13 | color: #bababa; 14 | } 15 | 16 | .hljs-strong, 17 | .hljs-emphasis { 18 | color: #a8a8a2; 19 | } 20 | 21 | .hljs-bullet, 22 | .hljs-quote, 23 | .hljs-link, 24 | .hljs-number, 25 | .hljs-regexp, 26 | .hljs-literal { 27 | color: #6896ba; 28 | } 29 | 30 | .hljs-code, 31 | .hljs-selector-class { 32 | color: #a6e22e; 33 | } 34 | 35 | .hljs-emphasis { 36 | font-style: italic; 37 | } 38 | 39 | .hljs-keyword, 40 | .hljs-selector-tag, 41 | .hljs-section, 42 | .hljs-attribute, 43 | .hljs-name, 44 | .hljs-variable { 45 | color: #cb7832; 46 | } 47 | 48 | .hljs-params { 49 | color: #b9b9b9; 50 | } 51 | 52 | .hljs-string { 53 | color: #6a8759; 54 | } 55 | 56 | .hljs-subst, 57 | .hljs-type, 58 | .hljs-built_in, 59 | .hljs-builtin-name, 60 | .hljs-symbol, 61 | .hljs-selector-id, 62 | .hljs-selector-attr, 63 | .hljs-selector-pseudo, 64 | .hljs-template-tag, 65 | .hljs-template-variable, 66 | .hljs-addition { 67 | color: #e0c46c; 68 | } 69 | 70 | .hljs-comment, 71 | .hljs-deletion, 72 | .hljs-meta { 73 | color: #7f7f7f; 74 | } 75 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Dark style from softwaremaniacs.org (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #444; 12 | } 13 | 14 | .hljs-keyword, 15 | .hljs-selector-tag, 16 | .hljs-literal, 17 | .hljs-section, 18 | .hljs-link { 19 | color: white; 20 | } 21 | 22 | .hljs, 23 | .hljs-subst { 24 | color: #ddd; 25 | } 26 | 27 | .hljs-string, 28 | .hljs-title, 29 | .hljs-name, 30 | .hljs-type, 31 | .hljs-attribute, 32 | .hljs-symbol, 33 | .hljs-bullet, 34 | .hljs-built_in, 35 | .hljs-addition, 36 | .hljs-variable, 37 | .hljs-template-tag, 38 | .hljs-template-variable { 39 | color: #d88; 40 | } 41 | 42 | .hljs-comment, 43 | .hljs-quote, 44 | .hljs-deletion, 45 | .hljs-meta { 46 | color: #777; 47 | } 48 | 49 | .hljs-keyword, 50 | .hljs-selector-tag, 51 | .hljs-literal, 52 | .hljs-title, 53 | .hljs-section, 54 | .hljs-doctag, 55 | .hljs-type, 56 | .hljs-name, 57 | .hljs-strong { 58 | font-weight: bold; 59 | } 60 | 61 | .hljs-emphasis { 62 | font-style: italic; 63 | } 64 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/default.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Original highlight.js style (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #F0F0F0; 12 | } 13 | 14 | 15 | /* Base color: saturation 0; */ 16 | 17 | .hljs, 18 | .hljs-subst { 19 | color: #444; 20 | } 21 | 22 | .hljs-comment { 23 | color: #888888; 24 | } 25 | 26 | .hljs-keyword, 27 | .hljs-attribute, 28 | .hljs-selector-tag, 29 | .hljs-meta-keyword, 30 | .hljs-doctag, 31 | .hljs-name { 32 | font-weight: bold; 33 | } 34 | 35 | 36 | /* User color: hue: 0 */ 37 | 38 | .hljs-type, 39 | .hljs-string, 40 | .hljs-number, 41 | .hljs-selector-id, 42 | .hljs-selector-class, 43 | .hljs-quote, 44 | .hljs-template-tag, 45 | .hljs-deletion { 46 | color: #880000; 47 | } 48 | 49 | .hljs-title, 50 | .hljs-section { 51 | color: #880000; 52 | font-weight: bold; 53 | } 54 | 55 | .hljs-regexp, 56 | .hljs-symbol, 57 | .hljs-variable, 58 | .hljs-template-variable, 59 | .hljs-link, 60 | .hljs-selector-attr, 61 | .hljs-selector-pseudo { 62 | color: #BC6060; 63 | } 64 | 65 | 66 | /* Language color: hue: 90; */ 67 | 68 | .hljs-literal { 69 | color: #78A960; 70 | } 71 | 72 | .hljs-built_in, 73 | .hljs-bullet, 74 | .hljs-code, 75 | .hljs-addition { 76 | color: #397300; 77 | } 78 | 79 | 80 | /* Meta color: hue: 200 */ 81 | 82 | .hljs-meta { 83 | color: #1f7199; 84 | } 85 | 86 | .hljs-meta-string { 87 | color: #4d99bf; 88 | } 89 | 90 | 91 | /* Misc effects */ 92 | 93 | .hljs-emphasis { 94 | font-style: italic; 95 | } 96 | 97 | .hljs-strong { 98 | font-weight: bold; 99 | } 100 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/docco.css: -------------------------------------------------------------------------------- 1 | /* 2 | Docco style used in http://jashkenas.github.com/docco/ converted by Simon Madine (@thingsinjars) 3 | */ 4 | 5 | .hljs { 6 | display: block; 7 | overflow-x: auto; 8 | padding: 0.5em; 9 | color: #000; 10 | background: #f8f8ff; 11 | } 12 | 13 | .hljs-comment, 14 | .hljs-quote { 15 | color: #408080; 16 | font-style: italic; 17 | } 18 | 19 | .hljs-keyword, 20 | .hljs-selector-tag, 21 | .hljs-literal, 22 | .hljs-subst { 23 | color: #954121; 24 | } 25 | 26 | .hljs-number { 27 | color: #40a070; 28 | } 29 | 30 | .hljs-string, 31 | .hljs-doctag { 32 | color: #219161; 33 | } 34 | 35 | .hljs-selector-id, 36 | .hljs-selector-class, 37 | .hljs-section, 38 | .hljs-type { 39 | color: #19469d; 40 | } 41 | 42 | .hljs-params { 43 | color: #00f; 44 | } 45 | 46 | .hljs-title { 47 | color: #458; 48 | font-weight: bold; 49 | } 50 | 51 | .hljs-tag, 52 | .hljs-name, 53 | .hljs-attribute { 54 | color: #000080; 55 | font-weight: normal; 56 | } 57 | 58 | .hljs-variable, 59 | .hljs-template-variable { 60 | color: #008080; 61 | } 62 | 63 | .hljs-regexp, 64 | .hljs-link { 65 | color: #b68; 66 | } 67 | 68 | .hljs-symbol, 69 | .hljs-bullet { 70 | color: #990073; 71 | } 72 | 73 | .hljs-built_in, 74 | .hljs-builtin-name { 75 | color: #0086b3; 76 | } 77 | 78 | .hljs-meta { 79 | color: #999; 80 | font-weight: bold; 81 | } 82 | 83 | .hljs-deletion { 84 | background: #fdd; 85 | } 86 | 87 | .hljs-addition { 88 | background: #dfd; 89 | } 90 | 91 | .hljs-emphasis { 92 | font-style: italic; 93 | } 94 | 95 | .hljs-strong { 96 | font-weight: bold; 97 | } 98 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/dracula.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Dracula Theme v1.2.0 4 | 5 | https://github.com/zenorocha/dracula-theme 6 | 7 | Copyright 2015, All rights reserved 8 | 9 | Code licensed under the MIT license 10 | http://zenorocha.mit-license.org 11 | 12 | @author Éverton Ribeiro 13 | @author Zeno Rocha 14 | 15 | */ 16 | 17 | .hljs { 18 | display: block; 19 | overflow-x: auto; 20 | padding: 0.5em; 21 | background: #282a36; 22 | } 23 | 24 | .hljs-keyword, 25 | .hljs-selector-tag, 26 | .hljs-literal, 27 | .hljs-section, 28 | .hljs-link { 29 | color: #8be9fd; 30 | } 31 | 32 | .hljs-function .hljs-keyword { 33 | color: #ff79c6; 34 | } 35 | 36 | .hljs, 37 | .hljs-subst { 38 | color: #f8f8f2; 39 | } 40 | 41 | .hljs-string, 42 | .hljs-title, 43 | .hljs-name, 44 | .hljs-type, 45 | .hljs-attribute, 46 | .hljs-symbol, 47 | .hljs-bullet, 48 | .hljs-addition, 49 | .hljs-variable, 50 | .hljs-template-tag, 51 | .hljs-template-variable { 52 | color: #f1fa8c; 53 | } 54 | 55 | .hljs-comment, 56 | .hljs-quote, 57 | .hljs-deletion, 58 | .hljs-meta { 59 | color: #6272a4; 60 | } 61 | 62 | .hljs-keyword, 63 | .hljs-selector-tag, 64 | .hljs-literal, 65 | .hljs-title, 66 | .hljs-section, 67 | .hljs-doctag, 68 | .hljs-type, 69 | .hljs-name, 70 | .hljs-strong { 71 | font-weight: bold; 72 | } 73 | 74 | .hljs-emphasis { 75 | font-style: italic; 76 | } 77 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/far.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | FAR Style (c) MajestiC 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #000080; 12 | } 13 | 14 | .hljs, 15 | .hljs-subst { 16 | color: #0ff; 17 | } 18 | 19 | .hljs-string, 20 | .hljs-attribute, 21 | .hljs-symbol, 22 | .hljs-bullet, 23 | .hljs-built_in, 24 | .hljs-builtin-name, 25 | .hljs-template-tag, 26 | .hljs-template-variable, 27 | .hljs-addition { 28 | color: #ff0; 29 | } 30 | 31 | .hljs-keyword, 32 | .hljs-selector-tag, 33 | .hljs-section, 34 | .hljs-type, 35 | .hljs-name, 36 | .hljs-selector-id, 37 | .hljs-selector-class, 38 | .hljs-variable { 39 | color: #fff; 40 | } 41 | 42 | .hljs-comment, 43 | .hljs-quote, 44 | .hljs-doctag, 45 | .hljs-deletion { 46 | color: #888; 47 | } 48 | 49 | .hljs-number, 50 | .hljs-regexp, 51 | .hljs-literal, 52 | .hljs-link { 53 | color: #0f0; 54 | } 55 | 56 | .hljs-meta { 57 | color: #008080; 58 | } 59 | 60 | .hljs-keyword, 61 | .hljs-selector-tag, 62 | .hljs-title, 63 | .hljs-section, 64 | .hljs-name, 65 | .hljs-strong { 66 | font-weight: bold; 67 | } 68 | 69 | .hljs-emphasis { 70 | font-style: italic; 71 | } 72 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/foundation.css: -------------------------------------------------------------------------------- 1 | /* 2 | Description: Foundation 4 docs style for highlight.js 3 | Author: Dan Allen 4 | Website: http://foundation.zurb.com/docs/ 5 | Version: 1.0 6 | Date: 2013-04-02 7 | */ 8 | 9 | .hljs { 10 | display: block; 11 | overflow-x: auto; 12 | padding: 0.5em; 13 | background: #eee; 14 | color: black; 15 | } 16 | 17 | .hljs-link, 18 | .hljs-emphasis, 19 | .hljs-attribute, 20 | .hljs-addition { 21 | color: #070; 22 | } 23 | 24 | .hljs-emphasis { 25 | font-style: italic; 26 | } 27 | 28 | .hljs-strong, 29 | .hljs-string, 30 | .hljs-deletion { 31 | color: #d14; 32 | } 33 | 34 | .hljs-strong { 35 | font-weight: bold; 36 | } 37 | 38 | .hljs-quote, 39 | .hljs-comment { 40 | color: #998; 41 | font-style: italic; 42 | } 43 | 44 | .hljs-section, 45 | .hljs-title { 46 | color: #900; 47 | } 48 | 49 | .hljs-class .hljs-title, 50 | .hljs-type { 51 | color: #458; 52 | } 53 | 54 | .hljs-variable, 55 | .hljs-template-variable { 56 | color: #336699; 57 | } 58 | 59 | .hljs-bullet { 60 | color: #997700; 61 | } 62 | 63 | .hljs-meta { 64 | color: #3344bb; 65 | } 66 | 67 | .hljs-code, 68 | .hljs-number, 69 | .hljs-literal, 70 | .hljs-keyword, 71 | .hljs-selector-tag { 72 | color: #099; 73 | } 74 | 75 | .hljs-regexp { 76 | background-color: #fff0ff; 77 | color: #880088; 78 | } 79 | 80 | .hljs-symbol { 81 | color: #990073; 82 | } 83 | 84 | .hljs-tag, 85 | .hljs-name, 86 | .hljs-selector-id, 87 | .hljs-selector-class { 88 | color: #007700; 89 | } 90 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/github-gist.css: -------------------------------------------------------------------------------- 1 | /** 2 | * GitHub Gist Theme 3 | * Author : Anthony Attard - https://github.com/AnthonyAttard 4 | * Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | background: white; 10 | padding: 0.5em; 11 | color: #333333; 12 | overflow-x: auto; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-meta { 17 | color: #969896; 18 | } 19 | 20 | .hljs-variable, 21 | .hljs-template-variable, 22 | .hljs-strong, 23 | .hljs-emphasis, 24 | .hljs-quote { 25 | color: #df5000; 26 | } 27 | 28 | .hljs-keyword, 29 | .hljs-selector-tag, 30 | .hljs-type { 31 | color: #d73a49; 32 | } 33 | 34 | .hljs-literal, 35 | .hljs-symbol, 36 | .hljs-bullet, 37 | .hljs-attribute { 38 | color: #0086b3; 39 | } 40 | 41 | .hljs-section, 42 | .hljs-name { 43 | color: #63a35c; 44 | } 45 | 46 | .hljs-tag { 47 | color: #333333; 48 | } 49 | 50 | .hljs-title, 51 | .hljs-attr, 52 | .hljs-selector-id, 53 | .hljs-selector-class, 54 | .hljs-selector-attr, 55 | .hljs-selector-pseudo { 56 | color: #6f42c1; 57 | } 58 | 59 | .hljs-addition { 60 | color: #55a532; 61 | background-color: #eaffea; 62 | } 63 | 64 | .hljs-deletion { 65 | color: #bd2c00; 66 | background-color: #ffecec; 67 | } 68 | 69 | .hljs-link { 70 | text-decoration: underline; 71 | } 72 | 73 | .hljs-number { 74 | color: #005cc5; 75 | } 76 | 77 | .hljs-string { 78 | color: #032f62; 79 | } 80 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/github.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | github.com style (c) Vasily Polovnyov 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | color: #333; 12 | background: #f8f8f8; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-quote { 17 | color: #998; 18 | font-style: italic; 19 | } 20 | 21 | .hljs-keyword, 22 | .hljs-selector-tag, 23 | .hljs-subst { 24 | color: #333; 25 | font-weight: bold; 26 | } 27 | 28 | .hljs-number, 29 | .hljs-literal, 30 | .hljs-variable, 31 | .hljs-template-variable, 32 | .hljs-tag .hljs-attr { 33 | color: #008080; 34 | } 35 | 36 | .hljs-string, 37 | .hljs-doctag { 38 | color: #d14; 39 | } 40 | 41 | .hljs-title, 42 | .hljs-section, 43 | .hljs-selector-id { 44 | color: #900; 45 | font-weight: bold; 46 | } 47 | 48 | .hljs-subst { 49 | font-weight: normal; 50 | } 51 | 52 | .hljs-type, 53 | .hljs-class .hljs-title { 54 | color: #458; 55 | font-weight: bold; 56 | } 57 | 58 | .hljs-tag, 59 | .hljs-name, 60 | .hljs-attribute { 61 | color: #000080; 62 | font-weight: normal; 63 | } 64 | 65 | .hljs-regexp, 66 | .hljs-link { 67 | color: #009926; 68 | } 69 | 70 | .hljs-symbol, 71 | .hljs-bullet { 72 | color: #990073; 73 | } 74 | 75 | .hljs-built_in, 76 | .hljs-builtin-name { 77 | color: #0086b3; 78 | } 79 | 80 | .hljs-meta { 81 | color: #999; 82 | font-weight: bold; 83 | } 84 | 85 | .hljs-deletion { 86 | background: #fdd; 87 | } 88 | 89 | .hljs-addition { 90 | background: #dfd; 91 | } 92 | 93 | .hljs-emphasis { 94 | font-style: italic; 95 | } 96 | 97 | .hljs-strong { 98 | font-weight: bold; 99 | } 100 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/gml.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | GML Theme - Meseta 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #222222; 12 | color: #C0C0C0; 13 | } 14 | 15 | .hljs-keyword { 16 | color: #FFB871; 17 | font-weight: bold; 18 | } 19 | 20 | .hljs-built_in { 21 | color: #FFB871; 22 | } 23 | 24 | .hljs-literal { 25 | color: #FF8080; 26 | } 27 | 28 | .hljs-symbol { 29 | color: #58E55A; 30 | } 31 | 32 | .hljs-comment { 33 | color: #5B995B; 34 | } 35 | 36 | .hljs-string { 37 | color: #FFFF00; 38 | } 39 | 40 | .hljs-number { 41 | color: #FF8080; 42 | } 43 | 44 | .hljs-attribute, 45 | .hljs-selector-tag, 46 | .hljs-doctag, 47 | .hljs-name, 48 | .hljs-bullet, 49 | .hljs-code, 50 | .hljs-addition, 51 | .hljs-regexp, 52 | .hljs-variable, 53 | .hljs-template-variable, 54 | .hljs-link, 55 | .hljs-selector-attr, 56 | .hljs-selector-pseudo, 57 | .hljs-type, 58 | .hljs-selector-id, 59 | .hljs-selector-class, 60 | .hljs-quote, 61 | .hljs-template-tag, 62 | .hljs-deletion, 63 | .hljs-title, 64 | .hljs-section, 65 | .hljs-function, 66 | .hljs-meta-keyword, 67 | .hljs-meta, 68 | .hljs-subst { 69 | color: #C0C0C0; 70 | } 71 | 72 | .hljs-emphasis { 73 | font-style: italic; 74 | } 75 | 76 | .hljs-strong { 77 | font-weight: bold; 78 | } 79 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/googlecode.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Google Code style (c) Aahan Krish 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: white; 12 | color: black; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-quote { 17 | color: #800; 18 | } 19 | 20 | .hljs-keyword, 21 | .hljs-selector-tag, 22 | .hljs-section, 23 | .hljs-title, 24 | .hljs-name { 25 | color: #008; 26 | } 27 | 28 | .hljs-variable, 29 | .hljs-template-variable { 30 | color: #660; 31 | } 32 | 33 | .hljs-string, 34 | .hljs-selector-attr, 35 | .hljs-selector-pseudo, 36 | .hljs-regexp { 37 | color: #080; 38 | } 39 | 40 | .hljs-literal, 41 | .hljs-symbol, 42 | .hljs-bullet, 43 | .hljs-meta, 44 | .hljs-number, 45 | .hljs-link { 46 | color: #066; 47 | } 48 | 49 | .hljs-title, 50 | .hljs-doctag, 51 | .hljs-type, 52 | .hljs-attr, 53 | .hljs-built_in, 54 | .hljs-builtin-name, 55 | .hljs-params { 56 | color: #606; 57 | } 58 | 59 | .hljs-attribute, 60 | .hljs-subst { 61 | color: #000; 62 | } 63 | 64 | .hljs-formula { 65 | background-color: #eee; 66 | font-style: italic; 67 | } 68 | 69 | .hljs-selector-id, 70 | .hljs-selector-class { 71 | color: #9B703F 72 | } 73 | 74 | .hljs-addition { 75 | background-color: #baeeba; 76 | } 77 | 78 | .hljs-deletion { 79 | background-color: #ffc8bd; 80 | } 81 | 82 | .hljs-doctag, 83 | .hljs-strong { 84 | font-weight: bold; 85 | } 86 | 87 | .hljs-emphasis { 88 | font-style: italic; 89 | } 90 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/gradient-dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Gradient Dark (c) Samia Ali 4 | 5 | */ 6 | 7 | .hljs 8 | { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: rgb(80,31,122); 13 | background: linear-gradient(166deg, rgba(80,31,122,1) 0%, rgba(40,32,179,1) 80%); 14 | color:#e7e4eb; 15 | } 16 | 17 | .hljs-subtr{ 18 | color:#e7e4eb; 19 | } 20 | 21 | .hljs-doctag, 22 | .hljs-meta, 23 | .hljs-comment, 24 | .hljs-quote 25 | { 26 | color:#af8dd9; 27 | } 28 | 29 | .hljs-selector-tag, 30 | .hljs-selector-id, 31 | .hljs-template-tag, 32 | .hljs-regexp, 33 | .hljs-attr, 34 | .hljs-tag 35 | { 36 | color:#AEFBFF; 37 | } 38 | 39 | .hljs-params, 40 | .hljs-selector-class, 41 | .hljs-bullet 42 | 43 | { 44 | color:#F19FFF; 45 | 46 | } 47 | 48 | .hljs-keyword, 49 | .hljs-section, 50 | .hljs-meta-keyword, 51 | .hljs-symbol, 52 | .hljs-type 53 | 54 | { 55 | 56 | color:#17fc95; 57 | } 58 | 59 | .hljs-addition, 60 | .hljs-number, 61 | .hljs-link 62 | { 63 | color:#C5FE00; 64 | } 65 | 66 | 67 | .hljs-string 68 | { 69 | color: #38c0ff; 70 | } 71 | 72 | 73 | .hljs-attribute, 74 | .hljs-addition 75 | { 76 | color:#E7FF9F; 77 | } 78 | 79 | .hljs-variable, 80 | .hljs-template-variable 81 | 82 | { 83 | color:#E447FF; 84 | } 85 | 86 | .hljs-builtin-name, 87 | .hljs-built_in, 88 | .hljs-formula, 89 | .hljs-name, 90 | .hljs-title, 91 | .hljs-class, 92 | .hljs-function 93 | { 94 | color: #FFC800; 95 | 96 | } 97 | 98 | .hljs-selector-pseudo, 99 | .hljs-deletion, 100 | .hljs-literal 101 | { 102 | color:#FF9E44; 103 | 104 | } 105 | 106 | .hljs-emphasis, 107 | .hljs-quote 108 | { 109 | font-style:italic; 110 | } 111 | 112 | .hljs-params, 113 | .hljs-selector-class, 114 | .hljs-strong, 115 | .hljs-selector-tag, 116 | .hljs-selector-id, 117 | .hljs-template-tag, 118 | .hljs-section, 119 | .hljs-keyword 120 | { 121 | font-weight:bold; 122 | } 123 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/gradient-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Gradient Light (c) Samia Ali 4 | 5 | */ 6 | 7 | .hljs 8 | { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: rgb(255,253,141); 13 | background: linear-gradient(142deg, rgba(255,253,141,1) 0%, rgba(252,183,255,1) 35%, rgba(144,236,255,1) 100%); 14 | color:#250482; 15 | } 16 | 17 | .hljs-subtr{ 18 | color:#01958B; 19 | } 20 | 21 | .hljs-doctag, 22 | .hljs-meta, 23 | .hljs-comment, 24 | .hljs-quote 25 | { 26 | color:#CB7200; 27 | } 28 | 29 | .hljs-selector-tag, 30 | .hljs-selector-id, 31 | .hljs-template-tag, 32 | .hljs-regexp, 33 | .hljs-attr, 34 | .hljs-tag 35 | { 36 | color:#07BD5F; 37 | } 38 | 39 | .hljs-params, 40 | .hljs-selector-class, 41 | .hljs-bullet 42 | 43 | { 44 | color:#43449F; 45 | 46 | } 47 | 48 | .hljs-keyword, 49 | .hljs-section, 50 | .hljs-meta-keyword, 51 | .hljs-symbol, 52 | .hljs-type 53 | 54 | { 55 | 56 | color:#7D2801; 57 | } 58 | 59 | .hljs-addition, 60 | .hljs-number, 61 | .hljs-link 62 | { 63 | color:#7F0096; 64 | } 65 | 66 | 67 | .hljs-string 68 | { 69 | color: #38c0ff; 70 | } 71 | 72 | 73 | .hljs-attribute, 74 | .hljs-addition 75 | { 76 | color:#296562; 77 | } 78 | 79 | .hljs-variable, 80 | .hljs-template-variable 81 | 82 | { 83 | color:#025C8F; 84 | } 85 | 86 | .hljs-builtin-name, 87 | .hljs-built_in, 88 | .hljs-formula, 89 | .hljs-name, 90 | .hljs-title, 91 | .hljs-class, 92 | .hljs-function 93 | { 94 | color: #529117; 95 | 96 | } 97 | 98 | .hljs-selector-pseudo, 99 | .hljs-deletion, 100 | .hljs-literal 101 | { 102 | color:#AD13FF; 103 | 104 | } 105 | 106 | .hljs-emphasis, 107 | .hljs-quote 108 | { 109 | font-style:italic; 110 | } 111 | 112 | .hljs-params, 113 | .hljs-selector-class, 114 | .hljs-strong, 115 | .hljs-selector-tag, 116 | .hljs-selector-id, 117 | .hljs-template-tag, 118 | .hljs-section, 119 | .hljs-keyword 120 | { 121 | font-weight:bold; 122 | } 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/grayscale.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | grayscale style (c) MY Sun 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | color: #333; 12 | background: #fff; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-quote { 17 | color: #777; 18 | font-style: italic; 19 | } 20 | 21 | .hljs-keyword, 22 | .hljs-selector-tag, 23 | .hljs-subst { 24 | color: #333; 25 | font-weight: bold; 26 | } 27 | 28 | .hljs-number, 29 | .hljs-literal { 30 | color: #777; 31 | } 32 | 33 | .hljs-string, 34 | .hljs-doctag, 35 | .hljs-formula { 36 | color: #333; 37 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJ0lEQVQIW2O8e/fufwYGBgZBQUEQxcCIIfDu3Tuwivfv30NUoAsAALHpFMMLqZlPAAAAAElFTkSuQmCC) repeat; 38 | } 39 | 40 | .hljs-title, 41 | .hljs-section, 42 | .hljs-selector-id { 43 | color: #000; 44 | font-weight: bold; 45 | } 46 | 47 | .hljs-subst { 48 | font-weight: normal; 49 | } 50 | 51 | .hljs-class .hljs-title, 52 | .hljs-type, 53 | .hljs-name { 54 | color: #333; 55 | font-weight: bold; 56 | } 57 | 58 | .hljs-tag { 59 | color: #333; 60 | } 61 | 62 | .hljs-regexp { 63 | color: #333; 64 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAAPUlEQVQYV2NkQAN37979r6yszIgujiIAU4RNMVwhuiQ6H6wQl3XI4oy4FMHcCJPHcDS6J2A2EqUQpJhohQDexSef15DBCwAAAABJRU5ErkJggg==) repeat; 65 | } 66 | 67 | .hljs-symbol, 68 | .hljs-bullet, 69 | .hljs-link { 70 | color: #000; 71 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAO7d+/+z4gsBhJwdXVlhAvCBECKwIIwAbhKZBUwBQA6hBpm5efZsgAAAABJRU5ErkJggg==) repeat; 72 | } 73 | 74 | .hljs-built_in, 75 | .hljs-builtin-name { 76 | color: #000; 77 | text-decoration: underline; 78 | } 79 | 80 | .hljs-meta { 81 | color: #999; 82 | font-weight: bold; 83 | } 84 | 85 | .hljs-deletion { 86 | color: #fff; 87 | background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAE0lEQVQIW2MMDQ39zzhz5kwIAQAyxweWgUHd1AAAAABJRU5ErkJggg==) repeat; 88 | } 89 | 90 | .hljs-addition { 91 | color: #000; 92 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAALUlEQVQYV2N89+7dfwYk8P79ewZBQUFkIQZGOiu6e/cuiptQHAPl0NtNxAQBAM97Oejj3Dg7AAAAAElFTkSuQmCC) repeat; 93 | } 94 | 95 | .hljs-emphasis { 96 | font-style: italic; 97 | } 98 | 99 | .hljs-strong { 100 | font-weight: bold; 101 | } 102 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/gruvbox-dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Gruvbox style (dark) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox) 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #282828; 12 | } 13 | 14 | .hljs, 15 | .hljs-subst { 16 | color: #ebdbb2; 17 | } 18 | 19 | /* Gruvbox Red */ 20 | .hljs-deletion, 21 | .hljs-formula, 22 | .hljs-keyword, 23 | .hljs-link, 24 | .hljs-selector-tag { 25 | color: #fb4934; 26 | } 27 | 28 | /* Gruvbox Blue */ 29 | .hljs-built_in, 30 | .hljs-emphasis, 31 | .hljs-name, 32 | .hljs-quote, 33 | .hljs-strong, 34 | .hljs-title, 35 | .hljs-variable { 36 | color: #83a598; 37 | } 38 | 39 | /* Gruvbox Yellow */ 40 | .hljs-attr, 41 | .hljs-params, 42 | .hljs-template-tag, 43 | .hljs-type { 44 | color: #fabd2f; 45 | } 46 | 47 | /* Gruvbox Purple */ 48 | .hljs-builtin-name, 49 | .hljs-doctag, 50 | .hljs-literal, 51 | .hljs-number { 52 | color: #8f3f71; 53 | } 54 | 55 | /* Gruvbox Orange */ 56 | .hljs-code, 57 | .hljs-meta, 58 | .hljs-regexp, 59 | .hljs-selector-id, 60 | .hljs-template-variable { 61 | color: #fe8019; 62 | } 63 | 64 | /* Gruvbox Green */ 65 | .hljs-addition, 66 | .hljs-meta-string, 67 | .hljs-section, 68 | .hljs-selector-attr, 69 | .hljs-selector-class, 70 | .hljs-string, 71 | .hljs-symbol { 72 | color: #b8bb26; 73 | } 74 | 75 | /* Gruvbox Aqua */ 76 | .hljs-attribute, 77 | .hljs-bullet, 78 | .hljs-class, 79 | .hljs-function, 80 | .hljs-function .hljs-keyword, 81 | .hljs-meta-keyword, 82 | .hljs-selector-pseudo, 83 | .hljs-tag { 84 | color: #8ec07c; 85 | } 86 | 87 | /* Gruvbox Gray */ 88 | .hljs-comment { 89 | color: #928374; 90 | } 91 | 92 | /* Gruvbox Purple */ 93 | .hljs-link_label, 94 | .hljs-literal, 95 | .hljs-number { 96 | color: #d3869b; 97 | } 98 | 99 | .hljs-comment, 100 | .hljs-emphasis { 101 | font-style: italic; 102 | } 103 | 104 | .hljs-section, 105 | .hljs-strong, 106 | .hljs-tag { 107 | font-weight: bold; 108 | } 109 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/gruvbox-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Gruvbox style (light) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox) 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #fbf1c7; 12 | } 13 | 14 | .hljs, 15 | .hljs-subst { 16 | color: #3c3836; 17 | } 18 | 19 | /* Gruvbox Red */ 20 | .hljs-deletion, 21 | .hljs-formula, 22 | .hljs-keyword, 23 | .hljs-link, 24 | .hljs-selector-tag { 25 | color: #9d0006; 26 | } 27 | 28 | /* Gruvbox Blue */ 29 | .hljs-built_in, 30 | .hljs-emphasis, 31 | .hljs-name, 32 | .hljs-quote, 33 | .hljs-strong, 34 | .hljs-title, 35 | .hljs-variable { 36 | color: #076678; 37 | } 38 | 39 | /* Gruvbox Yellow */ 40 | .hljs-attr, 41 | .hljs-params, 42 | .hljs-template-tag, 43 | .hljs-type { 44 | color: #b57614; 45 | } 46 | 47 | /* Gruvbox Purple */ 48 | .hljs-builtin-name, 49 | .hljs-doctag, 50 | .hljs-literal, 51 | .hljs-number { 52 | color: #8f3f71; 53 | } 54 | 55 | /* Gruvbox Orange */ 56 | .hljs-code, 57 | .hljs-meta, 58 | .hljs-regexp, 59 | .hljs-selector-id, 60 | .hljs-template-variable { 61 | color: #af3a03; 62 | } 63 | 64 | /* Gruvbox Green */ 65 | .hljs-addition, 66 | .hljs-meta-string, 67 | .hljs-section, 68 | .hljs-selector-attr, 69 | .hljs-selector-class, 70 | .hljs-string, 71 | .hljs-symbol { 72 | color: #79740e; 73 | } 74 | 75 | /* Gruvbox Aqua */ 76 | .hljs-attribute, 77 | .hljs-bullet, 78 | .hljs-class, 79 | .hljs-function, 80 | .hljs-function .hljs-keyword, 81 | .hljs-meta-keyword, 82 | .hljs-selector-pseudo, 83 | .hljs-tag { 84 | color: #427b58; 85 | } 86 | 87 | /* Gruvbox Gray */ 88 | .hljs-comment { 89 | color: #928374; 90 | } 91 | 92 | /* Gruvbox Purple */ 93 | .hljs-link_label, 94 | .hljs-literal, 95 | .hljs-number { 96 | color: #8f3f71; 97 | } 98 | 99 | .hljs-comment, 100 | .hljs-emphasis { 101 | font-style: italic; 102 | } 103 | 104 | .hljs-section, 105 | .hljs-strong, 106 | .hljs-tag { 107 | font-weight: bold; 108 | } 109 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/hopscotch.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Hopscotch 3 | * by Jan T. Sott 4 | * https://github.com/idleberg/Hopscotch 5 | * 6 | * This work is licensed under the Creative Commons CC0 1.0 Universal License 7 | */ 8 | 9 | /* Comment */ 10 | .hljs-comment, 11 | .hljs-quote { 12 | color: #989498; 13 | } 14 | 15 | /* Red */ 16 | .hljs-variable, 17 | .hljs-template-variable, 18 | .hljs-attribute, 19 | .hljs-tag, 20 | .hljs-name, 21 | .hljs-selector-id, 22 | .hljs-selector-class, 23 | .hljs-regexp, 24 | .hljs-link, 25 | .hljs-deletion { 26 | color: #dd464c; 27 | } 28 | 29 | /* Orange */ 30 | .hljs-number, 31 | .hljs-built_in, 32 | .hljs-builtin-name, 33 | .hljs-literal, 34 | .hljs-type, 35 | .hljs-params { 36 | color: #fd8b19; 37 | } 38 | 39 | /* Yellow */ 40 | .hljs-class .hljs-title { 41 | color: #fdcc59; 42 | } 43 | 44 | /* Green */ 45 | .hljs-string, 46 | .hljs-symbol, 47 | .hljs-bullet, 48 | .hljs-addition { 49 | color: #8fc13e; 50 | } 51 | 52 | /* Aqua */ 53 | .hljs-meta { 54 | color: #149b93; 55 | } 56 | 57 | /* Blue */ 58 | .hljs-function, 59 | .hljs-section, 60 | .hljs-title { 61 | color: #1290bf; 62 | } 63 | 64 | /* Purple */ 65 | .hljs-keyword, 66 | .hljs-selector-tag { 67 | color: #c85e7c; 68 | } 69 | 70 | .hljs { 71 | display: block; 72 | overflow-x: auto; 73 | background: #322931; 74 | color: #b9b5b8; 75 | padding: 0.5em; 76 | } 77 | 78 | .hljs-emphasis { 79 | font-style: italic; 80 | } 81 | 82 | .hljs-strong { 83 | font-weight: bold; 84 | } 85 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/hybrid.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | vim-hybrid theme by w0ng (https://github.com/w0ng/vim-hybrid) 4 | 5 | */ 6 | 7 | /*background color*/ 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #1d1f21; 13 | } 14 | 15 | /*selection color*/ 16 | .hljs::selection, 17 | .hljs span::selection { 18 | background: #373b41; 19 | } 20 | 21 | .hljs::-moz-selection, 22 | .hljs span::-moz-selection { 23 | background: #373b41; 24 | } 25 | 26 | /*foreground color*/ 27 | .hljs { 28 | color: #c5c8c6; 29 | } 30 | 31 | /*color: fg_yellow*/ 32 | .hljs-title, 33 | .hljs-name { 34 | color: #f0c674; 35 | } 36 | 37 | /*color: fg_comment*/ 38 | .hljs-comment, 39 | .hljs-meta, 40 | .hljs-meta .hljs-keyword { 41 | color: #707880; 42 | } 43 | 44 | /*color: fg_red*/ 45 | .hljs-number, 46 | .hljs-symbol, 47 | .hljs-literal, 48 | .hljs-deletion, 49 | .hljs-link { 50 | color: #cc6666 51 | } 52 | 53 | /*color: fg_green*/ 54 | .hljs-string, 55 | .hljs-doctag, 56 | .hljs-addition, 57 | .hljs-regexp, 58 | .hljs-selector-attr, 59 | .hljs-selector-pseudo { 60 | color: #b5bd68; 61 | } 62 | 63 | /*color: fg_purple*/ 64 | .hljs-attribute, 65 | .hljs-code, 66 | .hljs-selector-id { 67 | color: #b294bb; 68 | } 69 | 70 | /*color: fg_blue*/ 71 | .hljs-keyword, 72 | .hljs-selector-tag, 73 | .hljs-bullet, 74 | .hljs-tag { 75 | color: #81a2be; 76 | } 77 | 78 | /*color: fg_aqua*/ 79 | .hljs-subst, 80 | .hljs-variable, 81 | .hljs-template-tag, 82 | .hljs-template-variable { 83 | color: #8abeb7; 84 | } 85 | 86 | /*color: fg_orange*/ 87 | .hljs-type, 88 | .hljs-built_in, 89 | .hljs-builtin-name, 90 | .hljs-quote, 91 | .hljs-section, 92 | .hljs-selector-class { 93 | color: #de935f; 94 | } 95 | 96 | .hljs-emphasis { 97 | font-style: italic; 98 | } 99 | 100 | .hljs-strong { 101 | font-weight: bold; 102 | } 103 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/idea.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Intellij Idea-like styling (c) Vasily Polovnyov 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | color: #000; 12 | background: #fff; 13 | } 14 | 15 | .hljs-subst, 16 | .hljs-title { 17 | font-weight: normal; 18 | color: #000; 19 | } 20 | 21 | .hljs-comment, 22 | .hljs-quote { 23 | color: #808080; 24 | font-style: italic; 25 | } 26 | 27 | .hljs-meta { 28 | color: #808000; 29 | } 30 | 31 | .hljs-tag { 32 | background: #efefef; 33 | } 34 | 35 | .hljs-section, 36 | .hljs-name, 37 | .hljs-literal, 38 | .hljs-keyword, 39 | .hljs-selector-tag, 40 | .hljs-type, 41 | .hljs-selector-id, 42 | .hljs-selector-class { 43 | font-weight: bold; 44 | color: #000080; 45 | } 46 | 47 | .hljs-attribute, 48 | .hljs-number, 49 | .hljs-regexp, 50 | .hljs-link { 51 | font-weight: bold; 52 | color: #0000ff; 53 | } 54 | 55 | .hljs-number, 56 | .hljs-regexp, 57 | .hljs-link { 58 | font-weight: normal; 59 | } 60 | 61 | .hljs-string { 62 | color: #008000; 63 | font-weight: bold; 64 | } 65 | 66 | .hljs-symbol, 67 | .hljs-bullet, 68 | .hljs-formula { 69 | color: #000; 70 | background: #d0eded; 71 | font-style: italic; 72 | } 73 | 74 | .hljs-doctag { 75 | text-decoration: underline; 76 | } 77 | 78 | .hljs-variable, 79 | .hljs-template-variable { 80 | color: #660e7a; 81 | } 82 | 83 | .hljs-addition { 84 | background: #baeeba; 85 | } 86 | 87 | .hljs-deletion { 88 | background: #ffc8bd; 89 | } 90 | 91 | .hljs-emphasis { 92 | font-style: italic; 93 | } 94 | 95 | .hljs-strong { 96 | font-weight: bold; 97 | } 98 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/ir-black.css: -------------------------------------------------------------------------------- 1 | /* 2 | IR_Black style (c) Vasily Mikhailitchenko 3 | */ 4 | 5 | .hljs { 6 | display: block; 7 | overflow-x: auto; 8 | padding: 0.5em; 9 | background: #000; 10 | color: #f8f8f8; 11 | } 12 | 13 | .hljs-comment, 14 | .hljs-quote, 15 | .hljs-meta { 16 | color: #7c7c7c; 17 | } 18 | 19 | .hljs-keyword, 20 | .hljs-selector-tag, 21 | .hljs-tag, 22 | .hljs-name { 23 | color: #96cbfe; 24 | } 25 | 26 | .hljs-attribute, 27 | .hljs-selector-id { 28 | color: #ffffb6; 29 | } 30 | 31 | .hljs-string, 32 | .hljs-selector-attr, 33 | .hljs-selector-pseudo, 34 | .hljs-addition { 35 | color: #a8ff60; 36 | } 37 | 38 | .hljs-subst { 39 | color: #daefa3; 40 | } 41 | 42 | .hljs-regexp, 43 | .hljs-link { 44 | color: #e9c062; 45 | } 46 | 47 | .hljs-title, 48 | .hljs-section, 49 | .hljs-type, 50 | .hljs-doctag { 51 | color: #ffffb6; 52 | } 53 | 54 | .hljs-symbol, 55 | .hljs-bullet, 56 | .hljs-variable, 57 | .hljs-template-variable, 58 | .hljs-literal { 59 | color: #c6c5fe; 60 | } 61 | 62 | .hljs-number, 63 | .hljs-deletion { 64 | color:#ff73fd; 65 | } 66 | 67 | .hljs-emphasis { 68 | font-style: italic; 69 | } 70 | 71 | .hljs-strong { 72 | font-weight: bold; 73 | } 74 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/isbl-editor-dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | ISBL Editor style dark color scheme (c) Dmitriy Tarasov 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #404040; 12 | color: #f0f0f0; 13 | } 14 | 15 | /* Base color: saturation 0; */ 16 | 17 | .hljs, 18 | .hljs-subst { 19 | color: #f0f0f0; 20 | } 21 | 22 | .hljs-comment { 23 | color: #b5b5b5; 24 | font-style: italic; 25 | } 26 | 27 | .hljs-keyword, 28 | .hljs-attribute, 29 | .hljs-selector-tag, 30 | .hljs-meta-keyword, 31 | .hljs-doctag, 32 | .hljs-name { 33 | color: #f0f0f0; 34 | font-weight: bold; 35 | } 36 | 37 | 38 | /* User color: hue: 0 */ 39 | 40 | .hljs-string { 41 | color: #97bf0d; 42 | } 43 | 44 | .hljs-type, 45 | .hljs-number, 46 | .hljs-selector-id, 47 | .hljs-selector-class, 48 | .hljs-quote, 49 | .hljs-template-tag, 50 | .hljs-deletion { 51 | color: #f0f0f0; 52 | } 53 | 54 | .hljs-title, 55 | .hljs-section { 56 | color: #df471e; 57 | } 58 | 59 | .hljs-title>.hljs-built_in { 60 | color: #81bce9; 61 | font-weight: normal; 62 | } 63 | 64 | .hljs-regexp, 65 | .hljs-symbol, 66 | .hljs-variable, 67 | .hljs-template-variable, 68 | .hljs-link, 69 | .hljs-selector-attr, 70 | .hljs-selector-pseudo { 71 | color: #e2c696; 72 | } 73 | 74 | /* Language color: hue: 90; */ 75 | 76 | .hljs-built_in, 77 | .hljs-literal { 78 | color: #97bf0d; 79 | font-weight: bold; 80 | } 81 | 82 | .hljs-bullet, 83 | .hljs-code, 84 | .hljs-addition { 85 | color: #397300; 86 | } 87 | 88 | .hljs-class { 89 | color: #ce9d4d; 90 | font-weight: bold; 91 | } 92 | 93 | /* Meta color: hue: 200 */ 94 | 95 | .hljs-meta { 96 | color: #1f7199; 97 | } 98 | 99 | .hljs-meta-string { 100 | color: #4d99bf; 101 | } 102 | 103 | 104 | /* Misc effects */ 105 | 106 | .hljs-emphasis { 107 | font-style: italic; 108 | } 109 | 110 | .hljs-strong { 111 | font-weight: bold; 112 | } 113 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/isbl-editor-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | ISBL Editor style light color schemec (c) Dmitriy Tarasov 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: white; 12 | color: black; 13 | } 14 | 15 | /* Base color: saturation 0; */ 16 | 17 | .hljs-subst { 18 | color: black; 19 | } 20 | 21 | .hljs-comment { 22 | color: #555555; 23 | font-style: italic; 24 | } 25 | 26 | .hljs-keyword, 27 | .hljs-attribute, 28 | .hljs-selector-tag, 29 | .hljs-meta-keyword, 30 | .hljs-doctag, 31 | .hljs-name { 32 | color: #000000; 33 | font-weight: bold; 34 | } 35 | 36 | 37 | /* User color: hue: 0 */ 38 | 39 | .hljs-string { 40 | color: #000080; 41 | } 42 | 43 | .hljs-type, 44 | .hljs-number, 45 | .hljs-selector-id, 46 | .hljs-selector-class, 47 | .hljs-quote, 48 | .hljs-template-tag, 49 | .hljs-deletion { 50 | color: #000000; 51 | } 52 | 53 | .hljs-title, 54 | .hljs-section { 55 | color: #fb2c00; 56 | } 57 | 58 | .hljs-title>.hljs-built_in { 59 | color: #008080; 60 | font-weight: normal; 61 | } 62 | 63 | .hljs-regexp, 64 | .hljs-symbol, 65 | .hljs-variable, 66 | .hljs-template-variable, 67 | .hljs-link, 68 | .hljs-selector-attr, 69 | .hljs-selector-pseudo { 70 | color: #5e1700; 71 | } 72 | 73 | /* Language color: hue: 90; */ 74 | 75 | .hljs-built_in, 76 | .hljs-literal { 77 | color: #000080; 78 | font-weight: bold; 79 | } 80 | 81 | .hljs-bullet, 82 | .hljs-code, 83 | .hljs-addition { 84 | color: #397300; 85 | } 86 | 87 | .hljs-class { 88 | color: #6f1C00; 89 | font-weight: bold; 90 | } 91 | 92 | /* Meta color: hue: 200 */ 93 | 94 | .hljs-meta { 95 | color: #1f7199; 96 | } 97 | 98 | .hljs-meta-string { 99 | color: #4d99bf; 100 | } 101 | 102 | 103 | /* Misc effects */ 104 | 105 | .hljs-emphasis { 106 | font-style: italic; 107 | } 108 | 109 | .hljs-strong { 110 | font-weight: bold; 111 | } 112 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/kimbie.dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | Name: Kimbie (dark) 3 | Author: Jan T. Sott 4 | License: Creative Commons Attribution-ShareAlike 4.0 Unported License 5 | URL: https://github.com/idleberg/Kimbie-highlight.js 6 | */ 7 | 8 | /* Kimbie Comment */ 9 | .hljs-comment, 10 | .hljs-quote { 11 | color: #d6baad; 12 | } 13 | 14 | /* Kimbie Red */ 15 | .hljs-variable, 16 | .hljs-template-variable, 17 | .hljs-tag, 18 | .hljs-name, 19 | .hljs-selector-id, 20 | .hljs-selector-class, 21 | .hljs-regexp, 22 | .hljs-meta { 23 | color: #dc3958; 24 | } 25 | 26 | /* Kimbie Orange */ 27 | .hljs-number, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params, 33 | .hljs-deletion, 34 | .hljs-link { 35 | color: #f79a32; 36 | } 37 | 38 | /* Kimbie Yellow */ 39 | .hljs-title, 40 | .hljs-section, 41 | .hljs-attribute { 42 | color: #f06431; 43 | } 44 | 45 | /* Kimbie Green */ 46 | .hljs-string, 47 | .hljs-symbol, 48 | .hljs-bullet, 49 | .hljs-addition { 50 | color: #889b4a; 51 | } 52 | 53 | /* Kimbie Purple */ 54 | .hljs-keyword, 55 | .hljs-selector-tag, 56 | .hljs-function { 57 | color: #98676a; 58 | } 59 | 60 | .hljs { 61 | display: block; 62 | overflow-x: auto; 63 | background: #221a0f; 64 | color: #d3af86; 65 | padding: 0.5em; 66 | } 67 | 68 | .hljs-emphasis { 69 | font-style: italic; 70 | } 71 | 72 | .hljs-strong { 73 | font-weight: bold; 74 | } 75 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/kimbie.light.css: -------------------------------------------------------------------------------- 1 | /* 2 | Name: Kimbie (light) 3 | Author: Jan T. Sott 4 | License: Creative Commons Attribution-ShareAlike 4.0 Unported License 5 | URL: https://github.com/idleberg/Kimbie-highlight.js 6 | */ 7 | 8 | /* Kimbie Comment */ 9 | .hljs-comment, 10 | .hljs-quote { 11 | color: #a57a4c; 12 | } 13 | 14 | /* Kimbie Red */ 15 | .hljs-variable, 16 | .hljs-template-variable, 17 | .hljs-tag, 18 | .hljs-name, 19 | .hljs-selector-id, 20 | .hljs-selector-class, 21 | .hljs-regexp, 22 | .hljs-meta { 23 | color: #dc3958; 24 | } 25 | 26 | /* Kimbie Orange */ 27 | .hljs-number, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params, 33 | .hljs-deletion, 34 | .hljs-link { 35 | color: #f79a32; 36 | } 37 | 38 | /* Kimbie Yellow */ 39 | .hljs-title, 40 | .hljs-section, 41 | .hljs-attribute { 42 | color: #f06431; 43 | } 44 | 45 | /* Kimbie Green */ 46 | .hljs-string, 47 | .hljs-symbol, 48 | .hljs-bullet, 49 | .hljs-addition { 50 | color: #889b4a; 51 | } 52 | 53 | /* Kimbie Purple */ 54 | .hljs-keyword, 55 | .hljs-selector-tag, 56 | .hljs-function { 57 | color: #98676a; 58 | } 59 | 60 | .hljs { 61 | display: block; 62 | overflow-x: auto; 63 | background: #fbebd4; 64 | color: #84613d; 65 | padding: 0.5em; 66 | } 67 | 68 | .hljs-emphasis { 69 | font-style: italic; 70 | } 71 | 72 | .hljs-strong { 73 | font-weight: bold; 74 | } 75 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/lightfair.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Lightfair style (c) Tristian Kelly 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #fff; 12 | } 13 | 14 | .hljs-name { 15 | color:#01a3a3; 16 | } 17 | 18 | .hljs-tag,.hljs-meta { 19 | color:#778899; 20 | } 21 | 22 | .hljs, 23 | .hljs-subst { 24 | color: #444 25 | } 26 | 27 | .hljs-comment { 28 | color: #888888 29 | } 30 | 31 | .hljs-keyword, 32 | .hljs-attribute, 33 | .hljs-selector-tag, 34 | .hljs-meta-keyword, 35 | .hljs-doctag, 36 | .hljs-name { 37 | font-weight: bold 38 | } 39 | 40 | .hljs-type, 41 | .hljs-string, 42 | .hljs-number, 43 | .hljs-selector-id, 44 | .hljs-selector-class, 45 | .hljs-quote, 46 | .hljs-template-tag, 47 | .hljs-deletion { 48 | color: #4286f4 49 | } 50 | 51 | .hljs-title, 52 | .hljs-section { 53 | color: #4286f4; 54 | font-weight: bold 55 | } 56 | 57 | .hljs-regexp, 58 | .hljs-symbol, 59 | .hljs-variable, 60 | .hljs-template-variable, 61 | .hljs-link, 62 | .hljs-selector-attr, 63 | .hljs-selector-pseudo { 64 | color: #BC6060 65 | } 66 | 67 | .hljs-literal { 68 | color: #62bcbc 69 | } 70 | 71 | .hljs-built_in, 72 | .hljs-bullet, 73 | .hljs-code, 74 | .hljs-addition { 75 | color: #25c6c6 76 | } 77 | 78 | .hljs-meta-string { 79 | color: #4d99bf 80 | } 81 | 82 | .hljs-emphasis { 83 | font-style: italic 84 | } 85 | 86 | .hljs-strong { 87 | font-weight: bold 88 | } 89 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/lioshi.css: -------------------------------------------------------------------------------- 1 | /* lioshi Theme */ 2 | /* Original theme - https://github.com/lioshi/vscode-lioshi-theme */ 3 | 4 | /* Comment */ 5 | .hljs-comment { 6 | color: #8d8d8d; 7 | } 8 | 9 | /* quote */ 10 | .hljs-quote { 11 | color: #b3c7d8; 12 | } 13 | 14 | /* Red */ 15 | .hljs-variable, 16 | .hljs-template-variable, 17 | .hljs-tag, 18 | .hljs-name, 19 | .hljs-selector-id, 20 | .hljs-selector-class, 21 | .hljs-regexp, 22 | .hljs-deletion { 23 | color: #cc6666; 24 | } 25 | 26 | /* Orange */ 27 | .hljs-number, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-subst 33 | .hljs-link { 34 | color: #de935f; 35 | } 36 | 37 | /* Yellow */ 38 | .hljs-attribute { 39 | color: #f0c674; 40 | } 41 | 42 | /* Green */ 43 | .hljs-string, 44 | .hljs-bullet, 45 | .hljs-params, 46 | .hljs-addition { 47 | color: #b5bd68; 48 | } 49 | 50 | /* Blue */ 51 | .hljs-title, 52 | .hljs-meta, 53 | .hljs-section { 54 | color: #81a2be; 55 | } 56 | 57 | /* Purple */ 58 | .hljs-selector-tag, 59 | .hljs-keyword, 60 | .hljs-function, 61 | .hljs-class { 62 | color: #be94bb; 63 | } 64 | 65 | /* Purple light */ 66 | .hljs-symbol { 67 | color: #dbc4d9; 68 | } 69 | 70 | .hljs { 71 | display: block; 72 | overflow-x: auto; 73 | background: #303030; 74 | color: #c5c8c6; 75 | padding: 0.5em; 76 | } 77 | 78 | .hljs-emphasis { 79 | font-style: italic; 80 | } 81 | 82 | .hljs-strong { 83 | font-weight: bold; 84 | } 85 | 86 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/magula.css: -------------------------------------------------------------------------------- 1 | /* 2 | Description: Magula style for highligh.js 3 | Author: Ruslan Keba 4 | Website: http://rukeba.com/ 5 | Version: 1.0 6 | Date: 2009-01-03 7 | Music: Aphex Twin / Xtal 8 | */ 9 | 10 | .hljs { 11 | display: block; 12 | overflow-x: auto; 13 | padding: 0.5em; 14 | background-color: #f4f4f4; 15 | color: black; 16 | } 17 | 18 | .hljs-subst { 19 | color: black; 20 | } 21 | 22 | .hljs-string, 23 | .hljs-title, 24 | .hljs-symbol, 25 | .hljs-bullet, 26 | .hljs-attribute, 27 | .hljs-addition, 28 | .hljs-variable, 29 | .hljs-template-tag, 30 | .hljs-template-variable { 31 | color: #050; 32 | } 33 | 34 | .hljs-comment, 35 | .hljs-quote { 36 | color: #777; 37 | } 38 | 39 | .hljs-number, 40 | .hljs-regexp, 41 | .hljs-literal, 42 | .hljs-type, 43 | .hljs-link { 44 | color: #800; 45 | } 46 | 47 | .hljs-deletion, 48 | .hljs-meta { 49 | color: #00e; 50 | } 51 | 52 | .hljs-keyword, 53 | .hljs-selector-tag, 54 | .hljs-doctag, 55 | .hljs-title, 56 | .hljs-section, 57 | .hljs-built_in, 58 | .hljs-tag, 59 | .hljs-name { 60 | font-weight: bold; 61 | color: navy; 62 | } 63 | 64 | .hljs-emphasis { 65 | font-style: italic; 66 | } 67 | 68 | .hljs-strong { 69 | font-weight: bold; 70 | } 71 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/mono-blue.css: -------------------------------------------------------------------------------- 1 | /* 2 | Five-color theme from a single blue hue. 3 | */ 4 | .hljs { 5 | display: block; 6 | overflow-x: auto; 7 | padding: 0.5em; 8 | background: #eaeef3; 9 | color: #00193a; 10 | } 11 | 12 | .hljs-keyword, 13 | .hljs-selector-tag, 14 | .hljs-title, 15 | .hljs-section, 16 | .hljs-doctag, 17 | .hljs-name, 18 | .hljs-strong { 19 | font-weight: bold; 20 | } 21 | 22 | .hljs-comment { 23 | color: #738191; 24 | } 25 | 26 | .hljs-string, 27 | .hljs-title, 28 | .hljs-section, 29 | .hljs-built_in, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-addition, 33 | .hljs-tag, 34 | .hljs-quote, 35 | .hljs-name, 36 | .hljs-selector-id, 37 | .hljs-selector-class { 38 | color: #0048ab; 39 | } 40 | 41 | .hljs-meta, 42 | .hljs-subst, 43 | .hljs-symbol, 44 | .hljs-regexp, 45 | .hljs-attribute, 46 | .hljs-deletion, 47 | .hljs-variable, 48 | .hljs-template-variable, 49 | .hljs-link, 50 | .hljs-bullet { 51 | color: #4c81c9; 52 | } 53 | 54 | .hljs-emphasis { 55 | font-style: italic; 56 | } 57 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/monokai-sublime.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/ 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #23241f; 12 | } 13 | 14 | .hljs, 15 | .hljs-tag, 16 | .hljs-subst { 17 | color: #f8f8f2; 18 | } 19 | 20 | .hljs-strong, 21 | .hljs-emphasis { 22 | color: #a8a8a2; 23 | } 24 | 25 | .hljs-bullet, 26 | .hljs-quote, 27 | .hljs-number, 28 | .hljs-regexp, 29 | .hljs-literal, 30 | .hljs-link { 31 | color: #ae81ff; 32 | } 33 | 34 | .hljs-code, 35 | .hljs-title, 36 | .hljs-section, 37 | .hljs-selector-class { 38 | color: #a6e22e; 39 | } 40 | 41 | .hljs-strong { 42 | font-weight: bold; 43 | } 44 | 45 | .hljs-emphasis { 46 | font-style: italic; 47 | } 48 | 49 | .hljs-keyword, 50 | .hljs-selector-tag, 51 | .hljs-name, 52 | .hljs-attr { 53 | color: #f92672; 54 | } 55 | 56 | .hljs-symbol, 57 | .hljs-attribute { 58 | color: #66d9ef; 59 | } 60 | 61 | .hljs-params, 62 | .hljs-class .hljs-title { 63 | color: #f8f8f2; 64 | } 65 | 66 | .hljs-string, 67 | .hljs-type, 68 | .hljs-built_in, 69 | .hljs-builtin-name, 70 | .hljs-selector-id, 71 | .hljs-selector-attr, 72 | .hljs-selector-pseudo, 73 | .hljs-addition, 74 | .hljs-variable, 75 | .hljs-template-variable { 76 | color: #e6db74; 77 | } 78 | 79 | .hljs-comment, 80 | .hljs-deletion, 81 | .hljs-meta { 82 | color: #75715e; 83 | } 84 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/monokai.css: -------------------------------------------------------------------------------- 1 | /* 2 | Monokai style - ported by Luigi Maselli - http://grigio.org 3 | */ 4 | 5 | .hljs { 6 | display: block; 7 | overflow-x: auto; 8 | padding: 0.5em; 9 | background: #272822; 10 | color: #ddd; 11 | } 12 | 13 | .hljs-tag, 14 | .hljs-keyword, 15 | .hljs-selector-tag, 16 | .hljs-literal, 17 | .hljs-strong, 18 | .hljs-name { 19 | color: #f92672; 20 | } 21 | 22 | .hljs-code { 23 | color: #66d9ef; 24 | } 25 | 26 | .hljs-class .hljs-title { 27 | color: white; 28 | } 29 | 30 | .hljs-attribute, 31 | .hljs-symbol, 32 | .hljs-regexp, 33 | .hljs-link { 34 | color: #bf79db; 35 | } 36 | 37 | .hljs-string, 38 | .hljs-bullet, 39 | .hljs-subst, 40 | .hljs-title, 41 | .hljs-section, 42 | .hljs-emphasis, 43 | .hljs-type, 44 | .hljs-built_in, 45 | .hljs-builtin-name, 46 | .hljs-selector-attr, 47 | .hljs-selector-pseudo, 48 | .hljs-addition, 49 | .hljs-variable, 50 | .hljs-template-tag, 51 | .hljs-template-variable { 52 | color: #a6e22e; 53 | } 54 | 55 | .hljs-comment, 56 | .hljs-quote, 57 | .hljs-deletion, 58 | .hljs-meta { 59 | color: #75715e; 60 | } 61 | 62 | .hljs-keyword, 63 | .hljs-selector-tag, 64 | .hljs-literal, 65 | .hljs-doctag, 66 | .hljs-title, 67 | .hljs-section, 68 | .hljs-type, 69 | .hljs-selector-id { 70 | font-weight: bold; 71 | } 72 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/night-owl.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Night Owl for highlight.js (c) Carl Baxter 4 | 5 | An adaptation of Sarah Drasner's Night Owl VS Code Theme 6 | https://github.com/sdras/night-owl-vscode-theme 7 | 8 | Copyright (c) 2018 Sarah Drasner 9 | 10 | Permission is hereby granted, free of charge, to any person obtaining a copy 11 | of this software and associated documentation files (the "Software"), to deal 12 | in the Software without restriction, including without limitation the rights 13 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 | copies of the Software, and to permit persons to whom the Software is 15 | furnished to do so, subject to the following conditions: 16 | 17 | The above copyright notice and this permission notice shall be included in all 18 | copies or substantial portions of the Software. 19 | 20 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 23 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 26 | SOFTWARE. 27 | 28 | */ 29 | 30 | .hljs { 31 | display: block; 32 | overflow-x: auto; 33 | padding: 0.5em; 34 | background: #011627; 35 | color: #d6deeb; 36 | } 37 | 38 | /* General Purpose */ 39 | .hljs-keyword { 40 | color: #c792ea; 41 | font-style: italic; 42 | } 43 | .hljs-built_in { 44 | color: #addb67; 45 | font-style: italic; 46 | } 47 | .hljs-type { 48 | color: #82aaff; 49 | } 50 | .hljs-literal { 51 | color: #ff5874; 52 | } 53 | .hljs-number { 54 | color: #F78C6C; 55 | } 56 | .hljs-regexp { 57 | color: #5ca7e4; 58 | } 59 | .hljs-string { 60 | color: #ecc48d; 61 | } 62 | .hljs-subst { 63 | color: #d3423e; 64 | } 65 | .hljs-symbol { 66 | color: #82aaff; 67 | } 68 | .hljs-class { 69 | color: #ffcb8b; 70 | } 71 | .hljs-function { 72 | color: #82AAFF; 73 | } 74 | .hljs-title { 75 | color: #DCDCAA; 76 | font-style: italic; 77 | } 78 | .hljs-params { 79 | color: #7fdbca; 80 | } 81 | 82 | /* Meta */ 83 | .hljs-comment { 84 | color: #637777; 85 | font-style: italic; 86 | } 87 | .hljs-doctag { 88 | color: #7fdbca; 89 | } 90 | .hljs-meta { 91 | color: #82aaff; 92 | } 93 | .hljs-meta-keyword { 94 | color: #82aaff; 95 | } 96 | .hljs-meta-string { 97 | color: #ecc48d; 98 | } 99 | 100 | /* Tags, attributes, config */ 101 | .hljs-section { 102 | color: #82b1ff; 103 | } 104 | .hljs-tag, 105 | .hljs-name, 106 | .hljs-builtin-name { 107 | color: #7fdbca; 108 | } 109 | .hljs-attr { 110 | color: #7fdbca; 111 | } 112 | .hljs-attribute { 113 | color: #80cbc4; 114 | } 115 | .hljs-variable { 116 | color: #addb67; 117 | } 118 | 119 | /* Markup */ 120 | .hljs-bullet { 121 | color: #d9f5dd; 122 | } 123 | .hljs-code { 124 | color: #80CBC4; 125 | } 126 | .hljs-emphasis { 127 | color: #c792ea; 128 | font-style: italic; 129 | } 130 | .hljs-strong { 131 | color: #addb67; 132 | font-weight: bold; 133 | } 134 | .hljs-formula { 135 | color: #c792ea; 136 | } 137 | .hljs-link { 138 | color: #ff869a; 139 | } 140 | .hljs-quote { 141 | color: #697098; 142 | font-style: italic; 143 | } 144 | 145 | /* CSS */ 146 | .hljs-selector-tag { 147 | color: #ff6363; 148 | } 149 | 150 | .hljs-selector-id { 151 | color: #fad430; 152 | } 153 | 154 | .hljs-selector-class { 155 | color: #addb67; 156 | font-style: italic; 157 | } 158 | 159 | .hljs-selector-attr, 160 | .hljs-selector-pseudo { 161 | color: #c792ea; 162 | font-style: italic; 163 | } 164 | 165 | /* Templates */ 166 | .hljs-template-tag { 167 | color: #c792ea; 168 | } 169 | .hljs-template-variable { 170 | color: #addb67; 171 | } 172 | 173 | /* diff */ 174 | .hljs-addition { 175 | color: #addb67ff; 176 | font-style: italic; 177 | } 178 | 179 | .hljs-deletion { 180 | color: #EF535090; 181 | font-style: italic; 182 | } 183 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/nnfx-dark.css: -------------------------------------------------------------------------------- 1 | /** 2 | * nnfx dark - a theme inspired by Netscape Navigator/Firefox 3 | * 4 | * @version 1.0.0 5 | * @author (c) 2020 Jim Mason 6 | * @license https://creativecommons.org/licenses/by-sa/4.0 CC BY-SA 4.0 7 | */ 8 | 9 | .hljs { 10 | display: block; 11 | overflow-x: auto; 12 | padding: 0.5em; 13 | background: #333; 14 | color: #fff; 15 | } 16 | 17 | .xml .hljs-meta { 18 | font-weight: bold; 19 | font-style: italic; 20 | color: #69f; 21 | } 22 | 23 | .hljs-comment, 24 | .hljs-quote { 25 | font-style: italic; 26 | color: #9c6; 27 | } 28 | 29 | .hljs-name, 30 | .hljs-keyword { 31 | color: #a7a; 32 | } 33 | 34 | .hljs-name, 35 | .hljs-attr { 36 | font-weight: bold; 37 | } 38 | 39 | .hljs-string { 40 | font-weight: normal; 41 | } 42 | 43 | .hljs-variable, 44 | .hljs-template-variable { 45 | color: #588; 46 | } 47 | 48 | .hljs-code, 49 | .hljs-string, 50 | .hljs-meta-string, 51 | .hljs-number, 52 | .hljs-regexp, 53 | .hljs-link { 54 | color: #bce; 55 | } 56 | 57 | .hljs-title, 58 | .hljs-symbol, 59 | .hljs-bullet, 60 | .hljs-built_in, 61 | .hljs-builtin-name { 62 | color: #d40; 63 | } 64 | 65 | .hljs-section, 66 | .hljs-meta { 67 | color: #a85; 68 | } 69 | 70 | .hljs-class .hljs-title, 71 | .hljs-type { 72 | color: #96c; 73 | } 74 | 75 | .hljs-function .hljs-title, 76 | .hljs-attr, 77 | .hljs-subst { 78 | color: #fff; 79 | } 80 | 81 | .hljs-formula { 82 | background-color: #eee; 83 | font-style: italic; 84 | } 85 | 86 | .hljs-addition { 87 | background-color: #797; 88 | } 89 | 90 | .hljs-deletion { 91 | background-color: #c99; 92 | } 93 | 94 | .hljs-selector-id, 95 | .hljs-selector-class { 96 | color: #964; 97 | } 98 | 99 | .hljs-doctag, 100 | .hljs-strong { 101 | font-weight: bold; 102 | } 103 | 104 | .hljs-emphasis { 105 | font-style: italic; 106 | } 107 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/nnfx.css: -------------------------------------------------------------------------------- 1 | /** 2 | * nnfx - a theme inspired by Netscape Navigator/Firefox 3 | * 4 | * @version 1.0.0 5 | * @author (c) 2020 Jim Mason 6 | * @license https://creativecommons.org/licenses/by-sa/4.0 CC BY-SA 4.0 7 | */ 8 | 9 | .hljs { 10 | display: block; 11 | overflow-x: auto; 12 | padding: 0.5em; 13 | background: #fff; 14 | color: #000; 15 | } 16 | 17 | .xml .hljs-meta { 18 | font-weight: bold; 19 | font-style: italic; 20 | color: #48b; 21 | } 22 | 23 | .hljs-comment, 24 | .hljs-quote { 25 | font-style: italic; 26 | color: #070; 27 | } 28 | 29 | .hljs-name, 30 | .hljs-keyword { 31 | color: #808; 32 | } 33 | 34 | .hljs-name, 35 | .hljs-attr { 36 | font-weight: bold; 37 | } 38 | 39 | .hljs-string { 40 | font-weight: normal; 41 | } 42 | 43 | .hljs-variable, 44 | .hljs-template-variable { 45 | color: #477; 46 | } 47 | 48 | .hljs-code, 49 | .hljs-string, 50 | .hljs-meta-string, 51 | .hljs-number, 52 | .hljs-regexp, 53 | .hljs-link { 54 | color: #00f; 55 | } 56 | 57 | .hljs-title, 58 | .hljs-symbol, 59 | .hljs-bullet, 60 | .hljs-built_in, 61 | .hljs-builtin-name { 62 | color: #f40; 63 | } 64 | 65 | .hljs-section, 66 | .hljs-meta { 67 | color: #642; 68 | } 69 | 70 | .hljs-class .hljs-title, 71 | .hljs-type { 72 | color: #639; 73 | } 74 | 75 | .hljs-function .hljs-title, 76 | .hljs-attr, 77 | .hljs-subst { 78 | color: #000; 79 | } 80 | 81 | .hljs-formula { 82 | background-color: #eee; 83 | font-style: italic; 84 | } 85 | 86 | .hljs-addition { 87 | background-color: #beb; 88 | } 89 | 90 | .hljs-deletion { 91 | background-color: #fbb; 92 | } 93 | 94 | .hljs-selector-id, 95 | .hljs-selector-class { 96 | color: #964; 97 | } 98 | 99 | .hljs-doctag, 100 | .hljs-strong { 101 | font-weight: bold; 102 | } 103 | 104 | .hljs-emphasis { 105 | font-style: italic; 106 | } 107 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/nord.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2017-present Arctic Ice Studio 3 | * Copyright (c) 2017-present Sven Greb 4 | * 5 | * Project: Nord highlight.js 6 | * Version: 0.1.0 7 | * Repository: https://github.com/arcticicestudio/nord-highlightjs 8 | * License: MIT 9 | * References: 10 | * https://github.com/arcticicestudio/nord 11 | */ 12 | 13 | .hljs { 14 | display: block; 15 | overflow-x: auto; 16 | padding: 0.5em; 17 | background: #2E3440; 18 | } 19 | 20 | .hljs, 21 | .hljs-subst { 22 | color: #D8DEE9; 23 | } 24 | 25 | .hljs-selector-tag { 26 | color: #81A1C1; 27 | } 28 | 29 | .hljs-selector-id { 30 | color: #8FBCBB; 31 | font-weight: bold; 32 | } 33 | 34 | .hljs-selector-class { 35 | color: #8FBCBB; 36 | } 37 | 38 | .hljs-selector-attr { 39 | color: #8FBCBB; 40 | } 41 | 42 | .hljs-selector-pseudo { 43 | color: #88C0D0; 44 | } 45 | 46 | .hljs-addition { 47 | background-color: rgba(163, 190, 140, 0.5); 48 | } 49 | 50 | .hljs-deletion { 51 | background-color: rgba(191, 97, 106, 0.5); 52 | } 53 | 54 | .hljs-built_in, 55 | .hljs-type { 56 | color: #8FBCBB; 57 | } 58 | 59 | .hljs-class { 60 | color: #8FBCBB; 61 | } 62 | 63 | .hljs-function { 64 | color: #88C0D0; 65 | } 66 | 67 | .hljs-function > .hljs-title { 68 | color: #88C0D0; 69 | } 70 | 71 | .hljs-keyword, 72 | .hljs-literal, 73 | .hljs-symbol { 74 | color: #81A1C1; 75 | } 76 | 77 | .hljs-number { 78 | color: #B48EAD; 79 | } 80 | 81 | .hljs-regexp { 82 | color: #EBCB8B; 83 | } 84 | 85 | .hljs-string { 86 | color: #A3BE8C; 87 | } 88 | 89 | .hljs-title { 90 | color: #8FBCBB; 91 | } 92 | 93 | .hljs-params { 94 | color: #D8DEE9; 95 | } 96 | 97 | .hljs-bullet { 98 | color: #81A1C1; 99 | } 100 | 101 | .hljs-code { 102 | color: #8FBCBB; 103 | } 104 | 105 | .hljs-emphasis { 106 | font-style: italic; 107 | } 108 | 109 | .hljs-formula { 110 | color: #8FBCBB; 111 | } 112 | 113 | .hljs-strong { 114 | font-weight: bold; 115 | } 116 | 117 | .hljs-link:hover { 118 | text-decoration: underline; 119 | } 120 | 121 | .hljs-quote { 122 | color: #4C566A; 123 | } 124 | 125 | .hljs-comment { 126 | color: #4C566A; 127 | } 128 | 129 | .hljs-doctag { 130 | color: #8FBCBB; 131 | } 132 | 133 | .hljs-meta, 134 | .hljs-meta-keyword { 135 | color: #5E81AC; 136 | } 137 | 138 | .hljs-meta-string { 139 | color: #A3BE8C; 140 | } 141 | 142 | .hljs-attr { 143 | color: #8FBCBB; 144 | } 145 | 146 | .hljs-attribute { 147 | color: #D8DEE9; 148 | } 149 | 150 | .hljs-builtin-name { 151 | color: #81A1C1; 152 | } 153 | 154 | .hljs-name { 155 | color: #81A1C1; 156 | } 157 | 158 | .hljs-section { 159 | color: #88C0D0; 160 | } 161 | 162 | .hljs-tag { 163 | color: #81A1C1; 164 | } 165 | 166 | .hljs-variable { 167 | color: #D8DEE9; 168 | } 169 | 170 | .hljs-template-variable { 171 | color: #D8DEE9; 172 | } 173 | 174 | .hljs-template-tag { 175 | color: #5E81AC; 176 | } 177 | 178 | .abnf .hljs-attribute { 179 | color: #88C0D0; 180 | } 181 | 182 | .abnf .hljs-symbol { 183 | color: #EBCB8B; 184 | } 185 | 186 | .apache .hljs-attribute { 187 | color: #88C0D0; 188 | } 189 | 190 | .apache .hljs-section { 191 | color: #81A1C1; 192 | } 193 | 194 | .arduino .hljs-built_in { 195 | color: #88C0D0; 196 | } 197 | 198 | .aspectj .hljs-meta { 199 | color: #D08770; 200 | } 201 | 202 | .aspectj > .hljs-title { 203 | color: #88C0D0; 204 | } 205 | 206 | .bnf .hljs-attribute { 207 | color: #8FBCBB; 208 | } 209 | 210 | .clojure .hljs-name { 211 | color: #88C0D0; 212 | } 213 | 214 | .clojure .hljs-symbol { 215 | color: #EBCB8B; 216 | } 217 | 218 | .coq .hljs-built_in { 219 | color: #88C0D0; 220 | } 221 | 222 | .cpp .hljs-meta-string { 223 | color: #8FBCBB; 224 | } 225 | 226 | .css .hljs-built_in { 227 | color: #88C0D0; 228 | } 229 | 230 | .css .hljs-keyword { 231 | color: #D08770; 232 | } 233 | 234 | .diff .hljs-meta { 235 | color: #8FBCBB; 236 | } 237 | 238 | .ebnf .hljs-attribute { 239 | color: #8FBCBB; 240 | } 241 | 242 | .glsl .hljs-built_in { 243 | color: #88C0D0; 244 | } 245 | 246 | .groovy .hljs-meta:not(:first-child) { 247 | color: #D08770; 248 | } 249 | 250 | .haxe .hljs-meta { 251 | color: #D08770; 252 | } 253 | 254 | .java .hljs-meta { 255 | color: #D08770; 256 | } 257 | 258 | .ldif .hljs-attribute { 259 | color: #8FBCBB; 260 | } 261 | 262 | .lisp .hljs-name { 263 | color: #88C0D0; 264 | } 265 | 266 | .lua .hljs-built_in { 267 | color: #88C0D0; 268 | } 269 | 270 | .moonscript .hljs-built_in { 271 | color: #88C0D0; 272 | } 273 | 274 | .nginx .hljs-attribute { 275 | color: #88C0D0; 276 | } 277 | 278 | .nginx .hljs-section { 279 | color: #5E81AC; 280 | } 281 | 282 | .pf .hljs-built_in { 283 | color: #88C0D0; 284 | } 285 | 286 | .processing .hljs-built_in { 287 | color: #88C0D0; 288 | } 289 | 290 | .scss .hljs-keyword { 291 | color: #81A1C1; 292 | } 293 | 294 | .stylus .hljs-keyword { 295 | color: #81A1C1; 296 | } 297 | 298 | .swift .hljs-meta { 299 | color: #D08770; 300 | } 301 | 302 | .vim .hljs-built_in { 303 | color: #88C0D0; 304 | font-style: italic; 305 | } 306 | 307 | .yaml .hljs-meta { 308 | color: #D08770; 309 | } 310 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/obsidian.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Obsidian style 3 | * ported by Alexander Marenin (http://github.com/ioncreature) 4 | */ 5 | 6 | .hljs { 7 | display: block; 8 | overflow-x: auto; 9 | padding: 0.5em; 10 | background: #282b2e; 11 | } 12 | 13 | .hljs-keyword, 14 | .hljs-selector-tag, 15 | .hljs-literal, 16 | .hljs-selector-id { 17 | color: #93c763; 18 | } 19 | 20 | .hljs-number { 21 | color: #ffcd22; 22 | } 23 | 24 | .hljs { 25 | color: #e0e2e4; 26 | } 27 | 28 | .hljs-attribute { 29 | color: #668bb0; 30 | } 31 | 32 | .hljs-code, 33 | .hljs-class .hljs-title, 34 | .hljs-section { 35 | color: white; 36 | } 37 | 38 | .hljs-regexp, 39 | .hljs-link { 40 | color: #d39745; 41 | } 42 | 43 | .hljs-meta { 44 | color: #557182; 45 | } 46 | 47 | .hljs-tag, 48 | .hljs-name, 49 | .hljs-bullet, 50 | .hljs-subst, 51 | .hljs-emphasis, 52 | .hljs-type, 53 | .hljs-built_in, 54 | .hljs-selector-attr, 55 | .hljs-selector-pseudo, 56 | .hljs-addition, 57 | .hljs-variable, 58 | .hljs-template-tag, 59 | .hljs-template-variable { 60 | color: #8cbbad; 61 | } 62 | 63 | .hljs-string, 64 | .hljs-symbol { 65 | color: #ec7600; 66 | } 67 | 68 | .hljs-comment, 69 | .hljs-quote, 70 | .hljs-deletion { 71 | color: #818e96; 72 | } 73 | 74 | .hljs-selector-class { 75 | color: #A082BD 76 | } 77 | 78 | .hljs-keyword, 79 | .hljs-selector-tag, 80 | .hljs-literal, 81 | .hljs-doctag, 82 | .hljs-title, 83 | .hljs-section, 84 | .hljs-type, 85 | .hljs-name, 86 | .hljs-strong { 87 | font-weight: bold; 88 | } 89 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/ocean.css: -------------------------------------------------------------------------------- 1 | /* Ocean Dark Theme */ 2 | /* https://github.com/gavsiu */ 3 | /* Original theme - https://github.com/chriskempson/base16 */ 4 | 5 | /* Ocean Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #65737e; 9 | } 10 | 11 | /* Ocean Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-tag, 15 | .hljs-name, 16 | .hljs-selector-id, 17 | .hljs-selector-class, 18 | .hljs-regexp, 19 | .hljs-deletion { 20 | color: #bf616a; 21 | } 22 | 23 | /* Ocean Orange */ 24 | .hljs-number, 25 | .hljs-built_in, 26 | .hljs-builtin-name, 27 | .hljs-literal, 28 | .hljs-type, 29 | .hljs-params, 30 | .hljs-meta, 31 | .hljs-link { 32 | color: #d08770; 33 | } 34 | 35 | /* Ocean Yellow */ 36 | .hljs-attribute { 37 | color: #ebcb8b; 38 | } 39 | 40 | /* Ocean Green */ 41 | .hljs-string, 42 | .hljs-symbol, 43 | .hljs-bullet, 44 | .hljs-addition { 45 | color: #a3be8c; 46 | } 47 | 48 | /* Ocean Blue */ 49 | .hljs-title, 50 | .hljs-section { 51 | color: #8fa1b3; 52 | } 53 | 54 | /* Ocean Purple */ 55 | .hljs-keyword, 56 | .hljs-selector-tag { 57 | color: #b48ead; 58 | } 59 | 60 | .hljs { 61 | display: block; 62 | overflow-x: auto; 63 | background: #2b303b; 64 | color: #c0c5ce; 65 | padding: 0.5em; 66 | } 67 | 68 | .hljs-emphasis { 69 | font-style: italic; 70 | } 71 | 72 | .hljs-strong { 73 | font-weight: bold; 74 | } 75 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/paraiso-dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | Paraíso (dark) 3 | Created by Jan T. Sott (http://github.com/idleberg) 4 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br) 5 | */ 6 | 7 | /* Paraíso Comment */ 8 | .hljs-comment, 9 | .hljs-quote { 10 | color: #8d8687; 11 | } 12 | 13 | /* Paraíso Red */ 14 | .hljs-variable, 15 | .hljs-template-variable, 16 | .hljs-tag, 17 | .hljs-name, 18 | .hljs-selector-id, 19 | .hljs-selector-class, 20 | .hljs-regexp, 21 | .hljs-link, 22 | .hljs-meta { 23 | color: #ef6155; 24 | } 25 | 26 | /* Paraíso Orange */ 27 | .hljs-number, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params, 33 | .hljs-deletion { 34 | color: #f99b15; 35 | } 36 | 37 | /* Paraíso Yellow */ 38 | .hljs-title, 39 | .hljs-section, 40 | .hljs-attribute { 41 | color: #fec418; 42 | } 43 | 44 | /* Paraíso Green */ 45 | .hljs-string, 46 | .hljs-symbol, 47 | .hljs-bullet, 48 | .hljs-addition { 49 | color: #48b685; 50 | } 51 | 52 | /* Paraíso Purple */ 53 | .hljs-keyword, 54 | .hljs-selector-tag { 55 | color: #815ba4; 56 | } 57 | 58 | .hljs { 59 | display: block; 60 | overflow-x: auto; 61 | background: #2f1e2e; 62 | color: #a39e9b; 63 | padding: 0.5em; 64 | } 65 | 66 | .hljs-emphasis { 67 | font-style: italic; 68 | } 69 | 70 | .hljs-strong { 71 | font-weight: bold; 72 | } 73 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/paraiso-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | Paraíso (light) 3 | Created by Jan T. Sott (http://github.com/idleberg) 4 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br) 5 | */ 6 | 7 | /* Paraíso Comment */ 8 | .hljs-comment, 9 | .hljs-quote { 10 | color: #776e71; 11 | } 12 | 13 | /* Paraíso Red */ 14 | .hljs-variable, 15 | .hljs-template-variable, 16 | .hljs-tag, 17 | .hljs-name, 18 | .hljs-selector-id, 19 | .hljs-selector-class, 20 | .hljs-regexp, 21 | .hljs-link, 22 | .hljs-meta { 23 | color: #ef6155; 24 | } 25 | 26 | /* Paraíso Orange */ 27 | .hljs-number, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params, 33 | .hljs-deletion { 34 | color: #f99b15; 35 | } 36 | 37 | /* Paraíso Yellow */ 38 | .hljs-title, 39 | .hljs-section, 40 | .hljs-attribute { 41 | color: #fec418; 42 | } 43 | 44 | /* Paraíso Green */ 45 | .hljs-string, 46 | .hljs-symbol, 47 | .hljs-bullet, 48 | .hljs-addition { 49 | color: #48b685; 50 | } 51 | 52 | /* Paraíso Purple */ 53 | .hljs-keyword, 54 | .hljs-selector-tag { 55 | color: #815ba4; 56 | } 57 | 58 | .hljs { 59 | display: block; 60 | overflow-x: auto; 61 | background: #e7e9db; 62 | color: #4f424c; 63 | padding: 0.5em; 64 | } 65 | 66 | .hljs-emphasis { 67 | font-style: italic; 68 | } 69 | 70 | .hljs-strong { 71 | font-weight: bold; 72 | } 73 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/pojoaque.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Pojoaque Style by Jason Tate 4 | http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html 5 | Based on Solarized Style from http://ethanschoonover.com/solarized 6 | 7 | */ 8 | 9 | .hljs { 10 | display: block; 11 | overflow-x: auto; 12 | padding: 0.5em; 13 | color: #dccf8f; 14 | background: url(./pojoaque.jpg) repeat scroll left top #181914; 15 | } 16 | 17 | .hljs-comment, 18 | .hljs-quote { 19 | color: #586e75; 20 | font-style: italic; 21 | } 22 | 23 | .hljs-keyword, 24 | .hljs-selector-tag, 25 | .hljs-literal, 26 | .hljs-addition { 27 | color: #b64926; 28 | } 29 | 30 | .hljs-number, 31 | .hljs-string, 32 | .hljs-doctag, 33 | .hljs-regexp { 34 | color: #468966; 35 | } 36 | 37 | .hljs-title, 38 | .hljs-section, 39 | .hljs-built_in, 40 | .hljs-name { 41 | color: #ffb03b; 42 | } 43 | 44 | .hljs-variable, 45 | .hljs-template-variable, 46 | .hljs-class .hljs-title, 47 | .hljs-type, 48 | .hljs-tag { 49 | color: #b58900; 50 | } 51 | 52 | .hljs-attribute { 53 | color: #b89859; 54 | } 55 | 56 | .hljs-symbol, 57 | .hljs-bullet, 58 | .hljs-link, 59 | .hljs-subst, 60 | .hljs-meta { 61 | color: #cb4b16; 62 | } 63 | 64 | .hljs-deletion { 65 | color: #dc322f; 66 | } 67 | 68 | .hljs-selector-id, 69 | .hljs-selector-class { 70 | color: #d3a60c; 71 | } 72 | 73 | .hljs-formula { 74 | background: #073642; 75 | } 76 | 77 | .hljs-emphasis { 78 | font-style: italic; 79 | } 80 | 81 | .hljs-strong { 82 | font-weight: bold; 83 | } 84 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/pojoaque.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/docs/assets/highlight/styles/pojoaque.jpg -------------------------------------------------------------------------------- /docs/assets/highlight/styles/purebasic.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | PureBASIC native IDE style ( version 1.0 - April 2016 ) 4 | 5 | by Tristano Ajmone 6 | 7 | Public Domain 8 | 9 | NOTE_1: PureBASIC code syntax highlighting only applies the following classes: 10 | .hljs-comment 11 | .hljs-function 12 | .hljs-keywords 13 | .hljs-string 14 | .hljs-symbol 15 | 16 | Other classes are added here for the benefit of styling other languages with the look and feel of PureBASIC native IDE style. 17 | If you need to customize a stylesheet for PureBASIC only, remove all non-relevant classes -- PureBASIC-related classes are followed by 18 | a "--- used for PureBASIC ... ---" comment on same line. 19 | 20 | NOTE_2: Color names provided in comments were derived using "Name that Color" online tool: 21 | http://chir.ag/projects/name-that-color 22 | */ 23 | 24 | .hljs { 25 | display: block; 26 | overflow-x: auto; 27 | padding: 0.5em; 28 | background: #FFFFDF; /* Half and Half (approx.) */ 29 | /* --- Uncomment to add PureBASIC native IDE styled font! 30 | font-family: Consolas; 31 | */ 32 | } 33 | 34 | .hljs, /* --- used for PureBASIC base color --- */ 35 | .hljs-type, /* --- used for PureBASIC Procedures return type --- */ 36 | .hljs-function, /* --- used for wrapping PureBASIC Procedures definitions --- */ 37 | .hljs-name, 38 | .hljs-number, 39 | .hljs-attr, 40 | .hljs-params, 41 | .hljs-subst { 42 | color: #000000; /* Black */ 43 | } 44 | 45 | .hljs-comment, /* --- used for PureBASIC Comments --- */ 46 | .hljs-regexp, 47 | .hljs-section, 48 | .hljs-selector-pseudo, 49 | .hljs-addition { 50 | color: #00AAAA; /* Persian Green (approx.) */ 51 | } 52 | 53 | .hljs-title, /* --- used for PureBASIC Procedures Names --- */ 54 | .hljs-tag, 55 | .hljs-variable, 56 | .hljs-code { 57 | color: #006666; /* Blue Stone (approx.) */ 58 | } 59 | 60 | .hljs-keyword, /* --- used for PureBASIC Keywords --- */ 61 | .hljs-class, 62 | .hljs-meta-keyword, 63 | .hljs-selector-class, 64 | .hljs-built_in, 65 | .hljs-builtin-name { 66 | color: #006666; /* Blue Stone (approx.) */ 67 | font-weight: bold; 68 | } 69 | 70 | .hljs-string, /* --- used for PureBASIC Strings --- */ 71 | .hljs-selector-attr { 72 | color: #0080FF; /* Azure Radiance (approx.) */ 73 | } 74 | 75 | .hljs-symbol, /* --- used for PureBASIC Constants --- */ 76 | .hljs-link, 77 | .hljs-deletion, 78 | .hljs-attribute { 79 | color: #924B72; /* Cannon Pink (approx.) */ 80 | } 81 | 82 | .hljs-meta, 83 | .hljs-literal, 84 | .hljs-selector-id { 85 | color: #924B72; /* Cannon Pink (approx.) */ 86 | font-weight: bold; 87 | } 88 | 89 | .hljs-strong, 90 | .hljs-name { 91 | font-weight: bold; 92 | } 93 | 94 | .hljs-emphasis { 95 | font-style: italic; 96 | } 97 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/qtcreator_dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Qt Creator dark color scheme 4 | 5 | */ 6 | 7 | 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #000000; 13 | } 14 | 15 | .hljs, 16 | .hljs-subst, 17 | .hljs-tag, 18 | .hljs-title { 19 | color: #aaaaaa; 20 | } 21 | 22 | .hljs-strong, 23 | .hljs-emphasis { 24 | color: #a8a8a2; 25 | } 26 | 27 | .hljs-bullet, 28 | .hljs-quote, 29 | .hljs-number, 30 | .hljs-regexp, 31 | .hljs-literal { 32 | color: #ff55ff; 33 | } 34 | 35 | .hljs-code 36 | .hljs-selector-class { 37 | color: #aaaaff; 38 | } 39 | 40 | .hljs-emphasis, 41 | .hljs-stronge, 42 | .hljs-type { 43 | font-style: italic; 44 | } 45 | 46 | .hljs-keyword, 47 | .hljs-selector-tag, 48 | .hljs-function, 49 | .hljs-section, 50 | .hljs-symbol, 51 | .hljs-name { 52 | color: #ffff55; 53 | } 54 | 55 | .hljs-attribute { 56 | color: #ff5555; 57 | } 58 | 59 | .hljs-variable, 60 | .hljs-params, 61 | .hljs-class .hljs-title { 62 | color: #8888ff; 63 | } 64 | 65 | .hljs-string, 66 | .hljs-selector-id, 67 | .hljs-selector-attr, 68 | .hljs-selector-pseudo, 69 | .hljs-type, 70 | .hljs-built_in, 71 | .hljs-builtin-name, 72 | .hljs-template-tag, 73 | .hljs-template-variable, 74 | .hljs-addition, 75 | .hljs-link { 76 | color: #ff55ff; 77 | } 78 | 79 | .hljs-comment, 80 | .hljs-meta, 81 | .hljs-deletion { 82 | color: #55ffff; 83 | } 84 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/qtcreator_light.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Qt Creator light color scheme 4 | 5 | */ 6 | 7 | 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #ffffff; 13 | } 14 | 15 | .hljs, 16 | .hljs-subst, 17 | .hljs-tag, 18 | .hljs-title { 19 | color: #000000; 20 | } 21 | 22 | .hljs-strong, 23 | .hljs-emphasis { 24 | color: #000000; 25 | } 26 | 27 | .hljs-bullet, 28 | .hljs-quote, 29 | .hljs-number, 30 | .hljs-regexp, 31 | .hljs-literal { 32 | color: #000080; 33 | } 34 | 35 | .hljs-code 36 | .hljs-selector-class { 37 | color: #800080; 38 | } 39 | 40 | .hljs-emphasis, 41 | .hljs-stronge, 42 | .hljs-type { 43 | font-style: italic; 44 | } 45 | 46 | .hljs-keyword, 47 | .hljs-selector-tag, 48 | .hljs-function, 49 | .hljs-section, 50 | .hljs-symbol, 51 | .hljs-name { 52 | color: #808000; 53 | } 54 | 55 | .hljs-attribute { 56 | color: #800000; 57 | } 58 | 59 | .hljs-variable, 60 | .hljs-params, 61 | .hljs-class .hljs-title { 62 | color: #0055AF; 63 | } 64 | 65 | .hljs-string, 66 | .hljs-selector-id, 67 | .hljs-selector-attr, 68 | .hljs-selector-pseudo, 69 | .hljs-type, 70 | .hljs-built_in, 71 | .hljs-builtin-name, 72 | .hljs-template-tag, 73 | .hljs-template-variable, 74 | .hljs-addition, 75 | .hljs-link { 76 | color: #008000; 77 | } 78 | 79 | .hljs-comment, 80 | .hljs-meta, 81 | .hljs-deletion { 82 | color: #008000; 83 | } 84 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/railscasts.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Railscasts-like style (c) Visoft, Inc. (Damien White) 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #232323; 12 | color: #e6e1dc; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-quote { 17 | color: #bc9458; 18 | font-style: italic; 19 | } 20 | 21 | .hljs-keyword, 22 | .hljs-selector-tag { 23 | color: #c26230; 24 | } 25 | 26 | .hljs-string, 27 | .hljs-number, 28 | .hljs-regexp, 29 | .hljs-variable, 30 | .hljs-template-variable { 31 | color: #a5c261; 32 | } 33 | 34 | .hljs-subst { 35 | color: #519f50; 36 | } 37 | 38 | .hljs-tag, 39 | .hljs-name { 40 | color: #e8bf6a; 41 | } 42 | 43 | .hljs-type { 44 | color: #da4939; 45 | } 46 | 47 | 48 | .hljs-symbol, 49 | .hljs-bullet, 50 | .hljs-built_in, 51 | .hljs-builtin-name, 52 | .hljs-attr, 53 | .hljs-link { 54 | color: #6d9cbe; 55 | } 56 | 57 | .hljs-params { 58 | color: #d0d0ff; 59 | } 60 | 61 | .hljs-attribute { 62 | color: #cda869; 63 | } 64 | 65 | .hljs-meta { 66 | color: #9b859d; 67 | } 68 | 69 | .hljs-title, 70 | .hljs-section { 71 | color: #ffc66d; 72 | } 73 | 74 | .hljs-addition { 75 | background-color: #144212; 76 | color: #e6e1dc; 77 | display: inline-block; 78 | width: 100%; 79 | } 80 | 81 | .hljs-deletion { 82 | background-color: #600; 83 | color: #e6e1dc; 84 | display: inline-block; 85 | width: 100%; 86 | } 87 | 88 | .hljs-selector-class { 89 | color: #9b703f; 90 | } 91 | 92 | .hljs-selector-id { 93 | color: #8b98ab; 94 | } 95 | 96 | .hljs-emphasis { 97 | font-style: italic; 98 | } 99 | 100 | .hljs-strong { 101 | font-weight: bold; 102 | } 103 | 104 | .hljs-link { 105 | text-decoration: underline; 106 | } 107 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/rainbow.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Style with support for rainbow parens 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #474949; 12 | color: #d1d9e1; 13 | } 14 | 15 | 16 | .hljs-comment, 17 | .hljs-quote { 18 | color: #969896; 19 | font-style: italic; 20 | } 21 | 22 | .hljs-keyword, 23 | .hljs-selector-tag, 24 | .hljs-literal, 25 | .hljs-type, 26 | .hljs-addition { 27 | color: #cc99cc; 28 | } 29 | 30 | .hljs-number, 31 | .hljs-selector-attr, 32 | .hljs-selector-pseudo { 33 | color: #f99157; 34 | } 35 | 36 | .hljs-string, 37 | .hljs-doctag, 38 | .hljs-regexp { 39 | color: #8abeb7; 40 | } 41 | 42 | .hljs-title, 43 | .hljs-name, 44 | .hljs-section, 45 | .hljs-built_in { 46 | color: #b5bd68; 47 | } 48 | 49 | .hljs-variable, 50 | .hljs-template-variable, 51 | .hljs-selector-id, 52 | .hljs-class .hljs-title { 53 | color: #ffcc66; 54 | } 55 | 56 | .hljs-section, 57 | .hljs-name, 58 | .hljs-strong { 59 | font-weight: bold; 60 | } 61 | 62 | .hljs-symbol, 63 | .hljs-bullet, 64 | .hljs-subst, 65 | .hljs-meta, 66 | .hljs-link { 67 | color: #f99157; 68 | } 69 | 70 | .hljs-deletion { 71 | color: #dc322f; 72 | } 73 | 74 | .hljs-formula { 75 | background: #eee8d5; 76 | } 77 | 78 | .hljs-attr, 79 | .hljs-attribute { 80 | color: #81a2be; 81 | } 82 | 83 | .hljs-emphasis { 84 | font-style: italic; 85 | } 86 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/routeros.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | highlight.js style for Microtik RouterOS script 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #F0F0F0; 12 | } 13 | 14 | /* Base color: saturation 0; */ 15 | 16 | .hljs, 17 | .hljs-subst { 18 | color: #444; 19 | } 20 | 21 | .hljs-comment { 22 | color: #888888; 23 | } 24 | 25 | .hljs-keyword, 26 | .hljs-selector-tag, 27 | .hljs-meta-keyword, 28 | .hljs-doctag, 29 | .hljs-name { 30 | font-weight: bold; 31 | } 32 | 33 | .hljs-attribute { 34 | color: #0E9A00; 35 | } 36 | 37 | .hljs-function { 38 | color: #99069A; 39 | } 40 | 41 | .hljs-builtin-name { 42 | color: #99069A; 43 | } 44 | 45 | /* User color: hue: 0 */ 46 | 47 | .hljs-type, 48 | .hljs-string, 49 | .hljs-number, 50 | .hljs-selector-id, 51 | .hljs-selector-class, 52 | .hljs-quote, 53 | .hljs-template-tag, 54 | .hljs-deletion { 55 | color: #880000; 56 | } 57 | 58 | .hljs-title, 59 | .hljs-section { 60 | color: #880000; 61 | font-weight: bold; 62 | } 63 | 64 | .hljs-regexp, 65 | .hljs-symbol, 66 | .hljs-variable, 67 | .hljs-template-variable, 68 | .hljs-link, 69 | .hljs-selector-attr, 70 | .hljs-selector-pseudo { 71 | color: #BC6060; 72 | } 73 | 74 | 75 | /* Language color: hue: 90; */ 76 | 77 | .hljs-literal { 78 | color: #78A960; 79 | } 80 | 81 | .hljs-built_in, 82 | .hljs-bullet, 83 | .hljs-code, 84 | .hljs-addition { 85 | color: #0C9A9A; 86 | } 87 | 88 | 89 | /* Meta color: hue: 200 */ 90 | 91 | .hljs-meta { 92 | color: #1f7199; 93 | } 94 | 95 | .hljs-meta-string { 96 | color: #4d99bf; 97 | } 98 | 99 | 100 | /* Misc effects */ 101 | 102 | .hljs-emphasis { 103 | font-style: italic; 104 | } 105 | 106 | .hljs-strong { 107 | font-weight: bold; 108 | } 109 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/school-book.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | School Book style from goldblog.com.ua (c) Zaripov Yura 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 15px 0.5em 0.5em 30px; 11 | font-size: 11px; 12 | line-height:16px; 13 | background:#f6f6ae url(./school-book.png); 14 | border-top: solid 2px #d2e8b9; 15 | border-bottom: solid 1px #d2e8b9; 16 | } 17 | 18 | .hljs-keyword, 19 | .hljs-selector-tag, 20 | .hljs-literal { 21 | color:#005599; 22 | font-weight:bold; 23 | } 24 | 25 | .hljs, 26 | .hljs-subst { 27 | color: #3e5915; 28 | } 29 | 30 | .hljs-string, 31 | .hljs-title, 32 | .hljs-section, 33 | .hljs-type, 34 | .hljs-symbol, 35 | .hljs-bullet, 36 | .hljs-attribute, 37 | .hljs-built_in, 38 | .hljs-builtin-name, 39 | .hljs-addition, 40 | .hljs-variable, 41 | .hljs-template-tag, 42 | .hljs-template-variable, 43 | .hljs-link { 44 | color: #2c009f; 45 | } 46 | 47 | .hljs-comment, 48 | .hljs-quote, 49 | .hljs-deletion, 50 | .hljs-meta { 51 | color: #e60415; 52 | } 53 | 54 | .hljs-keyword, 55 | .hljs-selector-tag, 56 | .hljs-literal, 57 | .hljs-doctag, 58 | .hljs-title, 59 | .hljs-section, 60 | .hljs-type, 61 | .hljs-name, 62 | .hljs-selector-id, 63 | .hljs-strong { 64 | font-weight: bold; 65 | } 66 | 67 | .hljs-emphasis { 68 | font-style: italic; 69 | } 70 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/school-book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/docs/assets/highlight/styles/school-book.png -------------------------------------------------------------------------------- /docs/assets/highlight/styles/shades-of-purple.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Shades of Purple Theme — for Highlightjs. 3 | * 4 | * @author (c) Ahmad Awais 5 | * @link GitHub Repo → https://github.com/ahmadawais/Shades-of-Purple-HighlightJS 6 | * @version 1.5.0 7 | */ 8 | 9 | .hljs { 10 | display: block; 11 | overflow-x: auto; 12 | /* Custom font is optional */ 13 | /* font-family: 'Operator Mono', 'Fira Code', 'Menlo', 'Monaco', 'Courier New', 'monospace'; */ 14 | padding: 0.5em; 15 | background: #2d2b57; 16 | font-weight: normal; 17 | } 18 | 19 | .hljs-title { 20 | color: #fad000; 21 | font-weight: normal; 22 | } 23 | 24 | .hljs-name { 25 | color: #a1feff; 26 | } 27 | 28 | .hljs-tag { 29 | color: #ffffff; 30 | } 31 | 32 | .hljs-attr { 33 | color: #f8d000; 34 | font-style: italic; 35 | } 36 | 37 | .hljs-built_in, 38 | .hljs-selector-tag, 39 | .hljs-section { 40 | color: #fb9e00; 41 | } 42 | 43 | .hljs-keyword { 44 | color: #fb9e00; 45 | } 46 | 47 | .hljs, 48 | .hljs-subst { 49 | color: #e3dfff; 50 | } 51 | 52 | .hljs-string, 53 | .hljs-attribute, 54 | .hljs-symbol, 55 | .hljs-bullet, 56 | .hljs-addition, 57 | .hljs-code, 58 | .hljs-regexp, 59 | .hljs-selector-class, 60 | .hljs-selector-attr, 61 | .hljs-selector-pseudo, 62 | .hljs-template-tag, 63 | .hljs-quote, 64 | .hljs-deletion { 65 | color: #4cd213; 66 | } 67 | 68 | .hljs-meta, 69 | .hljs-meta-string { 70 | color: #fb9e00; 71 | } 72 | 73 | .hljs-comment { 74 | color: #ac65ff; 75 | } 76 | 77 | .hljs-keyword, 78 | .hljs-selector-tag, 79 | .hljs-literal, 80 | .hljs-name, 81 | .hljs-strong { 82 | font-weight: normal; 83 | } 84 | 85 | .hljs-literal, 86 | .hljs-number { 87 | color: #fa658d; 88 | } 89 | 90 | .hljs-emphasis { 91 | font-style: italic; 92 | } 93 | 94 | .hljs-strong { 95 | font-weight: bold; 96 | } 97 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/solarized-dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #002b36; 12 | color: #839496; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-quote { 17 | color: #586e75; 18 | } 19 | 20 | /* Solarized Green */ 21 | .hljs-keyword, 22 | .hljs-selector-tag, 23 | .hljs-addition { 24 | color: #859900; 25 | } 26 | 27 | /* Solarized Cyan */ 28 | .hljs-number, 29 | .hljs-string, 30 | .hljs-meta .hljs-meta-string, 31 | .hljs-literal, 32 | .hljs-doctag, 33 | .hljs-regexp { 34 | color: #2aa198; 35 | } 36 | 37 | /* Solarized Blue */ 38 | .hljs-title, 39 | .hljs-section, 40 | .hljs-name, 41 | .hljs-selector-id, 42 | .hljs-selector-class { 43 | color: #268bd2; 44 | } 45 | 46 | /* Solarized Yellow */ 47 | .hljs-attribute, 48 | .hljs-attr, 49 | .hljs-variable, 50 | .hljs-template-variable, 51 | .hljs-class .hljs-title, 52 | .hljs-type { 53 | color: #b58900; 54 | } 55 | 56 | /* Solarized Orange */ 57 | .hljs-symbol, 58 | .hljs-bullet, 59 | .hljs-subst, 60 | .hljs-meta, 61 | .hljs-meta .hljs-keyword, 62 | .hljs-selector-attr, 63 | .hljs-selector-pseudo, 64 | .hljs-link { 65 | color: #cb4b16; 66 | } 67 | 68 | /* Solarized Red */ 69 | .hljs-built_in, 70 | .hljs-deletion { 71 | color: #dc322f; 72 | } 73 | 74 | .hljs-formula { 75 | background: #073642; 76 | } 77 | 78 | .hljs-emphasis { 79 | font-style: italic; 80 | } 81 | 82 | .hljs-strong { 83 | font-weight: bold; 84 | } 85 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/solarized-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #fdf6e3; 12 | color: #657b83; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-quote { 17 | color: #93a1a1; 18 | } 19 | 20 | /* Solarized Green */ 21 | .hljs-keyword, 22 | .hljs-selector-tag, 23 | .hljs-addition { 24 | color: #859900; 25 | } 26 | 27 | /* Solarized Cyan */ 28 | .hljs-number, 29 | .hljs-string, 30 | .hljs-meta .hljs-meta-string, 31 | .hljs-literal, 32 | .hljs-doctag, 33 | .hljs-regexp { 34 | color: #2aa198; 35 | } 36 | 37 | /* Solarized Blue */ 38 | .hljs-title, 39 | .hljs-section, 40 | .hljs-name, 41 | .hljs-selector-id, 42 | .hljs-selector-class { 43 | color: #268bd2; 44 | } 45 | 46 | /* Solarized Yellow */ 47 | .hljs-attribute, 48 | .hljs-attr, 49 | .hljs-variable, 50 | .hljs-template-variable, 51 | .hljs-class .hljs-title, 52 | .hljs-type { 53 | color: #b58900; 54 | } 55 | 56 | /* Solarized Orange */ 57 | .hljs-symbol, 58 | .hljs-bullet, 59 | .hljs-subst, 60 | .hljs-meta, 61 | .hljs-meta .hljs-keyword, 62 | .hljs-selector-attr, 63 | .hljs-selector-pseudo, 64 | .hljs-link { 65 | color: #cb4b16; 66 | } 67 | 68 | /* Solarized Red */ 69 | .hljs-built_in, 70 | .hljs-deletion { 71 | color: #dc322f; 72 | } 73 | 74 | .hljs-formula { 75 | background: #eee8d5; 76 | } 77 | 78 | .hljs-emphasis { 79 | font-style: italic; 80 | } 81 | 82 | .hljs-strong { 83 | font-weight: bold; 84 | } 85 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/srcery.css: -------------------------------------------------------------------------------- 1 | /* 2 | Description: Srcery dark color scheme for highlight.js 3 | Author: Chen Bin 4 | Website: https://srcery-colors.github.io/ 5 | Date: 2020-04-06 6 | */ 7 | 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #1C1B19; 13 | color: #FCE8C3; 14 | } 15 | 16 | .hljs-strong, 17 | .hljs-emphasis { 18 | color: #918175; 19 | } 20 | 21 | .hljs-bullet, 22 | .hljs-quote, 23 | .hljs-link, 24 | .hljs-number, 25 | .hljs-regexp, 26 | .hljs-literal { 27 | color: #FF5C8F; 28 | } 29 | 30 | .hljs-code, 31 | .hljs-selector-class { 32 | color: #68A8E4 33 | } 34 | 35 | .hljs-emphasis { 36 | font-style: italic; 37 | } 38 | 39 | .hljs-keyword, 40 | .hljs-selector-tag, 41 | .hljs-section, 42 | .hljs-attribute, 43 | .hljs-variable { 44 | color: #EF2F27; 45 | } 46 | 47 | .hljs-name, 48 | .hljs-title { 49 | color: #FBB829; 50 | } 51 | 52 | .hljs-type, 53 | .hljs-params { 54 | color: #0AAEB3; 55 | } 56 | 57 | .hljs-string { 58 | color: #98BC37; 59 | } 60 | 61 | .hljs-subst, 62 | .hljs-built_in, 63 | .hljs-builtin-name, 64 | .hljs-symbol, 65 | .hljs-selector-id, 66 | .hljs-selector-attr, 67 | .hljs-selector-pseudo, 68 | .hljs-template-tag, 69 | .hljs-template-variable, 70 | .hljs-addition { 71 | color: #C07ABE; 72 | } 73 | 74 | .hljs-comment, 75 | .hljs-deletion, 76 | .hljs-meta { 77 | color: #918175; 78 | } 79 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/sunburst.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Sunburst-like style (c) Vasily Polovnyov 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #000; 12 | color: #f8f8f8; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-quote { 17 | color: #aeaeae; 18 | font-style: italic; 19 | } 20 | 21 | .hljs-keyword, 22 | .hljs-selector-tag, 23 | .hljs-type { 24 | color: #e28964; 25 | } 26 | 27 | .hljs-string { 28 | color: #65b042; 29 | } 30 | 31 | .hljs-subst { 32 | color: #daefa3; 33 | } 34 | 35 | .hljs-regexp, 36 | .hljs-link { 37 | color: #e9c062; 38 | } 39 | 40 | .hljs-title, 41 | .hljs-section, 42 | .hljs-tag, 43 | .hljs-name { 44 | color: #89bdff; 45 | } 46 | 47 | .hljs-class .hljs-title, 48 | .hljs-doctag { 49 | text-decoration: underline; 50 | } 51 | 52 | .hljs-symbol, 53 | .hljs-bullet, 54 | .hljs-number { 55 | color: #3387cc; 56 | } 57 | 58 | .hljs-params, 59 | .hljs-variable, 60 | .hljs-template-variable { 61 | color: #3e87e3; 62 | } 63 | 64 | .hljs-attribute { 65 | color: #cda869; 66 | } 67 | 68 | .hljs-meta { 69 | color: #8996a8; 70 | } 71 | 72 | .hljs-formula { 73 | background-color: #0e2231; 74 | color: #f8f8f8; 75 | font-style: italic; 76 | } 77 | 78 | .hljs-addition { 79 | background-color: #253b22; 80 | color: #f8f8f8; 81 | } 82 | 83 | .hljs-deletion { 84 | background-color: #420e09; 85 | color: #f8f8f8; 86 | } 87 | 88 | .hljs-selector-class { 89 | color: #9b703f; 90 | } 91 | 92 | .hljs-selector-id { 93 | color: #8b98ab; 94 | } 95 | 96 | .hljs-emphasis { 97 | font-style: italic; 98 | } 99 | 100 | .hljs-strong { 101 | font-weight: bold; 102 | } 103 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/tomorrow-night-blue.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Blue Theme */ 2 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 3 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 4 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 5 | 6 | /* Tomorrow Comment */ 7 | .hljs-comment, 8 | .hljs-quote { 9 | color: #7285b7; 10 | } 11 | 12 | /* Tomorrow Red */ 13 | .hljs-variable, 14 | .hljs-template-variable, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-selector-id, 18 | .hljs-selector-class, 19 | .hljs-regexp, 20 | .hljs-deletion { 21 | color: #ff9da4; 22 | } 23 | 24 | /* Tomorrow Orange */ 25 | .hljs-number, 26 | .hljs-built_in, 27 | .hljs-builtin-name, 28 | .hljs-literal, 29 | .hljs-type, 30 | .hljs-params, 31 | .hljs-meta, 32 | .hljs-link { 33 | color: #ffc58f; 34 | } 35 | 36 | /* Tomorrow Yellow */ 37 | .hljs-attribute { 38 | color: #ffeead; 39 | } 40 | 41 | /* Tomorrow Green */ 42 | .hljs-string, 43 | .hljs-symbol, 44 | .hljs-bullet, 45 | .hljs-addition { 46 | color: #d1f1a9; 47 | } 48 | 49 | /* Tomorrow Blue */ 50 | .hljs-title, 51 | .hljs-section { 52 | color: #bbdaff; 53 | } 54 | 55 | /* Tomorrow Purple */ 56 | .hljs-keyword, 57 | .hljs-selector-tag { 58 | color: #ebbbff; 59 | } 60 | 61 | .hljs { 62 | display: block; 63 | overflow-x: auto; 64 | background: #002451; 65 | color: white; 66 | padding: 0.5em; 67 | } 68 | 69 | .hljs-emphasis { 70 | font-style: italic; 71 | } 72 | 73 | .hljs-strong { 74 | font-weight: bold; 75 | } 76 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/tomorrow-night-bright.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Bright Theme */ 2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 3 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 4 | 5 | /* Tomorrow Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #969896; 9 | } 10 | 11 | /* Tomorrow Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-tag, 15 | .hljs-name, 16 | .hljs-selector-id, 17 | .hljs-selector-class, 18 | .hljs-regexp, 19 | .hljs-deletion { 20 | color: #d54e53; 21 | } 22 | 23 | /* Tomorrow Orange */ 24 | .hljs-number, 25 | .hljs-built_in, 26 | .hljs-builtin-name, 27 | .hljs-literal, 28 | .hljs-type, 29 | .hljs-params, 30 | .hljs-meta, 31 | .hljs-link { 32 | color: #e78c45; 33 | } 34 | 35 | /* Tomorrow Yellow */ 36 | .hljs-attribute { 37 | color: #e7c547; 38 | } 39 | 40 | /* Tomorrow Green */ 41 | .hljs-string, 42 | .hljs-symbol, 43 | .hljs-bullet, 44 | .hljs-addition { 45 | color: #b9ca4a; 46 | } 47 | 48 | /* Tomorrow Blue */ 49 | .hljs-title, 50 | .hljs-section { 51 | color: #7aa6da; 52 | } 53 | 54 | /* Tomorrow Purple */ 55 | .hljs-keyword, 56 | .hljs-selector-tag { 57 | color: #c397d8; 58 | } 59 | 60 | .hljs { 61 | display: block; 62 | overflow-x: auto; 63 | background: black; 64 | color: #eaeaea; 65 | padding: 0.5em; 66 | } 67 | 68 | .hljs-emphasis { 69 | font-style: italic; 70 | } 71 | 72 | .hljs-strong { 73 | font-weight: bold; 74 | } 75 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/tomorrow-night-eighties.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Eighties Theme */ 2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 3 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 4 | 5 | /* Tomorrow Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #999999; 9 | } 10 | 11 | /* Tomorrow Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-tag, 15 | .hljs-name, 16 | .hljs-selector-id, 17 | .hljs-selector-class, 18 | .hljs-regexp, 19 | .hljs-deletion { 20 | color: #f2777a; 21 | } 22 | 23 | /* Tomorrow Orange */ 24 | .hljs-number, 25 | .hljs-built_in, 26 | .hljs-builtin-name, 27 | .hljs-literal, 28 | .hljs-type, 29 | .hljs-params, 30 | .hljs-meta, 31 | .hljs-link { 32 | color: #f99157; 33 | } 34 | 35 | /* Tomorrow Yellow */ 36 | .hljs-attribute { 37 | color: #ffcc66; 38 | } 39 | 40 | /* Tomorrow Green */ 41 | .hljs-string, 42 | .hljs-symbol, 43 | .hljs-bullet, 44 | .hljs-addition { 45 | color: #99cc99; 46 | } 47 | 48 | /* Tomorrow Blue */ 49 | .hljs-title, 50 | .hljs-section { 51 | color: #6699cc; 52 | } 53 | 54 | /* Tomorrow Purple */ 55 | .hljs-keyword, 56 | .hljs-selector-tag { 57 | color: #cc99cc; 58 | } 59 | 60 | .hljs { 61 | display: block; 62 | overflow-x: auto; 63 | background: #2d2d2d; 64 | color: #cccccc; 65 | padding: 0.5em; 66 | } 67 | 68 | .hljs-emphasis { 69 | font-style: italic; 70 | } 71 | 72 | .hljs-strong { 73 | font-weight: bold; 74 | } 75 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/tomorrow-night.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Theme */ 2 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 3 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 4 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 5 | 6 | /* Tomorrow Comment */ 7 | .hljs-comment, 8 | .hljs-quote { 9 | color: #969896; 10 | } 11 | 12 | /* Tomorrow Red */ 13 | .hljs-variable, 14 | .hljs-template-variable, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-selector-id, 18 | .hljs-selector-class, 19 | .hljs-regexp, 20 | .hljs-deletion { 21 | color: #cc6666; 22 | } 23 | 24 | /* Tomorrow Orange */ 25 | .hljs-number, 26 | .hljs-built_in, 27 | .hljs-builtin-name, 28 | .hljs-literal, 29 | .hljs-type, 30 | .hljs-params, 31 | .hljs-meta, 32 | .hljs-link { 33 | color: #de935f; 34 | } 35 | 36 | /* Tomorrow Yellow */ 37 | .hljs-attribute { 38 | color: #f0c674; 39 | } 40 | 41 | /* Tomorrow Green */ 42 | .hljs-string, 43 | .hljs-symbol, 44 | .hljs-bullet, 45 | .hljs-addition { 46 | color: #b5bd68; 47 | } 48 | 49 | /* Tomorrow Blue */ 50 | .hljs-title, 51 | .hljs-section { 52 | color: #81a2be; 53 | } 54 | 55 | /* Tomorrow Purple */ 56 | .hljs-keyword, 57 | .hljs-selector-tag { 58 | color: #b294bb; 59 | } 60 | 61 | .hljs { 62 | display: block; 63 | overflow-x: auto; 64 | background: #1d1f21; 65 | color: #c5c8c6; 66 | padding: 0.5em; 67 | } 68 | 69 | .hljs-emphasis { 70 | font-style: italic; 71 | } 72 | 73 | .hljs-strong { 74 | font-weight: bold; 75 | } 76 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/tomorrow.css: -------------------------------------------------------------------------------- 1 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 2 | 3 | /* Tomorrow Comment */ 4 | .hljs-comment, 5 | .hljs-quote { 6 | color: #8e908c; 7 | } 8 | 9 | /* Tomorrow Red */ 10 | .hljs-variable, 11 | .hljs-template-variable, 12 | .hljs-tag, 13 | .hljs-name, 14 | .hljs-selector-id, 15 | .hljs-selector-class, 16 | .hljs-regexp, 17 | .hljs-deletion { 18 | color: #c82829; 19 | } 20 | 21 | /* Tomorrow Orange */ 22 | .hljs-number, 23 | .hljs-built_in, 24 | .hljs-builtin-name, 25 | .hljs-literal, 26 | .hljs-type, 27 | .hljs-params, 28 | .hljs-meta, 29 | .hljs-link { 30 | color: #f5871f; 31 | } 32 | 33 | /* Tomorrow Yellow */ 34 | .hljs-attribute { 35 | color: #eab700; 36 | } 37 | 38 | /* Tomorrow Green */ 39 | .hljs-string, 40 | .hljs-symbol, 41 | .hljs-bullet, 42 | .hljs-addition { 43 | color: #718c00; 44 | } 45 | 46 | /* Tomorrow Blue */ 47 | .hljs-title, 48 | .hljs-section { 49 | color: #4271ae; 50 | } 51 | 52 | /* Tomorrow Purple */ 53 | .hljs-keyword, 54 | .hljs-selector-tag { 55 | color: #8959a8; 56 | } 57 | 58 | .hljs { 59 | display: block; 60 | overflow-x: auto; 61 | background: white; 62 | color: #4d4d4c; 63 | padding: 0.5em; 64 | } 65 | 66 | .hljs-emphasis { 67 | font-style: italic; 68 | } 69 | 70 | .hljs-strong { 71 | font-weight: bold; 72 | } 73 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/vs.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Visual Studio-like style based on original C# coloring by Jason Diamond 4 | 5 | */ 6 | .hljs { 7 | display: block; 8 | overflow-x: auto; 9 | padding: 0.5em; 10 | background: white; 11 | color: black; 12 | } 13 | 14 | .hljs-comment, 15 | .hljs-quote, 16 | .hljs-variable { 17 | color: #008000; 18 | } 19 | 20 | .hljs-keyword, 21 | .hljs-selector-tag, 22 | .hljs-built_in, 23 | .hljs-name, 24 | .hljs-tag { 25 | color: #00f; 26 | } 27 | 28 | .hljs-string, 29 | .hljs-title, 30 | .hljs-section, 31 | .hljs-attribute, 32 | .hljs-literal, 33 | .hljs-template-tag, 34 | .hljs-template-variable, 35 | .hljs-type, 36 | .hljs-addition { 37 | color: #a31515; 38 | } 39 | 40 | .hljs-deletion, 41 | .hljs-selector-attr, 42 | .hljs-selector-pseudo, 43 | .hljs-meta { 44 | color: #2b91af; 45 | } 46 | 47 | .hljs-doctag { 48 | color: #808080; 49 | } 50 | 51 | .hljs-attr { 52 | color: #f00; 53 | } 54 | 55 | .hljs-symbol, 56 | .hljs-bullet, 57 | .hljs-link { 58 | color: #00b0e8; 59 | } 60 | 61 | 62 | .hljs-emphasis { 63 | font-style: italic; 64 | } 65 | 66 | .hljs-strong { 67 | font-weight: bold; 68 | } 69 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/vs2015.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Visual Studio 2015 dark style 3 | * Author: Nicolas LLOBERA 4 | */ 5 | 6 | .hljs { 7 | display: block; 8 | overflow-x: auto; 9 | padding: 0.5em; 10 | background: #1E1E1E; 11 | color: #DCDCDC; 12 | } 13 | 14 | .hljs-keyword, 15 | .hljs-literal, 16 | .hljs-symbol, 17 | .hljs-name { 18 | color: #569CD6; 19 | } 20 | .hljs-link { 21 | color: #569CD6; 22 | text-decoration: underline; 23 | } 24 | 25 | .hljs-built_in, 26 | .hljs-type { 27 | color: #4EC9B0; 28 | } 29 | 30 | .hljs-number, 31 | .hljs-class { 32 | color: #B8D7A3; 33 | } 34 | 35 | .hljs-string, 36 | .hljs-meta-string { 37 | color: #D69D85; 38 | } 39 | 40 | .hljs-regexp, 41 | .hljs-template-tag { 42 | color: #9A5334; 43 | } 44 | 45 | .hljs-subst, 46 | .hljs-function, 47 | .hljs-title, 48 | .hljs-params, 49 | .hljs-formula { 50 | color: #DCDCDC; 51 | } 52 | 53 | .hljs-comment, 54 | .hljs-quote { 55 | color: #57A64A; 56 | font-style: italic; 57 | } 58 | 59 | .hljs-doctag { 60 | color: #608B4E; 61 | } 62 | 63 | .hljs-meta, 64 | .hljs-meta-keyword, 65 | .hljs-tag { 66 | color: #9B9B9B; 67 | } 68 | 69 | .hljs-variable, 70 | .hljs-template-variable { 71 | color: #BD63C5; 72 | } 73 | 74 | .hljs-attr, 75 | .hljs-attribute, 76 | .hljs-builtin-name { 77 | color: #9CDCFE; 78 | } 79 | 80 | .hljs-section { 81 | color: gold; 82 | } 83 | 84 | .hljs-emphasis { 85 | font-style: italic; 86 | } 87 | 88 | .hljs-strong { 89 | font-weight: bold; 90 | } 91 | 92 | /*.hljs-code { 93 | font-family:'Monospace'; 94 | }*/ 95 | 96 | .hljs-bullet, 97 | .hljs-selector-tag, 98 | .hljs-selector-id, 99 | .hljs-selector-class, 100 | .hljs-selector-attr, 101 | .hljs-selector-pseudo { 102 | color: #D7BA7D; 103 | } 104 | 105 | .hljs-addition { 106 | background-color: #144212; 107 | display: inline-block; 108 | width: 100%; 109 | } 110 | 111 | .hljs-deletion { 112 | background-color: #600; 113 | display: inline-block; 114 | width: 100%; 115 | } 116 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/xcode.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | XCode style (c) Angel Garcia 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #fff; 12 | color: black; 13 | } 14 | 15 | /* Gray DOCTYPE selectors like WebKit */ 16 | .xml .hljs-meta { 17 | color: #c0c0c0; 18 | } 19 | 20 | .hljs-comment, 21 | .hljs-quote { 22 | color: #007400; 23 | } 24 | 25 | .hljs-tag, 26 | .hljs-attribute, 27 | .hljs-keyword, 28 | .hljs-selector-tag, 29 | .hljs-literal, 30 | .hljs-name { 31 | color: #aa0d91; 32 | } 33 | 34 | .hljs-variable, 35 | .hljs-template-variable { 36 | color: #3F6E74; 37 | } 38 | 39 | .hljs-code, 40 | .hljs-string, 41 | .hljs-meta-string { 42 | color: #c41a16; 43 | } 44 | 45 | .hljs-regexp, 46 | .hljs-link { 47 | color: #0E0EFF; 48 | } 49 | 50 | .hljs-title, 51 | .hljs-symbol, 52 | .hljs-bullet, 53 | .hljs-number { 54 | color: #1c00cf; 55 | } 56 | 57 | .hljs-section, 58 | .hljs-meta { 59 | color: #643820; 60 | } 61 | 62 | 63 | .hljs-class .hljs-title, 64 | .hljs-type, 65 | .hljs-built_in, 66 | .hljs-builtin-name, 67 | .hljs-params { 68 | color: #5c2699; 69 | } 70 | 71 | .hljs-attr { 72 | color: #836C28; 73 | } 74 | 75 | .hljs-subst { 76 | color: #000; 77 | } 78 | 79 | .hljs-formula { 80 | background-color: #eee; 81 | font-style: italic; 82 | } 83 | 84 | .hljs-addition { 85 | background-color: #baeeba; 86 | } 87 | 88 | .hljs-deletion { 89 | background-color: #ffc8bd; 90 | } 91 | 92 | .hljs-selector-id, 93 | .hljs-selector-class { 94 | color: #9b703f; 95 | } 96 | 97 | .hljs-doctag, 98 | .hljs-strong { 99 | font-weight: bold; 100 | } 101 | 102 | .hljs-emphasis { 103 | font-style: italic; 104 | } 105 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/xt256.css: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | xt256.css 4 | 5 | Contact: initbar [at] protonmail [dot] ch 6 | : github.com/initbar 7 | */ 8 | 9 | .hljs { 10 | display: block; 11 | overflow-x: auto; 12 | color: #eaeaea; 13 | background: #000; 14 | padding: 0.5em; 15 | } 16 | 17 | .hljs-subst { 18 | color: #eaeaea; 19 | } 20 | 21 | .hljs-emphasis { 22 | font-style: italic; 23 | } 24 | 25 | .hljs-strong { 26 | font-weight: bold; 27 | } 28 | 29 | .hljs-builtin-name, 30 | .hljs-type { 31 | color: #eaeaea; 32 | } 33 | 34 | .hljs-params { 35 | color: #da0000; 36 | } 37 | 38 | .hljs-literal, 39 | .hljs-number, 40 | .hljs-name { 41 | color: #ff0000; 42 | font-weight: bolder; 43 | } 44 | 45 | .hljs-comment { 46 | color: #969896; 47 | } 48 | 49 | .hljs-selector-id, 50 | .hljs-quote { 51 | color: #00ffff; 52 | } 53 | 54 | .hljs-template-variable, 55 | .hljs-variable, 56 | .hljs-title { 57 | color: #00ffff; 58 | font-weight: bold; 59 | } 60 | 61 | .hljs-selector-class, 62 | .hljs-keyword, 63 | .hljs-symbol { 64 | color: #fff000; 65 | } 66 | 67 | .hljs-string, 68 | .hljs-bullet { 69 | color: #00ff00; 70 | } 71 | 72 | .hljs-tag, 73 | .hljs-section { 74 | color: #000fff; 75 | } 76 | 77 | .hljs-selector-tag { 78 | color: #000fff; 79 | font-weight: bold; 80 | } 81 | 82 | .hljs-attribute, 83 | .hljs-built_in, 84 | .hljs-regexp, 85 | .hljs-link { 86 | color: #ff00ff; 87 | } 88 | 89 | .hljs-meta { 90 | color: #fff; 91 | font-weight: bolder; 92 | } 93 | -------------------------------------------------------------------------------- /docs/assets/highlight/styles/zenburn.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Zenburn style from voldmar.ru (c) Vladimir Epifanov 4 | based on dark.css by Ivan Sagalaev 5 | 6 | */ 7 | 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #3f3f3f; 13 | color: #dcdcdc; 14 | } 15 | 16 | .hljs-keyword, 17 | .hljs-selector-tag, 18 | .hljs-tag { 19 | color: #e3ceab; 20 | } 21 | 22 | .hljs-template-tag { 23 | color: #dcdcdc; 24 | } 25 | 26 | .hljs-number { 27 | color: #8cd0d3; 28 | } 29 | 30 | .hljs-variable, 31 | .hljs-template-variable, 32 | .hljs-attribute { 33 | color: #efdcbc; 34 | } 35 | 36 | .hljs-literal { 37 | color: #efefaf; 38 | } 39 | 40 | .hljs-subst { 41 | color: #8f8f8f; 42 | } 43 | 44 | .hljs-title, 45 | .hljs-name, 46 | .hljs-selector-id, 47 | .hljs-selector-class, 48 | .hljs-section, 49 | .hljs-type { 50 | color: #efef8f; 51 | } 52 | 53 | .hljs-symbol, 54 | .hljs-bullet, 55 | .hljs-link { 56 | color: #dca3a3; 57 | } 58 | 59 | .hljs-deletion, 60 | .hljs-string, 61 | .hljs-built_in, 62 | .hljs-builtin-name { 63 | color: #cc9393; 64 | } 65 | 66 | .hljs-addition, 67 | .hljs-comment, 68 | .hljs-quote, 69 | .hljs-meta { 70 | color: #7f9f7f; 71 | } 72 | 73 | 74 | .hljs-emphasis { 75 | font-style: italic; 76 | } 77 | 78 | .hljs-strong { 79 | font-weight: bold; 80 | } 81 | -------------------------------------------------------------------------------- /docs/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #bd6d53 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /docs/contact.md: -------------------------------------------------------------------------------- 1 | 13 | 14 | 18 | 19 | ## Contact us 20 | 21 | Please, for any kind of question or request, contact me at {{ site.company.email }} 22 | 23 | If you want to report a bug or request a feature, you can also use [Codeclose's tracker on Github](https://github.com/juanlao7/codeclose/issues). 24 | 25 | Codeclose is a project maintained by **[{{ site.company.name }}]({{ site.company.url }})**. -------------------------------------------------------------------------------- /docs/download.md: -------------------------------------------------------------------------------- 1 | 5 | 6 | ## Downloading Codeclose 7 | 8 | Codeclose is a Python package for `pip`. It provides a command-line tool and a module. 9 | 10 | The most updated version of Codeclose is available [as a ZIP package](https://github.com/juanlao7/codeclose/archive/master.zip). 11 | 12 | Or you can clone the repository instead: 13 | 14 | ``` 15 | $ git clone https://github.com/juanlao7/codeclose.git 16 | ``` 17 | 18 | ## Installing Codeclose 19 | 20 | Run this command inside Codeclose's directory: 21 | 22 | ``` 23 | $ pip install . --user 24 | ``` 25 | 26 | After installing Codeclose the command `codeclose` should be available. 27 | 28 | ``` 29 | $ codeclose -h 30 | usage: codeclose [-h] 31 | {generate-signing-keys,generate-encrypting-key,protect,create-product-key,read-product-key,compute-license} 32 | 33 | [...] 34 | ``` 35 | 36 | ## Using Codeclose 37 | 38 | Read [the documentation](documentation) to learn how to use Codeclose. -------------------------------------------------------------------------------- /docs/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/docs/favicon-16x16.png -------------------------------------------------------------------------------- /docs/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/docs/favicon-32x32.png -------------------------------------------------------------------------------- /docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/docs/favicon.ico -------------------------------------------------------------------------------- /docs/favicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 43 | 51 | 52 | 54 | 55 | 57 | image/svg+xml 58 | 60 | 61 | 62 | 63 | 64 | 69 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | no_title: true 3 | --- 4 | 5 | 47 | 48 |

A license system and code obfuscator for Python.

49 | 50 | ## Integrated license validation 51 | 52 | Users will need a valid product key to use your application or service. 53 | 54 | ![Product key usage dramatization](assets/img/lock.svg){:.noShadow} 55 | 56 |
57 |
    58 |
  • Generate and distribute infinite product keys
  • 59 |
  • Set arbitrary expiration dates
  • 60 |
  • Select the features granted by each key separately
  • 61 |
  • 100% offline in-product license validation
  • 62 |
63 |
64 | 65 | ## Getting started 66 | 67 | Codeclose is free, open source and distributed under the MIT License. 68 | 69 | Read [the documentation](documentation) to learn how to use Codeclose. 70 | 71 | Download 72 | 73 | ## How does it work? 74 | 75 | Codeclose obfuscates source code to make it unreadable for humans and encrypts it to make it unreadable for machines. 76 | 77 | Your customers can only decrypt and run the code with a valid product key, provided by you. 78 | 79 |
Original source code
80 | ```python 81 | def computeFibonacci(n): 82 | a, b = 0, 1 83 | 84 | for _ in range(n): 85 | yield a 86 | a, b = b, a + b 87 | ``` 88 |
🡫
89 |
Obfuscated code
90 | ```python 91 | def eval_pow(MemoryError_license): 92 | (ValueError_issubclass, continue_compile) = (0, 1) 93 | for _all_quit_ in range(MemoryError_license): 94 | (yield ValueError_issubclass) 95 | (ValueError_issubclass, continue_compile) = (continue_compile, (ValueError_issubclass + continue_compile)) 96 | ``` 97 |
🡫
98 |
Encrypted code
99 | ```python 100 | from ._max_divmod.runtime import IndentationError_SyntaxError 101 | exec(IndentationError_SyntaxError('mHE+isDVh1vos4pTP2Og/wJuh2Q5SNKXSijM4vvyTDvkZPAiF9uv+4+EP6CwlClBsvTLVtdTenTZt2GawvD+wUoqBCk3FCbX4qRelU+cdt5e3K0ukQtlDu2L9DSiYTQ3D0tKuzndXM0zgZA+oR60byhBwQHUivtTSl6Ra7KqmUfLLVspFG/Jx4Tjs1O1OV2YvexOcLEh89qAMOw37dXPngHwASF551DnHe98aK+RD1dq+MZXdCQ4gW7HzQOJBYZsUbA1IUu0GtiO5Uv6Rla7dMqP2xIRRd9T5zvknxdkl6Mt+AEybyOa0LD3aN0jPV9UXY3Vu9ihNRc4zV0KIAYHWjmbVNbHSEhLiPbDG6zJ0L2XYKSKhzOCX3n9Ocksylg/tLgkBQQ3AOQW/68nnun2LQ==', '6VJL8N03wqNwQTejK+oskg==', 297)) 102 | ``` 103 | 104 | ## Open source -- MIT License 105 | 106 | Codeclose is free, open source and distributed under the MIT License. 107 | 108 | You are free to adapt it to your needs. 109 | 110 | Codeclose on Github 111 | -------------------------------------------------------------------------------- /docs/legal.md: -------------------------------------------------------------------------------- 1 | 5 | 6 | ## Legal resources 7 | 8 | * [Terms of Use of This Website](terms) 9 | * [Privacy Policy](privacy) 10 | -------------------------------------------------------------------------------- /docs/mstile-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/docs/mstile-144x144.png -------------------------------------------------------------------------------- /docs/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/docs/mstile-150x150.png -------------------------------------------------------------------------------- /docs/mstile-310x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/docs/mstile-310x150.png -------------------------------------------------------------------------------- /docs/mstile-310x310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/docs/mstile-310x310.png -------------------------------------------------------------------------------- /docs/mstile-70x70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/docs/mstile-70x70.png -------------------------------------------------------------------------------- /docs/safari-pinned-tab.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | Created by potrace 1.11, written by Peter Selinger 2001-2013 9 | 10 | 12 | 17 | 21 | 25 | 27 | 30 | 34 | 36 | 39 | 42 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /docs/site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Codeclose", 3 | "short_name": "Codeclose", 4 | "icons": [ 5 | { 6 | "src": "/android-chrome-192x192.png?nocache=true", 7 | "sizes": "192x192", 8 | "type": "image/png" 9 | }, 10 | { 11 | "src": "/android-chrome-512x512.png?nocache=true", 12 | "sizes": "512x512", 13 | "type": "image/png" 14 | } 15 | ], 16 | "theme_color": "#ffffff", 17 | "background_color": "#ffffff" 18 | } 19 | -------------------------------------------------------------------------------- /examples/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | *.bak 3 | /protected 4 | -------------------------------------------------------------------------------- /examples/example1/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/examples/example1/__init__.py -------------------------------------------------------------------------------- /examples/example1/__main__.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | 3 | # The following package is now required for loading the AES and RSA keys from disk. 4 | import os 5 | 6 | # The following packages are now required to display the license information. 7 | import sys 8 | import time 9 | 10 | # The following package is required to integrate Codeclose within the product. 11 | # DO NOT MARK CODECLOSE AS A DEPENDENCY OF YOUR PROJECT. 12 | # This import is global, but Codeclose will later replace it by a local import, from obfuscated embedded files. 13 | from codeclose.runtime import configure, validate, InvalidProductKey, InvalidProductId, ExpiredLicense 14 | 15 | parser = argparse.ArgumentParser() 16 | parser.add_argument('productKey', help='Licensed product key.') 17 | parser.add_argument('n', type=int, help='Number of elements of the Fibonacci sequence to compute.') 18 | args = parser.parse_args() 19 | 20 | # Loading keys from disk. 21 | basePath = os.path.dirname(__file__) 22 | 23 | handler = open(os.path.join(basePath, 'code_encrypting.key'), 'rb') 24 | encryptingKey = handler.read() 25 | handler.close() 26 | 27 | handler = open(os.path.join(basePath, 'pk_verifying-public.pem'), 'rb') 28 | verifyingPublicKey = handler.read() 29 | handler.close() 30 | 31 | # Configuring Codeclose. 32 | # We will only accept product keys that grant access to the product with ID = 1. 33 | configure(args.productKey, verifyingPublicKey, encryptingKey, [1]) 34 | 35 | # Validating the license. 36 | # If there is any problem, Codeclose will raise an exception. You can then catch it and inform the user. 37 | try: 38 | license = validate(False) 39 | print('Product key is valid until %s' % time.strftime('%Y-%m-%d', time.localtime(license['expirationTime']))) 40 | except InvalidProductKey: 41 | sys.exit('Invalid product key.') 42 | except InvalidProductId: 43 | sys.exit('Invalid product ID.') 44 | except ExpiredLicense as e: 45 | sys.exit('Product key expired on %s' % time.strftime('%Y-%m-%d', time.localtime(e.expirationTime))) 46 | 47 | # Importing the model. 48 | # Please note that we import the encrypted model AFTER validating the license, otherwise it would not work. 49 | from . import model 50 | 51 | # Finally, we call the model: 52 | 53 | for x in model.computeFibonacci(args.n): 54 | print(x) 55 | -------------------------------------------------------------------------------- /examples/example1/model.py: -------------------------------------------------------------------------------- 1 | from codeclose.runtime import validate 2 | 3 | def computeFibonacci(n): 4 | validate() 5 | a, b = 0, 1 6 | 7 | for _ in range(n): 8 | yield a 9 | a, b = b, a + b 10 | -------------------------------------------------------------------------------- /examples/example2/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/examples/example2/__init__.py -------------------------------------------------------------------------------- /examples/example2/__main__.py: -------------------------------------------------------------------------------- 1 | # Example to reproduce https://github.com/juanlao7/codeclose/issues/2 2 | import abc 3 | import http.client 4 | print(http.client) 5 | -------------------------------------------------------------------------------- /examples/example3/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/examples/example3/__init__.py -------------------------------------------------------------------------------- /examples/example3/__main__.py: -------------------------------------------------------------------------------- 1 | # Example to reproduce https://github.com/juanlao7/codeclose/issues/3 2 | from os.path import * 3 | print(join) 4 | 5 | from .unencrypted_submodule import * 6 | print(test) 7 | -------------------------------------------------------------------------------- /examples/example3/unencrypted_submodule.py: -------------------------------------------------------------------------------- 1 | test = 5 2 | -------------------------------------------------------------------------------- /examples/example4/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/examples/example4/__init__.py -------------------------------------------------------------------------------- /examples/example4/__main__.py: -------------------------------------------------------------------------------- 1 | # Example to reproduce https://github.com/juanlao7/codeclose/issues/4 2 | name = 'Juan' 3 | print(f'Hello, {name}') 4 | -------------------------------------------------------------------------------- /examples/example5/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/examples/example5/__init__.py -------------------------------------------------------------------------------- /examples/example5/__main__.py: -------------------------------------------------------------------------------- 1 | # Example to reproduce https://github.com/juanlao7/codeclose/issues/5 2 | 3 | class EmptyClass: 4 | def __init__(self): 5 | pass 6 | 7 | thisMustBeObfuscated = EmptyClass() 8 | thisMustBeObfuscated.attributesKept = EmptyClass() 9 | thisMustBeObfuscated.attributesKept.thisAttributeMustNotBeObfuscated = 5 10 | -------------------------------------------------------------------------------- /examples/example6/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/examples/example6/__init__.py -------------------------------------------------------------------------------- /examples/example6/__main__.py: -------------------------------------------------------------------------------- 1 | # Example to reproduce https://github.com/juanlao7/codeclose/issues/1#issuecomment-814175447 2 | 3 | # These identifiers should be obfuscated. 4 | import copy 5 | sort = 1 6 | 7 | # But the attributes of this object should be kept. 8 | attributesKept = [2, 1] 9 | attributesKept.copy() 10 | attributesKept.sort() 11 | -------------------------------------------------------------------------------- /examples/example7/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/examples/example7/__init__.py -------------------------------------------------------------------------------- /examples/example7/__main__.py: -------------------------------------------------------------------------------- 1 | # Example to reproduce https://github.com/juanlao7/codeclose/issues/1#issuecomment-784574653 2 | obfuscatedIdentifier = {'name': 'value'} 3 | attributesKept = obfuscatedIdentifier.copy() 4 | 5 | attributesKept = ['one', 'two'] 6 | attributesKept.sort() 7 | -------------------------------------------------------------------------------- /examples/keys/code_encrypting.key: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/juanlao7/codeclose/901dd525a7e479aaa9dc8e83e34b8b041c58c135/examples/keys/code_encrypting.key -------------------------------------------------------------------------------- /examples/keys/pk_signing-private.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MF0CAQACEAChHNeUhd7h/AydL96HM5ECAwEAAQIPGxdKeML582mz/9XQisBxAggL 3 | /4vM83l2GwIIDW2T/hbOh8MCCAlbBAmVuBoNAggH6D79oPB9gQIIAfPzqiqYULg= 4 | -----END RSA PRIVATE KEY----- -------------------------------------------------------------------------------- /examples/keys/pk_verifying-public.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MCswDQYJKoZIhvcNAQEBBQADGgAwFwIQAKEc15SF3uH8DJ0v3oczkQIDAQAB 3 | -----END PUBLIC KEY----- -------------------------------------------------------------------------------- /examples/keys/product_key.txt: -------------------------------------------------------------------------------- 1 | Expires on 2050-08-17: JCYBGU-K4ZPE3-WC2ODA-774CLC 2 | Expired on 2019-08-17: S7EW55-AWQPPE-SQETCC-CWJGSI 3 | Invalid product ID (2): K6DLR5-COCN66-EMQATF-FFKMOL 4 | -------------------------------------------------------------------------------- /examples/protect.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | codeclose protect --src $1 --encryption-excluded $1/__main__.py --encryption-excluded $1/__init__.py --encryption-excluded $1/unencrypted_submodule.py keys/code_encrypting.key protected --keep-identifier args --keep-attributes args --keep-identifier attributesKept --keep-attributes attributesKept 3 | cp keys/code_encrypting.key protected/$1 4 | cp keys/pk_verifying-public.pem protected/$1 -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import setup, find_packages 2 | 3 | setup( 4 | name='codeclose', 5 | version='1.0', 6 | packages=find_packages(), 7 | install_requires=[ 8 | 'pycryptodomex', 9 | 'astunparse' 10 | ], 11 | entry_points={ 12 | 'console_scripts': ['codeclose = codeclose.__main__:main'] 13 | }, 14 | include_package_data=True 15 | ) 16 | --------------------------------------------------------------------------------