diff --git a/plugins/feed/CHANGELOG.md b/plugins/feed/CHANGELOG.md new file mode 100644 index 0000000..9ef1ad6 --- /dev/null +++ b/plugins/feed/CHANGELOG.md @@ -0,0 +1,143 @@ +# v1.8.5 +## 06/09/2021 + +1. [](#improved) + * Rolled back the URL check functionality as it caused more issues than it solved. + +# v1.8.4 +## 06/07/2021 + +1. [](#improved) + * Added a configurable `enable_url_check` (default `true`) to disable the URL checking if you run into an issue. +1. [](#bugfix) + * More robust URL checking including multi-lang versions [#62](https://github.com/getgrav/grav-plugin-feed/issues/62) + +# v1.8.3 +## 05/28/2021 + +1. [](#bugfix) + * Fixed issue with feeds at the root of a site [#61](https://github.com/getgrav/grav-plugin-feed/issues/61) + +# v1.8.2 +## 05/21/2021 + +1. [](#bugfix) + * Fixed issue with json feed type corrupting other json requests [getgrav/grav-premium-issues#102](https://github.com/getgrav/grav-premium-issues/issues/102) + * Fixed issue with modular pages showing up in feed + + +# v1.8.1 +## 05/21/2021 + +1. [](#bugfix) + * Provide a default language if multi-language not enabled + +# v1.8.0 +## 12/02/2020 + +1. [](#new) + * Require Grav v1.6 + * Pass phpstan level 1 tests +1. [](#improved) + * Major plugin overhaul [#57](https://github.com/getgrav/grav-plugin-feed/pull/57) + * Bumped the default image sizes in atom/rss + +# v1.7.1 +## 05/09/2019 + +1. [](#bugfix) + * Fix issue with Feed Options not showing up in Quark (and other themes) [#46](https://github.com/getgrav/grav-plugin-feed/issues/46) + +# v1.7.0 +## 04/15/2019 + +1. [](#improved) + * Use `safe_truncate_html` [#41](https://github.com/getgrav/grav-plugin-feed/pull/41) + * Allow full-text feeds [#37](https://github.com/getgrav/grav-plugin-feed/pull/37) + * Dynamic json feed header and image file support [#32](https://github.com/getgrav/grav-plugin-feed/pull/32) + * Added `json` link example to `README.md` +1. [](#bugfix) + * Changed type `text` to `range` to prevent validation errors [#45](https://github.com/getgrav/grav-plugin-feed/issues/45) + * Always show route in url for self-link [#38](https://github.com/getgrav/grav-plugin-feed/pull/38) + +# v1.6.2 +## 06/06/2017 + +1. [](#bugfix) + * Fix issue with feeds not rendering with cache enabled [#27](https://github.com/getgrav/grav-plugin-feed/pull/27) + +# v1.6.1 +## 05/30/2017 + +1. [](#improved) + * Improved JSON template to `json_encode()` all output +1. [](#bugfix) + * Optimized logic to disable JSON feeds by default and only set the template when there's a collection + +# v1.6.0 +## 05/25/2017 + +1. [](#new) + * Added support for new JSON feed format by @RosemaryOrchard [#21](https://github.com/getgrav/grav-plugin-feed/pull/21) + +# v1.5.3 +## 04/12/2017 + +1. [](#bugfix) + * Fix a truncate issue [#16](https://github.com/getgrav/grav-plugin-feed/pull/16) + +# v1.5.2 +## 02/17/2017 + +1. [](#bugfix) + * Fix issue on non-collection pages [#14](https://github.com/getgrav/grav-plugin-feed/pull/14) + +# v1.5.1 +## 01/24/2017 + +1. [](#bugfix) + * Add support for Twig `Autoescape variables` mode + +# v1.5.0 +## 07/14/2016 + +1. [](#improved) + * Make Feeds 'language-safe' + +# v1.4.1 +## 10/07/2015 + +1. [](#bugfix) + * Avoid duplicated routes + +# v1.4.0 +## 08/26/2015 + +1. [](#improved) + * Added blueprints for Grav Admin plugin + +# v1.3.3 +## 03/24/2015 + +1. [](#improved) + * Feed will now skip pages with `feed: skip: true` in frontmatter +1. [](#bugfix) + * Fixed page overrides for configuration + +# v1.3.2 +## 02/19/2015 + +1. [](#bugfix) + * Fixed couple of RSS validation issues + +# v1.3.1 +## 12/26/2014 + +1. [](#bugfix) + * Fixed issue with default configuration not being loaded yet + +# v1.3.0 +## 11/30/2014 + +1. [](#new) + * ChangeLog started... diff --git a/plugins/feed/LICENSE b/plugins/feed/LICENSE new file mode 100644 index 0000000..484793a --- /dev/null +++ b/plugins/feed/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Grav + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugins/feed/README.md b/plugins/feed/README.md new file mode 100644 index 0000000..580acc7 --- /dev/null +++ b/plugins/feed/README.md @@ -0,0 +1,146 @@ +# Grav Syndication Feed Plugin + +![Feed](assets/readme_1.png) + +`feed` is a [Grav](http://github.com/getgrav/grav) plugin and allows Grav to generate feeds of your pages. + +This plugin supports __Atom 1.0__, __RSS__ and __JSON__ feed types. Enabling is very simple. just install this plugin in the `/user/plugins/` folder in your Grav install. By default, the plugin is enabled and provides some default values. + +| NOTE: JSON feeds must be enabled manually in the plugin configuration as the `.json` extension is commonly used and this can conflict with other plugins. + +If you do enable the JSON feed, you will want to edit `feed.json.twig`. Replace the placeholder data on lines 2 and 3 (`feed_url` and `author:url`) with your own data. You may also want to change the formatting of the date on lines 8 and 9. + +# Installation + +Installing the Feed plugin can be done in one of two ways. Our GPM (Grav Package Manager) installation method enables you to quickly and easily install the plugin with a simple terminal command, while the manual method enables you to do so via a zip file. + +## GPM Installation (Preferred) + +The simplest way to install this plugin is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm) through your system's Terminal (also called the command line). From the root of your Grav install type: + + bin/gpm install feed + +This will install the Feed plugin into your `/user/plugins` directory within Grav. Its files can be found under `/your/site/grav/user/plugins/feed`. + +## Manual Installation + +To install this plugin, just download the zip version of this repository and unzip it under `/your/site/grav/user/plugins`. Then, rename the folder to `feed`. You can find these files either on [GitHub](https://github.com/getgrav/grav-plugin-feed) or via [GetGrav.org](http://getgrav.org/downloads/plugins#extras). + +You should now have all the plugin files under + + /your/site/grav/user/plugins/feed + +>> NOTE: This plugin is a modular component for Grav which requires [Grav](http://github.com/getgrav/grav), the [Error](https://github.com/getgrav/grav-plugin-error) and [Problems](https://github.com/getgrav/grav-plugin-problems) plugins, and a theme to be installed in order to operate. + +# Usage + +The feeds work for pages that have sub-pages, for example a blog list view. If your page has a `content`, then the RSS plugin will automatically be enabled. Simply append either `.atom`, `.rss` or `.json` to the url. For example, if you have a blog page that defines a `content` header to display a list of blog pages in a list, and the URL is `http://www.mysite.com/blog` then the feed would simply be: + +``` +http://www.mysite.com/blog.atom +``` + +or + +``` +http://www.mysite.com/blog.rss +``` + +or + +``` +http://www.mysite.com/blog.json +``` + +## Autodiscovery + +To let feed readers discover the feed automatically, add a link to your HTML `` tag: + +``` + + + +``` + +## Creating Feed Buttons in Your Pages + +Just having the plugin loaded and activated is enough to get it working, but you can help users find your feeds by creating buttons in the body of your page users can easily discover and click on to access the feeds. + +In our [Blog Skeleton] demo, you will see these buttons located in the sidebar under the heading `Syndicate`. This was done very easily by adding the following information to the `sidebar.html.twig` template file found under `/user/themes/antimatter/templates/partials/`. + +``` + Atom 1.0 + RSS +``` + +The first line adds the **Atom** feed by simply adding `.atom` to the base URL of the site, while the second handles RSS. This a very simple way to add a useful feature to your site that your visitors will enjoy. + +# Config Defaults + +``` +enabled: true +limit: 10 +title: 'My Feed Title' +description: 'My Feed Description' +length: 500 +enable_json_feed: false +show_last_modified: false +``` + +You can override any of the default values by setting one or more of these in your blog list page where `sub_pages` is defined. For example: + +``` +title: Sample Blog +content: + items: @self.children + limit: 5 + pagination: true +feed: + limit: 15 + description: Sample Blog Description +``` + +You can ensure a particular page is skipped from the feed by adding the following in the frontmatter header: + +``` +title: Sample Blog +feed: + skip: true +``` + +# Updating + +As development for the Feed plugin continues, new versions may become available that add additional features and functionality, improve compatibility with newer Grav releases, and generally provide a better user experience. Updating Feed is easy, and can be done through Grav's GPM system, as well as manually. + +## GPM Update (Preferred) + +The simplest way to update this plugin is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm). You can do this with this by navigating to the root directory of your Grav install using your system's Terminal (also called command line) and typing the following: + + bin/gpm update feed + +This command will check your Grav install to see if your Feed plugin is due for an update. If a newer release is found, you will be asked whether or not you wish to update. To continue, type `y` and hit enter. The plugin will automatically update and clear Grav's cache. + +## Manual Update + +Manually updating Feed is pretty simple. Here is what you will need to do to get this done: + +* Delete the `your/site/user/plugins/feed` directory. +* Downalod the new version of the Feed plugin from either [GitHub](https://github.com/getgrav/grav-plugin-feed) or [GetGrav.org](http://getgrav.org/downloads/plugins#extras). +* Unzip the zip file in `your/site/user/plugins` and rename the resulting folder to `feed`. +* Clear the Grav cache. The simplest way to do this is by going to the root Grav directory in terminal and typing `bin/grav clear-cache`. + +> Note: Any changes you have made to any of the files listed under this directory will also be removed and replaced by the new set. Any files located elsewhere (for example a YAML settings file placed in `user/config/plugins`) will remain intact. + +## Nginx Note: + +If you are having trouble with 404s with Nginx, it might be related to your configuration. You may need to remove the feed extensions from the list of types to cache as static files: `.xml`, `.rss`, and `.atom`. For example: + +```nginx +# Cache static files +location ~* \.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf|swf)$ { + add_header "Access-Control-Allow-Origin" "*"; + access_log off; + log_not_found off; + expires max; +} +``` diff --git a/plugins/feed/assets/readme_1.png b/plugins/feed/assets/readme_1.png new file mode 100644 index 0000000..41843dc Binary files /dev/null and b/plugins/feed/assets/readme_1.png differ diff --git a/plugins/feed/blueprints.yaml b/plugins/feed/blueprints.yaml new file mode 100644 index 0000000..9d99c83 --- /dev/null +++ b/plugins/feed/blueprints.yaml @@ -0,0 +1,78 @@ +name: Feed +type: plugin +slug: feed +version: 1.8.5 +description: The **Feed** plugin is a simple yet powerful add-on that lets you view a Grav Collection as **JSON**, **RSS** or **Atom** news feed. +icon: rss +author: + name: Team Grav + email: devs@getgrav.org + url: http://getgrav.org +homepage: https://github.com/getgrav/grav-plugin-feed +demo: http://demo.getgrav.org/blog-skeleton +keywords: feed, plugin, rss, atom, collection, json +bugs: https://github.com/getgrav/grav-plugin-feed/issues +license: MIT +dependencies: + - { name: grav, version: '>=1.6.0' } + +form: + validation: strict + fields: + enabled: + type: toggle + label: Plugin status + highlight: 1 + default: 0 + options: + 1: Enabled + 0: Disabled + validate: + type: bool + + limit: + type: range + label: Feed count + validate: + type: number + min: 10 + max: 1000 + + title: + type: text + label: Title + + description: + type: textarea + label: Description + + length: + type: range + label: Feed Length (0 for full-text feed) + validate: + type: number + min: 0 + max: 10000 + + enable_json_feed: + type: toggle + label: JSON feed support + highlight: 0 + default: 0 + options: + 1: Enabled + 0: Disabled + validate: + type: bool + + show_last_modified: + type: toggle + label: Show last modified date + help: If enabled, file modification date will be used for computing "last updated" times in feeds + highlight: 0 + default: 0 + options: + 1: Enabled + 0: Disabled + validate: + type: bool diff --git a/plugins/feed/blueprints/feed.yaml b/plugins/feed/blueprints/feed.yaml new file mode 100644 index 0000000..1269f39 --- /dev/null +++ b/plugins/feed/blueprints/feed.yaml @@ -0,0 +1,22 @@ +form: + fields: + tabs: + fields: + blog: + type: tab + + fields: + header.feed.limit: + type: text + label: Feed count + default: 10 + validate: + type: int + + header.feed.title: + type: text + label: Feed title + + header.feed.description: + type: text + label: Feed description diff --git a/plugins/feed/composer.json b/plugins/feed/composer.json new file mode 100644 index 0000000..c09e395 --- /dev/null +++ b/plugins/feed/composer.json @@ -0,0 +1,36 @@ +{ + "name": "getgrav/grav-plugin-feed", + "type": "grav-plugin", + "description": "Feed plugin for Grav CMS", + "keywords": ["feed", "plugin"], + "homepage": "https://github.com/getgrav/grav-plugin-feed", + "license": "MIT", + "authors": [ + { + "name": "Team Grav", + "email": "devs@getgrav.org", + "homepage": "https://getgrav.org", + "role": "Developer" + } + ], + "support": { + "issues": "https://github.com/getgrav/grav-plugin-feed/issues", + "irc": "https://chat.getgrav.org", + "forum": "https://getgrav.org/forum", + "docs": "https://github.com/getgrav/grav-plugin-feed/blob/master/README.md" + }, + "autoload": { + "classmap": [ + "feed.php" + ] + }, + "config": { + "platform": { + "php": "7.1.3" + } + }, + "scripts": { + "test": "vendor/bin/codecept run unit", + "test-windows": "vendor\\bin\\codecept run unit" + } +} diff --git a/plugins/feed/composer.lock b/plugins/feed/composer.lock new file mode 100644 index 0000000..26adc9c --- /dev/null +++ b/plugins/feed/composer.lock @@ -0,0 +1,21 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "76fd53c3c430250c751e8cb0d82e5308", + "packages": [], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [], + "platform-overrides": { + "php": "7.1.3" + }, + "plugin-api-version": "2.0.0" +} diff --git a/plugins/feed/feed.php b/plugins/feed/feed.php new file mode 100644 index 0000000..f89fafd --- /dev/null +++ b/plugins/feed/feed.php @@ -0,0 +1,162 @@ + [ + ['autoload', 100000], + ['onPluginsInitialized', 0], + ], + 'onBlueprintCreated' => ['onBlueprintCreated', 0] + ]; + } + + /** + * [onPluginsInitialized:100000] Composer autoload. + * + * @return ClassLoader + */ + public function autoload() + { + return require __DIR__ . '/vendor/autoload.php'; + } + + /** + * Activate feed plugin only if feed was requested for the current page. + * + * Also disables debugger. + */ + public function onPluginsInitialized() + { + if ($this->isAdmin()) { + return; + } + + $this->feed_config = (array) $this->config->get('plugins.feed'); + + if ($this->feed_config['enable_json_feed']) { + $this->valid_types[] = 'json'; + } + + /** @var Uri $uri */ + $uri = $this->grav['uri']; + $this->type = $uri->extension(); + + if ($this->type && in_array($this->type, $this->valid_types)) { + + $this->enable([ + 'onPageInitialized' => ['onPageInitialized', 0], + 'onTwigTemplatePaths' => ['onTwigTemplatePaths', 0], + ]); + } + } + + /** + * Initialize feed configuration. + */ + public function onPageInitialized() + { + $page = $this->grav['page']; + + // Overwrite regular content with feed config, so you can influence the collection processing with feed config + if (property_exists($page->header(), 'content')) { + if (isset($page->header()->feed)) { + $this->feed_config = array_merge($this->feed_config, $page->header()->feed); + } + + $page->header()->content = array_merge($page->header()->content, $this->feed_config); + + $this->grav['twig']->template = 'feed.' . $this->type . '.twig'; + + $this->enable([ + 'onCollectionProcessed' => ['onCollectionProcessed', 0], + ]); + } + + } + + /** + * Feed consists of all sub-pages. + * + * @param Event $event + */ + public function onCollectionProcessed(Event $event) + { + /** @var Collection $collection */ + $collection = $event['collection']->nonModular(); + + foreach ($collection as $slug => $page) { + $header = $page->header(); + if (isset($header->feed) && !empty($header->feed['skip'])) { + $collection->remove($page); + } + } + } + + /** + * Add current directory to twig lookup paths. + */ + public function onTwigTemplatePaths() + { + $this->grav['twig']->twig_paths[] = __DIR__ . '/templates'; + } + + + /** + * Extend page blueprints with feed configuration options. + * + * @param Event $event + */ + public function onBlueprintCreated(Event $event) + { + static $inEvent = false; + + /** @var Data\Blueprint $blueprint */ + $blueprint = $event['blueprint']; + $form = $blueprint->form(); + + $blog_tab_exists = isset($form['fields']['tabs']['fields']['blog']); + + if (!$inEvent && $blog_tab_exists) { + $inEvent = true; + $blueprints = new Data\Blueprints(__DIR__ . '/blueprints/'); + $extends = $blueprints->get('feed'); + $blueprint->extend($extends, true); + $inEvent = false; + } + } +} \ No newline at end of file diff --git a/plugins/feed/feed.yaml b/plugins/feed/feed.yaml new file mode 100644 index 0000000..c998a44 --- /dev/null +++ b/plugins/feed/feed.yaml @@ -0,0 +1,7 @@ +enabled: true +limit: 10 +title: 'My Feed Title' +description: 'My Feed Description' +length: 500 +enable_json_feed: false +show_last_modified: false diff --git a/plugins/feed/hebe.json b/plugins/feed/hebe.json new file mode 100644 index 0000000..e25c39f --- /dev/null +++ b/plugins/feed/hebe.json @@ -0,0 +1,15 @@ +{ + "project":"grav-plugin-feed", + "platforms":{ + "grav":{ + "nodes":{ + "plugin":[ + { + "source":"/", + "destination":"/user/plugins/feed" + } + ] + } + } + } +} diff --git a/plugins/feed/templates/feed.atom.twig b/plugins/feed/templates/feed.atom.twig new file mode 100644 index 0000000..0d63a45 --- /dev/null +++ b/plugins/feed/templates/feed.atom.twig @@ -0,0 +1,45 @@ +{# Format specification: https://tools.ietf.org/html/rfc4287 #} +{% set collection = collection|default(page.collection) %} +{% set feed_updated = 0 %} +{% for page in collection %} + {%- set feed_updated = max(feed_updated, page.date) %} + {%- if collection.params.show_last_modified %} + {%- set feed_updated = max(feed_updated, page.modified) %} + {%- endif %} +{% endfor %} + + + {{ collection.params.title }} + + {{ collection.params.description }} + {{ feed_updated|date("Y-m-d\\TH:i:sP") }} + + {{ site.author.name }} + + {{ page.url(true) }} + {% for item in collection %} + {% set banner = item.media.images|first %} + + {{ item.title|e }} + {{ item.url(true) }} + {% if collection.params.show_last_modified %} + {{ item.modified|date("Y-m-d\\TH:i:sP") }} + {% else %} + {{ item.date|date("Y-m-d\\TH:i:sP") }} + {% endif %} + {{ item.date|date("Y-m-d\\TH:i:sP") }} + + {% for tag in item.taxonomy.tag %} + + {% endfor %} + + + + + {% endfor %} + diff --git a/plugins/feed/templates/feed.json.twig b/plugins/feed/templates/feed.json.twig new file mode 100644 index 0000000..c50adbc --- /dev/null +++ b/plugins/feed/templates/feed.json.twig @@ -0,0 +1,43 @@ +{# Format specification: https://www.jsonfeed.org/version/1/ #} +{% set collection = collection|default(page.collection) %} +{% set jsonfeed = { + "version" : "https://jsonfeed.org/version/1", + "title": collection.params.title, + "home_page_url": page.url(true), + "feed_url": uri.rootUrl(true)~uri.uri(), + "description": collection.params.description, + "author": {"name": site.author.name} +} %} + +{% set itemList = [] %} +{% for item in collection %} + {%- set post = { + "title": item.title|e, + "date_published": item.date|date('Y-m-d\\TH:i:sP'), + "id": item.url(true), + "url": item.url(true), + "content_html": item.content|safe_truncate_html(collection.params.length) + } %} + {% set banner = item.media.images|first %} + + {% if item.header.metadata.description %} + {%- set post = post|merge({"summary": item.header.metadata.description|e}) %} + {% endif %} + + {% if collection.params.show_last_modified %} + {%- set post = post|merge({"date_modified": item.modified|date('Y-m-d\\TH:i:sP')}) %} + {% endif %} + + {% if item.taxonomy.tag %} + {%- set post = post|merge({"tags": item.taxonomy.tag}) %} + {% endif %} + + {% set image = item.media.images|first %} + {% if image %} + {%- set post = post|merge({"image": image.url(true)}) %} + {% endif %} + {%- set itemList = itemList|merge([post]) %} +{% endfor %} + +{% set jsonfeed = jsonfeed|merge({"items": itemList}) %} +{{- jsonfeed|json_encode|raw }} diff --git a/plugins/feed/templates/feed.rss.twig b/plugins/feed/templates/feed.rss.twig new file mode 100644 index 0000000..c2000b5 --- /dev/null +++ b/plugins/feed/templates/feed.rss.twig @@ -0,0 +1,40 @@ +{# Format specification: https://www.rssboard.org/rss-specification #} +{% set collection = collection|default(page.collection) %} +{% set lastBuildDate = 0 %} +{% for page in collection %} + {%- set lastBuildDate = max(lastBuildDate, page.date) %} + {%- if collection.params.show_last_modified %} + {%- set lastBuildDate = max(feed_updated, page.modified) %} + {%- endif %} +{% endfor %} + + + + {{ collection.params.title }} + {{ page.url(true) }} + + {{ collection.params.description }} + {{ grav.language.getLanguage|default(config.system.language.default_lang)|default('en') }} + {{ lastBuildDate|date('D, d M Y H:i:s O') }} + {% for item in collection %} + {% set banner = item.media.images|first %} + + {{ item.title|e }} + {{ item.url(true) }} + {{ item.url(true) }} + {{ item.date|date('D, d M Y H:i:s O') }} + + + + {% for tag in item.taxonomy.tag %} + {{ tag|e }} + {% endfor %} + + {% endfor %} + + diff --git a/plugins/feed/vendor/autoload.php b/plugins/feed/vendor/autoload.php new file mode 100644 index 0000000..7273375 --- /dev/null +++ b/plugins/feed/vendor/autoload.php @@ -0,0 +1,7 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer\Autoload; + +/** + * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. + * + * $loader = new \Composer\Autoload\ClassLoader(); + * + * // register classes with namespaces + * $loader->add('Symfony\Component', __DIR__.'/component'); + * $loader->add('Symfony', __DIR__.'/framework'); + * + * // activate the autoloader + * $loader->register(); + * + * // to enable searching the include path (eg. for PEAR packages) + * $loader->setUseIncludePath(true); + * + * In this example, if you try to use a class in the Symfony\Component + * namespace or one of its children (Symfony\Component\Console for instance), + * the autoloader will first look for the class under the component/ + * directory, and it will then fallback to the framework/ directory if not + * found before giving up. + * + * This class is loosely based on the Symfony UniversalClassLoader. + * + * @author Fabien Potencier + * @author Jordi Boggiano + * @see https://www.php-fig.org/psr/psr-0/ + * @see https://www.php-fig.org/psr/psr-4/ + */ +class ClassLoader +{ + // PSR-4 + private $prefixLengthsPsr4 = array(); + private $prefixDirsPsr4 = array(); + private $fallbackDirsPsr4 = array(); + + // PSR-0 + private $prefixesPsr0 = array(); + private $fallbackDirsPsr0 = array(); + + private $useIncludePath = false; + private $classMap = array(); + private $classMapAuthoritative = false; + private $missingClasses = array(); + private $apcuPrefix; + + public function getPrefixes() + { + if (!empty($this->prefixesPsr0)) { + return call_user_func_array('array_merge', array_values($this->prefixesPsr0)); + } + + return array(); + } + + public function getPrefixesPsr4() + { + return $this->prefixDirsPsr4; + } + + public function getFallbackDirs() + { + return $this->fallbackDirsPsr0; + } + + public function getFallbackDirsPsr4() + { + return $this->fallbackDirsPsr4; + } + + public function getClassMap() + { + return $this->classMap; + } + + /** + * @param array $classMap Class to filename map + */ + public function addClassMap(array $classMap) + { + if ($this->classMap) { + $this->classMap = array_merge($this->classMap, $classMap); + } else { + $this->classMap = $classMap; + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, either + * appending or prepending to the ones previously set for this prefix. + * + * @param string $prefix The prefix + * @param array|string $paths The PSR-0 root directories + * @param bool $prepend Whether to prepend the directories + */ + public function add($prefix, $paths, $prepend = false) + { + if (!$prefix) { + if ($prepend) { + $this->fallbackDirsPsr0 = array_merge( + (array) $paths, + $this->fallbackDirsPsr0 + ); + } else { + $this->fallbackDirsPsr0 = array_merge( + $this->fallbackDirsPsr0, + (array) $paths + ); + } + + return; + } + + $first = $prefix[0]; + if (!isset($this->prefixesPsr0[$first][$prefix])) { + $this->prefixesPsr0[$first][$prefix] = (array) $paths; + + return; + } + if ($prepend) { + $this->prefixesPsr0[$first][$prefix] = array_merge( + (array) $paths, + $this->prefixesPsr0[$first][$prefix] + ); + } else { + $this->prefixesPsr0[$first][$prefix] = array_merge( + $this->prefixesPsr0[$first][$prefix], + (array) $paths + ); + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, either + * appending or prepending to the ones previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param array|string $paths The PSR-4 base directories + * @param bool $prepend Whether to prepend the directories + * + * @throws \InvalidArgumentException + */ + public function addPsr4($prefix, $paths, $prepend = false) + { + if (!$prefix) { + // Register directories for the root namespace. + if ($prepend) { + $this->fallbackDirsPsr4 = array_merge( + (array) $paths, + $this->fallbackDirsPsr4 + ); + } else { + $this->fallbackDirsPsr4 = array_merge( + $this->fallbackDirsPsr4, + (array) $paths + ); + } + } elseif (!isset($this->prefixDirsPsr4[$prefix])) { + // Register directories for a new namespace. + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } elseif ($prepend) { + // Prepend directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + (array) $paths, + $this->prefixDirsPsr4[$prefix] + ); + } else { + // Append directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + $this->prefixDirsPsr4[$prefix], + (array) $paths + ); + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, + * replacing any others previously set for this prefix. + * + * @param string $prefix The prefix + * @param array|string $paths The PSR-0 base directories + */ + public function set($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr0 = (array) $paths; + } else { + $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, + * replacing any others previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param array|string $paths The PSR-4 base directories + * + * @throws \InvalidArgumentException + */ + public function setPsr4($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr4 = (array) $paths; + } else { + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } + } + + /** + * Turns on searching the include path for class files. + * + * @param bool $useIncludePath + */ + public function setUseIncludePath($useIncludePath) + { + $this->useIncludePath = $useIncludePath; + } + + /** + * Can be used to check if the autoloader uses the include path to check + * for classes. + * + * @return bool + */ + public function getUseIncludePath() + { + return $this->useIncludePath; + } + + /** + * Turns off searching the prefix and fallback directories for classes + * that have not been registered with the class map. + * + * @param bool $classMapAuthoritative + */ + public function setClassMapAuthoritative($classMapAuthoritative) + { + $this->classMapAuthoritative = $classMapAuthoritative; + } + + /** + * Should class lookup fail if not found in the current class map? + * + * @return bool + */ + public function isClassMapAuthoritative() + { + return $this->classMapAuthoritative; + } + + /** + * APCu prefix to use to cache found/not-found classes, if the extension is enabled. + * + * @param string|null $apcuPrefix + */ + public function setApcuPrefix($apcuPrefix) + { + $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null; + } + + /** + * The APCu prefix in use, or null if APCu caching is not enabled. + * + * @return string|null + */ + public function getApcuPrefix() + { + return $this->apcuPrefix; + } + + /** + * Registers this instance as an autoloader. + * + * @param bool $prepend Whether to prepend the autoloader or not + */ + public function register($prepend = false) + { + spl_autoload_register(array($this, 'loadClass'), true, $prepend); + } + + /** + * Unregisters this instance as an autoloader. + */ + public function unregister() + { + spl_autoload_unregister(array($this, 'loadClass')); + } + + /** + * Loads the given class or interface. + * + * @param string $class The name of the class + * @return bool|null True if loaded, null otherwise + */ + public function loadClass($class) + { + if ($file = $this->findFile($class)) { + includeFile($file); + + return true; + } + } + + /** + * Finds the path to the file where the class is defined. + * + * @param string $class The name of the class + * + * @return string|false The path if found, false otherwise + */ + public function findFile($class) + { + // class map lookup + if (isset($this->classMap[$class])) { + return $this->classMap[$class]; + } + if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { + return false; + } + if (null !== $this->apcuPrefix) { + $file = apcu_fetch($this->apcuPrefix.$class, $hit); + if ($hit) { + return $file; + } + } + + $file = $this->findFileWithExtension($class, '.php'); + + // Search for Hack files if we are running on HHVM + if (false === $file && defined('HHVM_VERSION')) { + $file = $this->findFileWithExtension($class, '.hh'); + } + + if (null !== $this->apcuPrefix) { + apcu_add($this->apcuPrefix.$class, $file); + } + + if (false === $file) { + // Remember that this class does not exist. + $this->missingClasses[$class] = true; + } + + return $file; + } + + private function findFileWithExtension($class, $ext) + { + // PSR-4 lookup + $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; + + $first = $class[0]; + if (isset($this->prefixLengthsPsr4[$first])) { + $subPath = $class; + while (false !== $lastPos = strrpos($subPath, '\\')) { + $subPath = substr($subPath, 0, $lastPos); + $search = $subPath . '\\'; + if (isset($this->prefixDirsPsr4[$search])) { + $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); + foreach ($this->prefixDirsPsr4[$search] as $dir) { + if (file_exists($file = $dir . $pathEnd)) { + return $file; + } + } + } + } + } + + // PSR-4 fallback dirs + foreach ($this->fallbackDirsPsr4 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { + return $file; + } + } + + // PSR-0 lookup + if (false !== $pos = strrpos($class, '\\')) { + // namespaced class name + $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) + . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); + } else { + // PEAR-like class name + $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; + } + + if (isset($this->prefixesPsr0[$first])) { + foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { + if (0 === strpos($class, $prefix)) { + foreach ($dirs as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + } + } + } + + // PSR-0 fallback dirs + foreach ($this->fallbackDirsPsr0 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + + // PSR-0 include paths. + if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { + return $file; + } + + return false; + } +} + +/** + * Scope isolated include. + * + * Prevents access to $this/self from included files. + */ +function includeFile($file) +{ + include $file; +} diff --git a/plugins/feed/vendor/composer/InstalledVersions.php b/plugins/feed/vendor/composer/InstalledVersions.php new file mode 100644 index 0000000..0766f58 --- /dev/null +++ b/plugins/feed/vendor/composer/InstalledVersions.php @@ -0,0 +1,209 @@ + + array ( + 'pretty_version' => 'dev-develop', + 'version' => 'dev-develop', + 'aliases' => + array ( + ), + 'reference' => '8f9e4fdbb1ae743f788767897571f175fcdc4e27', + 'name' => 'getgrav/grav-plugin-feed', + ), + 'versions' => + array ( + 'getgrav/grav-plugin-feed' => + array ( + 'pretty_version' => 'dev-develop', + 'version' => 'dev-develop', + 'aliases' => + array ( + ), + 'reference' => '8f9e4fdbb1ae743f788767897571f175fcdc4e27', + ), + ), +); + + + + + + + +public static function getInstalledPackages() +{ +return array_keys(self::$installed['versions']); +} + + + + + + + + + +public static function isInstalled($packageName) +{ +return isset(self::$installed['versions'][$packageName]); +} + + + + + + + + + + + + + + +public static function satisfies(VersionParser $parser, $packageName, $constraint) +{ +$constraint = $parser->parseConstraints($constraint); +$provided = $parser->parseConstraints(self::getVersionRanges($packageName)); + +return $provided->matches($constraint); +} + + + + + + + + + + +public static function getVersionRanges($packageName) +{ +if (!isset(self::$installed['versions'][$packageName])) { +throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); +} + +$ranges = array(); +if (isset(self::$installed['versions'][$packageName]['pretty_version'])) { +$ranges[] = self::$installed['versions'][$packageName]['pretty_version']; +} +if (array_key_exists('aliases', self::$installed['versions'][$packageName])) { +$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['aliases']); +} +if (array_key_exists('replaced', self::$installed['versions'][$packageName])) { +$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['replaced']); +} +if (array_key_exists('provided', self::$installed['versions'][$packageName])) { +$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['provided']); +} + +return implode(' || ', $ranges); +} + + + + + +public static function getVersion($packageName) +{ +if (!isset(self::$installed['versions'][$packageName])) { +throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); +} + +if (!isset(self::$installed['versions'][$packageName]['version'])) { +return null; +} + +return self::$installed['versions'][$packageName]['version']; +} + + + + + +public static function getPrettyVersion($packageName) +{ +if (!isset(self::$installed['versions'][$packageName])) { +throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); +} + +if (!isset(self::$installed['versions'][$packageName]['pretty_version'])) { +return null; +} + +return self::$installed['versions'][$packageName]['pretty_version']; +} + + + + + +public static function getReference($packageName) +{ +if (!isset(self::$installed['versions'][$packageName])) { +throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); +} + +if (!isset(self::$installed['versions'][$packageName]['reference'])) { +return null; +} + +return self::$installed['versions'][$packageName]['reference']; +} + + + + + +public static function getRootPackage() +{ +return self::$installed['root']; +} + + + + + + + +public static function getRawData() +{ +return self::$installed; +} + + + + + + + + + + + + + + + + + + + +public static function reload($data) +{ +self::$installed = $data; +} +} diff --git a/plugins/feed/vendor/composer/LICENSE b/plugins/feed/vendor/composer/LICENSE new file mode 100644 index 0000000..f27399a --- /dev/null +++ b/plugins/feed/vendor/composer/LICENSE @@ -0,0 +1,21 @@ + +Copyright (c) Nils Adermann, Jordi Boggiano + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/plugins/feed/vendor/composer/autoload_classmap.php b/plugins/feed/vendor/composer/autoload_classmap.php new file mode 100644 index 0000000..235977e --- /dev/null +++ b/plugins/feed/vendor/composer/autoload_classmap.php @@ -0,0 +1,11 @@ + $vendorDir . '/composer/InstalledVersions.php', + 'Grav\\Plugin\\FeedPlugin' => $baseDir . '/feed.php', +); diff --git a/plugins/feed/vendor/composer/autoload_namespaces.php b/plugins/feed/vendor/composer/autoload_namespaces.php new file mode 100644 index 0000000..b7fc012 --- /dev/null +++ b/plugins/feed/vendor/composer/autoload_namespaces.php @@ -0,0 +1,9 @@ += 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); + if ($useStaticLoader) { + require __DIR__ . '/autoload_static.php'; + + call_user_func(\Composer\Autoload\ComposerStaticInitd512066232734940b99b34ad4f8603bc::getInitializer($loader)); + } else { + $map = require __DIR__ . '/autoload_namespaces.php'; + foreach ($map as $namespace => $path) { + $loader->set($namespace, $path); + } + + $map = require __DIR__ . '/autoload_psr4.php'; + foreach ($map as $namespace => $path) { + $loader->setPsr4($namespace, $path); + } + + $classMap = require __DIR__ . '/autoload_classmap.php'; + if ($classMap) { + $loader->addClassMap($classMap); + } + } + + $loader->register(true); + + return $loader; + } +} diff --git a/plugins/feed/vendor/composer/autoload_static.php b/plugins/feed/vendor/composer/autoload_static.php new file mode 100644 index 0000000..0a7962c --- /dev/null +++ b/plugins/feed/vendor/composer/autoload_static.php @@ -0,0 +1,21 @@ + __DIR__ . '/..' . '/composer/InstalledVersions.php', + 'Grav\\Plugin\\FeedPlugin' => __DIR__ . '/../..' . '/feed.php', + ); + + public static function getInitializer(ClassLoader $loader) + { + return \Closure::bind(function () use ($loader) { + $loader->classMap = ComposerStaticInitd512066232734940b99b34ad4f8603bc::$classMap; + + }, null, ClassLoader::class); + } +} diff --git a/plugins/feed/vendor/composer/installed.json b/plugins/feed/vendor/composer/installed.json new file mode 100644 index 0000000..87fda74 --- /dev/null +++ b/plugins/feed/vendor/composer/installed.json @@ -0,0 +1,5 @@ +{ + "packages": [], + "dev": true, + "dev-package-names": [] +} diff --git a/plugins/feed/vendor/composer/installed.php b/plugins/feed/vendor/composer/installed.php new file mode 100644 index 0000000..987a994 --- /dev/null +++ b/plugins/feed/vendor/composer/installed.php @@ -0,0 +1,24 @@ + + array ( + 'pretty_version' => 'dev-develop', + 'version' => 'dev-develop', + 'aliases' => + array ( + ), + 'reference' => '8f9e4fdbb1ae743f788767897571f175fcdc4e27', + 'name' => 'getgrav/grav-plugin-feed', + ), + 'versions' => + array ( + 'getgrav/grav-plugin-feed' => + array ( + 'pretty_version' => 'dev-develop', + 'version' => 'dev-develop', + 'aliases' => + array ( + ), + 'reference' => '8f9e4fdbb1ae743f788767897571f175fcdc4e27', + ), + ), +); diff --git a/plugins/prism-highlight/CHANGELOG.md b/plugins/prism-highlight/CHANGELOG.md new file mode 100644 index 0000000..15b5756 --- /dev/null +++ b/plugins/prism-highlight/CHANGELOG.md @@ -0,0 +1,68 @@ +# v2.0.6 +## 02/22/2022 + +1. [](#bugfix) + * Fixed issue with Twig templating + +# v2.0.5 +## 02/18/2022 + +1. [](#bugfix) + * Fixed bad page header tag `prism:` should be `prism-highlight:` + +# v2.0.4 +## 01/27/2022 + +1. [](#new) + * Added `bbcode`/`shortcode` language, compatible with Grav's Shortcodes plugin + +# v2.0.3 +## 01/26/2022 + +1. [](#improved) + * Upgraded to latest 1.26.0 Prism.JS version (with fixes) + * Added `C`, `C#`, and `C++` languages + +# v2.0.2 +## 11/23/2021 + +1. [](#bugfix) + * Fixed a CSS issue causing "Copy" button to have double styling + * Fixed a security issue that allowed the `git` param of shortcode to load local files (thanks xmco.fr) + +# v2.0.1 +## 05/28/2021 + +1. [](#new) + * Added support for `cl-filter-output` and provided examples in the README.md + * Added 35 new themes + * Added support for custom `EcScript` + +# v2.0.0 +## 02/23/2021 + +1. [](#new) + * Added Support for Git URLs to grab and embed git files + * Support for `linkable-line-numbers` but does require a unique `id` to be set on the element. +1. [](#improved) + * Upgraded to latest 1.23.0 Prism.JS version (with fixes) + +# v1.0.2 +## 06/22/2019 + +1. [](#bugfix) + * Removed xdebug statement + +# v1.0.1 +## 06/20/2019 + +1. [](#improved) + * Moved away from jQuery syntax and converted to VanillaJS + * Fixed typos + * Added extra syntax highlighting format + +# v1.0.0 +## 04/16/2019 + +1. [](#new) + * Initial Version diff --git a/plugins/prism-highlight/LICENSE b/plugins/prism-highlight/LICENSE new file mode 100644 index 0000000..03160a1 --- /dev/null +++ b/plugins/prism-highlight/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2019 Trilby Media, PrismJS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugins/prism-highlight/README.md b/plugins/prism-highlight/README.md new file mode 100644 index 0000000..0215451 --- /dev/null +++ b/plugins/prism-highlight/README.md @@ -0,0 +1,429 @@ +# Grav Prism Highlighter Plugin + +`Prism Highlighter` is a [Grav](http://github.com/getgrav/grav) plugin that adds simple and powerful code highlighting functionality utilizing the [Prism.js](http://prismjs.com/) syntax highlighter. + +# Installation + +Installing the Highlight plugin can be done in one of two ways. Our GPM (Grav Package Manager) installation method enables you to quickly and easily install the plugin with a simple terminal command, while the manual method enables you to do so via a zip file. + +## GPM Installation (Preferred) + +The simplest way to install this plugin is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm) through your system's Terminal (also called the command line). From the root of your Grav install type: + + bin/gpm install prism-highlight + +This will install the Highlight plugin into your `/user/plugins` directory within Grav. Its files can be found under `/your/site/grav/user/plugins/prism-highlight`. + +## Manual Installation + +To install this plugin, just download the zip version of this repository and unzip it under `/your/site/grav/user/plugins`. Then, rename the folder to `prism-highlight`. You can find these files either on [GitHub](https://github.com/getgrav/grav-plugin-prism-highlight) or via [GetGrav.org](http://getgrav.org/downloads/plugins#extras). + +You should now have all the plugin files under + + /your/site/grav/user/plugins/prism-highlight + + +# Languages included + +Prism.js supports currently [176 languages](http://prismjs.com/#languages-list), at the time of this edit, but the ones included in this specific version are: + +* markup +* html +* xml +* bbcode / shortcode +* svg +* mathml +* css +* css-extras +* clike +* javascript, js +* apacheconf +* bash, shell +* coffeescript, coffee +* diff +* docker, dockerfile +* git +* go +* java +* json +* json5 +* less +* lua +* markdown, md +* php +* php-extras +* python, py +* regex +* ruby, rb +* sass +* scss +* sql +* twig +* yaml, yml + +# Plugins Included + +This build of Prism also includes the following plugins: + +* Line Highlight +* Line Numbers +* Command Line +* Toolbar +* Copy to Clipboard + +# Basic Usage + +In your markdown, you can create a block of code, and assign the language to it. You can choose between the list above. + +Example using regular markdown fenced code syntax: + +```php + ```php + ['onPageInitialized', 0], + 'onShortcodeHandlers' => ['onShortcodeHandlers', 0], + 'onTwigTemplatePaths' => ['onTwigTemplatePaths', 0], + ]; + } + } +``` + +# Advanced Usage + +To get access to advanced options that can be set individually, you can use the included `[prism][/prism]` shortcode: + +For line numbers: + +``` +[prism classes="language-twig line-numbers"] +{% set payload = {frontmatter: page.header, content: page.content} %} +{{ payload|json_encode|raw }} +[/prism] +``` + +You can also now add the `linkable-line-numbers` class to make the line numbers directly linkable. You need to provide an `id` on the Prism element so that there is something to link against. + +For example: + +``` +[prism classes="language-twig line-numbers linkable-line-numbers" id="twig-example"] +{% set payload = {frontmatter: page.header, content: page.content} %} +{{ payload|json_encode|raw }} +[/prism] +``` + +For a command Prompt: + +If you don't provide a custom prompt, it will default to `$` for the command prompt. Provide a custom prompt with the `cl-prompt` attribute. + +``` +[prism classes="language-bash command-line" cl-prompt="\[foo@localhost\] $"] +cd ~/webroot +git clone -b master https://github.com/getgrav/grav.git +[/prism] +``` + +You can also specify certain lines as output (won't be prefixed by prompt) using the `cl-output` attribute: + +``` +[prism classes="language-bash command-line" cl-prompt="[root@localhost]" cl-output="2-6"] +ls -la +total 2 +drwxr-xr-x 2 chris chris 11 Jan 10 16:48 . +drwxr--r-x 45 chris chris 92 Feb 14 11:10 .. +-rwxr-xr-x 1 chris chris 444 Aug 25 2013 backup +-rwxr-xr-x 1 chris chris 642 Jan 17 14:42 deploy +[/prism] +``` + +Alternatively you can use the `cl-filter-putput` to provide a lines with a specific prefix to filter out. For example: + +``` +[prism classes="language-bash command-line" cl-prompt="[root@localhost]" cl-filter-output=">>"] +ls -la +>>total 2 +>>drwxr-xr-x 2 chris chris 11 Jan 10 16:48 . +>>drwxr--r-x 45 chris chris 92 Feb 14 11:10 .. +>>-rwxr-xr-x 1 chris chris 444 Aug 25 2013 backup +>>-rwxr-xr-x 1 chris chris 642 Jan 17 14:42 deploy +[/prism] +``` + +For highlighting specific lines 2 and 4: + +``` +[prism classes="language-yaml" highlight="2,4"] +enabled: true +theme: prism-base16-ocean.dark.css +all-pre-blocks: true +plugins: + line-numbers: false + command-line: false + command-line-prompt: '$' +[/prism] +``` + +Find out more about these options by checking out the [Prism.js plugins page](https://prismjs.com/#plugins). + + +# Git File Support + +If you provide a `git=""` parameter in the shortcode, the plugin will try to retrieve the 'raw' version of this file. For example: + +``` +[prism git="https://github.com/getgrav/grav/blob/develop/system/router.php" classes="language-php line-numbers linkable-line-numbers" id="grav-router"] +[/prism] +``` + +You can also provide the **raw** version directly: + +``` +[prism git="https://raw.githubusercontent.com/getgrav/grav/develop/system/router.php" classes="language-php line-numbers linkable-line-numbers" id="grav-router"] +[/prism] +``` + +You can also slice the file to only show specific lines by passing a query parameter to the URL: + +* `slice=0:-2` Show the first line up to and including the second to last line +* `slice=24:100` Show lines 24 through 100 +* `slice=0` Show only the first line of the file + +``` +[prism git="https://github.com/getgrav/grav/blob/develop/system/router.php?slice=10:18" classes="language-php line-numbers linkable-line-numbers" id="grav-router"] +[/prism] +``` + +# Configuration + +Configuration shall be set in `config/plugins/prism-highlight.yaml`. + +```yaml +enabled: true +theme: prism-base16-ocean.dark.css +all-pre-blocks: true +plugins: + line-numbers: false + command-line: false + command-line-prompt: '$' +``` + +You can also override configuration settings at the page level by prefixing options with `prism-highlight:`. For example you could set a different theme, and turning on line numbers on a particular page with: + +```yaml +title: My Page +prism-highlight: + theme: base16-duotone-dark.light.css + plugins: + line-numbers: true +``` + + +### Themes + +The themes available are: + +``` +base16-duotone-dark.dark.css +base16-duotone-dark.light.css +base16-duotone-darkdesert.dark.css +base16-duotone-darkearth.dark.css +base16-duotone-darkearth.light.css +base16-duotone-darkforest.dark.css +base16-duotone-darkforest.light.css +base16-duotone-darkpark.dark.css +base16-duotone-darkpool.dark.css +base16-duotone-darkpool.light.css +base16-duotone-darksea.dark.css +base16-duotone-darksea.light.css +base16-duotone-darkspace.dark.css +base16-duotone-darkspace.light.css +prism-a11y-dark.css +prism-atelier-cave-dark.css +prism-atelier-cave-light.css +prism-atelier-dune-dark.css +prism-atelier-dune-light.css +prism-atelier-estuary-dark.css +prism-atelier-estuary-light.css +prism-atelier-forest-dark.css +prism-atelier-forest-light.css +prism-atelier-heath-dark.css +prism-atelier-heath-light.css +prism-atelier-lakeside-dark.css +prism-atelier-lakeside-light.css +prism-atelier-plateau-dark.css +prism-atelier-plateau-light.css +prism-atelier-savanna-dark.css +prism-atelier-savanna-light.css +prism-atelier-seaside-dark.css +prism-atelier-seaside-light.css +prism-atelier-sulphurpool-dark.css +prism-atelier-sulphurpool-light.css +prism-atom-dark.css +prism-base16-3024.dark.css +prism-base16-3024.light.css +prism-base16-apathy.dark.css +prism-base16-apathy.light.css +prism-base16-ashes.dark.css +prism-base16-ashes.light.css +prism-base16-ateliercave.dark.css +prism-base16-ateliercave.light.css +prism-base16-atelierdune.dark.css +prism-base16-atelierdune.light.css +prism-base16-atelierestuary.dark.css +prism-base16-atelierestuary.light.css +prism-base16-atelierforest.dark.css +prism-base16-atelierforest.light.css +prism-base16-atelierheath.dark.css +prism-base16-atelierheath.light.css +prism-base16-atelierlakeside.dark.css +prism-base16-atelierlakeside.light.css +prism-base16-atelierplateau.dark.css +prism-base16-atelierplateau.light.css +prism-base16-ateliersavanna.dark.css +prism-base16-ateliersavanna.light.css +prism-base16-atelierseaside.dark.css +prism-base16-atelierseaside.light.css +prism-base16-ateliersulpherpool.dark.css +prism-base16-ateliersulpherpool.light.css +prism-base16-ateliersulphurpool.dark.css +prism-base16-ateliersulphurpool.light.css +prism-base16-bespin.dark.css +prism-base16-bespin.light.css +prism-base16-brewer.dark.css +prism-base16-brewer.light.css +prism-base16-bright.dark.css +prism-base16-bright.light.css +prism-base16-chalk.dark.css +prism-base16-chalk.light.css +prism-base16-codeschool.dark.css +prism-base16-codeschool.light.css +prism-base16-colors.dark.css +prism-base16-colors.light.css +prism-base16-default.dark.css +prism-base16-default.light.css +prism-base16-eighties.dark.css +prism-base16-eighties.light.css +prism-base16-embers.dark.css +prism-base16-embers.light.css +prism-base16-flat.dark.css +prism-base16-flat.light.css +prism-base16-google.dark.css +prism-base16-google.light.css +prism-base16-grayscale.dark.css +prism-base16-grayscale.light.css +prism-base16-greenscreen.dark.css +prism-base16-greenscreen.light.css +prism-base16-harmonic16.dark.css +prism-base16-harmonic16.light.css +prism-base16-hopscotch.dark.css +prism-base16-hopscotch.light.css +prism-base16-isotope.dark.css +prism-base16-isotope.light.css +prism-base16-londontube.dark.css +prism-base16-londontube.light.css +prism-base16-marrakesh.dark.css +prism-base16-marrakesh.light.css +prism-base16-mocha.dark.css +prism-base16-mocha.light.css +prism-base16-monokai.dark.css +prism-base16-monokai.light.css +prism-base16-ocean.dark.css +prism-base16-ocean.light.css +prism-base16-paraiso.dark.css +prism-base16-paraiso.light.css +prism-base16-pop.dark.css +prism-base16-pop.light.css +prism-base16-railscasts.dark.css +prism-base16-railscasts.light.css +prism-base16-shapeshifter.dark.css +prism-base16-shapeshifter.light.css +prism-base16-solarized.dark.css +prism-base16-solarized.light.css +prism-base16-summerfruit.dark.css +prism-base16-summerfruit.light.css +prism-base16-tomorrow.dark.css +prism-base16-tomorrow.light.css +prism-base16-twilight.dark.css +prism-base16-twilight.light.css +prism-base2tone-cave-dark.css +prism-base2tone-cave-light.css +prism-base2tone-desert-dark.css +prism-base2tone-desert-light.css +prism-base2tone-drawbridge-dark.css +prism-base2tone-drawbridge-light.css +prism-base2tone-earth-dark.css +prism-base2tone-earth-light.css +prism-base2tone-evening-dark.css +prism-base2tone-evening-light.css +prism-base2tone-forest-dark.css +prism-base2tone-forest-light.css +prism-base2tone-heath-dark.css +prism-base2tone-heath-light.css +prism-base2tone-lake-dark.css +prism-base2tone-lake-light.css +prism-base2tone-meadow-dark.css +prism-base2tone-meadow-light.css +prism-base2tone-morning-dark.css +prism-base2tone-morning-light.css +prism-base2tone-pool-dark.css +prism-base2tone-pool-light.css +prism-base2tone-sea-dark.css +prism-base2tone-sea-light.css +prism-base2tone-space-dark.css +prism-base2tone-space-light.css +prism-base2tone-suburb-dark.css +prism-base2tone-suburb-light.css +prism-cb.css +prism-coldark-cold.css +prism-coldark-dark.css +prism-coy-without-shadows.css +prism-coy.css +prism-darcula.css +prism-dark.css +prism-dracula.css +prism-duotone-dark.css +prism-duotone-earth.css +prism-duotone-forest.css +prism-duotone-light.css +prism-duotone-sea.css +prism-duotone-space.css +prism-funky.css +prism-ghcolors.css +prism-gruvbox-dark.css +prism-hopscotch.css +prism-lucario.css +prism-material-dark.css +prism-material-light.css +prism-material-oceanic.css +prism-night-owl.css +prism-nord.css +prism-okaidia.css +prism-pojoaque.css +prism-shades-of-purple.css +prism-solarizedlight.css +prism-synthwave84.css +prism-tomorrow.css +prism-twilight.css +prism-vs.css +prism-vsc-dark-plus.css +prism-xonokai.css +``` + +Check out a [live test](http://prismjs.com/test.html) or a [live demo](http://prismjs.com/index.html#examples). + + diff --git a/plugins/prism-highlight/blueprints.yaml b/plugins/prism-highlight/blueprints.yaml new file mode 100644 index 0000000..85de027 --- /dev/null +++ b/plugins/prism-highlight/blueprints.yaml @@ -0,0 +1,79 @@ +name: Prism Highlighter +version: 2.0.6 +description: "This plugin provides code highlighting functionality via the [Prism.js](http://prismjs.com/) syntax highlighter with lots of themes and plugins." +icon: code +author: + name: Trilby Media + email: hello@trilby.media + url: https://trilby.media +homepage: https://github.com/trilbymedia/grav-plugin-prism-highlight +keywords: highlight, plugin, code, prism.js +bugs: https://github.com/trilbymedia/grav-plugin-prism-highlight/issues +license: MIT + +form: + validation: strict + fields: + enabled: + type: toggle + label: PLUGIN_ADMIN.PLUGIN_STATUS + highlight: 1 + default: 0 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + + theme: + type: select + label: CSS Theme + default: prism-base16-ocean.dark.css + size: large + data-options@: '\Grav\Plugin\PrismHighlightPlugin::themeOptions' + + all-pre-blocks: + type: toggle + label: All Pre Blocks + highlight: 1 + default: 1 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + + section_plugins: + type: section + title: Plugins Options + underline: true + + plugins.line-numbers: + type: toggle + label: Line Numbers + highlight: 0 + default: 0 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + + plugins.command-line: + type: toggle + label: Command Line + highlight: 0 + default: 0 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + + plugins.command-line-prompt: + type: text + size: small + label: Command Line Prompt + + + diff --git a/plugins/prism-highlight/css/prism.css b/plugins/prism-highlight/css/prism.css new file mode 100644 index 0000000..dd95787 --- /dev/null +++ b/plugins/prism-highlight/css/prism.css @@ -0,0 +1,7 @@ +/* PrismJS 1.27.0 +http://127.0.0.1:8081/download.html#themes=prism&languages=markup+css+clike+javascript+apacheconf+bash+bbcode+c+csharp+cpp+coffeescript+css-extras+diff+docker+ecscript+git+go+java+json+json5+less+lua+markdown+markup-templating+php+php-extras+python+regex+ruby+sass+scss+sql+twig+yaml&plugins=line-highlight+line-numbers+command-line+toolbar+copy-to-clipboard */ +code[class*=language-],pre[class*=language-]{color:#000;background:0 0;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help} +pre[data-line]{position:relative;padding:1em 0 1em 3em}.line-highlight{position:absolute;left:0;right:0;padding:inherit 0;margin-top:1em;background:hsla(24,20%,50%,.08);background:linear-gradient(to right,hsla(24,20%,50%,.1) 70%,hsla(24,20%,50%,0));pointer-events:none;line-height:inherit;white-space:pre}@media print{.line-highlight{-webkit-print-color-adjust:exact;color-adjust:exact}}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;top:.4em;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f4f1ef;font:bold 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}pre[id].linkable-line-numbers span.line-numbers-rows{pointer-events:all}pre[id].linkable-line-numbers span.line-numbers-rows>span:before{cursor:pointer}pre[id].linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:rgba(128,128,128,.2)} +pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right} +.command-line-prompt{border-right:1px solid #999;display:block;float:left;font-size:100%;letter-spacing:-1px;margin-right:1em;pointer-events:none;text-align:right;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.command-line-prompt>span:before{opacity:.4;content:' ';display:block;padding-right:.8em}.command-line-prompt>span[data-user]:before{content:"[" attr(data-user) "@" attr(data-host) "] $"}.command-line-prompt>span[data-user=root]:before{content:"[" attr(data-user) "@" attr(data-host) "] #"}.command-line-prompt>span[data-prompt]:before{content:attr(data-prompt)}.command-line-prompt>span[data-continuation-prompt]:before{content:attr(data-continuation-prompt)}.command-line span.token.output{opacity:.7} +div.code-toolbar{position:relative}div.code-toolbar>.toolbar{position:absolute;z-index:10;top:.3em;right:.2em;transition:opacity .3s ease-in-out;opacity:0}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar:focus-within>.toolbar{opacity:1}div.code-toolbar>.toolbar>.toolbar-item{display:inline-block}div.code-toolbar>.toolbar>.toolbar-item>a{cursor:pointer}div.code-toolbar>.toolbar>.toolbar-item>button{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar>.toolbar-item>span{color:#bbb;font-size:.8em;padding:0 .5em;background:#f5f2f0;background:rgba(224,224,224,.2);box-shadow:0 2px 0 0 rgba(0,0,0,.2);border-radius:.5em}div.code-toolbar>.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar>.toolbar-item>span:focus,div.code-toolbar>.toolbar>.toolbar-item>span:hover{color:inherit;text-decoration:none} diff --git a/plugins/prism-highlight/css/themes/base16-duotone-dark.dark.css b/plugins/prism-highlight/css/themes/base16-duotone-dark.dark.css new file mode 100644 index 0000000..35b58d3 --- /dev/null +++ b/plugins/prism-highlight/css/themes/base16-duotone-dark.dark.css @@ -0,0 +1,146 @@ +/* + +Name: Base16 Duotone-Dark Dark +Author: adapted from: Simurai (https://github.com/simurai/duotone-dark-syntax/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) +Adapted for DuoTones by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/duotones/) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #2a2734; + color: #9b87fd; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #7e75a9; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #7e75a9; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.punctuation, +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #6c6783; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.boolean, +.token.number { + color: #e09142; +} +.token.property { + color: #9b87fd; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #eeebff; +} + +code.language-javascript, +.token.attr-name { + color: #c4b8fe; +} + +code.language-css, +code.language-scss, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #ffcc99; +} + +.token.placeholder, +.token.variable { + color: #ffba76; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #eeebff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #6a51e6; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #6a51e6; + outline-offset: .4em; +} diff --git a/plugins/prism-highlight/css/themes/base16-duotone-dark.light.css b/plugins/prism-highlight/css/themes/base16-duotone-dark.light.css new file mode 100644 index 0000000..f7be209 --- /dev/null +++ b/plugins/prism-highlight/css/themes/base16-duotone-dark.light.css @@ -0,0 +1,149 @@ +/* + +Name: Base16 Duotone-Dark Light +Author: adapted from: Simurai (https://github.com/simurai/duotone-dark-syntax/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #eeebff; + color: #5a566c; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3a5fe; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #b3a5fe; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #837bad; +} + +.token.punctuation { + color: #5a566c; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #dc9147; +} +.token.property { + color: #e59e57; +} +.token.tag { + color: #ecab69; +} +.token.string { + color: #fec286; +} +.token.selector { + color: #8b76f4; +} +.token.attr-name { + color: #dc9147; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #fec286; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #7c756e; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #fec286; +} + +.token.placeholder, +.token.variable { + color: #ecab69; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #2a2734; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #6a51e6; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #6a51e6; + outline-offset: .4em; +} diff --git a/plugins/prism-highlight/css/themes/base16-duotone-darkdesert.dark.css b/plugins/prism-highlight/css/themes/base16-duotone-darkdesert.dark.css new file mode 100644 index 0000000..45d5c23 --- /dev/null +++ b/plugins/prism-highlight/css/themes/base16-duotone-darkdesert.dark.css @@ -0,0 +1,146 @@ +/* + +Name: Base16 Duotone-DarkDesert Dark +Author: adapted from: Simurai (https://github.com/simurai/duotone-dark-syntax/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) +Adapted for DuoTones by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/duotones/) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #292824; + color: #af9f6a; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #67604c; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #67604c; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.punctuation, +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #545145; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.boolean, +.token.number { + color: #dd7c3c; +} +.token.property { + color: #af9f6a; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #faf5e5; +} + +code.language-javascript, +.token.attr-name { + color: #e6d499; +} + +code.language-css, +code.language-scss, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #ffb380; +} + +.token.placeholder, +.token.variable { + color: #f7a56e; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #faf5e5; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #7a7152; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #7a7152; + outline-offset: .4em; +} diff --git a/plugins/prism-highlight/css/themes/base16-duotone-darkearth.dark.css b/plugins/prism-highlight/css/themes/base16-duotone-darkearth.dark.css new file mode 100644 index 0000000..b8d4212 --- /dev/null +++ b/plugins/prism-highlight/css/themes/base16-duotone-darkearth.dark.css @@ -0,0 +1,146 @@ +/* + +Name: Base16 Duotone-DarkEarth Dark +Author: adapted from: Simurai (https://github.com/simurai/duotone-dark-earth-syntax/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) +Adapted for DuoTones by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/duotones/) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #322d29; + color: #88786d; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #796b63; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #796b63; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.punctuation, +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #6a5f58; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.boolean, +.token.number { + color: #bfa05a; +} +.token.property { + color: #88786d; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #fff3eb; +} + +code.language-javascript, +.token.attr-name { + color: #a48774; +} + +code.language-css, +code.language-scss, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #fcc440; +} + +.token.placeholder, +.token.variable { + color: #d7b975; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #fff3eb; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #da8952; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #da8952; + outline-offset: .4em; +} diff --git a/plugins/prism-highlight/css/themes/base16-duotone-darkearth.light.css b/plugins/prism-highlight/css/themes/base16-duotone-darkearth.light.css new file mode 100644 index 0000000..4b03160 --- /dev/null +++ b/plugins/prism-highlight/css/themes/base16-duotone-darkearth.light.css @@ -0,0 +1,149 @@ +/* + +Name: Base16 Duotone-DarkEarth Light +Author: adapted from: Simurai (https://github.com/simurai/duotone-dark-earth-syntax/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #fff3eb; + color: #5b534d; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #a48774; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #a48774; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #796b63; +} + +.token.punctuation { + color: #5b534d; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #bfa05a; +} +.token.property { + color: #ccad66; +} +.token.tag { + color: #d7b975; +} +.token.string { + color: #fcc440; +} +.token.selector { + color: #eba475; +} +.token.attr-name { + color: #bfa05a; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #fcc440; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #a89771; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #fcc440; +} + +.token.placeholder, +.token.variable { + color: #d7b975; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #322d29; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #da8952; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #da8952; + outline-offset: .4em; +} diff --git a/plugins/prism-highlight/css/themes/base16-duotone-darkforest.dark.css b/plugins/prism-highlight/css/themes/base16-duotone-darkforest.dark.css new file mode 100644 index 0000000..554832f --- /dev/null +++ b/plugins/prism-highlight/css/themes/base16-duotone-darkforest.dark.css @@ -0,0 +1,146 @@ +/* + +Name: Base16 Duotone-DarkForest Dark +Author: adapted from: Simurai (https://github.com/simurai/duotone-dark-forest-syntax/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) +Adapted for DuoTones by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/duotones/) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #2a2d2a; + color: #687d68; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #5e6e5e; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #5e6e5e; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.punctuation, +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #535f53; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.boolean, +.token.number { + color: #a2b34d; +} +.token.property { + color: #687d68; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #f0fff0; +} + +code.language-javascript, +.token.attr-name { + color: #b3d6b3; +} + +code.language-css, +code.language-scss, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #e5fb79; +} + +.token.placeholder, +.token.variable { + color: #bed161; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f0fff0; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #45a145; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #45a145; + outline-offset: .4em; +} diff --git a/plugins/prism-highlight/css/themes/base16-duotone-darkforest.light.css b/plugins/prism-highlight/css/themes/base16-duotone-darkforest.light.css new file mode 100644 index 0000000..2faa963 --- /dev/null +++ b/plugins/prism-highlight/css/themes/base16-duotone-darkforest.light.css @@ -0,0 +1,149 @@ +/* + +Name: Base16 Duotone-DarkForest Light +Author: adapted from: Simurai (https://github.com/simurai/duotone-dark-forest-syntax/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f0fff0; + color: #485148; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d6b3; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d6b3; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #5e6e5e; +} + +.token.punctuation { + color: #485148; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #a2b34d; +} +.token.property { + color: #afc059; +} +.token.tag { + color: #bed161; +} +.token.string { + color: #e5fb79; +} +.token.selector { + color: #53c653; +} +.token.attr-name { + color: #a2b34d; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #e5fb79; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #919966; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #e5fb79; +} + +.token.placeholder, +.token.variable { + color: #bed161; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #2a2d2a; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #45a145; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #45a145; + outline-offset: .4em; +} diff --git a/plugins/prism-highlight/css/themes/base16-duotone-darkpark.dark.css b/plugins/prism-highlight/css/themes/base16-duotone-darkpark.dark.css new file mode 100644 index 0000000..5ddec0e --- /dev/null +++ b/plugins/prism-highlight/css/themes/base16-duotone-darkpark.dark.css @@ -0,0 +1,146 @@ +/* + +Name: Base16 Duotone-DarkPark Dark +Author: adapted from: Simurai (https://github.com/simurai/duotone-dark-syntax/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) +Adapted for DuoTones by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/duotones/) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #242927; + color: #568f81; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #4f645f; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #4f645f; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.punctuation, +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #465350; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.boolean, +.token.number { + color: #0da5a5; +} +.token.property { + color: #568f81; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #e0fff7; +} + +code.language-javascript, +.token.attr-name { + color: #65e7c6; +} + +code.language-css, +code.language-scss, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #4dffff; +} + +.token.placeholder, +.token.variable { + color: #1ff9f9; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #e0fff7; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #009973; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #009973; + outline-offset: .4em; +} diff --git a/plugins/prism-highlight/css/themes/base16-duotone-darkpool.dark.css b/plugins/prism-highlight/css/themes/base16-duotone-darkpool.dark.css new file mode 100644 index 0000000..11d778e --- /dev/null +++ b/plugins/prism-highlight/css/themes/base16-duotone-darkpool.dark.css @@ -0,0 +1,146 @@ +/* + +Name: Base16 Duotone-DarkPool Dark +Author: adapted from: Simurai (https://github.com/simurai/duotone-dark-syntax/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) +Adapted for DuoTones by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/duotones/) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #202746; + color: #6679cc; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #384994; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #384994; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.punctuation, +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #334180; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.boolean, +.token.number { + color: #ba4a6f; +} +.token.property { + color: #6679cc; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #e1e6ff; +} + +code.language-javascript, +.token.attr-name { + color: #afbdfe; +} + +code.language-css, +code.language-scss, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #ff80aa; +} + +.token.placeholder, +.token.variable { + color: #ea6c96; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #e1e6ff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #3e51a8; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #3e51a8; + outline-offset: .4em; +} diff --git a/plugins/prism-highlight/css/themes/base16-duotone-darkpool.light.css b/plugins/prism-highlight/css/themes/base16-duotone-darkpool.light.css new file mode 100644 index 0000000..86fd8c4 --- /dev/null +++ b/plugins/prism-highlight/css/themes/base16-duotone-darkpool.light.css @@ -0,0 +1,149 @@ +/* + +Name: Base16 Duotone-DarkPool Light +Author: adapted from: Simurai (https://github.com/simurai/duotone-dark-syntax/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #ebeeff; + color: #434b70; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #bec9fe; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #bec9fe; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #6c78ac; +} + +.token.punctuation { + color: #434b70; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #2fd3f4; +} +.token.property { + color: #4cd5f0; +} +.token.tag { + color: #5be0fb; +} +.token.string { + color: #8aebff; +} +.token.selector { + color: #90a3f9; +} +.token.attr-name { + color: #2fd3f4; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #8aebff; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #70a7b2; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #8aebff; +} + +.token.placeholder, +.token.variable { + color: #5be0fb; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #202746; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #637ef2; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #637ef2; + outline-offset: .4em; +} diff --git a/plugins/prism-highlight/css/themes/base16-duotone-darksea.dark.css b/plugins/prism-highlight/css/themes/base16-duotone-darksea.dark.css new file mode 100644 index 0000000..9a12bcf --- /dev/null +++ b/plugins/prism-highlight/css/themes/base16-duotone-darksea.dark.css @@ -0,0 +1,146 @@ +/* + +Name: Base16 Duotone-DarkSea Dark +Author: adapted from: Simurai (https://github.com/simurai/duotone-dark-sea-syntax/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) +Adapted for DuoTones by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/duotones/) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #1d262f; + color: #57718e; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #44586f; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #44586f; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.punctuation, +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #3a4b5f; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.boolean, +.token.number { + color: #24cc94; +} +.token.property { + color: #57718e; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #ebf4ff; +} + +code.language-javascript, +.token.attr-name { + color: #7eb6f6; +} + +code.language-css, +code.language-scss, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #5cffc9; +} + +.token.placeholder, +.token.variable { + color: #47ebb4; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ebf4ff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #298dff; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #298dff; + outline-offset: .4em; +} diff --git a/plugins/prism-highlight/css/themes/base16-duotone-darksea.light.css b/plugins/prism-highlight/css/themes/base16-duotone-darksea.light.css new file mode 100644 index 0000000..b766b78 --- /dev/null +++ b/plugins/prism-highlight/css/themes/base16-duotone-darksea.light.css @@ -0,0 +1,149 @@ +/* + +Name: Base16 Duotone-DarkSea Light +Author: adapted from: Simurai (https://github.com/simurai/duotone-dark-sea-syntax/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #ebf4ff; + color: #303f4f; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #7eb6f6; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #7eb6f6; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #44586f; +} + +.token.punctuation { + color: #303f4f; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #24cc94; +} +.token.property { + color: #29e0a3; +} +.token.tag { + color: #47ebb4; +} +.token.string { + color: #5cffc9; +} +.token.selector { + color: #5ca8ff; +} +.token.attr-name { + color: #24cc94; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #5cffc9; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #708f85; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #5cffc9; +} + +.token.placeholder, +.token.variable { + color: #47ebb4; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #1d262f; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #298dff; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #298dff; + outline-offset: .4em; +} diff --git a/plugins/prism-highlight/css/themes/base16-duotone-darkspace.dark.css b/plugins/prism-highlight/css/themes/base16-duotone-darkspace.dark.css new file mode 100644 index 0000000..c21cd3c --- /dev/null +++ b/plugins/prism-highlight/css/themes/base16-duotone-darkspace.dark.css @@ -0,0 +1,146 @@ +/* + +Name: Base16 Duotone-DarkSpace Dark +Author: adapted from: Simurai (https://github.com/simurai/duotone-dark-space-syntax/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) +Adapted for DuoTones by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/duotones/) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #24242e; + color: #767693; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #646487; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #646487; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.punctuation, +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #5b5b76; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.boolean, +.token.number { + color: #dd672c; +} +.token.property { + color: #767693; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #ebebff; +} + +code.language-javascript, +.token.attr-name { + color: #9d9dc8; +} + +code.language-css, +code.language-scss, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #fe8c52; +} + +.token.placeholder, +.token.variable { + color: #f97c3e; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ebebff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #5151e6; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #5151e6; + outline-offset: .4em; +} diff --git a/plugins/prism-highlight/css/themes/base16-duotone-darkspace.light.css b/plugins/prism-highlight/css/themes/base16-duotone-darkspace.light.css new file mode 100644 index 0000000..92f2da4 --- /dev/null +++ b/plugins/prism-highlight/css/themes/base16-duotone-darkspace.light.css @@ -0,0 +1,149 @@ +/* + +Name: Base16 Duotone-DarkSpace Light +Author: adapted from: Simurai (https://github.com/simurai/duotone-dark-space-syntax/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #ebebff; + color: #515167; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #8989BD; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #8989BD; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #646487; +} + +.token.punctuation { + color: #515167; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #dd672c; +} +.token.property { + color: #f36e2b; +} +.token.tag { + color: #f97c3e; +} +.token.string { + color: #fe8c52; +} +.token.selector { + color: #7676f4; +} +.token.attr-name { + color: #dd672c; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #fe8c52; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #94796b; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #fe8c52; +} + +.token.placeholder, +.token.variable { + color: #f97c3e; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #24242e; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #5151e6; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #5151e6; + outline-offset: .4em; +} diff --git a/plugins/prism-highlight/css/themes/prism-a11y-dark.css b/plugins/prism-highlight/css/themes/prism-a11y-dark.css new file mode 100644 index 0000000..253f2ca --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-a11y-dark.css @@ -0,0 +1,161 @@ +/** + * a11y-dark theme for JavaScript, CSS, and HTML + * Based on the okaidia theme: https://github.com/PrismJS/prism/blob/gh-pages/themes/prism-okaidia.css + * @author ericwbailey + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #f8f8f2; + background: none; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; + border-radius: 0.3em; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #2b2b2b; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #d4d0ab; +} + +.token.punctuation { + color: #fefefe; +} + +.token.property, +.token.tag, +.token.constant, +.token.symbol, +.token.deleted { + color: #ffa07a; +} + +.token.boolean, +.token.number { + color: #00e0e0; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #abe338; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string, +.token.variable { + color: #00e0e0; +} + +.token.atrule, +.token.attr-value, +.token.function { + color: #ffd700; +} + +.token.keyword { + color: #00e0e0; +} + +.token.regex, +.token.important { + color: #ffd700; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +@media screen and (-ms-high-contrast: active) { + code[class*="language-"], + pre[class*="language-"] { + color: windowText; + background: window; + } + + :not(pre) > code[class*="language-"], + pre[class*="language-"] { + background: window; + } + + .token.important { + background: highlight; + color: window; + font-weight: normal; + } + + .token.atrule, + .token.attr-value, + .token.function, + .token.keyword, + .token.operator, + .token.selector { + font-weight: bold; + } + + .token.attr-value, + .token.comment, + .token.doctype, + .token.function, + .token.keyword, + .token.operator, + .token.property, + .token.string { + color: highlight; + } + + .token.attr-value, + .token.url { + font-weight: normal; + } +} diff --git a/plugins/prism-highlight/css/themes/prism-atelier-cave-dark.css b/plugins/prism-highlight/css/themes/prism-atelier-cave-dark.css new file mode 100644 index 0000000..5f48c2f --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atelier-cave-dark.css @@ -0,0 +1,172 @@ +/* + +Name: Base16 Atelier Cave Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #19171c; + color: #8b8792; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #7e7887; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #7e7887; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #655f6d; +} + +.token.punctuation { + color: #8b8792; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #aa573c; +} +.token.property { + color: #a06e3b; +} +.token.tag { + color: #576ddb; +} +.token.string { + color: #398bc6; +} +.token.selector { + color: #955ae7; +} +.token.attr-name { + color: #aa573c; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #398bc6; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #2a9292; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #398bc6; +} + +.token.placeholder, +.token.variable { + color: #576ddb; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #efecf4; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #be4678; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #be4678; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #26232a; +} + +.line-numbers-rows > span:before { + color: #585260; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #8b879233; + background: linear-gradient(to right, #8b879233 70%, #8b879200); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-atelier-cave-light.css b/plugins/prism-highlight/css/themes/prism-atelier-cave-light.css new file mode 100644 index 0000000..595aa72 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atelier-cave-light.css @@ -0,0 +1,172 @@ +/* + +Name: Base16 Atelier Cave Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #efecf4; + color: #585260; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e2dfe7; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e2dfe7; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #7e7887; +} + +.token.punctuation { + color: #585260; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #aa573c; +} +.token.property { + color: #a06e3b; +} +.token.tag { + color: #576ddb; +} +.token.string { + color: #398bc6; +} +.token.selector { + color: #955ae7; +} +.token.attr-name { + color: #aa573c; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #398bc6; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #2a9292; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #398bc6; +} + +.token.placeholder, +.token.variable { + color: #576ddb; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #19171c; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #be4678; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #be4678; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #e2dfe7; +} + +.line-numbers-rows > span:before { + color: #8b8792; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #655f6d33; + background: linear-gradient(to right, #655f6d33 70%, #655f6d00); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-atelier-dune-dark.css b/plugins/prism-highlight/css/themes/prism-atelier-dune-dark.css new file mode 100644 index 0000000..2a5c736 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atelier-dune-dark.css @@ -0,0 +1,172 @@ +/* + +Name: Base16 Atelier Dune Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #20201d; + color: #a6a28c; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #999580; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #999580; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #7d7a68; +} + +.token.punctuation { + color: #a6a28c; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #b65611; +} +.token.property { + color: #ae9513; +} +.token.tag { + color: #6684e1; +} +.token.string { + color: #1fad83; +} +.token.selector { + color: #b854d4; +} +.token.attr-name { + color: #b65611; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #1fad83; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #60ac39; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #1fad83; +} + +.token.placeholder, +.token.variable { + color: #6684e1; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #fefbec; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #d73737; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #d73737; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #292824; +} + +.line-numbers-rows > span:before { + color: #6e6b5e; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #a6a28c33; + background: linear-gradient(to right, #a6a28c33 70%, #a6a28c00); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-atelier-dune-light.css b/plugins/prism-highlight/css/themes/prism-atelier-dune-light.css new file mode 100644 index 0000000..08c310c --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atelier-dune-light.css @@ -0,0 +1,172 @@ +/* + +Name: Base16 Atelier Dune Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #fefbec; + color: #6e6b5e; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e8e4cf; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e8e4cf; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #999580; +} + +.token.punctuation { + color: #6e6b5e; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #b65611; +} +.token.property { + color: #ae9513; +} +.token.tag { + color: #6684e1; +} +.token.string { + color: #1fad83; +} +.token.selector { + color: #b854d4; +} +.token.attr-name { + color: #b65611; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #1fad83; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #60ac39; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #1fad83; +} + +.token.placeholder, +.token.variable { + color: #6684e1; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #20201d; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #d73737; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #d73737; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #e8e4cf; +} + +.line-numbers-rows > span:before { + color: #a6a28c; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #7d7a6833; + background: linear-gradient(to right, #7d7a6833 70%, #7d7a6800); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-atelier-estuary-dark.css b/plugins/prism-highlight/css/themes/prism-atelier-estuary-dark.css new file mode 100644 index 0000000..5a65eaa --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atelier-estuary-dark.css @@ -0,0 +1,172 @@ +/* + +Name: Base16 Atelier Estuary Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #22221b; + color: #929181; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #878573; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #878573; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #6c6b5a; +} + +.token.punctuation { + color: #929181; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #ae7313; +} +.token.property { + color: #a5980d; +} +.token.tag { + color: #36a166; +} +.token.string { + color: #5b9d48; +} +.token.selector { + color: #5f9182; +} +.token.attr-name { + color: #ae7313; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #5b9d48; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #7d9726; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #5b9d48; +} + +.token.placeholder, +.token.variable { + color: #36a166; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f4f3ec; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ba6236; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #ba6236; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #302f27; +} + +.line-numbers-rows > span:before { + color: #5f5e4e; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #92918133; + background: linear-gradient(to right, #92918133 70%, #92918100); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-atelier-estuary-light.css b/plugins/prism-highlight/css/themes/prism-atelier-estuary-light.css new file mode 100644 index 0000000..82a5c7c --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atelier-estuary-light.css @@ -0,0 +1,172 @@ +/* + +Name: Base16 Atelier Estuary Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f4f3ec; + color: #5f5e4e; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e7e6df; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e7e6df; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #878573; +} + +.token.punctuation { + color: #5f5e4e; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #ae7313; +} +.token.property { + color: #a5980d; +} +.token.tag { + color: #36a166; +} +.token.string { + color: #5b9d48; +} +.token.selector { + color: #5f9182; +} +.token.attr-name { + color: #ae7313; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #5b9d48; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #7d9726; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #5b9d48; +} + +.token.placeholder, +.token.variable { + color: #36a166; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #22221b; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ba6236; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #ba6236; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #e7e6df; +} + +.line-numbers-rows > span:before { + color: #929181; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #6c6b5a33; + background: linear-gradient(to right, #6c6b5a33 70%, #6c6b5a00); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-atelier-forest-dark.css b/plugins/prism-highlight/css/themes/prism-atelier-forest-dark.css new file mode 100644 index 0000000..5bfa831 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atelier-forest-dark.css @@ -0,0 +1,172 @@ +/* + +Name: Base16 Atelier Forest Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #1b1918; + color: #a8a19f; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #9c9491; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #9c9491; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #766e6b; +} + +.token.punctuation { + color: #a8a19f; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #df5320; +} +.token.property { + color: #c38418; +} +.token.tag { + color: #407ee7; +} +.token.string { + color: #3d97b8; +} +.token.selector { + color: #6666ea; +} +.token.attr-name { + color: #df5320; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #3d97b8; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #7b9726; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #3d97b8; +} + +.token.placeholder, +.token.variable { + color: #407ee7; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f1efee; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #f22c40; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #f22c40; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #2c2421; +} + +.line-numbers-rows > span:before { + color: #68615e; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #a8a19f33; + background: linear-gradient(to right, #a8a19f33 70%, #a8a19f00); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-atelier-forest-light.css b/plugins/prism-highlight/css/themes/prism-atelier-forest-light.css new file mode 100644 index 0000000..02f6eeb --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atelier-forest-light.css @@ -0,0 +1,172 @@ +/* + +Name: Base16 Atelier Forest Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f1efee; + color: #68615e; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e6e2e0; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e6e2e0; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #9c9491; +} + +.token.punctuation { + color: #68615e; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #df5320; +} +.token.property { + color: #c38418; +} +.token.tag { + color: #407ee7; +} +.token.string { + color: #3d97b8; +} +.token.selector { + color: #6666ea; +} +.token.attr-name { + color: #df5320; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #3d97b8; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #7b9726; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #3d97b8; +} + +.token.placeholder, +.token.variable { + color: #407ee7; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #1b1918; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #f22c40; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #f22c40; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #e6e2e0; +} + +.line-numbers-rows > span:before { + color: #a8a19f; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #766e6b33; + background: linear-gradient(to right, #766e6b33 70%, #766e6b00); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-atelier-heath-dark.css b/plugins/prism-highlight/css/themes/prism-atelier-heath-dark.css new file mode 100644 index 0000000..9735f6c --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atelier-heath-dark.css @@ -0,0 +1,172 @@ +/* + +Name: Base16 Atelier Heath Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #1b181b; + color: #ab9bab; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #9e8f9e; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #9e8f9e; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #776977; +} + +.token.punctuation { + color: #ab9bab; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #a65926; +} +.token.property { + color: #bb8a35; +} +.token.tag { + color: #516aec; +} +.token.string { + color: #159393; +} +.token.selector { + color: #7b59c0; +} +.token.attr-name { + color: #a65926; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #159393; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #918b3b; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #159393; +} + +.token.placeholder, +.token.variable { + color: #516aec; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f7f3f7; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ca402b; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #ca402b; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #292329; +} + +.line-numbers-rows > span:before { + color: #695d69; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #ab9bab33; + background: linear-gradient(to right, #ab9bab33 70%, #ab9bab00); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-atelier-heath-light.css b/plugins/prism-highlight/css/themes/prism-atelier-heath-light.css new file mode 100644 index 0000000..dfbb212 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atelier-heath-light.css @@ -0,0 +1,172 @@ +/* + +Name: Base16 Atelier Heath Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f7f3f7; + color: #695d69; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #d8cad8; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #d8cad8; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #9e8f9e; +} + +.token.punctuation { + color: #695d69; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #a65926; +} +.token.property { + color: #bb8a35; +} +.token.tag { + color: #516aec; +} +.token.string { + color: #159393; +} +.token.selector { + color: #7b59c0; +} +.token.attr-name { + color: #a65926; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #159393; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #918b3b; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #159393; +} + +.token.placeholder, +.token.variable { + color: #516aec; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #1b181b; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ca402b; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #ca402b; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #d8cad8; +} + +.line-numbers-rows > span:before { + color: #ab9bab; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #77697733; + background: linear-gradient(to right, #77697733 70%, #77697700); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-atelier-lakeside-dark.css b/plugins/prism-highlight/css/themes/prism-atelier-lakeside-dark.css new file mode 100644 index 0000000..d78a8fe --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atelier-lakeside-dark.css @@ -0,0 +1,172 @@ +/* + +Name: Base16 Atelier Lakeside Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #161b1d; + color: #7ea2b4; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #7195a8; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #7195a8; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #5a7b8c; +} + +.token.punctuation { + color: #7ea2b4; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #935c25; +} +.token.property { + color: #8a8a0f; +} +.token.tag { + color: #257fad; +} +.token.string { + color: #2d8f6f; +} +.token.selector { + color: #6b6bb8; +} +.token.attr-name { + color: #935c25; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #2d8f6f; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #568c3b; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #2d8f6f; +} + +.token.placeholder, +.token.variable { + color: #257fad; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ebf8ff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #d22d72; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #d22d72; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #1f292e; +} + +.line-numbers-rows > span:before { + color: #516d7b; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #7ea2b433; + background: linear-gradient(to right, #7ea2b433 70%, #7ea2b400); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-atelier-lakeside-light.css b/plugins/prism-highlight/css/themes/prism-atelier-lakeside-light.css new file mode 100644 index 0000000..a82ad51 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atelier-lakeside-light.css @@ -0,0 +1,172 @@ +/* + +Name: Base16 Atelier Lakeside Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #ebf8ff; + color: #516d7b; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #c1e4f6; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #c1e4f6; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #7195a8; +} + +.token.punctuation { + color: #516d7b; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #935c25; +} +.token.property { + color: #8a8a0f; +} +.token.tag { + color: #257fad; +} +.token.string { + color: #2d8f6f; +} +.token.selector { + color: #6b6bb8; +} +.token.attr-name { + color: #935c25; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #2d8f6f; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #568c3b; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #2d8f6f; +} + +.token.placeholder, +.token.variable { + color: #257fad; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #161b1d; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #d22d72; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #d22d72; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #c1e4f6; +} + +.line-numbers-rows > span:before { + color: #7ea2b4; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #5a7b8c33; + background: linear-gradient(to right, #5a7b8c33 70%, #5a7b8c00); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-atelier-plateau-dark.css b/plugins/prism-highlight/css/themes/prism-atelier-plateau-dark.css new file mode 100644 index 0000000..c20dda8 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atelier-plateau-dark.css @@ -0,0 +1,172 @@ +/* + +Name: Base16 Atelier Plateau Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #1b1818; + color: #8a8585; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #7e7777; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #7e7777; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #655d5d; +} + +.token.punctuation { + color: #8a8585; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #b45a3c; +} +.token.property { + color: #a06e3b; +} +.token.tag { + color: #7272ca; +} +.token.string { + color: #5485b6; +} +.token.selector { + color: #8464c4; +} +.token.attr-name { + color: #b45a3c; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #5485b6; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #4b8b8b; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #5485b6; +} + +.token.placeholder, +.token.variable { + color: #7272ca; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f4ecec; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ca4949; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #ca4949; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #292424; +} + +.line-numbers-rows > span:before { + color: #585050; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #8a858533; + background: linear-gradient(to right, #8a858533 70%, #8a858500); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-atelier-plateau-light.css b/plugins/prism-highlight/css/themes/prism-atelier-plateau-light.css new file mode 100644 index 0000000..559f1f8 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atelier-plateau-light.css @@ -0,0 +1,172 @@ +/* + +Name: Base16 Atelier Plateau Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f4ecec; + color: #585050; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e7dfdf; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e7dfdf; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #7e7777; +} + +.token.punctuation { + color: #585050; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #b45a3c; +} +.token.property { + color: #a06e3b; +} +.token.tag { + color: #7272ca; +} +.token.string { + color: #5485b6; +} +.token.selector { + color: #8464c4; +} +.token.attr-name { + color: #b45a3c; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #5485b6; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #4b8b8b; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #5485b6; +} + +.token.placeholder, +.token.variable { + color: #7272ca; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #1b1818; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ca4949; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #ca4949; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #e7dfdf; +} + +.line-numbers-rows > span:before { + color: #8a8585; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #655d5d33; + background: linear-gradient(to right, #655d5d33 70%, #655d5d00); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-atelier-savanna-dark.css b/plugins/prism-highlight/css/themes/prism-atelier-savanna-dark.css new file mode 100644 index 0000000..2e4ab3e --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atelier-savanna-dark.css @@ -0,0 +1,172 @@ +/* + +Name: Base16 Atelier Savanna Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #171c19; + color: #87928a; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #78877d; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #78877d; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #5f6d64; +} + +.token.punctuation { + color: #87928a; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #9f713c; +} +.token.property { + color: #a07e3b; +} +.token.tag { + color: #478c90; +} +.token.string { + color: #1c9aa0; +} +.token.selector { + color: #55859b; +} +.token.attr-name { + color: #9f713c; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #1c9aa0; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #489963; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #1c9aa0; +} + +.token.placeholder, +.token.variable { + color: #478c90; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ecf4ee; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #b16139; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #b16139; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #232a25; +} + +.line-numbers-rows > span:before { + color: #526057; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #87928a33; + background: linear-gradient(to right, #87928a33 70%, #87928a00); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-atelier-savanna-light.css b/plugins/prism-highlight/css/themes/prism-atelier-savanna-light.css new file mode 100644 index 0000000..012328a --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atelier-savanna-light.css @@ -0,0 +1,172 @@ +/* + +Name: Base16 Atelier Savanna Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #ecf4ee; + color: #526057; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #dfe7e2; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #dfe7e2; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #78877d; +} + +.token.punctuation { + color: #526057; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #9f713c; +} +.token.property { + color: #a07e3b; +} +.token.tag { + color: #478c90; +} +.token.string { + color: #1c9aa0; +} +.token.selector { + color: #55859b; +} +.token.attr-name { + color: #9f713c; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #1c9aa0; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #489963; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #1c9aa0; +} + +.token.placeholder, +.token.variable { + color: #478c90; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #171c19; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #b16139; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #b16139; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #dfe7e2; +} + +.line-numbers-rows > span:before { + color: #87928a; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #5f6d6433; + background: linear-gradient(to right, #5f6d6433 70%, #5f6d6400); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-atelier-seaside-dark.css b/plugins/prism-highlight/css/themes/prism-atelier-seaside-dark.css new file mode 100644 index 0000000..e843969 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atelier-seaside-dark.css @@ -0,0 +1,172 @@ +/* + +Name: Base16 Atelier Seaside Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #131513; + color: #8ca68c; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #809980; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #809980; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #687d68; +} + +.token.punctuation { + color: #8ca68c; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #87711d; +} +.token.property { + color: #98981b; +} +.token.tag { + color: #3d62f5; +} +.token.string { + color: #1999b3; +} +.token.selector { + color: #ad2bee; +} +.token.attr-name { + color: #87711d; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #1999b3; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #29a329; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #1999b3; +} + +.token.placeholder, +.token.variable { + color: #3d62f5; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f4fbf4; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #e6193c; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #e6193c; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #242924; +} + +.line-numbers-rows > span:before { + color: #5e6e5e; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #8ca68c33; + background: linear-gradient(to right, #8ca68c33 70%, #8ca68c00); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-atelier-seaside-light.css b/plugins/prism-highlight/css/themes/prism-atelier-seaside-light.css new file mode 100644 index 0000000..d37a689 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atelier-seaside-light.css @@ -0,0 +1,172 @@ +/* + +Name: Base16 Atelier Seaside Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f4fbf4; + color: #5e6e5e; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #cfe8cf; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #cfe8cf; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #809980; +} + +.token.punctuation { + color: #5e6e5e; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #87711d; +} +.token.property { + color: #98981b; +} +.token.tag { + color: #3d62f5; +} +.token.string { + color: #1999b3; +} +.token.selector { + color: #ad2bee; +} +.token.attr-name { + color: #87711d; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #1999b3; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #29a329; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #1999b3; +} + +.token.placeholder, +.token.variable { + color: #3d62f5; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #131513; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #e6193c; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #e6193c; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #cfe8cf; +} + +.line-numbers-rows > span:before { + color: #8ca68c; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #687d6833; + background: linear-gradient(to right, #687d6833 70%, #687d6800); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-atelier-sulphurpool-dark.css b/plugins/prism-highlight/css/themes/prism-atelier-sulphurpool-dark.css new file mode 100644 index 0000000..3badd55 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atelier-sulphurpool-dark.css @@ -0,0 +1,172 @@ +/* + +Name: Base16 Atelier Sulphurpool Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #202746; + color: #979db4; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #898ea4; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #898ea4; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #6b7394; +} + +.token.punctuation { + color: #979db4; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #c76b29; +} +.token.property { + color: #c08b30; +} +.token.tag { + color: #3d8fd1; +} +.token.string { + color: #22a2c9; +} +.token.selector { + color: #6679cc; +} +.token.attr-name { + color: #c76b29; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #22a2c9; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #ac9739; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #22a2c9; +} + +.token.placeholder, +.token.variable { + color: #3d8fd1; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f5f7ff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #c94922; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #c94922; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #293256; +} + +.line-numbers-rows > span:before { + color: #5e6687; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #979db433; + background: linear-gradient(to right, #979db433 70%, #979db400); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-atelier-sulphurpool-light.css b/plugins/prism-highlight/css/themes/prism-atelier-sulphurpool-light.css new file mode 100644 index 0000000..d1f9a10 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atelier-sulphurpool-light.css @@ -0,0 +1,172 @@ +/* + +Name: Base16 Atelier Sulphurpool Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f5f7ff; + color: #5e6687; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #dfe2f1; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #dfe2f1; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #898ea4; +} + +.token.punctuation { + color: #5e6687; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #c76b29; +} +.token.property { + color: #c08b30; +} +.token.tag { + color: #3d8fd1; +} +.token.string { + color: #22a2c9; +} +.token.selector { + color: #6679cc; +} +.token.attr-name { + color: #c76b29; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #22a2c9; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #ac9739; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #22a2c9; +} + +.token.placeholder, +.token.variable { + color: #3d8fd1; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #202746; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #c94922; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #c94922; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #dfe2f1; +} + +.line-numbers-rows > span:before { + color: #979db4; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #6b739433; + background: linear-gradient(to right, #6b739433 70%, #6b739400); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-atom-dark.css b/plugins/prism-highlight/css/themes/prism-atom-dark.css new file mode 100644 index 0000000..10acc43 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-atom-dark.css @@ -0,0 +1,146 @@ +/** + * atom-dark theme for `prism.js` + * Based on Atom's `atom-dark` theme: https://github.com/atom/atom-dark-syntax + * @author Joe Gibson (@gibsjose) + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #c5c8c6; + text-shadow: 0 1px rgba(0, 0, 0, 0.3); + font-family: Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + border-radius: 0.3em; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #1d1f21; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #7C7C7C; +} + +.token.punctuation { + color: #c5c8c6; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.keyword, +.token.tag { + color: #96CBFE; +} + +.token.class-name { + color: #FFFFB6; + text-decoration: underline; +} + +.token.boolean, +.token.constant { + color: #99CC99; +} + +.token.symbol, +.token.deleted { + color: #f92672; +} + +.token.number { + color: #FF73FD; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #A8FF60; +} + +.token.variable { + color: #C6C5FE; +} + +.token.operator { + color: #EDEDED; +} + +.token.entity { + color: #FFFFB6; + /* text-decoration: underline; */ +} + +.token.url { + color: #96CBFE; +} + +.language-css .token.string, +.style .token.string { + color: #87C38A; +} + +.token.atrule, +.token.attr-value { + color: #F9EE98; +} + +.token.function { + color: #DAD085; +} + +.token.regex { + color: #E9C062; +} + +.token.important { + color: #fd971f; +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-3024.dark.css b/plugins/prism-highlight/css/themes/prism-base16-3024.dark.css new file mode 100644 index 0000000..ce48cf8 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-3024.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 3024 Dark +Author: Jan T. Sott (http://github.com/idleberg) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #090300; + color: #a5a2a2; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #807d7c; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #807d7c; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #5c5855; +} + +.token.punctuation { + color: #a5a2a2; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #e8bbd0; +} + +.token.property { + color: #fded02; +} + +.token.tag { + color: #01a0e4; +} + +.token.string { + color: #b5e4f4; +} + +.token.selector { + color: #a16a94; +} + +.token.attr-name { + color: #e8bbd0; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #b5e4f4; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #01a252; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #b5e4f4; +} + +.token.placeholder, +.token.variable { + color: #01a0e4; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f7f7f7; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #db2d20; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #db2d20; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #3a3432 !important; +} + +.line-numbers-rows > span:before { + color: #4a4543 !important; +} + +.line-highlight { + background: rgba(247, 247, 247, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(247, 247, 247, 0.2) 70%, rgba(247, 247, 247, 0)) !important; + background: linear-gradient(to right, rgba(247, 247, 247, 0.2) 70%, rgba(247, 247, 247, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-3024.light.css b/plugins/prism-highlight/css/themes/prism-base16-3024.light.css new file mode 100644 index 0000000..71a8db5 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-3024.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 3024 Light +Author: Jan T. Sott (http://github.com/idleberg) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f7f7f7; + color: #4a4543; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #d6d5d4; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #d6d5d4; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #807d7c; +} + +.token.punctuation { + color: #4a4543; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #e8bbd0; +} + +.token.property { + color: #fded02; +} + +.token.tag { + color: #01a0e4; +} + +.token.string { + color: #b5e4f4; +} + +.token.selector { + color: #a16a94; +} + +.token.attr-name { + color: #e8bbd0; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #b5e4f4; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #01a252; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #b5e4f4; +} + +.token.placeholder, +.token.variable { + color: #01a0e4; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #090300; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #db2d20; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #db2d20; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #d6d5d4 !important; +} + +.line-numbers-rows > span:before { + color: #a5a2a2 !important; +} + +.line-highlight { + background: rgba(9, 3, 0, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(9, 3, 0, 0.2) 70%, rgba(9, 3, 0, 0)) !important; + background: linear-gradient(to right, rgba(9, 3, 0, 0.2) 70%, rgba(9, 3, 0, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-apathy.dark.css b/plugins/prism-highlight/css/themes/prism-base16-apathy.dark.css new file mode 100644 index 0000000..75f05fb --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-apathy.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Apathy Dark +Author: Jannik Siebert (https://github.com/janniks) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #031A16; + color: #81B5AC; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #5F9C92; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #5F9C92; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #2B685E; +} + +.token.punctuation { + color: #81B5AC; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #3E7996; +} + +.token.property { + color: #3E4C96; +} + +.token.tag { + color: #96883E; +} + +.token.string { + color: #963E4C; +} + +.token.selector { + color: #4C963E; +} + +.token.attr-name { + color: #3E7996; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #963E4C; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #883E96; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #963E4C; +} + +.token.placeholder, +.token.variable { + color: #96883E; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #D2E7E4; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #3E9688; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #3E9688; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #0B342D !important; +} + +.line-numbers-rows > span:before { + color: #184E45 !important; +} + +.line-highlight { + background: rgba(210, 231, 228, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(210, 231, 228, 0.2) 70%, rgba(210, 231, 228, 0)) !important; + background: linear-gradient(to right, rgba(210, 231, 228, 0.2) 70%, rgba(210, 231, 228, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-apathy.light.css b/plugins/prism-highlight/css/themes/prism-base16-apathy.light.css new file mode 100644 index 0000000..28e746b --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-apathy.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Apathy Light +Author: Jannik Siebert (https://github.com/janniks) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #D2E7E4; + color: #184E45; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #A7CEC8; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #A7CEC8; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #5F9C92; +} + +.token.punctuation { + color: #184E45; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #3E7996; +} + +.token.property { + color: #3E4C96; +} + +.token.tag { + color: #96883E; +} + +.token.string { + color: #963E4C; +} + +.token.selector { + color: #4C963E; +} + +.token.attr-name { + color: #3E7996; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #963E4C; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #883E96; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #963E4C; +} + +.token.placeholder, +.token.variable { + color: #96883E; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #031A16; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #3E9688; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #3E9688; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #A7CEC8 !important; +} + +.line-numbers-rows > span:before { + color: #81B5AC !important; +} + +.line-highlight { + background: rgba(3, 26, 22, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(3, 26, 22, 0.2) 70%, rgba(3, 26, 22, 0)) !important; + background: linear-gradient(to right, rgba(3, 26, 22, 0.2) 70%, rgba(3, 26, 22, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-ashes.dark.css b/plugins/prism-highlight/css/themes/prism-base16-ashes.dark.css new file mode 100644 index 0000000..ae53acf --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-ashes.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Ashes Dark +Author: Jannik Siebert (https://github.com/janniks) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #1C2023; + color: #C7CCD1; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #ADB3BA; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #ADB3BA; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #747C84; +} + +.token.punctuation { + color: #C7CCD1; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #C7C795; +} + +.token.property { + color: #AEC795; +} + +.token.tag { + color: #AE95C7; +} + +.token.string { + color: #95AEC7; +} + +.token.selector { + color: #C795AE; +} + +.token.attr-name { + color: #C7C795; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #95AEC7; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #95C7AE; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #95AEC7; +} + +.token.placeholder, +.token.variable { + color: #AE95C7; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #F3F4F5; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #C7AE95; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #C7AE95; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #393F45 !important; +} + +.line-numbers-rows > span:before { + color: #565E65 !important; +} + +.line-highlight { + background: rgba(243, 244, 245, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(243, 244, 245, 0.2) 70%, rgba(243, 244, 245, 0)) !important; + background: linear-gradient(to right, rgba(243, 244, 245, 0.2) 70%, rgba(243, 244, 245, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-ashes.light.css b/plugins/prism-highlight/css/themes/prism-base16-ashes.light.css new file mode 100644 index 0000000..be61905 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-ashes.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Ashes Light +Author: Jannik Siebert (https://github.com/janniks) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #F3F4F5; + color: #565E65; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #DFE2E5; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #DFE2E5; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #ADB3BA; +} + +.token.punctuation { + color: #565E65; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #C7C795; +} + +.token.property { + color: #AEC795; +} + +.token.tag { + color: #AE95C7; +} + +.token.string { + color: #95AEC7; +} + +.token.selector { + color: #C795AE; +} + +.token.attr-name { + color: #C7C795; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #95AEC7; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #95C7AE; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #95AEC7; +} + +.token.placeholder, +.token.variable { + color: #AE95C7; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #1C2023; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #C7AE95; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #C7AE95; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #DFE2E5 !important; +} + +.line-numbers-rows > span:before { + color: #C7CCD1 !important; +} + +.line-highlight { + background: rgba(28, 32, 35, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(28, 32, 35, 0.2) 70%, rgba(28, 32, 35, 0)) !important; + background: linear-gradient(to right, rgba(28, 32, 35, 0.2) 70%, rgba(28, 32, 35, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-ateliercave.dark.css b/plugins/prism-highlight/css/themes/prism-base16-ateliercave.dark.css new file mode 100644 index 0000000..42ad41c --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-ateliercave.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Atelier Cave Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #19171c; + color: #8b8792; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #7e7887; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #7e7887; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #655f6d; +} + +.token.punctuation { + color: #8b8792; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #aa573c; +} + +.token.property { + color: #a06e3b; +} + +.token.tag { + color: #576ddb; +} + +.token.string { + color: #398bc6; +} + +.token.selector { + color: #955ae7; +} + +.token.attr-name { + color: #aa573c; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #398bc6; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #2a9292; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #398bc6; +} + +.token.placeholder, +.token.variable { + color: #576ddb; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #efecf4; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #be4678; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #be4678; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #26232a !important; +} + +.line-numbers-rows > span:before { + color: #585260 !important; +} + +.line-highlight { + background: rgba(239, 236, 244, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(239, 236, 244, 0.2) 70%, rgba(239, 236, 244, 0)) !important; + background: linear-gradient(to right, rgba(239, 236, 244, 0.2) 70%, rgba(239, 236, 244, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-ateliercave.light.css b/plugins/prism-highlight/css/themes/prism-base16-ateliercave.light.css new file mode 100644 index 0000000..50604e8 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-ateliercave.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Atelier Cave Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #efecf4; + color: #585260; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e2dfe7; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e2dfe7; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #7e7887; +} + +.token.punctuation { + color: #585260; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #aa573c; +} + +.token.property { + color: #a06e3b; +} + +.token.tag { + color: #576ddb; +} + +.token.string { + color: #398bc6; +} + +.token.selector { + color: #955ae7; +} + +.token.attr-name { + color: #aa573c; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #398bc6; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #2a9292; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #398bc6; +} + +.token.placeholder, +.token.variable { + color: #576ddb; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #19171c; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #be4678; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #be4678; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #e2dfe7 !important; +} + +.line-numbers-rows > span:before { + color: #8b8792 !important; +} + +.line-highlight { + background: rgba(25, 23, 28, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(25, 23, 28, 0.2) 70%, rgba(25, 23, 28, 0)) !important; + background: linear-gradient(to right, rgba(25, 23, 28, 0.2) 70%, rgba(25, 23, 28, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-atelierdune.dark.css b/plugins/prism-highlight/css/themes/prism-base16-atelierdune.dark.css new file mode 100644 index 0000000..ce64fa0 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-atelierdune.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Atelier Dune Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #20201d; + color: #a6a28c; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #999580; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #999580; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #7d7a68; +} + +.token.punctuation { + color: #a6a28c; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #b65611; +} + +.token.property { + color: #ae9513; +} + +.token.tag { + color: #6684e1; +} + +.token.string { + color: #1fad83; +} + +.token.selector { + color: #b854d4; +} + +.token.attr-name { + color: #b65611; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #1fad83; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #60ac39; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #1fad83; +} + +.token.placeholder, +.token.variable { + color: #6684e1; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #fefbec; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #d73737; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #d73737; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #292824 !important; +} + +.line-numbers-rows > span:before { + color: #6e6b5e !important; +} + +.line-highlight { + background: rgba(254, 251, 236, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(254, 251, 236, 0.2) 70%, rgba(254, 251, 236, 0)) !important; + background: linear-gradient(to right, rgba(254, 251, 236, 0.2) 70%, rgba(254, 251, 236, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-atelierdune.light.css b/plugins/prism-highlight/css/themes/prism-base16-atelierdune.light.css new file mode 100644 index 0000000..544f621 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-atelierdune.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Atelier Dune Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #fefbec; + color: #6e6b5e; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e8e4cf; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e8e4cf; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #999580; +} + +.token.punctuation { + color: #6e6b5e; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #b65611; +} + +.token.property { + color: #ae9513; +} + +.token.tag { + color: #6684e1; +} + +.token.string { + color: #1fad83; +} + +.token.selector { + color: #b854d4; +} + +.token.attr-name { + color: #b65611; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #1fad83; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #60ac39; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #1fad83; +} + +.token.placeholder, +.token.variable { + color: #6684e1; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #20201d; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #d73737; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #d73737; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #e8e4cf !important; +} + +.line-numbers-rows > span:before { + color: #a6a28c !important; +} + +.line-highlight { + background: rgba(32, 32, 29, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(32, 32, 29, 0.2) 70%, rgba(32, 32, 29, 0)) !important; + background: linear-gradient(to right, rgba(32, 32, 29, 0.2) 70%, rgba(32, 32, 29, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-atelierestuary.dark.css b/plugins/prism-highlight/css/themes/prism-base16-atelierestuary.dark.css new file mode 100644 index 0000000..238362e --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-atelierestuary.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Atelier Estuary Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #22221b; + color: #929181; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #878573; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #878573; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #6c6b5a; +} + +.token.punctuation { + color: #929181; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #ae7313; +} + +.token.property { + color: #a5980d; +} + +.token.tag { + color: #36a166; +} + +.token.string { + color: #5b9d48; +} + +.token.selector { + color: #5f9182; +} + +.token.attr-name { + color: #ae7313; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #5b9d48; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #7d9726; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #5b9d48; +} + +.token.placeholder, +.token.variable { + color: #36a166; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f4f3ec; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ba6236; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #ba6236; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #302f27 !important; +} + +.line-numbers-rows > span:before { + color: #5f5e4e !important; +} + +.line-highlight { + background: rgba(244, 243, 236, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(244, 243, 236, 0.2) 70%, rgba(244, 243, 236, 0)) !important; + background: linear-gradient(to right, rgba(244, 243, 236, 0.2) 70%, rgba(244, 243, 236, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-atelierestuary.light.css b/plugins/prism-highlight/css/themes/prism-base16-atelierestuary.light.css new file mode 100644 index 0000000..2cda382 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-atelierestuary.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Atelier Estuary Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f4f3ec; + color: #5f5e4e; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e7e6df; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e7e6df; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #878573; +} + +.token.punctuation { + color: #5f5e4e; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #ae7313; +} + +.token.property { + color: #a5980d; +} + +.token.tag { + color: #36a166; +} + +.token.string { + color: #5b9d48; +} + +.token.selector { + color: #5f9182; +} + +.token.attr-name { + color: #ae7313; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #5b9d48; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #7d9726; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #5b9d48; +} + +.token.placeholder, +.token.variable { + color: #36a166; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #22221b; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ba6236; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #ba6236; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #e7e6df !important; +} + +.line-numbers-rows > span:before { + color: #929181 !important; +} + +.line-highlight { + background: rgba(34, 34, 27, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(34, 34, 27, 0.2) 70%, rgba(34, 34, 27, 0)) !important; + background: linear-gradient(to right, rgba(34, 34, 27, 0.2) 70%, rgba(34, 34, 27, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-atelierforest.dark.css b/plugins/prism-highlight/css/themes/prism-base16-atelierforest.dark.css new file mode 100644 index 0000000..e844811 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-atelierforest.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Atelier Forest Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #1b1918; + color: #a8a19f; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #9c9491; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #9c9491; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #766e6b; +} + +.token.punctuation { + color: #a8a19f; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #df5320; +} + +.token.property { + color: #c38418; +} + +.token.tag { + color: #407ee7; +} + +.token.string { + color: #3d97b8; +} + +.token.selector { + color: #6666ea; +} + +.token.attr-name { + color: #df5320; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #3d97b8; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #7b9726; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #3d97b8; +} + +.token.placeholder, +.token.variable { + color: #407ee7; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f1efee; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #f22c40; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #f22c40; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #2c2421 !important; +} + +.line-numbers-rows > span:before { + color: #68615e !important; +} + +.line-highlight { + background: rgba(241, 239, 238, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(241, 239, 238, 0.2) 70%, rgba(241, 239, 238, 0)) !important; + background: linear-gradient(to right, rgba(241, 239, 238, 0.2) 70%, rgba(241, 239, 238, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-atelierforest.light.css b/plugins/prism-highlight/css/themes/prism-base16-atelierforest.light.css new file mode 100644 index 0000000..d408530 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-atelierforest.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Atelier Forest Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f1efee; + color: #68615e; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e6e2e0; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e6e2e0; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #9c9491; +} + +.token.punctuation { + color: #68615e; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #df5320; +} + +.token.property { + color: #c38418; +} + +.token.tag { + color: #407ee7; +} + +.token.string { + color: #3d97b8; +} + +.token.selector { + color: #6666ea; +} + +.token.attr-name { + color: #df5320; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #3d97b8; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #7b9726; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #3d97b8; +} + +.token.placeholder, +.token.variable { + color: #407ee7; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #1b1918; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #f22c40; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #f22c40; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #e6e2e0 !important; +} + +.line-numbers-rows > span:before { + color: #a8a19f !important; +} + +.line-highlight { + background: rgba(27, 25, 24, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(27, 25, 24, 0.2) 70%, rgba(27, 25, 24, 0)) !important; + background: linear-gradient(to right, rgba(27, 25, 24, 0.2) 70%, rgba(27, 25, 24, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-atelierheath.dark.css b/plugins/prism-highlight/css/themes/prism-base16-atelierheath.dark.css new file mode 100644 index 0000000..64ba28a --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-atelierheath.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Atelier Heath Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #1b181b; + color: #ab9bab; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #9e8f9e; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #9e8f9e; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #776977; +} + +.token.punctuation { + color: #ab9bab; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #a65926; +} + +.token.property { + color: #bb8a35; +} + +.token.tag { + color: #516aec; +} + +.token.string { + color: #159393; +} + +.token.selector { + color: #7b59c0; +} + +.token.attr-name { + color: #a65926; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #159393; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #918b3b; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #159393; +} + +.token.placeholder, +.token.variable { + color: #516aec; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f7f3f7; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ca402b; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #ca402b; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #292329 !important; +} + +.line-numbers-rows > span:before { + color: #695d69 !important; +} + +.line-highlight { + background: rgba(247, 243, 247, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(247, 243, 247, 0.2) 70%, rgba(247, 243, 247, 0)) !important; + background: linear-gradient(to right, rgba(247, 243, 247, 0.2) 70%, rgba(247, 243, 247, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-atelierheath.light.css b/plugins/prism-highlight/css/themes/prism-base16-atelierheath.light.css new file mode 100644 index 0000000..e0d21ac --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-atelierheath.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Atelier Heath Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f7f3f7; + color: #695d69; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #d8cad8; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #d8cad8; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #9e8f9e; +} + +.token.punctuation { + color: #695d69; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #a65926; +} + +.token.property { + color: #bb8a35; +} + +.token.tag { + color: #516aec; +} + +.token.string { + color: #159393; +} + +.token.selector { + color: #7b59c0; +} + +.token.attr-name { + color: #a65926; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #159393; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #918b3b; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #159393; +} + +.token.placeholder, +.token.variable { + color: #516aec; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #1b181b; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ca402b; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #ca402b; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #d8cad8 !important; +} + +.line-numbers-rows > span:before { + color: #ab9bab !important; +} + +.line-highlight { + background: rgba(27, 24, 27, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(27, 24, 27, 0.2) 70%, rgba(27, 24, 27, 0)) !important; + background: linear-gradient(to right, rgba(27, 24, 27, 0.2) 70%, rgba(27, 24, 27, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-atelierlakeside.dark.css b/plugins/prism-highlight/css/themes/prism-base16-atelierlakeside.dark.css new file mode 100644 index 0000000..5d45153 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-atelierlakeside.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Atelier Lakeside Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #161b1d; + color: #7ea2b4; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #7195a8; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #7195a8; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #5a7b8c; +} + +.token.punctuation { + color: #7ea2b4; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #935c25; +} + +.token.property { + color: #8a8a0f; +} + +.token.tag { + color: #257fad; +} + +.token.string { + color: #2d8f6f; +} + +.token.selector { + color: #6b6bb8; +} + +.token.attr-name { + color: #935c25; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #2d8f6f; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #568c3b; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #2d8f6f; +} + +.token.placeholder, +.token.variable { + color: #257fad; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ebf8ff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #d22d72; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #d22d72; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #1f292e !important; +} + +.line-numbers-rows > span:before { + color: #516d7b !important; +} + +.line-highlight { + background: rgba(235, 248, 255, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(235, 248, 255, 0.2) 70%, rgba(235, 248, 255, 0)) !important; + background: linear-gradient(to right, rgba(235, 248, 255, 0.2) 70%, rgba(235, 248, 255, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-atelierlakeside.light.css b/plugins/prism-highlight/css/themes/prism-base16-atelierlakeside.light.css new file mode 100644 index 0000000..564fc07 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-atelierlakeside.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Atelier Lakeside Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #ebf8ff; + color: #516d7b; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #c1e4f6; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #c1e4f6; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #7195a8; +} + +.token.punctuation { + color: #516d7b; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #935c25; +} + +.token.property { + color: #8a8a0f; +} + +.token.tag { + color: #257fad; +} + +.token.string { + color: #2d8f6f; +} + +.token.selector { + color: #6b6bb8; +} + +.token.attr-name { + color: #935c25; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #2d8f6f; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #568c3b; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #2d8f6f; +} + +.token.placeholder, +.token.variable { + color: #257fad; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #161b1d; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #d22d72; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #d22d72; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #c1e4f6 !important; +} + +.line-numbers-rows > span:before { + color: #7ea2b4 !important; +} + +.line-highlight { + background: rgba(22, 27, 29, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(22, 27, 29, 0.2) 70%, rgba(22, 27, 29, 0)) !important; + background: linear-gradient(to right, rgba(22, 27, 29, 0.2) 70%, rgba(22, 27, 29, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-atelierplateau.dark.css b/plugins/prism-highlight/css/themes/prism-base16-atelierplateau.dark.css new file mode 100644 index 0000000..b467769 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-atelierplateau.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Atelier Plateau Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #1b1818; + color: #8a8585; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #7e7777; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #7e7777; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #655d5d; +} + +.token.punctuation { + color: #8a8585; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #b45a3c; +} + +.token.property { + color: #a06e3b; +} + +.token.tag { + color: #7272ca; +} + +.token.string { + color: #5485b6; +} + +.token.selector { + color: #8464c4; +} + +.token.attr-name { + color: #b45a3c; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #5485b6; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #4b8b8b; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #5485b6; +} + +.token.placeholder, +.token.variable { + color: #7272ca; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f4ecec; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ca4949; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #ca4949; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #292424 !important; +} + +.line-numbers-rows > span:before { + color: #585050 !important; +} + +.line-highlight { + background: rgba(244, 236, 236, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(244, 236, 236, 0.2) 70%, rgba(244, 236, 236, 0)) !important; + background: linear-gradient(to right, rgba(244, 236, 236, 0.2) 70%, rgba(244, 236, 236, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-atelierplateau.light.css b/plugins/prism-highlight/css/themes/prism-base16-atelierplateau.light.css new file mode 100644 index 0000000..b3b3bff --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-atelierplateau.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Atelier Plateau Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f4ecec; + color: #585050; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e7dfdf; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e7dfdf; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #7e7777; +} + +.token.punctuation { + color: #585050; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #b45a3c; +} + +.token.property { + color: #a06e3b; +} + +.token.tag { + color: #7272ca; +} + +.token.string { + color: #5485b6; +} + +.token.selector { + color: #8464c4; +} + +.token.attr-name { + color: #b45a3c; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #5485b6; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #4b8b8b; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #5485b6; +} + +.token.placeholder, +.token.variable { + color: #7272ca; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #1b1818; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ca4949; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #ca4949; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #e7dfdf !important; +} + +.line-numbers-rows > span:before { + color: #8a8585 !important; +} + +.line-highlight { + background: rgba(27, 24, 24, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(27, 24, 24, 0.2) 70%, rgba(27, 24, 24, 0)) !important; + background: linear-gradient(to right, rgba(27, 24, 24, 0.2) 70%, rgba(27, 24, 24, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-ateliersavanna.dark.css b/plugins/prism-highlight/css/themes/prism-base16-ateliersavanna.dark.css new file mode 100644 index 0000000..04625f5 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-ateliersavanna.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Atelier Savanna Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #171c19; + color: #87928a; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #78877d; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #78877d; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #5f6d64; +} + +.token.punctuation { + color: #87928a; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #9f713c; +} + +.token.property { + color: #a07e3b; +} + +.token.tag { + color: #478c90; +} + +.token.string { + color: #1c9aa0; +} + +.token.selector { + color: #55859b; +} + +.token.attr-name { + color: #9f713c; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #1c9aa0; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #489963; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #1c9aa0; +} + +.token.placeholder, +.token.variable { + color: #478c90; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ecf4ee; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #b16139; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #b16139; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #232a25 !important; +} + +.line-numbers-rows > span:before { + color: #526057 !important; +} + +.line-highlight { + background: rgba(236, 244, 238, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(236, 244, 238, 0.2) 70%, rgba(236, 244, 238, 0)) !important; + background: linear-gradient(to right, rgba(236, 244, 238, 0.2) 70%, rgba(236, 244, 238, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-ateliersavanna.light.css b/plugins/prism-highlight/css/themes/prism-base16-ateliersavanna.light.css new file mode 100644 index 0000000..536d98f --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-ateliersavanna.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Atelier Savanna Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #ecf4ee; + color: #526057; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #dfe7e2; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #dfe7e2; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #78877d; +} + +.token.punctuation { + color: #526057; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #9f713c; +} + +.token.property { + color: #a07e3b; +} + +.token.tag { + color: #478c90; +} + +.token.string { + color: #1c9aa0; +} + +.token.selector { + color: #55859b; +} + +.token.attr-name { + color: #9f713c; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #1c9aa0; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #489963; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #1c9aa0; +} + +.token.placeholder, +.token.variable { + color: #478c90; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #171c19; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #b16139; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #b16139; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #dfe7e2 !important; +} + +.line-numbers-rows > span:before { + color: #87928a !important; +} + +.line-highlight { + background: rgba(23, 28, 25, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(23, 28, 25, 0.2) 70%, rgba(23, 28, 25, 0)) !important; + background: linear-gradient(to right, rgba(23, 28, 25, 0.2) 70%, rgba(23, 28, 25, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-atelierseaside.dark.css b/plugins/prism-highlight/css/themes/prism-base16-atelierseaside.dark.css new file mode 100644 index 0000000..cd5175b --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-atelierseaside.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Atelier Seaside Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #131513; + color: #8ca68c; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #809980; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #809980; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #687d68; +} + +.token.punctuation { + color: #8ca68c; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #87711d; +} + +.token.property { + color: #98981b; +} + +.token.tag { + color: #3d62f5; +} + +.token.string { + color: #1999b3; +} + +.token.selector { + color: #ad2bee; +} + +.token.attr-name { + color: #87711d; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #1999b3; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #29a329; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #1999b3; +} + +.token.placeholder, +.token.variable { + color: #3d62f5; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f4fbf4; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #e6193c; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #e6193c; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #242924 !important; +} + +.line-numbers-rows > span:before { + color: #5e6e5e !important; +} + +.line-highlight { + background: rgba(244, 251, 244, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(244, 251, 244, 0.2) 70%, rgba(244, 251, 244, 0)) !important; + background: linear-gradient(to right, rgba(244, 251, 244, 0.2) 70%, rgba(244, 251, 244, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-atelierseaside.light.css b/plugins/prism-highlight/css/themes/prism-base16-atelierseaside.light.css new file mode 100644 index 0000000..9da5132 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-atelierseaside.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Atelier Seaside Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f4fbf4; + color: #5e6e5e; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #cfe8cf; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #cfe8cf; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #809980; +} + +.token.punctuation { + color: #5e6e5e; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #87711d; +} + +.token.property { + color: #98981b; +} + +.token.tag { + color: #3d62f5; +} + +.token.string { + color: #1999b3; +} + +.token.selector { + color: #ad2bee; +} + +.token.attr-name { + color: #87711d; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #1999b3; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #29a329; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #1999b3; +} + +.token.placeholder, +.token.variable { + color: #3d62f5; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #131513; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #e6193c; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #e6193c; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #cfe8cf !important; +} + +.line-numbers-rows > span:before { + color: #8ca68c !important; +} + +.line-highlight { + background: rgba(19, 21, 19, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(19, 21, 19, 0.2) 70%, rgba(19, 21, 19, 0)) !important; + background: linear-gradient(to right, rgba(19, 21, 19, 0.2) 70%, rgba(19, 21, 19, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-ateliersulpherpool.dark.css b/plugins/prism-highlight/css/themes/prism-base16-ateliersulpherpool.dark.css new file mode 100644 index 0000000..014a142 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-ateliersulpherpool.dark.css @@ -0,0 +1,159 @@ +/* + +Name: Base16 Atelier Sulpherpool Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #202746; + color: #979db4; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #898ea4; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #898ea4; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #6b7394; +} + +.token.punctuation { + color: #979db4; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #c76b29; +} + +.token.property { + color: #c08b30; +} + +.token.tag { + color: #3d8fd1; +} + +.token.string { + color: #22a2c9; +} + +.token.selector { + color: #6679cc; +} + +.token.attr-name { + color: #c76b29; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #22a2c9; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #ac9739; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #22a2c9; +} + +.token.placeholder, +.token.variable { + color: #3d8fd1; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f5f7ff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #c94922; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #c94922; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #293256 !important; +} + +.line-numbers-rows > span:before { + color: #5e6687 !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-ateliersulpherpool.light.css b/plugins/prism-highlight/css/themes/prism-base16-ateliersulpherpool.light.css new file mode 100644 index 0000000..bfffe2e --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-ateliersulpherpool.light.css @@ -0,0 +1,159 @@ +/* + +Name: Base16 Atelier Sulpherpool Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f5f7ff; + color: #5e6687; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #dfe2f1; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #dfe2f1; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #898ea4; +} + +.token.punctuation { + color: #5e6687; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #c76b29; +} + +.token.property { + color: #c08b30; +} + +.token.tag { + color: #3d8fd1; +} + +.token.string { + color: #22a2c9; +} + +.token.selector { + color: #6679cc; +} + +.token.attr-name { + color: #c76b29; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #22a2c9; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #ac9739; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #22a2c9; +} + +.token.placeholder, +.token.variable { + color: #3d8fd1; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #202746; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #c94922; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #c94922; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #dfe2f1 !important; +} + +.line-numbers-rows > span:before { + color: #979db4 !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-ateliersulphurpool.dark.css b/plugins/prism-highlight/css/themes/prism-base16-ateliersulphurpool.dark.css new file mode 100644 index 0000000..05c65d6 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-ateliersulphurpool.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Atelier Sulphurpool Dark +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #202746; + color: #979db4; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #898ea4; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #898ea4; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #6b7394; +} + +.token.punctuation { + color: #979db4; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #c76b29; +} + +.token.property { + color: #c08b30; +} + +.token.tag { + color: #3d8fd1; +} + +.token.string { + color: #22a2c9; +} + +.token.selector { + color: #6679cc; +} + +.token.attr-name { + color: #c76b29; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #22a2c9; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #ac9739; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #22a2c9; +} + +.token.placeholder, +.token.variable { + color: #3d8fd1; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f5f7ff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #c94922; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #c94922; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #293256 !important; +} + +.line-numbers-rows > span:before { + color: #5e6687 !important; +} + +.line-highlight { + background: rgba(245, 247, 255, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(245, 247, 255, 0.2) 70%, rgba(245, 247, 255, 0)) !important; + background: linear-gradient(to right, rgba(245, 247, 255, 0.2) 70%, rgba(245, 247, 255, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-ateliersulphurpool.light.css b/plugins/prism-highlight/css/themes/prism-base16-ateliersulphurpool.light.css new file mode 100644 index 0000000..0ba8d5b --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-ateliersulphurpool.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Atelier Sulphurpool Light +Author: Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f5f7ff; + color: #5e6687; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #dfe2f1; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #dfe2f1; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #898ea4; +} + +.token.punctuation { + color: #5e6687; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #c76b29; +} + +.token.property { + color: #c08b30; +} + +.token.tag { + color: #3d8fd1; +} + +.token.string { + color: #22a2c9; +} + +.token.selector { + color: #6679cc; +} + +.token.attr-name { + color: #c76b29; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #22a2c9; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #ac9739; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #22a2c9; +} + +.token.placeholder, +.token.variable { + color: #3d8fd1; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #202746; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #c94922; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #c94922; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #dfe2f1 !important; +} + +.line-numbers-rows > span:before { + color: #979db4 !important; +} + +.line-highlight { + background: rgba(32, 39, 70, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(32, 39, 70, 0.2) 70%, rgba(32, 39, 70, 0)) !important; + background: linear-gradient(to right, rgba(32, 39, 70, 0.2) 70%, rgba(32, 39, 70, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-bespin.dark.css b/plugins/prism-highlight/css/themes/prism-base16-bespin.dark.css new file mode 100644 index 0000000..e01abad --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-bespin.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Bespin Dark +Author: Jan T. Sott + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #28211c; + color: #8a8986; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #797977; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #797977; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #666666; +} + +.token.punctuation { + color: #8a8986; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #cf7d34; +} + +.token.property { + color: #f9ee98; +} + +.token.tag { + color: #5ea6ea; +} + +.token.string { + color: #afc4db; +} + +.token.selector { + color: #9b859d; +} + +.token.attr-name { + color: #cf7d34; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #afc4db; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #54be0d; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #afc4db; +} + +.token.placeholder, +.token.variable { + color: #5ea6ea; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #baae9e; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #cf6a4c; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #cf6a4c; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #36312e !important; +} + +.line-numbers-rows > span:before { + color: #5e5d5c !important; +} + +.line-highlight { + background: rgba(186, 174, 158, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(186, 174, 158, 0.2) 70%, rgba(186, 174, 158, 0)) !important; + background: linear-gradient(to right, rgba(186, 174, 158, 0.2) 70%, rgba(186, 174, 158, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-bespin.light.css b/plugins/prism-highlight/css/themes/prism-base16-bespin.light.css new file mode 100644 index 0000000..9d56902 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-bespin.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Bespin Light +Author: Jan T. Sott + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #baae9e; + color: #5e5d5c; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #9d9b97; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #9d9b97; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #797977; +} + +.token.punctuation { + color: #5e5d5c; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #cf7d34; +} + +.token.property { + color: #f9ee98; +} + +.token.tag { + color: #5ea6ea; +} + +.token.string { + color: #afc4db; +} + +.token.selector { + color: #9b859d; +} + +.token.attr-name { + color: #cf7d34; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #afc4db; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #54be0d; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #afc4db; +} + +.token.placeholder, +.token.variable { + color: #5ea6ea; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #28211c; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #cf6a4c; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #cf6a4c; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #9d9b97 !important; +} + +.line-numbers-rows > span:before { + color: #8a8986 !important; +} + +.line-highlight { + background: rgba(40, 33, 28, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(40, 33, 28, 0.2) 70%, rgba(40, 33, 28, 0)) !important; + background: linear-gradient(to right, rgba(40, 33, 28, 0.2) 70%, rgba(40, 33, 28, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-brewer.dark.css b/plugins/prism-highlight/css/themes/prism-base16-brewer.dark.css new file mode 100644 index 0000000..7f69095 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-brewer.dark.css @@ -0,0 +1,166 @@ +@charset "UTF-8"; +/* + +Name: Base16 Brewer Dark +Author: Timothée Poisot (http://github.com/tpoisot) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #0c0d0e; + color: #b7b8b9; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #959697; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #959697; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #737475; +} + +.token.punctuation { + color: #b7b8b9; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #e6550d; +} + +.token.property { + color: #dca060; +} + +.token.tag { + color: #3182bd; +} + +.token.string { + color: #80b1d3; +} + +.token.selector { + color: #756bb1; +} + +.token.attr-name { + color: #e6550d; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #80b1d3; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #31a354; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #80b1d3; +} + +.token.placeholder, +.token.variable { + color: #3182bd; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #fcfdfe; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #e31a1c; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #e31a1c; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #2e2f30 !important; +} + +.line-numbers-rows > span:before { + color: #515253 !important; +} + +.line-highlight { + background: rgba(252, 253, 254, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(252, 253, 254, 0.2) 70%, rgba(252, 253, 254, 0)) !important; + background: linear-gradient(to right, rgba(252, 253, 254, 0.2) 70%, rgba(252, 253, 254, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-brewer.light.css b/plugins/prism-highlight/css/themes/prism-base16-brewer.light.css new file mode 100644 index 0000000..008f6a1 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-brewer.light.css @@ -0,0 +1,166 @@ +@charset "UTF-8"; +/* + +Name: Base16 Brewer Light +Author: Timothée Poisot (http://github.com/tpoisot) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #fcfdfe; + color: #515253; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #dadbdc; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #dadbdc; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #959697; +} + +.token.punctuation { + color: #515253; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #e6550d; +} + +.token.property { + color: #dca060; +} + +.token.tag { + color: #3182bd; +} + +.token.string { + color: #80b1d3; +} + +.token.selector { + color: #756bb1; +} + +.token.attr-name { + color: #e6550d; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #80b1d3; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #31a354; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #80b1d3; +} + +.token.placeholder, +.token.variable { + color: #3182bd; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #0c0d0e; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #e31a1c; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #e31a1c; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #dadbdc !important; +} + +.line-numbers-rows > span:before { + color: #b7b8b9 !important; +} + +.line-highlight { + background: rgba(12, 13, 14, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(12, 13, 14, 0.2) 70%, rgba(12, 13, 14, 0)) !important; + background: linear-gradient(to right, rgba(12, 13, 14, 0.2) 70%, rgba(12, 13, 14, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-bright.dark.css b/plugins/prism-highlight/css/themes/prism-base16-bright.dark.css new file mode 100644 index 0000000..167142e --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-bright.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Bright Dark +Author: Chris Kempson (http://chriskempson.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #000000; + color: #e0e0e0; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #d0d0d0; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #d0d0d0; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #b0b0b0; +} + +.token.punctuation { + color: #e0e0e0; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #fc6d24; +} + +.token.property { + color: #fda331; +} + +.token.tag { + color: #6fb3d2; +} + +.token.string { + color: #76c7b7; +} + +.token.selector { + color: #d381c3; +} + +.token.attr-name { + color: #fc6d24; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #76c7b7; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #a1c659; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #76c7b7; +} + +.token.placeholder, +.token.variable { + color: #6fb3d2; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ffffff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #fb0120; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #fb0120; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #303030 !important; +} + +.line-numbers-rows > span:before { + color: #505050 !important; +} + +.line-highlight { + background: rgba(255, 255, 255, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0)) !important; + background: linear-gradient(to right, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-bright.light.css b/plugins/prism-highlight/css/themes/prism-base16-bright.light.css new file mode 100644 index 0000000..edb5672 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-bright.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Bright Light +Author: Chris Kempson (http://chriskempson.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #ffffff; + color: #505050; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #f5f5f5; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #f5f5f5; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #d0d0d0; +} + +.token.punctuation { + color: #505050; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #fc6d24; +} + +.token.property { + color: #fda331; +} + +.token.tag { + color: #6fb3d2; +} + +.token.string { + color: #76c7b7; +} + +.token.selector { + color: #d381c3; +} + +.token.attr-name { + color: #fc6d24; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #76c7b7; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #a1c659; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #76c7b7; +} + +.token.placeholder, +.token.variable { + color: #6fb3d2; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #000000; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #fb0120; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #fb0120; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #f5f5f5 !important; +} + +.line-numbers-rows > span:before { + color: #e0e0e0 !important; +} + +.line-highlight { + background: rgba(0, 0, 0, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.2) 70%, transparent) !important; + background: linear-gradient(to right, rgba(0, 0, 0, 0.2) 70%, transparent) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-chalk.dark.css b/plugins/prism-highlight/css/themes/prism-base16-chalk.dark.css new file mode 100644 index 0000000..6961828 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-chalk.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Chalk Dark +Author: Chris Kempson (http://chriskempson.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #151515; + color: #d0d0d0; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b0b0b0; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #b0b0b0; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #505050; +} + +.token.punctuation { + color: #d0d0d0; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #eda987; +} + +.token.property { + color: #ddb26f; +} + +.token.tag { + color: #6fc2ef; +} + +.token.string { + color: #12cfc0; +} + +.token.selector { + color: #e1a3ee; +} + +.token.attr-name { + color: #eda987; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #12cfc0; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #acc267; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #12cfc0; +} + +.token.placeholder, +.token.variable { + color: #6fc2ef; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f5f5f5; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #fb9fb1; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #fb9fb1; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #202020 !important; +} + +.line-numbers-rows > span:before { + color: #303030 !important; +} + +.line-highlight { + background: rgba(245, 245, 245, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(245, 245, 245, 0.2) 70%, rgba(245, 245, 245, 0)) !important; + background: linear-gradient(to right, rgba(245, 245, 245, 0.2) 70%, rgba(245, 245, 245, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-chalk.light.css b/plugins/prism-highlight/css/themes/prism-base16-chalk.light.css new file mode 100644 index 0000000..8337de2 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-chalk.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Chalk Light +Author: Chris Kempson (http://chriskempson.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f5f5f5; + color: #303030; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e0e0e0; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e0e0e0; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #b0b0b0; +} + +.token.punctuation { + color: #303030; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #eda987; +} + +.token.property { + color: #ddb26f; +} + +.token.tag { + color: #6fc2ef; +} + +.token.string { + color: #12cfc0; +} + +.token.selector { + color: #e1a3ee; +} + +.token.attr-name { + color: #eda987; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #12cfc0; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #acc267; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #12cfc0; +} + +.token.placeholder, +.token.variable { + color: #6fc2ef; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #151515; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #fb9fb1; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #fb9fb1; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #e0e0e0 !important; +} + +.line-numbers-rows > span:before { + color: #d0d0d0 !important; +} + +.line-highlight { + background: rgba(21, 21, 21, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(21, 21, 21, 0.2) 70%, rgba(21, 21, 21, 0)) !important; + background: linear-gradient(to right, rgba(21, 21, 21, 0.2) 70%, rgba(21, 21, 21, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-codeschool.dark.css b/plugins/prism-highlight/css/themes/prism-base16-codeschool.dark.css new file mode 100644 index 0000000..1afb7ed --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-codeschool.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Codeschool Dark +Author: brettof86 + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #232c31; + color: #9ea7a6; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #84898c; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #84898c; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #3f4944; +} + +.token.punctuation { + color: #9ea7a6; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #43820d; +} + +.token.property { + color: #a03b1e; +} + +.token.tag { + color: #484d79; +} + +.token.string { + color: #b02f30; +} + +.token.selector { + color: #c59820; +} + +.token.attr-name { + color: #43820d; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #b02f30; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #237986; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #b02f30; +} + +.token.placeholder, +.token.variable { + color: #484d79; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #b5d8f6; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #2a5491; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #2a5491; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #1c3657 !important; +} + +.line-numbers-rows > span:before { + color: #2a343a !important; +} + +.line-highlight { + background: rgba(181, 216, 246, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(181, 216, 246, 0.2) 70%, rgba(181, 216, 246, 0)) !important; + background: linear-gradient(to right, rgba(181, 216, 246, 0.2) 70%, rgba(181, 216, 246, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-codeschool.light.css b/plugins/prism-highlight/css/themes/prism-base16-codeschool.light.css new file mode 100644 index 0000000..b4f4be7 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-codeschool.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Codeschool Light +Author: brettof86 + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #b5d8f6; + color: #2a343a; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #a7cfa3; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #a7cfa3; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #84898c; +} + +.token.punctuation { + color: #2a343a; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #43820d; +} + +.token.property { + color: #a03b1e; +} + +.token.tag { + color: #484d79; +} + +.token.string { + color: #b02f30; +} + +.token.selector { + color: #c59820; +} + +.token.attr-name { + color: #43820d; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #b02f30; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #237986; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #b02f30; +} + +.token.placeholder, +.token.variable { + color: #484d79; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #232c31; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #2a5491; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #2a5491; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #a7cfa3 !important; +} + +.line-numbers-rows > span:before { + color: #9ea7a6 !important; +} + +.line-highlight { + background: rgba(35, 44, 49, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(35, 44, 49, 0.2) 70%, rgba(35, 44, 49, 0)) !important; + background: linear-gradient(to right, rgba(35, 44, 49, 0.2) 70%, rgba(35, 44, 49, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-colors.dark.css b/plugins/prism-highlight/css/themes/prism-base16-colors.dark.css new file mode 100644 index 0000000..3eb6181 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-colors.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Colors Dark +Author: mrmrs (http://clrs.cc) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #111111; + color: #bbbbbb; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #999999; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #999999; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #777777; +} + +.token.punctuation { + color: #bbbbbb; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #ff851b; +} + +.token.property { + color: #ffdc00; +} + +.token.tag { + color: #0074d9; +} + +.token.string { + color: #7fdbff; +} + +.token.selector { + color: #b10dc9; +} + +.token.attr-name { + color: #ff851b; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #7fdbff; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #2ecc40; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #7fdbff; +} + +.token.placeholder, +.token.variable { + color: #0074d9; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ffffff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ff4136; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #ff4136; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #333333 !important; +} + +.line-numbers-rows > span:before { + color: #555555 !important; +} + +.line-highlight { + background: rgba(255, 255, 255, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0)) !important; + background: linear-gradient(to right, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-colors.light.css b/plugins/prism-highlight/css/themes/prism-base16-colors.light.css new file mode 100644 index 0000000..3e6caa2 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-colors.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Colors Light +Author: mrmrs (http://clrs.cc) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #ffffff; + color: #555555; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #dddddd; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #dddddd; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #999999; +} + +.token.punctuation { + color: #555555; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #ff851b; +} + +.token.property { + color: #ffdc00; +} + +.token.tag { + color: #0074d9; +} + +.token.string { + color: #7fdbff; +} + +.token.selector { + color: #b10dc9; +} + +.token.attr-name { + color: #ff851b; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #7fdbff; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #2ecc40; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #7fdbff; +} + +.token.placeholder, +.token.variable { + color: #0074d9; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #111111; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ff4136; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #ff4136; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #dddddd !important; +} + +.line-numbers-rows > span:before { + color: #bbbbbb !important; +} + +.line-highlight { + background: rgba(17, 17, 17, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(17, 17, 17, 0.2) 70%, rgba(17, 17, 17, 0)) !important; + background: linear-gradient(to right, rgba(17, 17, 17, 0.2) 70%, rgba(17, 17, 17, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-default.dark.css b/plugins/prism-highlight/css/themes/prism-base16-default.dark.css new file mode 100644 index 0000000..4d9b366 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-default.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Default Dark +Author: Chris Kempson (http://chriskempson.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #181818; + color: #d8d8d8; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b8b8b8; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #b8b8b8; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #585858; +} + +.token.punctuation { + color: #d8d8d8; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #dc9656; +} + +.token.property { + color: #f7ca88; +} + +.token.tag { + color: #7cafc2; +} + +.token.string { + color: #86c1b9; +} + +.token.selector { + color: #ba8baf; +} + +.token.attr-name { + color: #dc9656; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #86c1b9; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #a1b56c; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #86c1b9; +} + +.token.placeholder, +.token.variable { + color: #7cafc2; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f8f8f8; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ab4642; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #ab4642; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #282828 !important; +} + +.line-numbers-rows > span:before { + color: #383838 !important; +} + +.line-highlight { + background: rgba(248, 248, 248, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(248, 248, 248, 0.2) 70%, rgba(248, 248, 248, 0)) !important; + background: linear-gradient(to right, rgba(248, 248, 248, 0.2) 70%, rgba(248, 248, 248, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-default.light.css b/plugins/prism-highlight/css/themes/prism-base16-default.light.css new file mode 100644 index 0000000..a145683 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-default.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Default Light +Author: Chris Kempson (http://chriskempson.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f8f8f8; + color: #383838; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e8e8e8; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e8e8e8; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #b8b8b8; +} + +.token.punctuation { + color: #383838; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #dc9656; +} + +.token.property { + color: #f7ca88; +} + +.token.tag { + color: #7cafc2; +} + +.token.string { + color: #86c1b9; +} + +.token.selector { + color: #ba8baf; +} + +.token.attr-name { + color: #dc9656; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #86c1b9; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #a1b56c; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #86c1b9; +} + +.token.placeholder, +.token.variable { + color: #7cafc2; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #181818; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ab4642; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #ab4642; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #e8e8e8 !important; +} + +.line-numbers-rows > span:before { + color: #d8d8d8 !important; +} + +.line-highlight { + background: rgba(24, 24, 24, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(24, 24, 24, 0.2) 70%, rgba(24, 24, 24, 0)) !important; + background: linear-gradient(to right, rgba(24, 24, 24, 0.2) 70%, rgba(24, 24, 24, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-eighties.dark.css b/plugins/prism-highlight/css/themes/prism-base16-eighties.dark.css new file mode 100644 index 0000000..9e3189a --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-eighties.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Eighties Dark +Author: Chris Kempson (http://chriskempson.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #2d2d2d; + color: #d3d0c8; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #a09f93; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #a09f93; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #747369; +} + +.token.punctuation { + color: #d3d0c8; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #f99157; +} + +.token.property { + color: #ffcc66; +} + +.token.tag { + color: #6699cc; +} + +.token.string { + color: #66cccc; +} + +.token.selector { + color: #cc99cc; +} + +.token.attr-name { + color: #f99157; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #66cccc; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #99cc99; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #66cccc; +} + +.token.placeholder, +.token.variable { + color: #6699cc; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f2f0ec; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #f2777a; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #f2777a; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #393939 !important; +} + +.line-numbers-rows > span:before { + color: #515151 !important; +} + +.line-highlight { + background: rgba(242, 240, 236, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(242, 240, 236, 0.2) 70%, rgba(242, 240, 236, 0)) !important; + background: linear-gradient(to right, rgba(242, 240, 236, 0.2) 70%, rgba(242, 240, 236, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-eighties.light.css b/plugins/prism-highlight/css/themes/prism-base16-eighties.light.css new file mode 100644 index 0000000..5999bf7 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-eighties.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Eighties Light +Author: Chris Kempson (http://chriskempson.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f2f0ec; + color: #515151; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e8e6df; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e8e6df; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #a09f93; +} + +.token.punctuation { + color: #515151; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #f99157; +} + +.token.property { + color: #ffcc66; +} + +.token.tag { + color: #6699cc; +} + +.token.string { + color: #66cccc; +} + +.token.selector { + color: #cc99cc; +} + +.token.attr-name { + color: #f99157; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #66cccc; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #99cc99; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #66cccc; +} + +.token.placeholder, +.token.variable { + color: #6699cc; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #2d2d2d; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #f2777a; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #f2777a; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #e8e6df !important; +} + +.line-numbers-rows > span:before { + color: #d3d0c8 !important; +} + +.line-highlight { + background: rgba(45, 45, 45, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(45, 45, 45, 0.2) 70%, rgba(45, 45, 45, 0)) !important; + background: linear-gradient(to right, rgba(45, 45, 45, 0.2) 70%, rgba(45, 45, 45, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-embers.dark.css b/plugins/prism-highlight/css/themes/prism-base16-embers.dark.css new file mode 100644 index 0000000..e7a659c --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-embers.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Embers Dark +Author: Jannik Siebert (https://github.com/janniks) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #16130F; + color: #A39A90; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #8A8075; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #8A8075; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #5A5047; +} + +.token.punctuation { + color: #A39A90; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #828257; +} + +.token.property { + color: #6D8257; +} + +.token.tag { + color: #6D5782; +} + +.token.string { + color: #576D82; +} + +.token.selector { + color: #82576D; +} + +.token.attr-name { + color: #828257; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #576D82; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #57826D; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #576D82; +} + +.token.placeholder, +.token.variable { + color: #6D5782; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #DBD6D1; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #826D57; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #826D57; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #2C2620 !important; +} + +.line-numbers-rows > span:before { + color: #433B32 !important; +} + +.line-highlight { + background: rgba(219, 214, 209, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(219, 214, 209, 0.2) 70%, rgba(219, 214, 209, 0)) !important; + background: linear-gradient(to right, rgba(219, 214, 209, 0.2) 70%, rgba(219, 214, 209, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-embers.light.css b/plugins/prism-highlight/css/themes/prism-base16-embers.light.css new file mode 100644 index 0000000..4f3eed7 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-embers.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Embers Light +Author: Jannik Siebert (https://github.com/janniks) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #DBD6D1; + color: #433B32; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #BEB6AE; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #BEB6AE; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #8A8075; +} + +.token.punctuation { + color: #433B32; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #828257; +} + +.token.property { + color: #6D8257; +} + +.token.tag { + color: #6D5782; +} + +.token.string { + color: #576D82; +} + +.token.selector { + color: #82576D; +} + +.token.attr-name { + color: #828257; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #576D82; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #57826D; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #576D82; +} + +.token.placeholder, +.token.variable { + color: #6D5782; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #16130F; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #826D57; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #826D57; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #BEB6AE !important; +} + +.line-numbers-rows > span:before { + color: #A39A90 !important; +} + +.line-highlight { + background: rgba(22, 19, 15, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(22, 19, 15, 0.2) 70%, rgba(22, 19, 15, 0)) !important; + background: linear-gradient(to right, rgba(22, 19, 15, 0.2) 70%, rgba(22, 19, 15, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-flat.dark.css b/plugins/prism-highlight/css/themes/prism-base16-flat.dark.css new file mode 100644 index 0000000..e8a5b8b --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-flat.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Flat Dark +Author: Chris Kempson (http://chriskempson.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #2C3E50; + color: #e0e0e0; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #BDC3C7; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #BDC3C7; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #95A5A6; +} + +.token.punctuation { + color: #e0e0e0; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #E67E22; +} + +.token.property { + color: #F1C40F; +} + +.token.tag { + color: #3498DB; +} + +.token.string { + color: #1ABC9C; +} + +.token.selector { + color: #9B59B6; +} + +.token.attr-name { + color: #E67E22; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #1ABC9C; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #2ECC71; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #1ABC9C; +} + +.token.placeholder, +.token.variable { + color: #3498DB; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ECF0F1; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #E74C3C; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #E74C3C; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #34495E !important; +} + +.line-numbers-rows > span:before { + color: #7F8C8D !important; +} + +.line-highlight { + background: rgba(236, 240, 241, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(236, 240, 241, 0.2) 70%, rgba(236, 240, 241, 0)) !important; + background: linear-gradient(to right, rgba(236, 240, 241, 0.2) 70%, rgba(236, 240, 241, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-flat.light.css b/plugins/prism-highlight/css/themes/prism-base16-flat.light.css new file mode 100644 index 0000000..2bc9616 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-flat.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Flat Light +Author: Chris Kempson (http://chriskempson.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f9f9f9; + color: #7F8C8D; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #f5f5f5; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #f5f5f5; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #BDC3C7; +} + +.token.punctuation { + color: #7F8C8D; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #E67E22; +} + +.token.property { + color: #F1C40F; +} + +.token.tag { + color: #3498DB; +} + +.token.string { + color: #1ABC9C; +} + +.token.selector { + color: #9B59B6; +} + +.token.attr-name { + color: #E67E22; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #1ABC9C; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #2ECC71; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #1ABC9C; +} + +.token.placeholder, +.token.variable { + color: #3498DB; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #2C3E50; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #E74C3C; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #E74C3C; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #EAEBEC !important; +} + +.line-numbers-rows > span:before { + color: #e0e0e0 !important; +} + +.line-highlight { + background: rgba(44, 62, 80, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(44, 62, 80, 0.2) 70%, rgba(44, 62, 80, 0)) !important; + background: linear-gradient(to right, rgba(44, 62, 80, 0.2) 70%, rgba(44, 62, 80, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-google.dark.css b/plugins/prism-highlight/css/themes/prism-base16-google.dark.css new file mode 100644 index 0000000..8968252 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-google.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Google Dark +Author: Seth Wright (http://sethawright.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #1d1f21; + color: #c5c8c6; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b4b7b4; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #b4b7b4; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #969896; +} + +.token.punctuation { + color: #c5c8c6; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #F96A38; +} + +.token.property { + color: #FBA922; +} + +.token.tag { + color: #3971ED; +} + +.token.string { + color: #3971ED; +} + +.token.selector { + color: #A36AC7; +} + +.token.attr-name { + color: #F96A38; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #3971ED; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #198844; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #3971ED; +} + +.token.placeholder, +.token.variable { + color: #3971ED; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ffffff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #CC342B; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #CC342B; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #282a2e !important; +} + +.line-numbers-rows > span:before { + color: #373b41 !important; +} + +.line-highlight { + background: rgba(255, 255, 255, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0)) !important; + background: linear-gradient(to right, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-google.light.css b/plugins/prism-highlight/css/themes/prism-base16-google.light.css new file mode 100644 index 0000000..ef38187 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-google.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Google Light +Author: Seth Wright (http://sethawright.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #ffffff; + color: #373b41; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e0e0e0; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e0e0e0; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #b4b7b4; +} + +.token.punctuation { + color: #373b41; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #F96A38; +} + +.token.property { + color: #FBA922; +} + +.token.tag { + color: #3971ED; +} + +.token.string { + color: #3971ED; +} + +.token.selector { + color: #A36AC7; +} + +.token.attr-name { + color: #F96A38; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #3971ED; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #198844; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #3971ED; +} + +.token.placeholder, +.token.variable { + color: #3971ED; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #1d1f21; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #CC342B; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #CC342B; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #e0e0e0 !important; +} + +.line-numbers-rows > span:before { + color: #c5c8c6 !important; +} + +.line-highlight { + background: rgba(29, 31, 33, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(29, 31, 33, 0.2) 70%, rgba(29, 31, 33, 0)) !important; + background: linear-gradient(to right, rgba(29, 31, 33, 0.2) 70%, rgba(29, 31, 33, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-grayscale.dark.css b/plugins/prism-highlight/css/themes/prism-base16-grayscale.dark.css new file mode 100644 index 0000000..d4b8122 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-grayscale.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Grayscale Dark +Author: Alexandre Gavioli (https://github.com/Alexx2/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #101010; + color: #b9b9b9; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #ababab; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #ababab; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #525252; +} + +.token.punctuation { + color: #b9b9b9; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #999999; +} + +.token.property { + color: #a0a0a0; +} + +.token.tag { + color: #686868; +} + +.token.string { + color: #868686; +} + +.token.selector { + color: #747474; +} + +.token.attr-name { + color: #999999; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #868686; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #8e8e8e; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #868686; +} + +.token.placeholder, +.token.variable { + color: #686868; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f7f7f7; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #7c7c7c; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #7c7c7c; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #252525 !important; +} + +.line-numbers-rows > span:before { + color: #464646 !important; +} + +.line-highlight { + background: rgba(247, 247, 247, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(247, 247, 247, 0.2) 70%, rgba(247, 247, 247, 0)) !important; + background: linear-gradient(to right, rgba(247, 247, 247, 0.2) 70%, rgba(247, 247, 247, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-grayscale.light.css b/plugins/prism-highlight/css/themes/prism-base16-grayscale.light.css new file mode 100644 index 0000000..8d49c57 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-grayscale.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Grayscale Light +Author: Alexandre Gavioli (https://github.com/Alexx2/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f7f7f7; + color: #464646; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e3e3e3; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e3e3e3; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #ababab; +} + +.token.punctuation { + color: #464646; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #999999; +} + +.token.property { + color: #a0a0a0; +} + +.token.tag { + color: #686868; +} + +.token.string { + color: #868686; +} + +.token.selector { + color: #747474; +} + +.token.attr-name { + color: #999999; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #868686; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #8e8e8e; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #868686; +} + +.token.placeholder, +.token.variable { + color: #686868; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #101010; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #7c7c7c; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #7c7c7c; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #e3e3e3 !important; +} + +.line-numbers-rows > span:before { + color: #b9b9b9 !important; +} + +.line-highlight { + background: rgba(16, 16, 16, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(16, 16, 16, 0.2) 70%, rgba(16, 16, 16, 0)) !important; + background: linear-gradient(to right, rgba(16, 16, 16, 0.2) 70%, rgba(16, 16, 16, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-greenscreen.dark.css b/plugins/prism-highlight/css/themes/prism-base16-greenscreen.dark.css new file mode 100644 index 0000000..690f8c8 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-greenscreen.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Green Screen Dark +Author: Chris Kempson (http://chriskempson.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #001100; + color: #00bb00; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #009900; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #009900; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #007700; +} + +.token.punctuation { + color: #00bb00; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #009900; +} + +.token.property { + color: #007700; +} + +.token.tag { + color: #009900; +} + +.token.string { + color: #005500; +} + +.token.selector { + color: #00bb00; +} + +.token.attr-name { + color: #009900; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #005500; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #00bb00; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #005500; +} + +.token.placeholder, +.token.variable { + color: #009900; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #00ff00; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #007700; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #007700; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #003300 !important; +} + +.line-numbers-rows > span:before { + color: #005500 !important; +} + +.line-highlight { + background: rgba(0, 255, 0, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(0, 255, 0, 0.2) 70%, rgba(0, 255, 0, 0)) !important; + background: linear-gradient(to right, rgba(0, 255, 0, 0.2) 70%, rgba(0, 255, 0, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-greenscreen.light.css b/plugins/prism-highlight/css/themes/prism-base16-greenscreen.light.css new file mode 100644 index 0000000..fe2bddb --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-greenscreen.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Green Screen Light +Author: Chris Kempson (http://chriskempson.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #00ff00; + color: #005500; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #00dd00; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #00dd00; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #009900; +} + +.token.punctuation { + color: #005500; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #009900; +} + +.token.property { + color: #007700; +} + +.token.tag { + color: #009900; +} + +.token.string { + color: #005500; +} + +.token.selector { + color: #00bb00; +} + +.token.attr-name { + color: #009900; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #005500; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #00bb00; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #005500; +} + +.token.placeholder, +.token.variable { + color: #009900; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #001100; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #007700; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #007700; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #00dd00 !important; +} + +.line-numbers-rows > span:before { + color: #00bb00 !important; +} + +.line-highlight { + background: rgba(0, 17, 0, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(0, 17, 0, 0.2) 70%, rgba(0, 17, 0, 0)) !important; + background: linear-gradient(to right, rgba(0, 17, 0, 0.2) 70%, rgba(0, 17, 0, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-harmonic16.dark.css b/plugins/prism-highlight/css/themes/prism-base16-harmonic16.dark.css new file mode 100644 index 0000000..430218f --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-harmonic16.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 harmonic16 Dark +Author: Jannik Siebert (https://github.com/janniks) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #0b1c2c; + color: #cbd6e2; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #aabcce; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #aabcce; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #627e99; +} + +.token.punctuation { + color: #cbd6e2; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #bfbf56; +} + +.token.property { + color: #8bbf56; +} + +.token.tag { + color: #8b56bf; +} + +.token.string { + color: #568bbf; +} + +.token.selector { + color: #bf568b; +} + +.token.attr-name { + color: #bfbf56; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #568bbf; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #56bf8b; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #568bbf; +} + +.token.placeholder, +.token.variable { + color: #8b56bf; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f7f9fb; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #bf8b56; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #bf8b56; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #223b54 !important; +} + +.line-numbers-rows > span:before { + color: #405c79 !important; +} + +.line-highlight { + background: rgba(247, 249, 251, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(247, 249, 251, 0.2) 70%, rgba(247, 249, 251, 0)) !important; + background: linear-gradient(to right, rgba(247, 249, 251, 0.2) 70%, rgba(247, 249, 251, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-harmonic16.light.css b/plugins/prism-highlight/css/themes/prism-base16-harmonic16.light.css new file mode 100644 index 0000000..a8d96ca --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-harmonic16.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 harmonic16 Light +Author: Jannik Siebert (https://github.com/janniks) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f7f9fb; + color: #405c79; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e5ebf1; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e5ebf1; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #aabcce; +} + +.token.punctuation { + color: #405c79; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #bfbf56; +} + +.token.property { + color: #8bbf56; +} + +.token.tag { + color: #8b56bf; +} + +.token.string { + color: #568bbf; +} + +.token.selector { + color: #bf568b; +} + +.token.attr-name { + color: #bfbf56; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #568bbf; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #56bf8b; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #568bbf; +} + +.token.placeholder, +.token.variable { + color: #8b56bf; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #0b1c2c; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #bf8b56; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #bf8b56; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #e5ebf1 !important; +} + +.line-numbers-rows > span:before { + color: #cbd6e2 !important; +} + +.line-highlight { + background: rgba(11, 28, 44, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(11, 28, 44, 0.2) 70%, rgba(11, 28, 44, 0)) !important; + background: linear-gradient(to right, rgba(11, 28, 44, 0.2) 70%, rgba(11, 28, 44, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-hopscotch.dark.css b/plugins/prism-highlight/css/themes/prism-base16-hopscotch.dark.css new file mode 100644 index 0000000..b769ab0 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-hopscotch.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Hopscotch Dark +Author: Jan T. Sott + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #322931; + color: #b9b5b8; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #989498; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #989498; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #797379; +} + +.token.punctuation { + color: #b9b5b8; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #fd8b19; +} + +.token.property { + color: #fdcc59; +} + +.token.tag { + color: #1290bf; +} + +.token.string { + color: #149b93; +} + +.token.selector { + color: #c85e7c; +} + +.token.attr-name { + color: #fd8b19; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #149b93; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #8fc13e; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #149b93; +} + +.token.placeholder, +.token.variable { + color: #1290bf; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ffffff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #dd464c; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #dd464c; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #433b42 !important; +} + +.line-numbers-rows > span:before { + color: #5c545b !important; +} + +.line-highlight { + background: rgba(255, 255, 255, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0)) !important; + background: linear-gradient(to right, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-hopscotch.light.css b/plugins/prism-highlight/css/themes/prism-base16-hopscotch.light.css new file mode 100644 index 0000000..f660582 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-hopscotch.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Hopscotch Light +Author: Jan T. Sott + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #ffffff; + color: #5c545b; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #d5d3d5; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #d5d3d5; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #989498; +} + +.token.punctuation { + color: #5c545b; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #fd8b19; +} + +.token.property { + color: #fdcc59; +} + +.token.tag { + color: #1290bf; +} + +.token.string { + color: #149b93; +} + +.token.selector { + color: #c85e7c; +} + +.token.attr-name { + color: #fd8b19; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #149b93; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #8fc13e; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #149b93; +} + +.token.placeholder, +.token.variable { + color: #1290bf; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #322931; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #dd464c; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #dd464c; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #d5d3d5 !important; +} + +.line-numbers-rows > span:before { + color: #b9b5b8 !important; +} + +.line-highlight { + background: rgba(50, 41, 49, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(50, 41, 49, 0.2) 70%, rgba(50, 41, 49, 0)) !important; + background: linear-gradient(to right, rgba(50, 41, 49, 0.2) 70%, rgba(50, 41, 49, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-isotope.dark.css b/plugins/prism-highlight/css/themes/prism-base16-isotope.dark.css new file mode 100644 index 0000000..0e45f26 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-isotope.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Isotope Dark +Author: Jan T. Sott + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #000000; + color: #d0d0d0; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #c0c0c0; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #c0c0c0; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #808080; +} + +.token.punctuation { + color: #d0d0d0; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #ff9900; +} + +.token.property { + color: #ff0099; +} + +.token.tag { + color: #0066ff; +} + +.token.string { + color: #00ffff; +} + +.token.selector { + color: #cc00ff; +} + +.token.attr-name { + color: #ff9900; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #00ffff; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #33ff00; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #00ffff; +} + +.token.placeholder, +.token.variable { + color: #0066ff; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ffffff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ff0000; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #ff0000; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #404040 !important; +} + +.line-numbers-rows > span:before { + color: #606060 !important; +} + +.line-highlight { + background: rgba(255, 255, 255, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0)) !important; + background: linear-gradient(to right, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-isotope.light.css b/plugins/prism-highlight/css/themes/prism-base16-isotope.light.css new file mode 100644 index 0000000..3fd26b1 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-isotope.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Isotope Light +Author: Jan T. Sott + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #ffffff; + color: #606060; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e0e0e0; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e0e0e0; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #c0c0c0; +} + +.token.punctuation { + color: #606060; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #ff9900; +} + +.token.property { + color: #ff0099; +} + +.token.tag { + color: #0066ff; +} + +.token.string { + color: #00ffff; +} + +.token.selector { + color: #cc00ff; +} + +.token.attr-name { + color: #ff9900; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #00ffff; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #33ff00; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #00ffff; +} + +.token.placeholder, +.token.variable { + color: #0066ff; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #000000; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ff0000; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #ff0000; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #e0e0e0 !important; +} + +.line-numbers-rows > span:before { + color: #d0d0d0 !important; +} + +.line-highlight { + background: rgba(0, 0, 0, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.2) 70%, transparent) !important; + background: linear-gradient(to right, rgba(0, 0, 0, 0.2) 70%, transparent) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-londontube.dark.css b/plugins/prism-highlight/css/themes/prism-base16-londontube.dark.css new file mode 100644 index 0000000..f7b780c --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-londontube.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 London Tube Dark +Author: Jan T. Sott + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #231f20; + color: #d9d8d8; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #959ca1; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #959ca1; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #737171; +} + +.token.punctuation { + color: #d9d8d8; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #f386a1; +} + +.token.property { + color: #ffd204; +} + +.token.tag { + color: #009ddc; +} + +.token.string { + color: #85cebc; +} + +.token.selector { + color: #98005d; +} + +.token.attr-name { + color: #f386a1; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #85cebc; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #00853e; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #85cebc; +} + +.token.placeholder, +.token.variable { + color: #009ddc; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ffffff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ee2e24; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #ee2e24; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #1c3f95 !important; +} + +.line-numbers-rows > span:before { + color: #5a5758 !important; +} + +.line-highlight { + background: rgba(255, 255, 255, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0)) !important; + background: linear-gradient(to right, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-londontube.light.css b/plugins/prism-highlight/css/themes/prism-base16-londontube.light.css new file mode 100644 index 0000000..4b06cc3 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-londontube.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 London Tube Light +Author: Jan T. Sott + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #ffffff; + color: #5a5758; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e7e7e8; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e7e7e8; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #959ca1; +} + +.token.punctuation { + color: #5a5758; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #f386a1; +} + +.token.property { + color: #ffd204; +} + +.token.tag { + color: #009ddc; +} + +.token.string { + color: #85cebc; +} + +.token.selector { + color: #98005d; +} + +.token.attr-name { + color: #f386a1; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #85cebc; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #00853e; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #85cebc; +} + +.token.placeholder, +.token.variable { + color: #009ddc; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #231f20; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ee2e24; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #ee2e24; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #e7e7e8 !important; +} + +.line-numbers-rows > span:before { + color: #d9d8d8 !important; +} + +.line-highlight { + background: rgba(35, 31, 32, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(35, 31, 32, 0.2) 70%, rgba(35, 31, 32, 0)) !important; + background: linear-gradient(to right, rgba(35, 31, 32, 0.2) 70%, rgba(35, 31, 32, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-marrakesh.dark.css b/plugins/prism-highlight/css/themes/prism-base16-marrakesh.dark.css new file mode 100644 index 0000000..2552e1f --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-marrakesh.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Marrakesh Dark +Author: Alexandre Gavioli (http://github.com/Alexx2/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #201602; + color: #948e48; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #86813b; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #86813b; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #6c6823; +} + +.token.punctuation { + color: #948e48; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #b36144; +} + +.token.property { + color: #a88339; +} + +.token.tag { + color: #477ca1; +} + +.token.string { + color: #75a738; +} + +.token.selector { + color: #8868b3; +} + +.token.attr-name { + color: #b36144; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #75a738; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #18974e; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #75a738; +} + +.token.placeholder, +.token.variable { + color: #477ca1; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #faf0a5; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #c35359; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #c35359; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #302e00 !important; +} + +.line-numbers-rows > span:before { + color: #5f5b17 !important; +} + +.line-highlight { + background: rgba(250, 240, 165, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(250, 240, 165, 0.2) 70%, rgba(250, 240, 165, 0)) !important; + background: linear-gradient(to right, rgba(250, 240, 165, 0.2) 70%, rgba(250, 240, 165, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-marrakesh.light.css b/plugins/prism-highlight/css/themes/prism-base16-marrakesh.light.css new file mode 100644 index 0000000..16b75a8 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-marrakesh.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Marrakesh Light +Author: Alexandre Gavioli (http://github.com/Alexx2/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #faf0a5; + color: #5f5b17; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #ccc37a; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #ccc37a; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #86813b; +} + +.token.punctuation { + color: #5f5b17; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #b36144; +} + +.token.property { + color: #a88339; +} + +.token.tag { + color: #477ca1; +} + +.token.string { + color: #75a738; +} + +.token.selector { + color: #8868b3; +} + +.token.attr-name { + color: #b36144; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #75a738; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #18974e; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #75a738; +} + +.token.placeholder, +.token.variable { + color: #477ca1; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #201602; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #c35359; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #c35359; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #ccc37a !important; +} + +.line-numbers-rows > span:before { + color: #948e48 !important; +} + +.line-highlight { + background: rgba(32, 22, 2, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(32, 22, 2, 0.2) 70%, rgba(32, 22, 2, 0)) !important; + background: linear-gradient(to right, rgba(32, 22, 2, 0.2) 70%, rgba(32, 22, 2, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-mocha.dark.css b/plugins/prism-highlight/css/themes/prism-base16-mocha.dark.css new file mode 100644 index 0000000..306b25c --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-mocha.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Mocha Dark +Author: Chris Kempson (http://chriskempson.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #3B3228; + color: #d0c8c6; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b8afad; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #b8afad; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #7e705a; +} + +.token.punctuation { + color: #d0c8c6; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #d28b71; +} + +.token.property { + color: #f4bc87; +} + +.token.tag { + color: #8ab3b5; +} + +.token.string { + color: #7bbda4; +} + +.token.selector { + color: #a89bb9; +} + +.token.attr-name { + color: #d28b71; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #7bbda4; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #beb55b; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #7bbda4; +} + +.token.placeholder, +.token.variable { + color: #8ab3b5; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f5eeeb; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #cb6077; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #cb6077; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #534636 !important; +} + +.line-numbers-rows > span:before { + color: #645240 !important; +} + +.line-highlight { + background: rgba(245, 238, 235, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(245, 238, 235, 0.2) 70%, rgba(245, 238, 235, 0)) !important; + background: linear-gradient(to right, rgba(245, 238, 235, 0.2) 70%, rgba(245, 238, 235, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-mocha.light.css b/plugins/prism-highlight/css/themes/prism-base16-mocha.light.css new file mode 100644 index 0000000..59c8a6e --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-mocha.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Mocha Light +Author: Chris Kempson (http://chriskempson.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f5eeeb; + color: #645240; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e9e1dd; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e9e1dd; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #b8afad; +} + +.token.punctuation { + color: #645240; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #d28b71; +} + +.token.property { + color: #f4bc87; +} + +.token.tag { + color: #8ab3b5; +} + +.token.string { + color: #7bbda4; +} + +.token.selector { + color: #a89bb9; +} + +.token.attr-name { + color: #d28b71; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #7bbda4; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #beb55b; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #7bbda4; +} + +.token.placeholder, +.token.variable { + color: #8ab3b5; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #3B3228; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #cb6077; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #cb6077; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #e9e1dd !important; +} + +.line-numbers-rows > span:before { + color: #d0c8c6 !important; +} + +.line-highlight { + background: rgba(59, 50, 40, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(59, 50, 40, 0.2) 70%, rgba(59, 50, 40, 0)) !important; + background: linear-gradient(to right, rgba(59, 50, 40, 0.2) 70%, rgba(59, 50, 40, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-monokai.dark.css b/plugins/prism-highlight/css/themes/prism-base16-monokai.dark.css new file mode 100644 index 0000000..7a55364 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-monokai.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Monokai Dark +Author: Wimer Hazenberg (http://www.monokai.nl) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #272822; + color: #f8f8f2; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #a59f85; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #a59f85; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #75715e; +} + +.token.punctuation { + color: #f8f8f2; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #fd971f; +} + +.token.property { + color: #f4bf75; +} + +.token.tag { + color: #66d9ef; +} + +.token.string { + color: #a1efe4; +} + +.token.selector { + color: #ae81ff; +} + +.token.attr-name { + color: #fd971f; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #a1efe4; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #a6e22e; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #a1efe4; +} + +.token.placeholder, +.token.variable { + color: #66d9ef; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f9f8f5; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #f92672; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #f92672; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #383830 !important; +} + +.line-numbers-rows > span:before { + color: #49483e !important; +} + +.line-highlight { + background: rgba(249, 248, 245, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(249, 248, 245, 0.2) 70%, rgba(249, 248, 245, 0)) !important; + background: linear-gradient(to right, rgba(249, 248, 245, 0.2) 70%, rgba(249, 248, 245, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-monokai.light.css b/plugins/prism-highlight/css/themes/prism-base16-monokai.light.css new file mode 100644 index 0000000..4089d59 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-monokai.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Monokai Light +Author: Wimer Hazenberg (http://www.monokai.nl) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f9f8f5; + color: #49483e; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #f5f4f1; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #f5f4f1; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #a59f85; +} + +.token.punctuation { + color: #49483e; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #fd971f; +} + +.token.property { + color: #f4bf75; +} + +.token.tag { + color: #66d9ef; +} + +.token.string { + color: #a1efe4; +} + +.token.selector { + color: #ae81ff; +} + +.token.attr-name { + color: #fd971f; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #a1efe4; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #a6e22e; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #a1efe4; +} + +.token.placeholder, +.token.variable { + color: #66d9ef; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #272822; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #f92672; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #f92672; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #f5f4f1 !important; +} + +.line-numbers-rows > span:before { + color: #f8f8f2 !important; +} + +.line-highlight { + background: rgba(39, 40, 34, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(39, 40, 34, 0.2) 70%, rgba(39, 40, 34, 0)) !important; + background: linear-gradient(to right, rgba(39, 40, 34, 0.2) 70%, rgba(39, 40, 34, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-ocean.dark.css b/plugins/prism-highlight/css/themes/prism-base16-ocean.dark.css new file mode 100644 index 0000000..58a764c --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-ocean.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Ocean Dark +Author: Chris Kempson (http://chriskempson.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #2b303b; + color: #c0c5ce; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #a7adba; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #a7adba; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #65737e; +} + +.token.punctuation { + color: #c0c5ce; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #d08770; +} + +.token.property { + color: #ebcb8b; +} + +.token.tag { + color: #8fa1b3; +} + +.token.string { + color: #96b5b4; +} + +.token.selector { + color: #b48ead; +} + +.token.attr-name { + color: #d08770; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #96b5b4; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #a3be8c; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #96b5b4; +} + +.token.placeholder, +.token.variable { + color: #8fa1b3; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #eff1f5; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #bf616a; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #bf616a; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #343d46 !important; +} + +.line-numbers-rows > span:before { + color: #4f5b66 !important; +} + +.line-highlight { + background: rgba(239, 241, 245, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(239, 241, 245, 0.2) 70%, rgba(239, 241, 245, 0)) !important; + background: linear-gradient(to right, rgba(239, 241, 245, 0.2) 70%, rgba(239, 241, 245, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-ocean.light.css b/plugins/prism-highlight/css/themes/prism-base16-ocean.light.css new file mode 100644 index 0000000..10eeae4 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-ocean.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Ocean Light +Author: Chris Kempson (http://chriskempson.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #eff1f5; + color: #4f5b66; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #dfe1e8; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #dfe1e8; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #a7adba; +} + +.token.punctuation { + color: #4f5b66; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #d08770; +} + +.token.property { + color: #ebcb8b; +} + +.token.tag { + color: #8fa1b3; +} + +.token.string { + color: #96b5b4; +} + +.token.selector { + color: #b48ead; +} + +.token.attr-name { + color: #d08770; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #96b5b4; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #a3be8c; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #96b5b4; +} + +.token.placeholder, +.token.variable { + color: #8fa1b3; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #2b303b; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #bf616a; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #bf616a; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #dfe1e8 !important; +} + +.line-numbers-rows > span:before { + color: #c0c5ce !important; +} + +.line-highlight { + background: rgba(43, 48, 59, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(43, 48, 59, 0.2) 70%, rgba(43, 48, 59, 0)) !important; + background: linear-gradient(to right, rgba(43, 48, 59, 0.2) 70%, rgba(43, 48, 59, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-paraiso.dark.css b/plugins/prism-highlight/css/themes/prism-base16-paraiso.dark.css new file mode 100644 index 0000000..23bd2a2 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-paraiso.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Paraiso Dark +Author: Jan T. Sott + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #2f1e2e; + color: #a39e9b; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #8d8687; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #8d8687; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #776e71; +} + +.token.punctuation { + color: #a39e9b; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #f99b15; +} + +.token.property { + color: #fec418; +} + +.token.tag { + color: #06b6ef; +} + +.token.string { + color: #5bc4bf; +} + +.token.selector { + color: #815ba4; +} + +.token.attr-name { + color: #f99b15; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #5bc4bf; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #48b685; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #5bc4bf; +} + +.token.placeholder, +.token.variable { + color: #06b6ef; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #e7e9db; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ef6155; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #ef6155; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #41323f !important; +} + +.line-numbers-rows > span:before { + color: #4f424c !important; +} + +.line-highlight { + background: rgba(231, 233, 219, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(231, 233, 219, 0.2) 70%, rgba(231, 233, 219, 0)) !important; + background: linear-gradient(to right, rgba(231, 233, 219, 0.2) 70%, rgba(231, 233, 219, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-paraiso.light.css b/plugins/prism-highlight/css/themes/prism-base16-paraiso.light.css new file mode 100644 index 0000000..081d87c --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-paraiso.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Paraiso Light +Author: Jan T. Sott + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #e7e9db; + color: #4f424c; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b9b6b0; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #b9b6b0; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #8d8687; +} + +.token.punctuation { + color: #4f424c; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #f99b15; +} + +.token.property { + color: #fec418; +} + +.token.tag { + color: #06b6ef; +} + +.token.string { + color: #5bc4bf; +} + +.token.selector { + color: #815ba4; +} + +.token.attr-name { + color: #f99b15; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #5bc4bf; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #48b685; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #5bc4bf; +} + +.token.placeholder, +.token.variable { + color: #06b6ef; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #2f1e2e; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ef6155; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #ef6155; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #b9b6b0 !important; +} + +.line-numbers-rows > span:before { + color: #a39e9b !important; +} + +.line-highlight { + background: rgba(47, 30, 46, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(47, 30, 46, 0.2) 70%, rgba(47, 30, 46, 0)) !important; + background: linear-gradient(to right, rgba(47, 30, 46, 0.2) 70%, rgba(47, 30, 46, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-pop.dark.css b/plugins/prism-highlight/css/themes/prism-base16-pop.dark.css new file mode 100644 index 0000000..c1ca6b6 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-pop.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Pop Dark +Author: Chris Kempson (http://chriskempson.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #000000; + color: #d0d0d0; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b0b0b0; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #b0b0b0; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #505050; +} + +.token.punctuation { + color: #d0d0d0; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #f29333; +} + +.token.property { + color: #f8ca12; +} + +.token.tag { + color: #0e5a94; +} + +.token.string { + color: #00aabb; +} + +.token.selector { + color: #b31e8d; +} + +.token.attr-name { + color: #f29333; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #00aabb; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #37b349; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #00aabb; +} + +.token.placeholder, +.token.variable { + color: #0e5a94; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ffffff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #eb008a; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #eb008a; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #202020 !important; +} + +.line-numbers-rows > span:before { + color: #303030 !important; +} + +.line-highlight { + background: rgba(255, 255, 255, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0)) !important; + background: linear-gradient(to right, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-pop.light.css b/plugins/prism-highlight/css/themes/prism-base16-pop.light.css new file mode 100644 index 0000000..754c491 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-pop.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Pop Light +Author: Chris Kempson (http://chriskempson.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #ffffff; + color: #303030; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e0e0e0; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e0e0e0; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #b0b0b0; +} + +.token.punctuation { + color: #303030; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #f29333; +} + +.token.property { + color: #f8ca12; +} + +.token.tag { + color: #0e5a94; +} + +.token.string { + color: #00aabb; +} + +.token.selector { + color: #b31e8d; +} + +.token.attr-name { + color: #f29333; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #00aabb; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #37b349; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #00aabb; +} + +.token.placeholder, +.token.variable { + color: #0e5a94; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #000000; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #eb008a; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #eb008a; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #e0e0e0 !important; +} + +.line-numbers-rows > span:before { + color: #d0d0d0 !important; +} + +.line-highlight { + background: rgba(0, 0, 0, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.2) 70%, transparent) !important; + background: linear-gradient(to right, rgba(0, 0, 0, 0.2) 70%, transparent) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-railscasts.dark.css b/plugins/prism-highlight/css/themes/prism-base16-railscasts.dark.css new file mode 100644 index 0000000..d799a9e --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-railscasts.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Railscasts Dark +Author: Ryan Bates (http://railscasts.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #2b2b2b; + color: #e6e1dc; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #d4cfc9; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #d4cfc9; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #5a647e; +} + +.token.punctuation { + color: #e6e1dc; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #cc7833; +} + +.token.property { + color: #ffc66d; +} + +.token.tag { + color: #6d9cbe; +} + +.token.string { + color: #519f50; +} + +.token.selector { + color: #b6b3eb; +} + +.token.attr-name { + color: #cc7833; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #519f50; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #a5c261; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #519f50; +} + +.token.placeholder, +.token.variable { + color: #6d9cbe; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f9f7f3; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #da4939; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #da4939; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #272935 !important; +} + +.line-numbers-rows > span:before { + color: #3a4055 !important; +} + +.line-highlight { + background: rgba(249, 247, 243, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(249, 247, 243, 0.2) 70%, rgba(249, 247, 243, 0)) !important; + background: linear-gradient(to right, rgba(249, 247, 243, 0.2) 70%, rgba(249, 247, 243, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-railscasts.light.css b/plugins/prism-highlight/css/themes/prism-base16-railscasts.light.css new file mode 100644 index 0000000..a78f061 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-railscasts.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Railscasts Light +Author: Ryan Bates (http://railscasts.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f9f7f3; + color: #3a4055; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #f4f1ed; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #f4f1ed; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #d4cfc9; +} + +.token.punctuation { + color: #3a4055; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #cc7833; +} + +.token.property { + color: #ffc66d; +} + +.token.tag { + color: #6d9cbe; +} + +.token.string { + color: #519f50; +} + +.token.selector { + color: #b6b3eb; +} + +.token.attr-name { + color: #cc7833; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #519f50; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #a5c261; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #519f50; +} + +.token.placeholder, +.token.variable { + color: #6d9cbe; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #2b2b2b; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #da4939; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #da4939; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #f4f1ed !important; +} + +.line-numbers-rows > span:before { + color: #e6e1dc !important; +} + +.line-highlight { + background: rgba(43, 43, 43, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(43, 43, 43, 0.2) 70%, rgba(43, 43, 43, 0)) !important; + background: linear-gradient(to right, rgba(43, 43, 43, 0.2) 70%, rgba(43, 43, 43, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-shapeshifter.dark.css b/plugins/prism-highlight/css/themes/prism-base16-shapeshifter.dark.css new file mode 100644 index 0000000..cb126e5 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-shapeshifter.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 shapeshifter Dark +Author: Tyler Benziger (http://tybenz.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #000000; + color: #ababab; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #555555; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #555555; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #343434; +} + +.token.punctuation { + color: #ababab; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #e09448; +} + +.token.property { + color: #dddd13; +} + +.token.tag { + color: #3b48e3; +} + +.token.string { + color: #23edda; +} + +.token.selector { + color: #f996e2; +} + +.token.attr-name { + color: #e09448; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #23edda; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #0ed839; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #23edda; +} + +.token.placeholder, +.token.variable { + color: #3b48e3; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f9f9f9; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #e92f2f; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #e92f2f; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #040404 !important; +} + +.line-numbers-rows > span:before { + color: #102015 !important; +} + +.line-highlight { + background: rgba(249, 249, 249, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(249, 249, 249, 0.2) 70%, rgba(249, 249, 249, 0)) !important; + background: linear-gradient(to right, rgba(249, 249, 249, 0.2) 70%, rgba(249, 249, 249, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-shapeshifter.light.css b/plugins/prism-highlight/css/themes/prism-base16-shapeshifter.light.css new file mode 100644 index 0000000..4543081 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-shapeshifter.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 shapeshifter Light +Author: Tyler Benziger (http://tybenz.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f9f9f9; + color: #102015; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e0e0e0; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e0e0e0; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #555555; +} + +.token.punctuation { + color: #102015; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #e09448; +} + +.token.property { + color: #dddd13; +} + +.token.tag { + color: #3b48e3; +} + +.token.string { + color: #23edda; +} + +.token.selector { + color: #f996e2; +} + +.token.attr-name { + color: #e09448; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #23edda; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #0ed839; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #23edda; +} + +.token.placeholder, +.token.variable { + color: #3b48e3; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #000000; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #e92f2f; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #e92f2f; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #e0e0e0 !important; +} + +.line-numbers-rows > span:before { + color: #ababab !important; +} + +.line-highlight { + background: rgba(0, 0, 0, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.2) 70%, transparent) !important; + background: linear-gradient(to right, rgba(0, 0, 0, 0.2) 70%, transparent) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-solarized.dark.css b/plugins/prism-highlight/css/themes/prism-base16-solarized.dark.css new file mode 100644 index 0000000..3acb9fd --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-solarized.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Solarized Dark +Author: Ethan Schoonover (http://ethanschoonover.com/solarized) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #002b36; + color: #93a1a1; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #839496; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #839496; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #657b83; +} + +.token.punctuation { + color: #93a1a1; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #cb4b16; +} + +.token.property { + color: #b58900; +} + +.token.tag { + color: #268bd2; +} + +.token.string { + color: #2aa198; +} + +.token.selector { + color: #6c71c4; +} + +.token.attr-name { + color: #cb4b16; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #2aa198; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #859900; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #2aa198; +} + +.token.placeholder, +.token.variable { + color: #268bd2; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #fdf6e3; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #dc322f; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #dc322f; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #073642 !important; +} + +.line-numbers-rows > span:before { + color: #586e75 !important; +} + +.line-highlight { + background: rgba(253, 246, 227, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(253, 246, 227, 0.2) 70%, rgba(253, 246, 227, 0)) !important; + background: linear-gradient(to right, rgba(253, 246, 227, 0.2) 70%, rgba(253, 246, 227, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-solarized.light.css b/plugins/prism-highlight/css/themes/prism-base16-solarized.light.css new file mode 100644 index 0000000..5b733ac --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-solarized.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Solarized Light +Author: Ethan Schoonover (http://ethanschoonover.com/solarized) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #fdf6e3; + color: #586e75; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #eee8d5; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #eee8d5; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #839496; +} + +.token.punctuation { + color: #586e75; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #cb4b16; +} + +.token.property { + color: #b58900; +} + +.token.tag { + color: #268bd2; +} + +.token.string { + color: #2aa198; +} + +.token.selector { + color: #6c71c4; +} + +.token.attr-name { + color: #cb4b16; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #2aa198; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #859900; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #2aa198; +} + +.token.placeholder, +.token.variable { + color: #268bd2; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #002b36; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #dc322f; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #dc322f; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #eee8d5 !important; +} + +.line-numbers-rows > span:before { + color: #93a1a1 !important; +} + +.line-highlight { + background: rgba(0, 43, 54, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(0, 43, 54, 0.2) 70%, rgba(0, 43, 54, 0)) !important; + background: linear-gradient(to right, rgba(0, 43, 54, 0.2) 70%, rgba(0, 43, 54, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-summerfruit.dark.css b/plugins/prism-highlight/css/themes/prism-base16-summerfruit.dark.css new file mode 100644 index 0000000..32e7ad0 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-summerfruit.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Summerfruit Dark +Author: Christopher Corley (http://cscorley.github.io/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #151515; + color: #D0D0D0; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #B0B0B0; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #B0B0B0; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #505050; +} + +.token.punctuation { + color: #D0D0D0; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #FD8900; +} + +.token.property { + color: #ABA800; +} + +.token.tag { + color: #3777E6; +} + +.token.string { + color: #1faaaa; +} + +.token.selector { + color: #AD00A1; +} + +.token.attr-name { + color: #FD8900; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #1faaaa; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #00C918; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #1faaaa; +} + +.token.placeholder, +.token.variable { + color: #3777E6; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #FFFFFF; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #FF0086; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #FF0086; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #202020 !important; +} + +.line-numbers-rows > span:before { + color: #303030 !important; +} + +.line-highlight { + background: rgba(255, 255, 255, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0)) !important; + background: linear-gradient(to right, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-summerfruit.light.css b/plugins/prism-highlight/css/themes/prism-base16-summerfruit.light.css new file mode 100644 index 0000000..90e607f --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-summerfruit.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Summerfruit Light +Author: Christopher Corley (http://cscorley.github.io/) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #FFFFFF; + color: #303030; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #E0E0E0; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #E0E0E0; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #B0B0B0; +} + +.token.punctuation { + color: #303030; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #FD8900; +} + +.token.property { + color: #ABA800; +} + +.token.tag { + color: #3777E6; +} + +.token.string { + color: #1faaaa; +} + +.token.selector { + color: #AD00A1; +} + +.token.attr-name { + color: #FD8900; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #1faaaa; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #00C918; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #1faaaa; +} + +.token.placeholder, +.token.variable { + color: #3777E6; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #151515; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #FF0086; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #FF0086; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #E0E0E0 !important; +} + +.line-numbers-rows > span:before { + color: #D0D0D0 !important; +} + +.line-highlight { + background: rgba(21, 21, 21, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(21, 21, 21, 0.2) 70%, rgba(21, 21, 21, 0)) !important; + background: linear-gradient(to right, rgba(21, 21, 21, 0.2) 70%, rgba(21, 21, 21, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-tomorrow.dark.css b/plugins/prism-highlight/css/themes/prism-base16-tomorrow.dark.css new file mode 100644 index 0000000..398f799 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-tomorrow.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Tomorrow Dark +Author: Chris Kempson (http://chriskempson.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #1d1f21; + color: #c5c8c6; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b4b7b4; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #b4b7b4; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #969896; +} + +.token.punctuation { + color: #c5c8c6; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #de935f; +} + +.token.property { + color: #f0c674; +} + +.token.tag { + color: #81a2be; +} + +.token.string { + color: #8abeb7; +} + +.token.selector { + color: #b294bb; +} + +.token.attr-name { + color: #de935f; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #8abeb7; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #b5bd68; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #8abeb7; +} + +.token.placeholder, +.token.variable { + color: #81a2be; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ffffff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #cc6666; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #cc6666; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #282a2e !important; +} + +.line-numbers-rows > span:before { + color: #373b41 !important; +} + +.line-highlight { + background: rgba(255, 255, 255, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0)) !important; + background: linear-gradient(to right, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-tomorrow.light.css b/plugins/prism-highlight/css/themes/prism-base16-tomorrow.light.css new file mode 100644 index 0000000..dc18a9c --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-tomorrow.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Tomorrow Light +Author: Chris Kempson (http://chriskempson.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #ffffff; + color: #373b41; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #e0e0e0; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #e0e0e0; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #b4b7b4; +} + +.token.punctuation { + color: #373b41; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #de935f; +} + +.token.property { + color: #f0c674; +} + +.token.tag { + color: #81a2be; +} + +.token.string { + color: #8abeb7; +} + +.token.selector { + color: #b294bb; +} + +.token.attr-name { + color: #de935f; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #8abeb7; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #b5bd68; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #8abeb7; +} + +.token.placeholder, +.token.variable { + color: #81a2be; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #1d1f21; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #cc6666; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #cc6666; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #e0e0e0 !important; +} + +.line-numbers-rows > span:before { + color: #c5c8c6 !important; +} + +.line-highlight { + background: rgba(29, 31, 33, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(29, 31, 33, 0.2) 70%, rgba(29, 31, 33, 0)) !important; + background: linear-gradient(to right, rgba(29, 31, 33, 0.2) 70%, rgba(29, 31, 33, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-twilight.dark.css b/plugins/prism-highlight/css/themes/prism-base16-twilight.dark.css new file mode 100644 index 0000000..230567e --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-twilight.dark.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Twilight Dark +Author: David Hart (http://hart-dev.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #1e1e1e; + color: #a7a7a7; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #838184; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #838184; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #5f5a60; +} + +.token.punctuation { + color: #a7a7a7; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #cda869; +} + +.token.property { + color: #f9ee98; +} + +.token.tag { + color: #7587a6; +} + +.token.string { + color: #afc4db; +} + +.token.selector { + color: #9b859d; +} + +.token.attr-name { + color: #cda869; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #afc4db; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #8f9d6a; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #afc4db; +} + +.token.placeholder, +.token.variable { + color: #7587a6; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ffffff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #cf6a4c; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #cf6a4c; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #323537 !important; +} + +.line-numbers-rows > span:before { + color: #464b50 !important; +} + +.line-highlight { + background: rgba(255, 255, 255, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0)) !important; + background: linear-gradient(to right, rgba(255, 255, 255, 0.2) 70%, rgba(255, 255, 255, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base16-twilight.light.css b/plugins/prism-highlight/css/themes/prism-base16-twilight.light.css new file mode 100644 index 0000000..6e076f8 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base16-twilight.light.css @@ -0,0 +1,165 @@ +/* + +Name: Base16 Twilight Light +Author: David Hart (http://hart-dev.com) + +Prism template by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) + +*/ +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #ffffff; + color: #464b50; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #c3c3c3; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #c3c3c3; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #838184; +} + +.token.punctuation { + color: #464b50; +} + +.token.namespace { + opacity: .7; +} + +.token.operator, +.token.boolean, +.token.number { + color: #cda869; +} + +.token.property { + color: #f9ee98; +} + +.token.tag { + color: #7587a6; +} + +.token.string { + color: #afc4db; +} + +.token.selector { + color: #9b859d; +} + +.token.attr-name { + color: #cda869; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #afc4db; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #8f9d6a; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #afc4db; +} + +.token.placeholder, +.token.variable { + color: #7587a6; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #1e1e1e; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #cf6a4c; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: 0.4em solid #cf6a4c; + outline-offset: .4em; +} + +.line-numbers .line-numbers-rows { + border-right-color: #c3c3c3 !important; +} + +.line-numbers-rows > span:before { + color: #a7a7a7 !important; +} + +.line-highlight { + background: rgba(30, 30, 30, 0.2) !important; + background: -webkit-linear-gradient(left, rgba(30, 30, 30, 0.2) 70%, rgba(30, 30, 30, 0)) !important; + background: linear-gradient(to right, rgba(30, 30, 30, 0.2) 70%, rgba(30, 30, 30, 0)) !important; +} diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-cave-dark.css b/plugins/prism-highlight/css/themes/prism-base2tone-cave-dark.css new file mode 100644 index 0000000..cbe6cb2 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-cave-dark.css @@ -0,0 +1,172 @@ +/* +Name: Base2Tone-Cave Dark +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/dark/ +Prism template for Base2Tone by Bram de Haan (https://github.com/atelierbram/Base2Tone-prism) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #222021; + color: #9c818b; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #ad1f51; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #ad1f51; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #635f60; +} + +.token.punctuation { + color: #635f60; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #b88914; +} + +.token.property, +.token.function { + color: #9c818b; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #ffebf2; +} + +code.language-javascript, +.token.attr-name { + color: #e28dab; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #ffcc4d; +} + +.token.placeholder, +.token.variable { + color: #ffcc4d; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ffebf2; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #e28dab; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #936c7a; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #2f2d2e; +} + +.line-numbers-rows > span:before { + color: #2f2d2e; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #b8891433; + background: linear-gradient(to right, #b8891433 70%, #b8891400); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-cave-light.css b/plugins/prism-highlight/css/themes/prism-base2tone-cave-light.css new file mode 100644 index 0000000..032fab8 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-cave-light.css @@ -0,0 +1,171 @@ +/* +Name: Base2Tone-Cave Light +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/light/ +Prism template for Base2Tone by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #fbfaf9; + color: #d27998; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #fbfaf9; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #fbfaf9; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #c1beb9; +} + +.token.punctuation { + color: #c1beb9; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #ad1f51; +} + +.token.property, +.token.function { + color: #cca133; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #996e00; +} + +code.language-javascript, +.token.attr-name { + color: #b88914; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #d27998; +} + +.token.placeholder, +.token.variable { + color: #e28dab; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #996e00; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #b88914; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #b88914; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #eae7e1; +} + +.line-numbers-rows > span:before { + color: #d6d3cc; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #996e0033; + background: linear-gradient(to right, #996e0033 70%, #996e0000); +} + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-desert-dark.css b/plugins/prism-highlight/css/themes/prism-base2tone-desert-dark.css new file mode 100644 index 0000000..c823f5e --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-desert-dark.css @@ -0,0 +1,172 @@ +/* +Name: Base2Tone-Desert Dark +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/dark/ +Prism template for Base2Tone by Bram de Haan (https://github.com/atelierbram/Base2Tone-prism) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #292724; + color: #957e50; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #5c523d; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #5c523d; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #7e7767; +} + +.token.punctuation { + color: #7e7767; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #dd7c3c; +} + +.token.property, +.token.function { + color: #957e50; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #f2ead9; +} + +code.language-javascript, +.token.attr-name { + color: #c6ad7b; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #ffb380; +} + +.token.placeholder, +.token.variable { + color: #ffb380; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f2ead9; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #c6ad7b; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #816f4b; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #3d3a34; +} + +.line-numbers-rows > span:before { + color: #3d3a34; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #dd7c3c33; + background: linear-gradient(to right, #dd7c3c33 70%, #dd7c3c00); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-desert-light.css b/plugins/prism-highlight/css/themes/prism-base2tone-desert-light.css new file mode 100644 index 0000000..967237a --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-desert-light.css @@ -0,0 +1,171 @@ +/* +Name: Base2Tone-Desert Light +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/light/ +Prism template for Base2Tone by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #fbfaf9; + color: #957e50; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #fbfaf9; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #fbfaf9; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #cac3be; +} + +.token.punctuation { + color: #cac3be; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #5c523d; +} + +.token.property, +.token.function { + color: #dd7c3c; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #bc672f; +} + +code.language-javascript, +.token.attr-name { + color: #dd7c3c; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #816f4b; +} + +.token.placeholder, +.token.variable { + color: #c6ad7b; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #bc672f; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #dd7c3c; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #dd7c3c; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #ede7e3; +} + +.line-numbers-rows > span:before { + color: #dcd5d0; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #bc672f33; + background: linear-gradient(to right, #bc672f33 70%, #bc672f00); +} + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-drawbridge-dark.css b/plugins/prism-highlight/css/themes/prism-base2tone-drawbridge-dark.css new file mode 100644 index 0000000..0943585 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-drawbridge-dark.css @@ -0,0 +1,172 @@ +/* +Name: Base2Tone-Drawbridge Dark +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/dark/ +Prism template for Base2Tone by Bram de Haan (https://github.com/atelierbram/Base2Tone-prism) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #1b1f32; + color: #7289fd; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #4961da; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #4961da; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #51587b; +} + +.token.punctuation { + color: #51587b; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #4db0cb; +} + +.token.property, +.token.function { + color: #7289fd; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #e1e6ff; +} + +code.language-javascript, +.token.attr-name { + color: #a5b3fe; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #99e9ff; +} + +.token.placeholder, +.token.variable { + color: #99e9ff; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #e1e6ff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #a5b3fe; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #627af4; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #252a41; +} + +.line-numbers-rows > span:before { + color: #252a41; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #4db0cb33; + background: linear-gradient(to right, #4db0cb33 70%, #4db0cb00); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-drawbridge-light.css b/plugins/prism-highlight/css/themes/prism-base2tone-drawbridge-light.css new file mode 100644 index 0000000..d2c4ea3 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-drawbridge-light.css @@ -0,0 +1,171 @@ +/* +Name: Base2Tone-Drawbridge Light +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/light/ +Prism template for Base2Tone by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f9fbfb; + color: #7289fd; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #f9fbfb; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #f9fbfb; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #b7c0c2; +} + +.token.punctuation { + color: #b7c0c2; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #4961da; +} + +.token.property, +.token.function { + color: #4db0cb; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #289dbd; +} + +code.language-javascript, +.token.attr-name { + color: #4db0cb; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #627af4; +} + +.token.placeholder, +.token.variable { + color: #a5b3fe; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #289dbd; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #4db0cb; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #4db0cb; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #e1e8ea; +} + +.line-numbers-rows > span:before { + color: #cbd4d7; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #289dbd33; + background: linear-gradient(to right, #289dbd33 70%, #289dbd00); +} + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-earth-dark.css b/plugins/prism-highlight/css/themes/prism-base2tone-earth-dark.css new file mode 100644 index 0000000..6642bf8 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-earth-dark.css @@ -0,0 +1,172 @@ +/* +Name: Base2Tone-Earth Dark +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/dark/ +Prism template for Base2Tone by Bram de Haan (https://github.com/atelierbram/Base2Tone-prism) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #322d29; + color: #88786d; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #6f5849; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #6f5849; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #6a5f58; +} + +.token.punctuation { + color: #6a5f58; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #bfa05a; +} + +.token.property, +.token.function { + color: #88786d; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #fff3eb; +} + +code.language-javascript, +.token.attr-name { + color: #a48774; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #fcc440; +} + +.token.placeholder, +.token.variable { + color: #fcc440; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #fff3eb; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #a48774; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #816d5f; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #3f3a37; +} + +.line-numbers-rows > span:before { + color: #3f3a37; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #bfa05a33; + background: linear-gradient(to right, #bfa05a33 70%, #bfa05a00); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-earth-light.css b/plugins/prism-highlight/css/themes/prism-base2tone-earth-light.css new file mode 100644 index 0000000..ba6b07d --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-earth-light.css @@ -0,0 +1,171 @@ +/* +Name: Base2Tone-Earth Light +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/light/ +Prism template for Base2Tone by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f2efe8; + color: #88786d; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #f2efe8; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #f2efe8; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #bbb4a5; +} + +.token.punctuation { + color: #bbb4a5; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #6f5849; +} + +.token.property, +.token.function { + color: #bfa05a; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #9c8349; +} + +code.language-javascript, +.token.attr-name { + color: #bfa05a; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #816d5f; +} + +.token.placeholder, +.token.variable { + color: #a48774; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #9c8349; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #bfa05a; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #bfa05a; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #e2dcd0; +} + +.line-numbers-rows > span:before { + color: #cfc9b9; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #9c834933; + background: linear-gradient(to right, #9c834933 70%, #9c834900); +} + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-evening-dark.css b/plugins/prism-highlight/css/themes/prism-base2tone-evening-dark.css new file mode 100644 index 0000000..4ef81a1 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-evening-dark.css @@ -0,0 +1,172 @@ +/* +Name: Base2Tone-Evening Dark +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/dark/ +Prism template for Base2Tone by Bram de Haan (https://github.com/atelierbram/Base2Tone-prism) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #2a2734; + color: #9a86fd; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #6a51e6; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #6a51e6; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #6c6783; +} + +.token.punctuation { + color: #6c6783; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #e09142; +} + +.token.property, +.token.function { + color: #9a86fd; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #eeebff; +} + +code.language-javascript, +.token.attr-name { + color: #c4b9fe; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #ffcc99; +} + +.token.placeholder, +.token.variable { + color: #ffcc99; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #eeebff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #c4b9fe; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #8a75f5; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #363342; +} + +.line-numbers-rows > span:before { + color: #363342; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #e0914233; + background: linear-gradient(to right, #e0914233 70%, #e0914200); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-evening-light.css b/plugins/prism-highlight/css/themes/prism-base2tone-evening-light.css new file mode 100644 index 0000000..38f98f8 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-evening-light.css @@ -0,0 +1,171 @@ +/* +Name: Base2Tone-Evening Light +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/light/ +Prism template for Base2Tone by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #fbfaf9; + color: #9a86fd; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #fbfaf9; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #fbfaf9; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #c3bdb6; +} + +.token.punctuation { + color: #c3bdb6; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #6a51e6; +} + +.token.property, +.token.function { + color: #e09142; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #b37537; +} + +code.language-javascript, +.token.attr-name { + color: #e09142; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #8a75f5; +} + +.token.placeholder, +.token.variable { + color: #c4b9fe; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #b37537; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #e09142; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #e09142; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #ebe6e0; +} + +.line-numbers-rows > span:before { + color: #d8d1ca; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #b3753733; + background: linear-gradient(to right, #b3753733 70%, #b3753700); +} + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-forest-dark.css b/plugins/prism-highlight/css/themes/prism-base2tone-forest-dark.css new file mode 100644 index 0000000..41f5702 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-forest-dark.css @@ -0,0 +1,172 @@ +/* +Name: Base2Tone-Forest Dark +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/dark/ +Prism template for Base2Tone by Bram de Haan (https://github.com/atelierbram/Base2Tone-prism) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #2a2d2a; + color: #687d68; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #435643; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #435643; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #535f53; +} + +.token.punctuation { + color: #535f53; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #a2b34d; +} + +.token.property, +.token.function { + color: #687d68; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #f0fff0; +} + +code.language-javascript, +.token.attr-name { + color: #b3d6b3; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #e5fb79; +} + +.token.placeholder, +.token.variable { + color: #e5fb79; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f0fff0; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #b3d6b3; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #5c705c; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #353b35; +} + +.line-numbers-rows > span:before { + color: #353b35; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #a2b34d33; + background: linear-gradient(to right, #a2b34d33 70%, #a2b34d00); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-forest-light.css b/plugins/prism-highlight/css/themes/prism-base2tone-forest-light.css new file mode 100644 index 0000000..cb18bed --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-forest-light.css @@ -0,0 +1,171 @@ +/* +Name: Base2Tone-Forest Light +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/light/ +Prism template for Base2Tone by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #fbfbf8; + color: #687d68; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #fbfbf8; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #fbfbf8; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #c3c6b3; +} + +.token.punctuation { + color: #c3c6b3; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #435643; +} + +.token.property, +.token.function { + color: #a2b34d; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #656b47; +} + +code.language-javascript, +.token.attr-name { + color: #a2b34d; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #5c705c; +} + +.token.placeholder, +.token.variable { + color: #b3d6b3; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #656b47; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #a2b34d; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #a2b34d; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #eaecdf; +} + +.line-numbers-rows > span:before { + color: #d7dac8; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #656b4733; + background: linear-gradient(to right, #656b4733 70%, #656b4700); +} + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-heath-dark.css b/plugins/prism-highlight/css/themes/prism-base2tone-heath-dark.css new file mode 100644 index 0000000..6a827ae --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-heath-dark.css @@ -0,0 +1,172 @@ +/* +Name: Base2Tone-Heath Dark +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/dark/ +Prism template for Base2Tone by Bram de Haan (https://github.com/atelierbram/Base2Tone-prism) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #222022; + color: #9a819c; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #a21fad; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #a21fad; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #635f63; +} + +.token.punctuation { + color: #635f63; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #b87414; +} + +.token.property, +.token.function { + color: #9a819c; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #fdebff; +} + +code.language-javascript, +.token.attr-name { + color: #db8de2; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #ffd599; +} + +.token.placeholder, +.token.variable { + color: #ffd599; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #fdebff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #db8de2; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #8f6c93; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #2f2d2f; +} + +.line-numbers-rows > span:before { + color: #2f2d2f; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #b8741433; + background: linear-gradient(to right, #b8741433 70%, #b8741400); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-heath-light.css b/plugins/prism-highlight/css/themes/prism-base2tone-heath-light.css new file mode 100644 index 0000000..9cc2fa0 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-heath-light.css @@ -0,0 +1,171 @@ +/* +Name: Base2Tone-Heath Light +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/light/ +Prism template for Base2Tone by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #fbfaf9; + color: #cb79d2; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #fbfaf9; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #fbfaf9; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #c1bdb9; +} + +.token.punctuation { + color: #c1bdb9; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #a21fad; +} + +.token.property, +.token.function { + color: #cc8c33; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #995900; +} + +code.language-javascript, +.token.attr-name { + color: #b87414; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #cb79d2; +} + +.token.placeholder, +.token.variable { + color: #db8de2; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #995900; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #b87414; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #b87414; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #eae6e1; +} + +.line-numbers-rows > span:before { + color: #d6d2cc; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #99590033; + background: linear-gradient(to right, #99590033 70%, #99590000); +} + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-lake-dark.css b/plugins/prism-highlight/css/themes/prism-base2tone-lake-dark.css new file mode 100644 index 0000000..c7f6912 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-lake-dark.css @@ -0,0 +1,172 @@ +/* +Name: Base2Tone-Lake Dark +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/dark/ +Prism template for Base2Tone by Bram de Haan (https://github.com/atelierbram/Base2Tone-prism) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #192d34; + color: #499fbc; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #2f7289; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #2f7289; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #3d6876; +} + +.token.punctuation { + color: #3d6876; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #b7a21a; +} + +.token.property, +.token.function { + color: #499fbc; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #e1f7ff; +} + +code.language-javascript, +.token.attr-name { + color: #7dc2d9; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #ffeb66; +} + +.token.placeholder, +.token.variable { + color: #ffeb66; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #e1f7ff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #7dc2d9; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #3e91ac; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #223c44; +} + +.line-numbers-rows > span:before { + color: #223c44; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #b7a21a33; + background: linear-gradient(to right, #b7a21a33 70%, #b7a21a00); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-lake-light.css b/plugins/prism-highlight/css/themes/prism-base2tone-lake-light.css new file mode 100644 index 0000000..508043a --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-lake-light.css @@ -0,0 +1,171 @@ +/* +Name: Base2Tone-Lake Light +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/light/ +Prism template for Base2Tone by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #fafaf9; + color: #499fbc; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #fafaf9; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #fafaf9; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #c2c1b7; +} + +.token.punctuation { + color: #c2c1b7; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #2f7289; +} + +.token.property, +.token.function { + color: #b7a21a; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #84740b; +} + +code.language-javascript, +.token.attr-name { + color: #b7a21a; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #3e91ac; +} + +.token.placeholder, +.token.variable { + color: #7dc2d9; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #84740b; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #b7a21a; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #b7a21a; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #e8e7e3; +} + +.line-numbers-rows > span:before { + color: #d5d4cd; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #84740b33; + background: linear-gradient(to right, #84740b33 70%, #84740b00); +} + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-meadow-dark.css b/plugins/prism-highlight/css/themes/prism-base2tone-meadow-dark.css new file mode 100644 index 0000000..7da8c33 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-meadow-dark.css @@ -0,0 +1,172 @@ +/* +Name: Base2Tone-Meadow Dark +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/dark/ +Prism template for Base2Tone by Bram de Haan (https://github.com/atelierbram/Base2Tone-prism) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #192834; + color: #4299d7; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #1b6498; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #1b6498; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #3d5e76; +} + +.token.punctuation { + color: #3d5e76; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #66a329; +} + +.token.property, +.token.function { + color: #4299d7; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #d1ecff; +} + +code.language-javascript, +.token.attr-name { + color: #8dcefc; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #a6f655; +} + +.token.placeholder, +.token.variable { + color: #a6f655; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #d1ecff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #8dcefc; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #277fbe; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #223644; +} + +.line-numbers-rows > span:before { + color: #223644; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #66a32933; + background: linear-gradient(to right, #66a32933 70%, #66a32900); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-meadow-light.css b/plugins/prism-highlight/css/themes/prism-base2tone-meadow-light.css new file mode 100644 index 0000000..743a057 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-meadow-light.css @@ -0,0 +1,171 @@ +/* +Name: Base2Tone-Meadow Light +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/light/ +Prism template for Base2Tone by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #fafbf9; + color: #4299d7; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #fafbf9; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #fafbf9; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #bdc3b7; +} + +.token.punctuation { + color: #bdc3b7; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #1b6498; +} + +.token.property, +.token.function { + color: #66a329; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #4d8217; +} + +code.language-javascript, +.token.attr-name { + color: #66a329; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #277fbe; +} + +.token.placeholder, +.token.variable { + color: #8dcefc; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #4d8217; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #66a329; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #66a329; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #e6e8e3; +} + +.line-numbers-rows > span:before { + color: #d1d6cd; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #4d821733; + background: linear-gradient(to right, #4d821733 70%, #4d821700); +} + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-morning-dark.css b/plugins/prism-highlight/css/themes/prism-base2tone-morning-dark.css new file mode 100644 index 0000000..b2656e7 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-morning-dark.css @@ -0,0 +1,172 @@ +/* +Name: Base2Tone-Morning Dark +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/dark/ +Prism template for Base2Tone by Bram de Haan (https://github.com/atelierbram/Base2Tone-prism) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #232834; + color: #3d75e6; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #063289; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #063289; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #656e81; +} + +.token.punctuation { + color: #656e81; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #896724; +} + +.token.property, +.token.function { + color: #3d75e6; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #dee6f7; +} + +code.language-javascript, +.token.attr-name { + color: #93abdc; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #e5ddcd; +} + +.token.placeholder, +.token.variable { + color: #e5ddcd; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #dee6f7; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #93abdc; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #1659df; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #31363f; +} + +.line-numbers-rows > span:before { + color: #31363f; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #89672433; + background: linear-gradient(to right, #89672433 70%, #89672400); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-morning-light.css b/plugins/prism-highlight/css/themes/prism-base2tone-morning-light.css new file mode 100644 index 0000000..5966fd9 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-morning-light.css @@ -0,0 +1,171 @@ +/* +Name: Base2Tone-Morning Light +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/light/ +Prism template for Base2Tone by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #faf8f5; + color: #728fcb; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #faf8f5; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #faf8f5; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #b6ad9a; +} + +.token.punctuation { + color: #b6ad9a; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #063289; +} + +.token.property, +.token.function { + color: #b29762; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #2d2006; +} + +code.language-javascript, +.token.attr-name { + color: #896724; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #728fcb; +} + +.token.placeholder, +.token.variable { + color: #93abdc; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #2d2006; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #896724; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #896724; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #e3dcce; +} + +.line-numbers-rows > span:before { + color: #cdc4b1; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #2d200633; + background: linear-gradient(to right, #2d200633 70%, #2d200600); +} + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-pool-dark.css b/plugins/prism-highlight/css/themes/prism-base2tone-pool-dark.css new file mode 100644 index 0000000..411ecde --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-pool-dark.css @@ -0,0 +1,172 @@ +/* +Name: Base2Tone-Pool Dark +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/dark/ +Prism template for Base2Tone by Bram de Haan (https://github.com/atelierbram/Base2Tone-prism) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #2a2433; + color: #b886fd; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #8f51e6; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #8f51e6; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #635775; +} + +.token.punctuation { + color: #635775; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #ed655e; +} + +.token.property, +.token.function { + color: #b886fd; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #f3ebff; +} + +code.language-javascript, +.token.attr-name { + color: #d6b9fe; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #ffb6b3; +} + +.token.placeholder, +.token.variable { + color: #ffb6b3; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f3ebff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #d6b9fe; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #aa75f5; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #372f42; +} + +.line-numbers-rows > span:before { + color: #372f42; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #ed655e33; + background: linear-gradient(to right, #ed655e33 70%, #ed655e00); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-pool-light.css b/plugins/prism-highlight/css/themes/prism-base2tone-pool-light.css new file mode 100644 index 0000000..b47731d --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-pool-light.css @@ -0,0 +1,171 @@ +/* +Name: Base2Tone-Pool Light +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/light/ +Prism template for Base2Tone by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #fbf9f9; + color: #b886fd; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #fbf9f9; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #fbf9f9; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #c2b8b7; +} + +.token.punctuation { + color: #c2b8b7; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #8f51e6; +} + +.token.property, +.token.function { + color: #ed655e; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #cf504a; +} + +code.language-javascript, +.token.attr-name { + color: #ed655e; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #aa75f5; +} + +.token.placeholder, +.token.variable { + color: #d6b9fe; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #cf504a; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #ed655e; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #ed655e; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #eae1e1; +} + +.line-numbers-rows > span:before { + color: #d7cccb; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #cf504a33; + background: linear-gradient(to right, #cf504a33 70%, #cf504a00); +} + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-sea-dark.css b/plugins/prism-highlight/css/themes/prism-base2tone-sea-dark.css new file mode 100644 index 0000000..c9567f6 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-sea-dark.css @@ -0,0 +1,172 @@ +/* +Name: Base2Tone-Sea Dark +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/dark/ +Prism template for Base2Tone by Bram de Haan (https://github.com/atelierbram/Base2Tone-prism) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #1d262f; + color: #57718e; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #004a9e; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #004a9e; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #4a5f78; +} + +.token.punctuation { + color: #4a5f78; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #0aa370; +} + +.token.property, +.token.function { + color: #57718e; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #ebf4ff; +} + +code.language-javascript, +.token.attr-name { + color: #7eb6f6; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #47ebb4; +} + +.token.placeholder, +.token.variable { + color: #47ebb4; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ebf4ff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #7eb6f6; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #34659d; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #27323f; +} + +.line-numbers-rows > span:before { + color: #27323f; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #0aa37033; + background: linear-gradient(to right, #0aa37033 70%, #0aa37000); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-sea-light.css b/plugins/prism-highlight/css/themes/prism-base2tone-sea-light.css new file mode 100644 index 0000000..2670b0c --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-sea-light.css @@ -0,0 +1,171 @@ +/* +Name: Base2Tone-Sea Light +Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/light/ +Prism template for Base2Tone by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #f9fbfa; + color: #57718e; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #f9fbfa; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #f9fbfa; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #b7c2be; +} + +.token.punctuation { + color: #b7c2be; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #004a9e; +} + +.token.property, +.token.function { + color: #0aa370; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #067953; +} + +code.language-javascript, +.token.attr-name { + color: #0aa370; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #34659d; +} + +.token.placeholder, +.token.variable { + color: #7eb6f6; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #067953; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #0aa370; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #0aa370; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #e1eae7; +} + +.line-numbers-rows > span:before { + color: #cbd7d3; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #06795333; + background: linear-gradient(to right, #06795333 70%, #06795300); +} + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-space-dark.css b/plugins/prism-highlight/css/themes/prism-base2tone-space-dark.css new file mode 100644 index 0000000..9479168 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-space-dark.css @@ -0,0 +1,172 @@ +/* +Name: Base2Tone-Space Dark +Author: adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/dark/ +Prism template for Base2Tone by Bram de Haan (https://github.com/atelierbram/Base2Tone-prism) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #24242e; + color: #767693; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #5151e6; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #5151e6; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #5b5b76; +} + +.token.punctuation { + color: #5b5b76; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #dd672c; +} + +.token.property, +.token.function { + color: #767693; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #ebebff; +} + +code.language-javascript, +.token.attr-name { + color: #aaaaca; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #fe8c52; +} + +.token.placeholder, +.token.variable { + color: #fe8c52; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ebebff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #aaaaca; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #7676f4; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #333342; +} + +.line-numbers-rows > span:before { + color: #333342; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #dd672c33; + background: linear-gradient(to right, #dd672c33 70%, #dd672c00); +} + + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-space-light.css b/plugins/prism-highlight/css/themes/prism-base2tone-space-light.css new file mode 100644 index 0000000..0ea9811 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-base2tone-space-light.css @@ -0,0 +1,171 @@ +/* +Name: Base2Tone-Space Light +Author: adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes) + +http://atelierbram.github.io/Base2Tone-prism/demo/evening/light/ +Prism template for Base2Tone by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/prism/) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.3; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #F8F9FA; + color: #767693; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #fbf9f9; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #fbf9f9; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #c3bbb7; +} + +.token.punctuation { + color: #c3bbb7; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #5151e6; +} + +.token.property, +.token.function { + color: #dd672c; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #b25424; +} + +code.language-javascript, +.token.attr-name { + color: #dd672c; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #7676f4; +} + +.token.placeholder, +.token.variable { + color: #aaaaca; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #b25424; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #dd672c; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #dd672c; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #eae4e1; +} + +.line-numbers-rows > span:before { + color: #d8cfcb; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + * alpha transparency in 8 digits hex notation coming to a browser near you soon: + * https://drafts.csswg.org/css-color/#hex-notation + */ +.line-highlight { + background: #b2542433; + background: linear-gradient(to right, #b2542433 70%, #b2542400); +} + diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-suburb-dark.css b/plugins/prism-highlight/css/themes/prism-base2tone-suburb-dark.css new file mode 100644 index 0000000..e69de29 diff --git a/plugins/prism-highlight/css/themes/prism-base2tone-suburb-light.css b/plugins/prism-highlight/css/themes/prism-base2tone-suburb-light.css new file mode 100644 index 0000000..e69de29 diff --git a/plugins/prism-highlight/css/themes/prism-cb.css b/plugins/prism-highlight/css/themes/prism-cb.css new file mode 100644 index 0000000..9c2a15b --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-cb.css @@ -0,0 +1,176 @@ +/* + * Based on Plugin: Syntax Highlighter CB + * Plugin URI: http://wp.tutsplus.com/tutorials/plugins/adding-a-syntax-highlighter-shortcode-using-prism-js + * Description: Highlight your code snippets with an easy to use shortcode based on Lea Verou's Prism.js. + * Version: 1.0.0 + * Author: c.bavota + * Author URI: http://bavotasan.comhttp://wp.tutsplus.com/tutorials/plugins/adding-a-syntax-highlighter-shortcode-using-prism-js/ */ +/* http://cbavota.bitbucket.org/syntax-highlighter/ */ + +/* ===== ===== */ +code[class*="language-"], +pre[class*="language-"] { + color: #fff; + text-shadow: 0 1px 1px #000; + font-family: Menlo, Monaco, "Courier New", monospace; + direction: ltr; + text-align: left; + word-spacing: normal; + white-space: pre; + word-wrap: normal; + line-height: 1.4; + background: none; + border: 0; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"] code { + float: left; + padding: 0 15px 0 0; +} + +pre[class*="language-"], +:not(pre) > code[class*="language-"] { + background: #222; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 15px; + margin: 1em 0; + overflow: auto; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + border-radius: 8px; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: 5px 10px; + line-height: 1; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #797979; +} + +.token.selector, +.token.operator, +.token.punctuation { + color: #fff; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.boolean { + color: #ffd893; +} + +.token.atrule, +.token.attr-value, +.token.hex, +.token.string { + color: #B0C975; +} + +.token.property, +.token.entity, +.token.url, +.token.attr-name, +.token.keyword { + color: #c27628; +} + +.token.regex { + color: #9B71C6; +} + +.token.entity { + cursor: help; +} + +.token.function, +.token.constant { + color: #e5a638; +} + +.token.variable { + color: #fdfba8; +} + +.token.number { + color: #8799B0; +} + +.token.important, +.token.deliminator { + color: #E45734; +} + +/* Line highlight plugin */ +pre[data-line] { + position: relative; + padding: 1em 0 1em 3em; +} + +.line-highlight { + position: absolute; + left: 0; + right: 0; + margin-top: 1em; /* Same as .prism's padding-top */ + background: rgba(255, 255, 255, .2); + pointer-events: none; + line-height: inherit; + white-space: pre; +} + +.line-highlight:before, +.line-highlight[data-end]:after { + content: attr(data-start); + position: absolute; + top: .3em; + left: .6em; + min-width: 1em; + padding: 0 .5em; + background-color: rgba(255, 255, 255, .3); + color: #fff; + font: bold 65%/1.5 sans-serif; + text-align: center; + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + border-radius: 8px; + text-shadow: none; +} + +.line-highlight[data-end]:after { + content: attr(data-end); + top: auto; + bottom: .4em; +} + +/* for line numbers */ +.line-numbers-rows { + margin: 0; +} + +.line-numbers-rows span { + padding-right: 10px; + border-right: 3px #d9d336 solid; +} diff --git a/plugins/prism-highlight/css/themes/prism-coldark-cold.css b/plugins/prism-highlight/css/themes/prism-coldark-cold.css new file mode 100644 index 0000000..c948a62 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-coldark-cold.css @@ -0,0 +1,317 @@ +/** + * Coldark Theme for Prism.js + * Theme variation: Cold + * Tested with HTML, CSS, JS, JSON, PHP, YAML, Bash script + * @author Armand Philippot + * @homepage https://github.com/ArmandPhilippot/coldark-prism + * @license MIT + */ +code[class*="language-"], +pre[class*="language-"] { + color: #111b27; + background: none; + font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + background: #8da1b9; +} + +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + background: #8da1b9; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #e3eaf2; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: 0.1em 0.3em; + border-radius: 0.3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #3c526d; +} + +.token.punctuation { + color: #111b27; +} + +.token.delimiter.important, +.token.selector .parent, +.token.tag, +.token.tag .token.punctuation { + color: #006d6d; +} + +.token.attr-name, +.token.boolean, +.token.boolean.important, +.token.number, +.token.constant, +.token.selector .token.attribute { + color: #755f00; +} + +.token.class-name, +.token.key, +.token.parameter, +.token.property, +.token.property-access, +.token.variable { + color: #005a8e; +} + +.token.attr-value, +.token.inserted, +.token.color, +.token.selector .token.value, +.token.string, +.token.string .token.url-link { + color: #116b00; +} + +.token.builtin, +.token.keyword-array, +.token.package, +.token.regex { + color: #af00af; +} + +.token.function, +.token.selector .token.class, +.token.selector .token.id { + color: #7c00aa; +} + +.token.atrule .token.rule, +.token.combinator, +.token.keyword, +.token.operator, +.token.pseudo-class, +.token.pseudo-element, +.token.selector, +.token.unit { + color: #a04900; +} + +.token.deleted, +.token.important { + color: #c22f2e; +} + +.token.keyword-this, +.token.this { + color: #005a8e; +} + +.token.important, +.token.keyword-this, +.token.this, +.token.bold { + font-weight: bold; +} + +.token.delimiter.important { + font-weight: inherit; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +.language-markdown .token.title, +.language-markdown .token.title .token.punctuation { + color: #005a8e; + font-weight: bold; +} + +.language-markdown .token.blockquote.punctuation { + color: #af00af; +} + +.language-markdown .token.code { + color: #006d6d; +} + +.language-markdown .token.hr.punctuation { + color: #005a8e; +} + +.language-markdown .token.url > .token.content { + color: #116b00; +} + +.language-markdown .token.url-link { + color: #755f00; +} + +.language-markdown .token.list.punctuation { + color: #af00af; +} + +.language-markdown .token.table-header { + color: #111b27; +} + +.language-json .token.operator { + color: #111b27; +} + +.language-scss .token.variable { + color: #006d6d; +} + +/* overrides color-values for the Show Invisibles plugin + * https://prismjs.com/plugins/show-invisibles/ + */ +.token.tab:not(:empty):before, +.token.cr:before, +.token.lf:before, +.token.space:before { + color: #3c526d; +} + +/* overrides color-values for the Toolbar plugin + * https://prismjs.com/plugins/toolbar/ + */ +div.code-toolbar > .toolbar a, +div.code-toolbar > .toolbar button { + color: #e3eaf2; + background: #005a8e; +} + +div.code-toolbar > .toolbar a:hover, +div.code-toolbar > .toolbar a:focus, +div.code-toolbar > .toolbar button:hover, +div.code-toolbar > .toolbar button:focus { + color: #e3eaf2; + background: #005a8eda; + text-decoration: none; +} + +div.code-toolbar > .toolbar span, +div.code-toolbar > .toolbar span:hover, +div.code-toolbar > .toolbar span:focus { + color: #e3eaf2; + background: #3c526d; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + */ +.line-highlight { + background: #8da1b92f; + background: linear-gradient(to right, #8da1b92f 70%, #8da1b925); +} + +.line-highlight:before, +.line-highlight[data-end]:after { + background-color: #3c526d; + color: #e3eaf2; + box-shadow: 0 1px #8da1b9; +} + +pre[id].linkable-line-numbers span.line-numbers-rows > span:hover:before { + background-color: #3c526d1f; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right: 1px solid #8da1b97a; + background: #d0dae77a; +} + +.line-numbers-rows > span:before { + color: #3c526dda; +} + +/* overrides color-values for the Match Braces plugin + * https://prismjs.com/plugins/match-braces/ + */ +.rainbow-braces .token.punctuation.brace-level-1, +.rainbow-braces .token.punctuation.brace-level-5, +.rainbow-braces .token.punctuation.brace-level-9 { + color: #755f00; +} + +.rainbow-braces .token.punctuation.brace-level-2, +.rainbow-braces .token.punctuation.brace-level-6, +.rainbow-braces .token.punctuation.brace-level-10 { + color: #af00af; +} + +.rainbow-braces .token.punctuation.brace-level-3, +.rainbow-braces .token.punctuation.brace-level-7, +.rainbow-braces .token.punctuation.brace-level-11 { + color: #005a8e; +} + +.rainbow-braces .token.punctuation.brace-level-4, +.rainbow-braces .token.punctuation.brace-level-8, +.rainbow-braces .token.punctuation.brace-level-12 { + color: #7c00aa; +} + +/* overrides color-values for the Diff Highlight plugin + * https://prismjs.com/plugins/diff-highlight/ + */ +pre.diff-highlight > code .token.deleted:not(.prefix), +pre > code.diff-highlight .token.deleted:not(.prefix) { + background-color: #c22f2e1f; +} + +pre.diff-highlight > code .token.inserted:not(.prefix), +pre > code.diff-highlight .token.inserted:not(.prefix) { + background-color: #116b001f; +} + +/* overrides color-values for the Command Line plugin + * https://prismjs.com/plugins/command-line/ + */ +.command-line-prompt { + border-right: 1px solid #8da1b97a; +} + +.command-line-prompt > span:before { + color: #3c526dda; +} diff --git a/plugins/prism-highlight/css/themes/prism-coldark-dark.css b/plugins/prism-highlight/css/themes/prism-coldark-dark.css new file mode 100644 index 0000000..2adcf57 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-coldark-dark.css @@ -0,0 +1,317 @@ +/** + * Coldark Theme for Prism.js + * Theme variation: Dark + * Tested with HTML, CSS, JS, JSON, PHP, YAML, Bash script + * @author Armand Philippot + * @homepage https://github.com/ArmandPhilippot/coldark-prism + * @license MIT + */ +code[class*="language-"], +pre[class*="language-"] { + color: #e3eaf2; + background: none; + font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + background: #3c526d; +} + +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + background: #3c526d; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #111b27; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: 0.1em 0.3em; + border-radius: 0.3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #8da1b9; +} + +.token.punctuation { + color: #e3eaf2; +} + +.token.delimiter.important, +.token.selector .parent, +.token.tag, +.token.tag .token.punctuation { + color: #66cccc; +} + +.token.attr-name, +.token.boolean, +.token.boolean.important, +.token.number, +.token.constant, +.token.selector .token.attribute { + color: #e6d37a; +} + +.token.class-name, +.token.key, +.token.parameter, +.token.property, +.token.property-access, +.token.variable { + color: #6cb8e6; +} + +.token.attr-value, +.token.inserted, +.token.color, +.token.selector .token.value, +.token.string, +.token.string .token.url-link { + color: #91d076; +} + +.token.builtin, +.token.keyword-array, +.token.package, +.token.regex { + color: #f4adf4; +} + +.token.function, +.token.selector .token.class, +.token.selector .token.id { + color: #c699e3; +} + +.token.atrule .token.rule, +.token.combinator, +.token.keyword, +.token.operator, +.token.pseudo-class, +.token.pseudo-element, +.token.selector, +.token.unit { + color: #e9ae7e; +} + +.token.deleted, +.token.important { + color: #cd6660; +} + +.token.keyword-this, +.token.this { + color: #6cb8e6; +} + +.token.important, +.token.keyword-this, +.token.this, +.token.bold { + font-weight: bold; +} + +.token.delimiter.important { + font-weight: inherit; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +.language-markdown .token.title, +.language-markdown .token.title .token.punctuation { + color: #6cb8e6; + font-weight: bold; +} + +.language-markdown .token.blockquote.punctuation { + color: #f4adf4; +} + +.language-markdown .token.code { + color: #66cccc; +} + +.language-markdown .token.hr.punctuation { + color: #6cb8e6; +} + +.language-markdown .token.url .token.content { + color: #91d076; +} + +.language-markdown .token.url-link { + color: #e6d37a; +} + +.language-markdown .token.list.punctuation { + color: #f4adf4; +} + +.language-markdown .token.table-header { + color: #e3eaf2; +} + +.language-json .token.operator { + color: #e3eaf2; +} + +.language-scss .token.variable { + color: #66cccc; +} + +/* overrides color-values for the Show Invisibles plugin + * https://prismjs.com/plugins/show-invisibles/ + */ +.token.tab:not(:empty):before, +.token.cr:before, +.token.lf:before, +.token.space:before { + color: #8da1b9; +} + +/* overrides color-values for the Toolbar plugin + * https://prismjs.com/plugins/toolbar/ + */ +div.code-toolbar > .toolbar a, +div.code-toolbar > .toolbar button { + color: #111b27; + background: #6cb8e6; +} + +div.code-toolbar > .toolbar a:hover, +div.code-toolbar > .toolbar a:focus, +div.code-toolbar > .toolbar button:hover, +div.code-toolbar > .toolbar button:focus { + color: #111b27; + background: #6cb8e6da; + text-decoration: none; +} + +div.code-toolbar > .toolbar span, +div.code-toolbar > .toolbar span:hover, +div.code-toolbar > .toolbar span:focus { + color: #111b27; + background: #8da1b9; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + */ +.line-highlight { + background: #3c526d5f; + background: linear-gradient(to right, #3c526d5f 70%, #3c526d55); +} + +.line-highlight:before, +.line-highlight[data-end]:after { + background-color: #8da1b9; + color: #111b27; + box-shadow: 0 1px #3c526d; +} + +pre[id].linkable-line-numbers span.line-numbers-rows > span:hover:before { + background-color: #8da1b918; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right: 1px solid #0b121b; + background: #0b121b7a; +} + +.line-numbers-rows > span:before { + color: #8da1b9da; +} + +/* overrides color-values for the Match Braces plugin + * https://prismjs.com/plugins/match-braces/ + */ +.rainbow-braces .token.punctuation.brace-level-1, +.rainbow-braces .token.punctuation.brace-level-5, +.rainbow-braces .token.punctuation.brace-level-9 { + color: #e6d37a; +} + +.rainbow-braces .token.punctuation.brace-level-2, +.rainbow-braces .token.punctuation.brace-level-6, +.rainbow-braces .token.punctuation.brace-level-10 { + color: #f4adf4; +} + +.rainbow-braces .token.punctuation.brace-level-3, +.rainbow-braces .token.punctuation.brace-level-7, +.rainbow-braces .token.punctuation.brace-level-11 { + color: #6cb8e6; +} + +.rainbow-braces .token.punctuation.brace-level-4, +.rainbow-braces .token.punctuation.brace-level-8, +.rainbow-braces .token.punctuation.brace-level-12 { + color: #c699e3; +} + +/* overrides color-values for the Diff Highlight plugin + * https://prismjs.com/plugins/diff-highlight/ + */ +pre.diff-highlight > code .token.deleted:not(.prefix), +pre > code.diff-highlight .token.deleted:not(.prefix) { + background-color: #cd66601f; +} + +pre.diff-highlight > code .token.inserted:not(.prefix), +pre > code.diff-highlight .token.inserted:not(.prefix) { + background-color: #91d0761f; +} + +/* overrides color-values for the Command Line plugin + * https://prismjs.com/plugins/command-line/ + */ +.command-line-prompt { + border-right: 1px solid #0b121b; +} + +.command-line-prompt > span:before { + color: #8da1b9da; +} diff --git a/plugins/prism-highlight/css/themes/prism-coy-without-shadows.css b/plugins/prism-highlight/css/themes/prism-coy-without-shadows.css new file mode 100644 index 0000000..fd2ee78 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-coy-without-shadows.css @@ -0,0 +1,140 @@ +/** + * Coy without shadows + * Based on Tim Shedor's Coy theme for prism.js + * Author: RunDevelopment + */ + +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Code blocks */ +pre[class*="language-"] { + position: relative; + border-left: 10px solid #358ccb; + box-shadow: -1px 0 0 0 #358ccb, 0 0 0 1px #dfdfdf; + background-color: #fdfdfd; + background-image: linear-gradient(transparent 50%, rgba(69, 142, 209, 0.04) 50%); + background-size: 3em 3em; + background-origin: content-box; + background-attachment: local; + margin: .5em 0; + padding: 0 1em; +} + +pre[class*="language-"] > code { + display: block; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + position: relative; + padding: .2em; + border-radius: 0.3em; + color: #c92c2c; + border: 1px solid rgba(0, 0, 0, 0.1); + display: inline; + white-space: normal; + background-color: #fdfdfd; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.token.comment, +.token.block-comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #7D8B99; +} + +.token.punctuation { + color: #5F6364; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.function-name, +.token.constant, +.token.symbol, +.token.deleted { + color: #c92c2c; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.function, +.token.builtin, +.token.inserted { + color: #2f9c0a; +} + +.token.operator, +.token.entity, +.token.url, +.token.variable { + color: #a67f59; + background: rgba(255, 255, 255, 0.5); +} + +.token.atrule, +.token.attr-value, +.token.keyword, +.token.class-name { + color: #1990b8; +} + +.token.regex, +.token.important { + color: #e90; +} + +.language-css .token.string, +.style .token.string { + color: #a67f59; + background: rgba(255, 255, 255, 0.5); +} + +.token.important { + font-weight: normal; +} + +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +.token.namespace { + opacity: .7; +} diff --git a/plugins/prism-highlight/css/themes/prism-coy.css b/plugins/prism-highlight/css/themes/prism-coy.css new file mode 100644 index 0000000..5436ff7 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-coy.css @@ -0,0 +1,218 @@ +/** + * prism.js Coy theme for JavaScript, CoffeeScript, CSS and HTML + * Based on https://github.com/tshedor/workshop-wp-theme (Example: http://workshop.kansan.com/category/sessions/basics or http://workshop.timshedor.com/category/sessions/basics); + * @author Tim Shedor + */ + +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Code blocks */ +pre[class*="language-"] { + position: relative; + margin: .5em 0; + overflow: visible; + padding: 0; +} +pre[class*="language-"]>code { + position: relative; + border-left: 10px solid #358ccb; + box-shadow: -1px 0px 0px 0px #358ccb, 0px 0px 0px 1px #dfdfdf; + background-color: #fdfdfd; + background-image: linear-gradient(transparent 50%, rgba(69, 142, 209, 0.04) 50%); + background-size: 3em 3em; + background-origin: content-box; + background-attachment: local; +} + +code[class*="language-"] { + max-height: inherit; + height: inherit; + padding: 0 1em; + display: block; + overflow: auto; +} + +/* Margin bottom to accommodate shadow */ +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background-color: #fdfdfd; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-bottom: 1em; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + position: relative; + padding: .2em; + border-radius: 0.3em; + color: #c92c2c; + border: 1px solid rgba(0, 0, 0, 0.1); + display: inline; + white-space: normal; +} + +pre[class*="language-"]:before, +pre[class*="language-"]:after { + content: ''; + z-index: -2; + display: block; + position: absolute; + bottom: 0.75em; + left: 0.18em; + width: 40%; + height: 20%; + max-height: 13em; + box-shadow: 0px 13px 8px #979797; + -webkit-transform: rotate(-2deg); + -moz-transform: rotate(-2deg); + -ms-transform: rotate(-2deg); + -o-transform: rotate(-2deg); + transform: rotate(-2deg); +} + +pre[class*="language-"]:after { + right: 0.75em; + left: auto; + -webkit-transform: rotate(2deg); + -moz-transform: rotate(2deg); + -ms-transform: rotate(2deg); + -o-transform: rotate(2deg); + transform: rotate(2deg); +} + +.token.comment, +.token.block-comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #7D8B99; +} + +.token.punctuation { + color: #5F6364; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.function-name, +.token.constant, +.token.symbol, +.token.deleted { + color: #c92c2c; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.function, +.token.builtin, +.token.inserted { + color: #2f9c0a; +} + +.token.operator, +.token.entity, +.token.url, +.token.variable { + color: #a67f59; + background: rgba(255, 255, 255, 0.5); +} + +.token.atrule, +.token.attr-value, +.token.keyword, +.token.class-name { + color: #1990b8; +} + +.token.regex, +.token.important { + color: #e90; +} + +.language-css .token.string, +.style .token.string { + color: #a67f59; + background: rgba(255, 255, 255, 0.5); +} + +.token.important { + font-weight: normal; +} + +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +.token.namespace { + opacity: .7; +} + +@media screen and (max-width: 767px) { + pre[class*="language-"]:before, + pre[class*="language-"]:after { + bottom: 14px; + box-shadow: none; + } + +} + +/* Plugin styles: Line Numbers */ +pre[class*="language-"].line-numbers.line-numbers { + padding-left: 0; +} + +pre[class*="language-"].line-numbers.line-numbers code { + padding-left: 3.8em; +} + +pre[class*="language-"].line-numbers.line-numbers .line-numbers-rows { + left: 0; +} + +/* Plugin styles: Line Highlight */ +pre[class*="language-"][data-line] { + padding-top: 0; + padding-bottom: 0; + padding-left: 0; +} +pre[data-line] code { + position: relative; + padding-left: 4em; +} +pre .line-highlight { + margin-top: 0; +} diff --git a/plugins/prism-highlight/css/themes/prism-darcula.css b/plugins/prism-highlight/css/themes/prism-darcula.css new file mode 100644 index 0000000..6e8bb41 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-darcula.css @@ -0,0 +1,159 @@ +/** + * Darcula theme + * + * Adapted from a theme based on: + * IntelliJ Darcula Theme (https://github.com/bulenkov/Darcula) + * + * @author Alexandre Paradis + * @version 1.0 + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #a9b7c6; + font-family: Consolas, Monaco, 'Andale Mono', monospace; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + color: inherit; + background: rgba(33, 66, 131, .85); +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + color: inherit; + background: rgba(33, 66, 131, .85); +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #2b2b2b; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.cdata { + color: #808080; +} + +.token.delimiter, +.token.boolean, +.token.keyword, +.token.selector, +.token.important, +.token.atrule { + color: #cc7832; +} + +.token.operator, +.token.punctuation, +.token.attr-name { + color: #a9b7c6; +} + +.token.tag, +.token.tag .punctuation, +.token.doctype, +.token.builtin { + color: #e8bf6a; +} + +.token.entity, +.token.number, +.token.symbol { + color: #6897bb; +} + +.token.property, +.token.constant, +.token.variable { + color: #9876aa; +} + +.token.string, +.token.char { + color: #6a8759; +} + +.token.attr-value, +.token.attr-value .punctuation { + color: #a5c261; +} + +.token.attr-value .punctuation:first-child { + color: #a9b7c6; +} + +.token.url { + color: #287bde; + text-decoration: underline; +} + +.token.function { + color: #ffc66d; +} + +.token.regex { + background: #364135; +} + +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.inserted { + background: #294436; +} + +.token.deleted { + background: #484a4a; +} + +code.language-css .token.property, +code.language-css .token.property + .token.punctuation { + color: #a9b7c6; +} + +code.language-css .token.id { + color: #ffc66d; +} + +code.language-css .token.selector > .token.class, +code.language-css .token.selector > .token.attribute, +code.language-css .token.selector > .token.pseudo-class, +code.language-css .token.selector > .token.pseudo-element { + color: #ffc66d; +} diff --git a/plugins/prism-highlight/css/themes/prism-dark.css b/plugins/prism-highlight/css/themes/prism-dark.css new file mode 100644 index 0000000..ea98cd1 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-dark.css @@ -0,0 +1,129 @@ +/** + * prism.js Dark theme for JavaScript, CSS and HTML + * Based on the slides of the talk “/Reg(exp){2}lained/” + * @author Lea Verou + */ + +code[class*="language-"], +pre[class*="language-"] { + color: white; + background: none; + text-shadow: 0 -.1em .2em black; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +pre[class*="language-"], +:not(pre) > code[class*="language-"] { + background: hsl(30, 20%, 25%); +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + border: .3em solid hsl(30, 20%, 40%); + border-radius: .5em; + box-shadow: 1px 1px .5em black inset; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .15em .2em .05em; + border-radius: .3em; + border: .13em solid hsl(30, 20%, 40%); + box-shadow: 1px 1px .3em -.1em black inset; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: hsl(30, 20%, 50%); +} + +.token.punctuation { + opacity: .7; +} + +.token.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol { + color: hsl(350, 40%, 70%); +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: hsl(75, 70%, 60%); +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string, +.token.variable { + color: hsl(40, 90%, 60%); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: hsl(350, 40%, 70%); +} + +.token.regex, +.token.important { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +.token.deleted { + color: red; +} diff --git a/plugins/prism-highlight/css/themes/prism-dracula.css b/plugins/prism-highlight/css/themes/prism-dracula.css new file mode 100644 index 0000000..47e3322 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-dracula.css @@ -0,0 +1,122 @@ +/** + * Dracula Theme originally by Zeno Rocha [@zenorocha] + * https://draculatheme.com/ + * + * Ported for PrismJS by Albert Vallverdu [@byverdu] + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #f8f8f2; + background: none; + text-shadow: 0 1px rgba(0, 0, 0, 0.3); + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + border-radius: 0.3em; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #282a36; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #6272a4; +} + +.token.punctuation { + color: #f8f8f2; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.constant, +.token.symbol, +.token.deleted { + color: #ff79c6; +} + +.token.boolean, +.token.number { + color: #bd93f9; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #50fa7b; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string, +.token.variable { + color: #f8f8f2; +} + +.token.atrule, +.token.attr-value, +.token.function, +.token.class-name { + color: #f1fa8c; +} + +.token.keyword { + color: #8be9fd; +} + +.token.regex, +.token.important { + color: #ffb86c; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/plugins/prism-highlight/css/themes/prism-duotone-dark.css b/plugins/prism-highlight/css/themes/prism-duotone-dark.css new file mode 100644 index 0000000..db1dd1d --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-duotone-dark.css @@ -0,0 +1,172 @@ +/* +Name: Duotone Dark +Author: Simurai, adapted from DuoTone themes for Atom (http://simurai.com/projects/2016/01/01/duotone-themes) + +Conversion: Bram de Haan (http://atelierbram.github.io/Base2Tone-prism/output/prism/prism-base2tone-evening-dark.css) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.375; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #2a2734; + color: #9a86fd; +} + +pre > code[class*="language-"] { + font-size: 1em; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #6a51e6; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #6a51e6; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #6c6783; +} + +.token.punctuation { + color: #6c6783; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #e09142; +} + +.token.property, +.token.function { + color: #9a86fd; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #eeebff; +} + +code.language-javascript, +.token.attr-name { + color: #c4b9fe; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #ffcc99; +} + +.token.placeholder, +.token.variable { + color: #ffcc99; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #eeebff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #c4b9fe; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #8a75f5; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #2c2937; +} + +.line-numbers-rows > span:before { + color: #3c3949; +} + +/* overrides color-values for the Line Highlight plugin +* http://prismjs.com/plugins/line-highlight/ +*/ +.line-highlight { + background: rgba(224, 145, 66, 0.2); + background: -webkit-linear-gradient(left, rgba(224, 145, 66, 0.2) 70%, rgba(224, 145, 66, 0)); + background: linear-gradient(to right, rgba(224, 145, 66, 0.2) 70%, rgba(224, 145, 66, 0)); +} diff --git a/plugins/prism-highlight/css/themes/prism-duotone-earth.css b/plugins/prism-highlight/css/themes/prism-duotone-earth.css new file mode 100644 index 0000000..92fe664 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-duotone-earth.css @@ -0,0 +1,172 @@ +/* +Name: Duotone Earth +Author: Simurai, adapted from DuoTone themes for Atom (http://simurai.com/projects/2016/01/01/duotone-themes) + +Conversion: Bram de Haan (http://atelierbram.github.io/Base2Tone-prism/output/prism/prism-base2tone-earth-dark.css) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.375; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #322d29; + color: #88786d; +} + +pre > code[class*="language-"] { + font-size: 1em; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #6f5849; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #6f5849; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #6a5f58; +} + +.token.punctuation { + color: #6a5f58; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #bfa05a; +} + +.token.property, +.token.function { + color: #88786d; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #fff3eb; +} + +code.language-javascript, +.token.attr-name { + color: #a48774; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #fcc440; +} + +.token.placeholder, +.token.variable { + color: #fcc440; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #fff3eb; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #a48774; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #816d5f; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #35302b; +} + +.line-numbers-rows > span:before { + color: #46403d; +} + +/* overrides color-values for the Line Highlight plugin +* http://prismjs.com/plugins/line-highlight/ +*/ +.line-highlight { + background: rgba(191, 160, 90, 0.2); + background: -webkit-linear-gradient(left, rgba(191, 160, 90, 0.2) 70%, rgba(191, 160, 90, 0)); + background: linear-gradient(to right, rgba(191, 160, 90, 0.2) 70%, rgba(191, 160, 90, 0)); +} diff --git a/plugins/prism-highlight/css/themes/prism-duotone-forest.css b/plugins/prism-highlight/css/themes/prism-duotone-forest.css new file mode 100644 index 0000000..c5f4281 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-duotone-forest.css @@ -0,0 +1,172 @@ +/* +Name: Duotone Forest +Author: by Simurai, adapted from DuoTone themes for Atom (http://simurai.com/projects/2016/01/01/duotone-themes) + +Conversion: Bram de Haan (http://atelierbram.github.io/Base2Tone-prism/output/prism/prism-base2tone-forest-dark.css) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.375; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #2a2d2a; + color: #687d68; +} + +pre > code[class*="language-"] { + font-size: 1em; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #435643; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #435643; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #535f53; +} + +.token.punctuation { + color: #535f53; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #a2b34d; +} + +.token.property, +.token.function { + color: #687d68; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #f0fff0; +} + +code.language-javascript, +.token.attr-name { + color: #b3d6b3; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #e5fb79; +} + +.token.placeholder, +.token.variable { + color: #e5fb79; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #f0fff0; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #b3d6b3; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #5c705c; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #2c302c; +} + +.line-numbers-rows > span:before { + color: #3b423b; +} + +/* overrides color-values for the Line Highlight plugin +* http://prismjs.com/plugins/line-highlight/ +*/ +.line-highlight { + background: rgba(162, 179, 77, 0.2); + background: -webkit-linear-gradient(left, rgba(162, 179, 77, 0.2) 70%, rgba(162, 179, 77, 0)); + background: linear-gradient(to right, rgba(162, 179, 77, 0.2) 70%, rgba(162, 179, 77, 0)); +} diff --git a/plugins/prism-highlight/css/themes/prism-duotone-light.css b/plugins/prism-highlight/css/themes/prism-duotone-light.css new file mode 100644 index 0000000..6267141 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-duotone-light.css @@ -0,0 +1,172 @@ +/* +Name: Duotone Light +Author: Simurai, adapted from DuoTone themes for Atom (http://simurai.com/projects/2016/01/01/duotone-themes) + +Conversion: Bram de Haan (http://atelierbram.github.io/Base2Tone-prism/output/prism/prism-base2tone-morning-light.css) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.375; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #faf8f5; + color: #728fcb; +} + +pre > code[class*="language-"] { + font-size: 1em; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #faf8f5; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #faf8f5; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #b6ad9a; +} + +.token.punctuation { + color: #b6ad9a; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #063289; +} + +.token.property, +.token.function { + color: #b29762; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #2d2006; +} + +code.language-javascript, +.token.attr-name { + color: #896724; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #728fcb; +} + +.token.placeholder, +.token.variable { + color: #93abdc; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #2d2006; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #896724; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #896724; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #ece8de; +} + +.line-numbers-rows > span:before { + color: #cdc4b1; +} + +/* overrides color-values for the Line Highlight plugin + * http://prismjs.com/plugins/line-highlight/ + */ +.line-highlight { + background: rgba(45, 32, 6, 0.2); + background: -webkit-linear-gradient(left, rgba(45, 32, 6, 0.2) 70%, rgba(45, 32, 6, 0)); + background: linear-gradient(to right, rgba(45, 32, 6, 0.2) 70%, rgba(45, 32, 6, 0)); +} diff --git a/plugins/prism-highlight/css/themes/prism-duotone-sea.css b/plugins/prism-highlight/css/themes/prism-duotone-sea.css new file mode 100644 index 0000000..492a9c5 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-duotone-sea.css @@ -0,0 +1,172 @@ +/* +Name: Duotone Sea +Author: by Simurai, adapted from DuoTone themes by Simurai for Atom (http://simurai.com/projects/2016/01/01/duotone-themes) + +Conversion: Bram de Haan (http://atelierbram.github.io/Base2Tone-prism/output/prism/prism-base2tone-sea-dark.css) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.375; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #1d262f; + color: #57718e; +} + +pre > code[class*="language-"] { + font-size: 1em; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #004a9e; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #004a9e; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #4a5f78; +} + +.token.punctuation { + color: #4a5f78; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #0aa370; +} + +.token.property, +.token.function { + color: #57718e; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #ebf4ff; +} + +code.language-javascript, +.token.attr-name { + color: #7eb6f6; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #47ebb4; +} + +.token.placeholder, +.token.variable { + color: #47ebb4; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ebf4ff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #7eb6f6; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #34659d; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #1f2932; +} + +.line-numbers-rows > span:before { + color: #2c3847; +} + +/* overrides color-values for the Line Highlight plugin +* http://prismjs.com/plugins/line-highlight/ +*/ +.line-highlight { + background: rgba(10, 163, 112, 0.2); + background: -webkit-linear-gradient(left, rgba(10, 163, 112, 0.2) 70%, rgba(10, 163, 112, 0)); + background: linear-gradient(to right, rgba(10, 163, 112, 0.2) 70%, rgba(10, 163, 112, 0)); +} diff --git a/plugins/prism-highlight/css/themes/prism-duotone-space.css b/plugins/prism-highlight/css/themes/prism-duotone-space.css new file mode 100644 index 0000000..8a1bed1 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-duotone-space.css @@ -0,0 +1,172 @@ +/* +Name: Duotone Space +Author: Simurai, adapted from DuoTone themes for Atom (http://simurai.com/projects/2016/01/01/duotone-themes) + +Conversion: Bram de Haan (http://atelierbram.github.io/Base2Tone-prism/output/prism/prism-base2tone-space-dark.css) +Generated with Base16 Builder (https://github.com/base16-builder/base16-builder) +*/ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Menlo, Monaco, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; + font-size: 14px; + line-height: 1.375; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + background: #24242e; + color: #767693; +} + +pre > code[class*="language-"] { + font-size: 1em; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #5151e6; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #5151e6; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #5b5b76; +} + +.token.punctuation { + color: #5b5b76; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.operator, +.token.number { + color: #dd672c; +} + +.token.property, +.token.function { + color: #767693; +} + +.token.tag-id, +.token.selector, +.token.atrule-id { + color: #ebebff; +} + +code.language-javascript, +.token.attr-name { + color: #aaaaca; +} + +code.language-css, +code.language-scss, +.token.boolean, +.token.string, +.token.entity, +.token.url, +.language-css .token.string, +.language-scss .token.string, +.style .token.string, +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit, +.token.statement, +.token.regex, +.token.atrule { + color: #fe8c52; +} + +.token.placeholder, +.token.variable { + color: #fe8c52; +} + +.token.deleted { + text-decoration: line-through; +} + +.token.inserted { + border-bottom: 1px dotted #ebebff; + text-decoration: none; +} + +.token.italic { + font-style: italic; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.important { + color: #aaaaca; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid #7676f4; + outline-offset: .4em; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #262631; +} + +.line-numbers-rows > span:before { + color: #393949; +} + +/* overrides color-values for the Line Highlight plugin +* http://prismjs.com/plugins/line-highlight/ +*/ +.line-highlight { + background: rgba(221, 103, 44, 0.2); + background: -webkit-linear-gradient(left, rgba(221, 103, 44, 0.2) 70%, rgba(221, 103, 44, 0)); + background: linear-gradient(to right, rgba(221, 103, 44, 0.2) 70%, rgba(221, 103, 44, 0)); +} diff --git a/plugins/prism-highlight/css/themes/prism-funky.css b/plugins/prism-highlight/css/themes/prism-funky.css new file mode 100644 index 0000000..21a8941 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-funky.css @@ -0,0 +1,130 @@ +/** + * prism.js Funky theme + * Based on “Polyfilling the gaps” talk slides http://lea.verou.me/polyfilling-the-gaps/ + * @author Lea Verou + */ + +code[class*="language-"], +pre[class*="language-"] { + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: .4em .8em; + margin: .5em 0; + overflow: auto; + background: url('data:image/svg+xml;charset=utf-8,%0D%0A%0D%0A%0D%0A<%2Fsvg>'); + background-size: 1em 1em; +} + +code[class*="language-"] { + background: black; + color: white; + box-shadow: -.3em 0 0 .3em black, .3em 0 0 .3em black; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .2em; + border-radius: .3em; + box-shadow: none; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #aaa; +} + +.token.punctuation { + color: #999; +} + +.token.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol { + color: #0cf; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin { + color: yellow; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.token.variable, +.token.inserted { + color: yellowgreen; +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: deeppink; +} + +.token.regex, +.token.important { + color: orange; +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +.token.deleted { + color: red; +} + +/* Plugin styles: Diff Highlight */ +pre.diff-highlight.diff-highlight > code .token.deleted:not(.prefix), +pre > code.diff-highlight.diff-highlight .token.deleted:not(.prefix) { + background-color: rgba(255, 0, 0, .3); + display: inline; +} + +pre.diff-highlight.diff-highlight > code .token.inserted:not(.prefix), +pre > code.diff-highlight.diff-highlight .token.inserted:not(.prefix) { + background-color: rgba(0, 255, 128, .3); + display: inline; +} diff --git a/plugins/prism-highlight/css/themes/prism-ghcolors.css b/plugins/prism-highlight/css/themes/prism-ghcolors.css new file mode 100644 index 0000000..01819a8 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-ghcolors.css @@ -0,0 +1,122 @@ +/** + * GHColors theme by Avi Aryan (http://aviaryan.in) + * Inspired by Github syntax coloring + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #393A34; + font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + font-size: .9em; + line-height: 1.2em; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre > code[class*="language-"] { + font-size: 1em; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + background: #b3d4fc; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + background: #b3d4fc; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + border: 1px solid #dddddd; + background-color: white; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .2em; + padding-top: 1px; + padding-bottom: 1px; + background: #f8f8f8; + border: 1px solid #dddddd; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #999988; + font-style: italic; +} + +.token.namespace { + opacity: .7; +} + +.token.string, +.token.attr-value { + color: #e3116c; +} + +.token.punctuation, +.token.operator { + color: #393A34; /* no highlight */ +} + +.token.entity, +.token.url, +.token.symbol, +.token.number, +.token.boolean, +.token.variable, +.token.constant, +.token.property, +.token.regex, +.token.inserted { + color: #36acaa; +} + +.token.atrule, +.token.keyword, +.token.attr-name, +.language-autohotkey .token.selector { + color: #00a4db; +} + +.token.function, +.token.deleted, +.language-autohotkey .token.tag { + color: #9a050f; +} + +.token.tag, +.token.selector, +.language-autohotkey .token.keyword { + color: #00009f; +} + +.token.important, +.token.function, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} diff --git a/plugins/prism-highlight/css/themes/prism-gruvbox-dark.css b/plugins/prism-highlight/css/themes/prism-gruvbox-dark.css new file mode 100644 index 0000000..3f01bad --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-gruvbox-dark.css @@ -0,0 +1,143 @@ +/** + * Gruvbox dark theme + * + * Adapted from a theme based on: + * Vim Gruvbox dark Theme (https://github.com/morhetz/gruvbox) + * + * @author Azat S. + * @version 1.0 + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #ebdbb2; + font-family: Consolas, Monaco, "Andale Mono", monospace; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + color: #fff; + background: #f05e23; +} + +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + color: #fff; + background: #f05e23; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #1d2021; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: 0.1em; + border-radius: 0.3em; +} + +.token.comment, +.token.prolog, +.token.cdata { + color: #a89984; +} + +.token.delimiter, +.token.boolean, +.token.keyword, +.token.selector, +.token.important, +.token.atrule { + color: #fb4934; +} + +.token.operator, +.token.punctuation, +.token.attr-name { + color: #a89984; +} + +.token.tag, +.token.tag .punctuation, +.token.doctype, +.token.builtin { + color: #fabd2f; +} + +.token.entity, +.token.number, +.token.symbol { + color: #d3869b; +} + +.token.property, +.token.constant, +.token.variable { + color: #fb4934; +} + +.token.string, +.token.char { + color: #b8bb26; +} + +.token.attr-value, +.token.attr-value .punctuation { + color: #a89984; +} + +.token.url { + color: #b8bb26; + text-decoration: underline; +} + +.token.function { + color: #fabd2f; +} + +.token.regex { + background: #b8bb26; +} + +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.inserted { + background: #a89984; +} + +.token.deleted { + background: #fb4934; +} diff --git a/plugins/prism-highlight/css/themes/prism-hopscotch.css b/plugins/prism-highlight/css/themes/prism-hopscotch.css new file mode 100644 index 0000000..a31472e --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-hopscotch.css @@ -0,0 +1,132 @@ +@import url(https://fonts.googleapis.com/css?family=Fira+Mono); +/* + * Hopscotch + * by Jan T. Sott + * https://github.com/idleberg/Hopscotch + * + * This work is licensed under the Creative Commons CC0 1.0 Universal License + */ + +code[class*="language-"], +pre[class*="language-"] { + font-family: "Fira Mono", Menlo, Monaco, "Lucida Console", "Courier New", Courier, monospace; + font-size: 16px; + line-height: 1.375; + direction: ltr; + text-align: left; + word-spacing: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + white-space: pre; + white-space: pre-wrap; + word-break: break-all; + word-wrap: break-word; + background: #322931; + color: #b9b5b8; +} + +pre > code[class*="language-"] { + font-size: 1em; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #797379; +} + +.token.punctuation { + color: #b9b5b8; +} + +.namespace { + opacity: .7; +} + +.token.null, +.token.operator, +.token.boolean, +.token.number { + color: #fd8b19; +} + +.token.property { + color: #fdcc59; +} + +.token.tag { + color: #1290bf; +} + +.token.string { + color: #149b93; +} + +.token.selector { + color: #c85e7c; +} + +.token.attr-name { + color: #fd8b19; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #149b93; +} + +.token.attr-value, +.token.keyword, +.token.control, +.token.directive, +.token.unit { + color: #8fc13e; +} + +.token.statement, +.token.regex, +.token.atrule { + color: #149b93; +} + +.token.placeholder, +.token.variable { + color: #1290bf; +} + +.token.important { + color: #dd464c; + font-weight: bold; +} + +.token.entity { + cursor: help; +} + +pre > code.highlight { + outline: .4em solid red; + outline-offset: .4em; +} diff --git a/plugins/prism-highlight/css/themes/prism-lucario.css b/plugins/prism-highlight/css/themes/prism-lucario.css new file mode 100644 index 0000000..f520d99 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-lucario.css @@ -0,0 +1,122 @@ +/** + * Lucario Theme originally by Raphael Amorim [@raphamorim] + * https://github.com/raphamorim/lucario + * + * Ported for PrismJS by Christopher Kapic [@christopher-kapic] + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #f8f8f2; + background: none; + text-shadow: 0 1px rgba(0, 0, 0, 0.3); + font-family: Monaco, Consolas, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + border-radius: 0.3em; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #263E52; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #5c98cd; +} + +.token.punctuation { + color: #f8f8f2; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.constant, +.token.symbol, +.token.deleted { + color: #F05E5D; +} + +.token.boolean, +.token.number { + color: #BC94F9; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #FCFCD6; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string, +.token.variable { + color: #f8f8f2; +} + +.token.atrule, +.token.attr-value, +.token.function, +.token.class-name { + color: #66D8EF; +} + +.token.keyword { + color: #6EB26E; +} + +.token.regex, +.token.important { + color: #F05E5D; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/plugins/prism-highlight/css/themes/prism-material-dark.css b/plugins/prism-highlight/css/themes/prism-material-dark.css new file mode 100644 index 0000000..4d1da23 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-material-dark.css @@ -0,0 +1,205 @@ +code[class*="language-"], +pre[class*="language-"] { + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + color: #eee; + background: #2f2f2f; + font-family: Roboto Mono, monospace; + font-size: 1em; + line-height: 1.5em; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +code[class*="language-"]::-moz-selection, +pre[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection, +pre[class*="language-"] ::-moz-selection { + background: #363636; +} + +code[class*="language-"]::selection, +pre[class*="language-"]::selection, +code[class*="language-"] ::selection, +pre[class*="language-"] ::selection { + background: #363636; +} + +:not(pre) > code[class*="language-"] { + white-space: normal; + border-radius: 0.2em; + padding: 0.1em; +} + +pre[class*="language-"] { + overflow: auto; + position: relative; + margin: 0.5em 0; + padding: 1.25em 1em; +} + +.language-css > code, +.language-sass > code, +.language-scss > code { + color: #fd9170; +} + +[class*="language-"] .namespace { + opacity: 0.7; +} + +.token.atrule { + color: #c792ea; +} + +.token.attr-name { + color: #ffcb6b; +} + +.token.attr-value { + color: #a5e844; +} + +.token.attribute { + color: #a5e844; +} + +.token.boolean { + color: #c792ea; +} + +.token.builtin { + color: #ffcb6b; +} + +.token.cdata { + color: #80cbc4; +} + +.token.char { + color: #80cbc4; +} + +.token.class { + color: #ffcb6b; +} + +.token.class-name { + color: #f2ff00; +} + +.token.comment { + color: #616161; +} + +.token.constant { + color: #c792ea; +} + +.token.deleted { + color: #ff6666; +} + +.token.doctype { + color: #616161; +} + +.token.entity { + color: #ff6666; +} + +.token.function { + color: #c792ea; +} + +.token.hexcode { + color: #f2ff00; +} + +.token.id { + color: #c792ea; + font-weight: bold; +} + +.token.important { + color: #c792ea; + font-weight: bold; +} + +.token.inserted { + color: #80cbc4; +} + +.token.keyword { + color: #c792ea; +} + +.token.number { + color: #fd9170; +} + +.token.operator { + color: #89ddff; +} + +.token.prolog { + color: #616161; +} + +.token.property { + color: #80cbc4; +} + +.token.pseudo-class { + color: #a5e844; +} + +.token.pseudo-element { + color: #a5e844; +} + +.token.punctuation { + color: #89ddff; +} + +.token.regex { + color: #f2ff00; +} + +.token.selector { + color: #ff6666; +} + +.token.string { + color: #a5e844; +} + +.token.symbol { + color: #c792ea; +} + +.token.tag { + color: #ff6666; +} + +.token.unit { + color: #fd9170; +} + +.token.url { + color: #ff6666; +} + +.token.variable { + color: #ff6666; +} diff --git a/plugins/prism-highlight/css/themes/prism-material-light.css b/plugins/prism-highlight/css/themes/prism-material-light.css new file mode 100644 index 0000000..acd13ac --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-material-light.css @@ -0,0 +1,207 @@ +code[class*="language-"], +pre[class*="language-"] { + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + color: #90a4ae; + background: #fafafa; + font-family: Roboto Mono, monospace; + font-size: 1em; + line-height: 1.5em; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +code[class*="language-"]::-moz-selection, +pre[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection, +pre[class*="language-"] ::-moz-selection { + background: #cceae7; + color: #263238; +} + +code[class*="language-"]::selection, +pre[class*="language-"]::selection, +code[class*="language-"] ::selection, +pre[class*="language-"] ::selection { + background: #cceae7; + color: #263238; +} + +:not(pre) > code[class*="language-"] { + white-space: normal; + border-radius: 0.2em; + padding: 0.1em; +} + +pre[class*="language-"] { + overflow: auto; + position: relative; + margin: 0.5em 0; + padding: 1.25em 1em; +} + +.language-css > code, +.language-sass > code, +.language-scss > code { + color: #f76d47; +} + +[class*="language-"] .namespace { + opacity: 0.7; +} + +.token.atrule { + color: #7c4dff; +} + +.token.attr-name { + color: #39adb5; +} + +.token.attr-value { + color: #f6a434; +} + +.token.attribute { + color: #f6a434; +} + +.token.boolean { + color: #7c4dff; +} + +.token.builtin { + color: #39adb5; +} + +.token.cdata { + color: #39adb5; +} + +.token.char { + color: #39adb5; +} + +.token.class { + color: #39adb5; +} + +.token.class-name { + color: #6182b8; +} + +.token.comment { + color: #aabfc9; +} + +.token.constant { + color: #7c4dff; +} + +.token.deleted { + color: #e53935; +} + +.token.doctype { + color: #aabfc9; +} + +.token.entity { + color: #e53935; +} + +.token.function { + color: #7c4dff; +} + +.token.hexcode { + color: #f76d47; +} + +.token.id { + color: #7c4dff; + font-weight: bold; +} + +.token.important { + color: #7c4dff; + font-weight: bold; +} + +.token.inserted { + color: #39adb5; +} + +.token.keyword { + color: #7c4dff; +} + +.token.number { + color: #f76d47; +} + +.token.operator { + color: #39adb5; +} + +.token.prolog { + color: #aabfc9; +} + +.token.property { + color: #39adb5; +} + +.token.pseudo-class { + color: #f6a434; +} + +.token.pseudo-element { + color: #f6a434; +} + +.token.punctuation { + color: #39adb5; +} + +.token.regex { + color: #6182b8; +} + +.token.selector { + color: #e53935; +} + +.token.string { + color: #f6a434; +} + +.token.symbol { + color: #7c4dff; +} + +.token.tag { + color: #e53935; +} + +.token.unit { + color: #f76d47; +} + +.token.url { + color: #e53935; +} + +.token.variable { + color: #e53935; +} diff --git a/plugins/prism-highlight/css/themes/prism-material-oceanic.css b/plugins/prism-highlight/css/themes/prism-material-oceanic.css new file mode 100644 index 0000000..9c97149 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-material-oceanic.css @@ -0,0 +1,210 @@ +code[class*="language-"], +pre[class*="language-"] { + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + color: #c3cee3; + background: #263238; + font-family: Roboto Mono, monospace; + font-size: 1em; + line-height: 1.5em; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +code[class*="language-"]::-moz-selection, +pre[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection, +pre[class*="language-"] ::-moz-selection { + background: #363636; +} + +code[class*="language-"]::selection, +pre[class*="language-"]::selection, +code[class*="language-"] ::selection, +pre[class*="language-"] ::selection { + background: #363636; +} + +:not(pre) > code[class*="language-"] { + white-space: normal; + border-radius: 0.2em; + padding: 0.1em; +} + +pre[class*="language-"] { + overflow: auto; + position: relative; + margin: 0.5em 0; + padding: 1.25em 1em; +} + +.language-css > code, +.language-sass > code, +.language-scss > code { + color: #fd9170; +} + +[class*="language-"] .namespace { + opacity: 0.7; +} + +.token.atrule { + color: #c792ea; +} + +.token.attr-name { + color: #ffcb6b; +} + +.token.attr-value { + color: #c3e88d; +} + +.token.attribute { + color: #c3e88d; +} + +.token.boolean { + color: #c792ea; +} + +.token.builtin { + color: #ffcb6b; +} + +.token.cdata { + color: #80cbc4; +} + +.token.char { + color: #80cbc4; +} + +.token.class { + color: #ffcb6b; +} + +.token.class-name { + color: #f2ff00; +} + +.token.color { + color: #f2ff00; +} + +.token.comment { + color: #546e7a; +} + +.token.constant { + color: #c792ea; +} + +.token.deleted { + color: #f07178; +} + +.token.doctype { + color: #546e7a; +} + +.token.entity { + color: #f07178; +} + +.token.function { + color: #c792ea; +} + +.token.hexcode { + color: #f2ff00; +} + +.token.id { + color: #c792ea; + font-weight: bold; +} + +.token.important { + color: #c792ea; + font-weight: bold; +} + +.token.inserted { + color: #80cbc4; +} + +.token.keyword { + color: #c792ea; + font-style: italic; +} + +.token.number { + color: #fd9170; +} + +.token.operator { + color: #89ddff; +} + +.token.prolog { + color: #546e7a; +} + +.token.property { + color: #80cbc4; +} + +.token.pseudo-class { + color: #c3e88d; +} + +.token.pseudo-element { + color: #c3e88d; +} + +.token.punctuation { + color: #89ddff; +} + +.token.regex { + color: #f2ff00; +} + +.token.selector { + color: #f07178; +} + +.token.string { + color: #c3e88d; +} + +.token.symbol { + color: #c792ea; +} + +.token.tag { + color: #f07178; +} + +.token.unit { + color: #f07178; +} + +.token.url { + color: #fd9170; +} + +.token.variable { + color: #f07178; +} diff --git a/plugins/prism-highlight/css/themes/prism-night-owl.css b/plugins/prism-highlight/css/themes/prism-night-owl.css new file mode 100644 index 0000000..abfad90 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-night-owl.css @@ -0,0 +1,158 @@ +/** + * MIT License + * Copyright (c) 2018 Sarah Drasner + * Sarah Drasner's[@sdras] Night Owl + * Ported by Sara vieria [@SaraVieira] + * Added by Souvik Mandal [@SimpleIndian] + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #d6deeb; + font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + font-size: 1em; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: rgba(29, 59, 83, 0.99); +} + +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: rgba(29, 59, 83, 0.99); +} + +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + color: white; + background: #011627; +} + +:not(pre) > code[class*="language-"] { + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.cdata { + color: rgb(99, 119, 119); + font-style: italic; +} + +.token.punctuation { + color: rgb(199, 146, 234); +} + +.namespace { + color: rgb(178, 204, 214); +} + +.token.deleted { + color: rgba(239, 83, 80, 0.56); + font-style: italic; +} + +.token.symbol, +.token.property { + color: rgb(128, 203, 196); +} + +.token.tag, +.token.operator, +.token.keyword { + color: rgb(127, 219, 202); +} + +.token.boolean { + color: rgb(255, 88, 116); +} + +.token.number { + color: rgb(247, 140, 108); +} + +.token.constant, +.token.function, +.token.builtin, +.token.char { + color: rgb(130, 170, 255); +} + +.token.selector, +.token.doctype { + color: rgb(199, 146, 234); + font-style: italic; +} + +.token.attr-name, +.token.inserted { + color: rgb(173, 219, 103); + font-style: italic; +} + +.token.string, +.token.url, +.token.entity, +.language-css .token.string, +.style .token.string { + color: rgb(173, 219, 103); +} + +.token.class-name, +.token.atrule, +.token.attr-value { + color: rgb(255, 203, 139); +} + +.token.regex, +.token.important, +.token.variable { + color: rgb(214, 222, 235); +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} diff --git a/plugins/prism-highlight/css/themes/prism-nord.css b/plugins/prism-highlight/css/themes/prism-nord.css new file mode 100644 index 0000000..23b8ac9 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-nord.css @@ -0,0 +1,124 @@ +/** + * Nord Theme Originally by Arctic Ice Studio + * https://nordtheme.com + * + * Ported for PrismJS by Zane Hitchcoxc (@zwhitchcox) and Gabriel Ramos (@gabrieluizramos) + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #f8f8f2; + background: none; + font-family: "Fira Code", Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + border-radius: 0.3em; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #2E3440; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #636f88; +} + +.token.punctuation { + color: #81A1C1; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.constant, +.token.symbol, +.token.deleted { + color: #81A1C1; +} + +.token.number { + color: #B48EAD; +} + +.token.boolean { + color: #81A1C1; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #A3BE8C; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string, +.token.variable { + color: #81A1C1; +} + +.token.atrule, +.token.attr-value, +.token.function, +.token.class-name { + color: #88C0D0; +} + +.token.keyword { + color: #81A1C1; +} + +.token.regex, +.token.important { + color: #EBCB8B; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/plugins/prism-highlight/css/themes/prism-okaidia.css b/plugins/prism-highlight/css/themes/prism-okaidia.css new file mode 100644 index 0000000..cf04068 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-okaidia.css @@ -0,0 +1,123 @@ +/** + * okaidia theme for JavaScript, CSS and HTML + * Loosely based on Monokai textmate theme by http://www.monokai.nl/ + * @author ocodia + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #f8f8f2; + background: none; + text-shadow: 0 1px rgba(0, 0, 0, 0.3); + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + border-radius: 0.3em; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #272822; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #8292a2; +} + +.token.punctuation { + color: #f8f8f2; +} + +.token.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.constant, +.token.symbol, +.token.deleted { + color: #f92672; +} + +.token.boolean, +.token.number { + color: #ae81ff; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #a6e22e; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string, +.token.variable { + color: #f8f8f2; +} + +.token.atrule, +.token.attr-value, +.token.function, +.token.class-name { + color: #e6db74; +} + +.token.keyword { + color: #66d9ef; +} + +.token.regex, +.token.important { + color: #fd971f; +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/plugins/prism-highlight/css/themes/prism-pojoaque.css b/plugins/prism-highlight/css/themes/prism-pojoaque.css new file mode 100644 index 0000000..565cf94 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-pojoaque.css @@ -0,0 +1,151 @@ +/* + * Pojoaque Style by Jason Tate + * http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html + * Based on Solarized Style from http://ethanschoonover.com/solarized + * http://softwaremaniacs.org/media/soft/highlight/test.html +*/ + +code[class*="language-"], +pre[class*="language-"] { + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + white-space: pre; + white-space: pre-wrap; + word-break: break-all; + word-wrap: break-word; + font-family: Menlo, Monaco, "Courier New", monospace; + font-size: 15px; + line-height: 1.5; + color: #dccf8f; + text-shadow: 0; +} + +pre > code[class*="language-"] { + font-size: 1em; +} + +pre[class*="language-"], +:not(pre) > code[class*="language-"] { + border-radius: 5px; + border: 1px solid #000; + color: #DCCF8F; + background: #181914 url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAMAAA/+4ADkFkb2JlAGTAAAAAAf/bAIQACQYGBgcGCQcHCQ0IBwgNDwsJCQsPEQ4ODw4OERENDg4ODg0RERQUFhQUERoaHBwaGiYmJiYmKysrKysrKysrKwEJCAgJCgkMCgoMDwwODA8TDg4ODhMVDg4PDg4VGhMRERERExoXGhYWFhoXHR0aGh0dJCQjJCQrKysrKysrKysr/8AAEQgAjACMAwEiAAIRAQMRAf/EAF4AAQEBAAAAAAAAAAAAAAAAAAABBwEBAQAAAAAAAAAAAAAAAAAAAAIQAAEDAwIHAQEAAAAAAAAAAADwAREhYaExkUFRcYGxwdHh8REBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8AyGFEjHaBS2fDDs2zkhKmBKktb7km+ZwwCnXPkLVmCTMItj6AXFxRS465/BTnkAJvkLkJe+7AKKoi2AtRS2zuAWsCb5GOlBN8gKfmuGHZ8MFqIth3ALmFoFwbwKWyAlTAp17uKqBvgBD8sM4fTjhvAhkzhaRkBMKBrfs7jGPIpzy7gFrAqnC0C0gB0EWwBDW2cBVQwm+QtPpa3wBO3sVvszCnLAhkzgL5/RLf13cLQd8/AGlu0Cb5HTx9KuAEieGJEdcehS3eRTp2ATdt3CpIm+QtZwAhROXFeb7swp/ahaM3kBE/jSIUBc/AWrgBN8uNFAl+b7sAXFxFn2YLUU5Ns7gFX8C4ib+hN8gFWXwK3bZglxEJm+gKdciLPsFV/TClsgJUwKJ5FVA7tvIFrfZhVfGJDcsCKaYgAqv6YRbE+RWOWBtu7+AL3yRalXLyKqAIIfk+zARbDgFyEsncYwJvlgFRW+GEWntIi2P0BooyFxcNr8Ep3+ANLbMO+QyhvbiqdgC0kVvgUUiLYgBS2QtPbiVI1/sgOmG9uO+Y8DW+7jS2zAOnj6O2BndwuIAUtkdRN8gFoK3wwXMQyZwHVbClsuNLd4E3yAUR6FVDBR+BafQGt93LVMxJTv8ABts4CVLhcfYWsCb5kC9/BHdU8CLYFY5bMAd+eX9MGthhpbA1vu4B7+RKkaW2Yq4AQtVBBFsAJU/AuIXBhN8gGWnstefhiZyWvLAEnbYS1uzSFP6Jvn4Baxx70JKkQojLib5AVTey1jjgkKJGO0AKWyOm7N7cSpgSpAdPH0Tfd/gp1z5C1ZgKqN9J2wFxcUUuAFLZAm+QC0Fb4YUVRFsAOvj4KW2dwtYE3yAWk/wS/PLMKfmuGHZ8MAXF/Ja32Yi5haAKWz4Ydm2cSpgU693Atb7km+Zwwh+WGcPpxw3gAkzCLY+iYUDW/Z3Adc/gpzyFrAqnALkJe+7DoItgAtRS2zuKqGE3yAx0oJvkdvYrfZmALURbDuL5/RLf13cAuDeBS2RpbtAm+QFVA3wR+3fUtFHoBDJnC0jIXH0HWsgMY8inPLuOkd9chp4z20ALQLSA8cI9jYAIa2zjzjBd8gRafS1vgiUho/kAKcsCGTOGWvoOpkAtB3z8Hm8x2Ff5ADp4+lXAlIvcmwH/2Q==') repeat left top; +} + +pre[class*="language-"] { + padding: 12px; + overflow: auto; +} + +:not(pre) > code[class*="language-"] { + padding: 2px 6px; +} + +.token.namespace { + opacity: .7; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #586e75; + font-style: italic; +} + +.token.number, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #468966; +} + +.token.attr-name { + color: #b89859; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #dccf8f; +} + +.token.selector, +.token.regex { + color: #859900; +} + +.token.atrule, +.token.keyword { + color: #cb4b16; +} + +.token.attr-value { + color: #468966; +} + +.token.function, +.token.variable, +.token.placeholder { + color: #b58900; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol { + color: #b89859; +} + +.token.tag { + color: #ffb03b; +} + +.token.important, +.token.statement, +.token.deleted { + color: #dc322f; +} + +.token.punctuation { + color: #dccf8f; +} + +.token.entity { + cursor: help; +} + +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +/* +.pojoaque-colors { + color: #586e75; + color: #b64926; + color: #468966; + color: #ffb03b; + color: #b58900; + color: #b89859; + color: #dccf8f; + color: #d3a60c; + color: #cb4b16; + color: #dc322f; + color: #073642; + color: #181914; +} +*/ diff --git a/plugins/prism-highlight/css/themes/prism-shades-of-purple.css b/plugins/prism-highlight/css/themes/prism-shades-of-purple.css new file mode 100644 index 0000000..a4a0cd5 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-shades-of-purple.css @@ -0,0 +1,200 @@ +/** + * Shades of Purple Theme for Prism.js + * + * @author Ahmad Awais + * @support Follow/tweet at https://twitter.com/MrAhmadAwais/ + */ + +code[class*='language-'], +pre[class*='language-'] { + color: #9efeff; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + + font-family: 'Operator Mono', 'Fira Code', Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-weight: 400; + font-size: 17px; + line-height: 25px; + letter-spacing: 0.5px; + text-shadow: 0 1px #222245; +} + +pre[class*='language-']::-moz-selection, +pre[class*='language-'] ::-moz-selection, +code[class*='language-']::-moz-selection, +code[class*='language-'] ::-moz-selection, +pre[class*='language-']::selection, +pre[class*='language-'] ::selection, +code[class*='language-']::selection, +code[class*='language-'] ::selection { + color: inherit; + background: #a599e9; +} + +/* Code blocks. */ +pre[class*='language-'] { + padding: 2em; + margin: 0.5em 0; + overflow: auto; +} + +:not(pre) > code[class*='language-'], +pre[class*='language-'] { + background: #1e1e3f; +} + +/* Inline code */ +:not(pre) > code[class*='language-'] { + padding: 0.1em; + border-radius: 0.3em; +} + +.token { + font-weight: 400; +} + +.token.comment, +.token.prolog, +.token.cdata { + color: #b362ff; +} + +.token.delimiter, +.token.keyword, +.token.selector, +.token.important, +.token.atrule { + color: #ff9d00; +} + +.token.operator, +.token.attr-name { + color: rgb(255, 180, 84); +} + +.token.punctuation { + color: #ffffff; +} + +.token.boolean { + color: rgb(255, 98, 140); +} + +.token.tag, +.token.tag .punctuation, +.token.doctype, +.token.builtin { + color: rgb(255, 157, 0); +} + +.token.entity, +.token.symbol { + color: #6897bb; +} + +.token.number { + color: #ff628c; +} + +.token.property, +.token.constant, +.token.variable { + color: #ff628c; +} + +.token.string, +.token.char { + color: #a5ff90; +} + +.token.attr-value, +.token.attr-value .punctuation { + color: #a5c261; +} + +.token.attr-value .punctuation:first-child { + color: #a9b7c6; +} + +.token.url { + color: #287bde; + text-decoration: underline; +} + +.token.function { + color: rgb(250, 208, 0); +} + +.token.regex { + background: #364135; +} + +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.inserted { + background: #00ff00; +} + +.token.deleted { + background: #ff000d; +} + +code.language-css .token.property, +code.language-css .token.property + .token.punctuation { + color: #a9b7c6; +} + +code.language-css .token.id { + color: #ffc66d; +} + +code.language-css .token.selector > .token.class, +code.language-css .token.selector > .token.attribute, +code.language-css .token.selector > .token.pseudo-class, +code.language-css .token.selector > .token.pseudo-element { + color: #ffc66d; +} + +.token.class-name { + color: #fb94ff; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + background: none; +} + +pre .line-highlight, +pre .line-highlight.line-highlight, +pre > code.line-highlight { + margin-top: 36px; + background: linear-gradient(to right, rgba(179, 98, 255, 0.17), transparent); +} + +pre .line-highlight:before, +pre > code.line-highlight:before, +pre .line-highlight[data-end]:after, +pre > code.line-highlight[data-end]:after { + content: ''; +} diff --git a/plugins/prism-highlight/css/themes/prism-solarizedlight.css b/plugins/prism-highlight/css/themes/prism-solarizedlight.css new file mode 100644 index 0000000..65e4a65 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-solarizedlight.css @@ -0,0 +1,150 @@ +/* + Solarized Color Schemes originally by Ethan Schoonover + http://ethanschoonover.com/solarized + + Ported for PrismJS by Hector Matos + Website: https://krakendev.io + Twitter Handle: https://twitter.com/allonsykraken) +*/ + +/* +SOLARIZED HEX +--------- ------- +base03 #002b36 +base02 #073642 +base01 #586e75 +base00 #657b83 +base0 #839496 +base1 #93a1a1 +base2 #eee8d5 +base3 #fdf6e3 +yellow #b58900 +orange #cb4b16 +red #dc322f +magenta #d33682 +violet #6c71c4 +blue #268bd2 +cyan #2aa198 +green #859900 +*/ + +code[class*="language-"], +pre[class*="language-"] { + color: #657b83; /* base00 */ + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + background: #073642; /* base02 */ +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + background: #073642; /* base02 */ +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + border-radius: 0.3em; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background-color: #fdf6e3; /* base3 */ +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #93a1a1; /* base1 */ +} + +.token.punctuation { + color: #586e75; /* base01 */ +} + +.token.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #268bd2; /* blue */ +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.url, +.token.inserted { + color: #2aa198; /* cyan */ +} + +.token.entity { + color: #657b83; /* base00 */ + background: #eee8d5; /* base2 */ +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #859900; /* green */ +} + +.token.function, +.token.class-name { + color: #b58900; /* yellow */ +} + +.token.regex, +.token.important, +.token.variable { + color: #cb4b16; /* orange */ +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/plugins/prism-highlight/css/themes/prism-synthwave84.css b/plugins/prism-highlight/css/themes/prism-synthwave84.css new file mode 100644 index 0000000..7f0595e --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-synthwave84.css @@ -0,0 +1,140 @@ +/* + * Synthwave '84 Theme originally by Robb Owen [@Robb0wen] for Visual Studio Code + * Demo: https://marc.dev/demo/prism-synthwave84 + * + * Ported for PrismJS by Marc Backes [@themarcba] + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #f92aad; + text-shadow: 0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3; + background: none; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background-color: transparent !important; + background-image: linear-gradient(to bottom, #2a2139 75%, #34294f); +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.block-comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #8e8e8e; +} + +.token.punctuation { + color: #ccc; +} + +.token.tag, +.token.attr-name, +.token.namespace, +.token.number, +.token.unit, +.token.hexcode, +.token.deleted { + color: #e2777a; +} + +.token.property, +.token.selector { + color: #72f1b8; + text-shadow: 0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475; +} + +.token.function-name { + color: #6196cc; +} + +.token.boolean, +.token.selector .token.id, +.token.function { + color: #fdfdfd; + text-shadow: 0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975; +} + +.token.class-name { + color: #fff5f6; + text-shadow: 0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75; +} + +.token.constant, +.token.symbol { + color: #f92aad; + text-shadow: 0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3; +} + +.token.important, +.token.atrule, +.token.keyword, +.token.selector .token.class, +.token.builtin { + color: #f4eee4; + text-shadow: 0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575; +} + +.token.string, +.token.char, +.token.attr-value, +.token.regex, +.token.variable { + color: #f87c32; +} + +.token.operator, +.token.entity, +.token.url { + color: #67cdcc; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +.token.inserted { + color: green; +} diff --git a/plugins/prism-highlight/css/themes/prism-tomorrow.css b/plugins/prism-highlight/css/themes/prism-tomorrow.css new file mode 100644 index 0000000..a0eeff0 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-tomorrow.css @@ -0,0 +1,122 @@ +/** + * prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML + * Based on https://github.com/chriskempson/tomorrow-theme + * @author Rose Pritchard + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #ccc; + background: none; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #2d2d2d; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.block-comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #999; +} + +.token.punctuation { + color: #ccc; +} + +.token.tag, +.token.attr-name, +.token.namespace, +.token.deleted { + color: #e2777a; +} + +.token.function-name { + color: #6196cc; +} + +.token.boolean, +.token.number, +.token.function { + color: #f08d49; +} + +.token.property, +.token.class-name, +.token.constant, +.token.symbol { + color: #f8c555; +} + +.token.selector, +.token.important, +.token.atrule, +.token.keyword, +.token.builtin { + color: #cc99cd; +} + +.token.string, +.token.char, +.token.attr-value, +.token.regex, +.token.variable { + color: #7ec699; +} + +.token.operator, +.token.entity, +.token.url { + color: #67cdcc; +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +.token.inserted { + color: green; +} diff --git a/plugins/prism-highlight/css/themes/prism-twilight.css b/plugins/prism-highlight/css/themes/prism-twilight.css new file mode 100644 index 0000000..941d6d7 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-twilight.css @@ -0,0 +1,199 @@ +/** + * prism.js Twilight theme + * Based (more or less) on the Twilight theme originally of Textmate fame. + * @author Remy Bach + */ +code[class*="language-"], +pre[class*="language-"] { + color: white; + background: none; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + text-shadow: 0 -.1em .2em black; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"], +:not(pre) > code[class*="language-"] { + background: hsl(0, 0%, 8%); /* #141414 */ +} + +/* Code blocks */ +pre[class*="language-"] { + border-radius: .5em; + border: .3em solid hsl(0, 0%, 33%); /* #282A2B */ + box-shadow: 1px 1px .5em black inset; + margin: .5em 0; + overflow: auto; + padding: 1em; +} + +pre[class*="language-"]::-moz-selection { + /* Firefox */ + background: hsl(200, 4%, 16%); /* #282A2B */ +} + +pre[class*="language-"]::selection { + /* Safari */ + background: hsl(200, 4%, 16%); /* #282A2B */ +} + +/* Text Selection colour */ +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: hsla(0, 0%, 93%, 0.15); /* #EDEDED */ +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: hsla(0, 0%, 93%, 0.15); /* #EDEDED */ +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + border-radius: .3em; + border: .13em solid hsl(0, 0%, 33%); /* #545454 */ + box-shadow: 1px 1px .3em -.1em black inset; + padding: .15em .2em .05em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: hsl(0, 0%, 47%); /* #777777 */ +} + +.token.punctuation { + opacity: .7; +} + +.token.namespace { + opacity: .7; +} + +.token.tag, +.token.boolean, +.token.number, +.token.deleted { + color: hsl(14, 58%, 55%); /* #CF6A4C */ +} + +.token.keyword, +.token.property, +.token.selector, +.token.constant, +.token.symbol, +.token.builtin { + color: hsl(53, 89%, 79%); /* #F9EE98 */ +} + +.token.attr-name, +.token.attr-value, +.token.string, +.token.char, +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string, +.token.variable, +.token.inserted { + color: hsl(76, 21%, 52%); /* #8F9D6A */ +} + +.token.atrule { + color: hsl(218, 22%, 55%); /* #7587A6 */ +} + +.token.regex, +.token.important { + color: hsl(42, 75%, 65%); /* #E9C062 */ +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +pre[data-line] { + padding: 1em 0 1em 3em; + position: relative; +} + +/* Markup */ +.language-markup .token.tag, +.language-markup .token.attr-name, +.language-markup .token.punctuation { + color: hsl(33, 33%, 52%); /* #AC885B */ +} + +/* Make the tokens sit above the line highlight so the colours don't look faded. */ +.token { + position: relative; + z-index: 1; +} + +.line-highlight { + background: hsla(0, 0%, 33%, 0.25); /* #545454 */ + background: linear-gradient(to right, hsla(0, 0%, 33%, .1) 70%, hsla(0, 0%, 33%, 0)); /* #545454 */ + border-bottom: 1px dashed hsl(0, 0%, 33%); /* #545454 */ + border-top: 1px dashed hsl(0, 0%, 33%); /* #545454 */ + left: 0; + line-height: inherit; + margin-top: 0.75em; /* Same as .prism’s padding-top */ + padding: inherit 0; + pointer-events: none; + position: absolute; + right: 0; + white-space: pre; + z-index: 0; +} + +.line-highlight:before, +.line-highlight[data-end]:after { + background-color: hsl(215, 15%, 59%); /* #8794A6 */ + border-radius: 999px; + box-shadow: 0 1px white; + color: hsl(24, 20%, 95%); /* #F5F2F0 */ + content: attr(data-start); + font: bold 65%/1.5 sans-serif; + left: .6em; + min-width: 1em; + padding: 0 .5em; + position: absolute; + text-align: center; + text-shadow: none; + top: .4em; + vertical-align: .3em; +} + +.line-highlight[data-end]:after { + bottom: .4em; + content: attr(data-end); + top: auto; +} diff --git a/plugins/prism-highlight/css/themes/prism-vs.css b/plugins/prism-highlight/css/themes/prism-vs.css new file mode 100644 index 0000000..d65978c --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-vs.css @@ -0,0 +1,168 @@ +/** + * VS theme by Andrew Lock (https://andrewlock.net) + * Inspired by Visual Studio syntax coloring + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #393A34; + font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + font-size: .9em; + line-height: 1.2em; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre > code[class*="language-"] { + font-size: 1em; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + background: #C1DEF1; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + background: #C1DEF1; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + border: 1px solid #dddddd; + background-color: white; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .2em; + padding-top: 1px; + padding-bottom: 1px; + background: #f8f8f8; + border: 1px solid #dddddd; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #008000; + font-style: italic; +} + +.token.namespace { + opacity: .7; +} + +.token.string { + color: #A31515; +} + +.token.punctuation, +.token.operator { + color: #393A34; /* no highlight */ +} + +.token.url, +.token.symbol, +.token.number, +.token.boolean, +.token.variable, +.token.constant, +.token.inserted { + color: #36acaa; +} + +.token.atrule, +.token.keyword, +.token.attr-value, +.language-autohotkey .token.selector, +.language-json .token.boolean, +.language-json .token.number, +code[class*="language-css"] { + color: #0000ff; +} + +.token.function { + color: #393A34; +} + +.token.deleted, +.language-autohotkey .token.tag { + color: #9a050f; +} + +.token.selector, +.language-autohotkey .token.keyword { + color: #00009f; +} + +.token.important { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.class-name, +.language-json .token.property { + color: #2B91AF; +} + +.token.tag, +.token.selector { + color: #800000; +} + +.token.attr-name, +.token.property, +.token.regex, +.token.entity { + color: #ff0000; +} + +.token.directive.tag .tag { + background: #ffff00; + color: #393A34; +} + +/* overrides color-values for the Line Numbers plugin + * http://prismjs.com/plugins/line-numbers/ + */ +.line-numbers .line-numbers-rows { + border-right-color: #a5a5a5; +} + +.line-numbers-rows > span:before { + color: #2B91AF; +} + +/* overrides color-values for the Line Highlight plugin +* http://prismjs.com/plugins/line-highlight/ +*/ +.line-highlight { + background: rgba(193, 222, 241, 0.2); + background: -webkit-linear-gradient(left, rgba(193, 222, 241, 0.2) 70%, rgba(221, 222, 241, 0)); + background: linear-gradient(to right, rgba(193, 222, 241, 0.2) 70%, rgba(221, 222, 241, 0)); +} diff --git a/plugins/prism-highlight/css/themes/prism-vsc-dark-plus.css b/plugins/prism-highlight/css/themes/prism-vsc-dark-plus.css new file mode 100644 index 0000000..98add75 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-vsc-dark-plus.css @@ -0,0 +1,287 @@ +pre[class*="language-"], +code[class*="language-"] { + color: #d4d4d4; + font-size: 13px; + text-shadow: none; + font-family: Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + line-height: 1.5; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::selection, +code[class*="language-"]::selection, +pre[class*="language-"] *::selection, +code[class*="language-"] *::selection { + text-shadow: none; + background: #75a7ca; +} + +@media print { + pre[class*="language-"], + code[class*="language-"] { + text-shadow: none; + } +} + +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + background: #1e1e1e; +} + +:not(pre) > code[class*="language-"] { + padding: .1em .3em; + border-radius: .3em; + color: #db4c69; + background: #f9f2f4; +} +/********************************************************* +* Tokens +*/ +.namespace { + opacity: .7; +} + +.token.doctype .token.doctype-tag { + color: #569CD6; +} + +.token.doctype .token.name { + color: #9cdcfe; +} + +.token.comment, +.token.prolog { + color: #6a9955; +} + +.token.punctuation, +.language-html .language-css .token.punctuation, +.language-html .language-javascript .token.punctuation { + color: #d4d4d4; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.inserted, +.token.unit { + color: #b5cea8; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.deleted { + color: #ce9178; +} + +.language-css .token.string.url { + text-decoration: underline; +} + +.token.operator, +.token.entity { + color: #d4d4d4; +} + +.token.operator.arrow { + color: #569CD6; +} + +.token.atrule { + color: #ce9178; +} + +.token.atrule .token.rule { + color: #c586c0; +} + +.token.atrule .token.url { + color: #9cdcfe; +} + +.token.atrule .token.url .token.function { + color: #dcdcaa; +} + +.token.atrule .token.url .token.punctuation { + color: #d4d4d4; +} + +.token.keyword { + color: #569CD6; +} + +.token.keyword.module, +.token.keyword.control-flow { + color: #c586c0; +} + +.token.function, +.token.function .token.maybe-class-name { + color: #dcdcaa; +} + +.token.regex { + color: #d16969; +} + +.token.important { + color: #569cd6; +} + +.token.italic { + font-style: italic; +} + +.token.constant { + color: #9cdcfe; +} + +.token.class-name, +.token.maybe-class-name { + color: #4ec9b0; +} + +.token.console { + color: #9cdcfe; +} + +.token.parameter { + color: #9cdcfe; +} + +.token.interpolation { + color: #9cdcfe; +} + +.token.punctuation.interpolation-punctuation { + color: #569cd6; +} + +.token.boolean { + color: #569cd6; +} + +.token.property, +.token.variable, +.token.imports .token.maybe-class-name, +.token.exports .token.maybe-class-name { + color: #9cdcfe; +} + +.token.selector { + color: #d7ba7d; +} + +.token.escape { + color: #d7ba7d; +} + +.token.tag { + color: #569cd6; +} + +.token.tag .token.punctuation { + color: #808080; +} + +.token.cdata { + color: #808080; +} + +.token.attr-name { + color: #9cdcfe; +} + +.token.attr-value, +.token.attr-value .token.punctuation { + color: #ce9178; +} + +.token.attr-value .token.punctuation.attr-equals { + color: #d4d4d4; +} + +.token.entity { + color: #569cd6; +} + +.token.namespace { + color: #4ec9b0; +} +/********************************************************* +* Language Specific +*/ + +pre[class*="language-javascript"], +code[class*="language-javascript"], +pre[class*="language-jsx"], +code[class*="language-jsx"], +pre[class*="language-typescript"], +code[class*="language-typescript"], +pre[class*="language-tsx"], +code[class*="language-tsx"] { + color: #9cdcfe; +} + +pre[class*="language-css"], +code[class*="language-css"] { + color: #ce9178; +} + +pre[class*="language-html"], +code[class*="language-html"] { + color: #d4d4d4; +} + +.language-regex .token.anchor { + color: #dcdcaa; +} + +.language-html .token.punctuation { + color: #808080; +} +/********************************************************* +* Line highlighting +*/ +pre[data-line] { + position: relative; +} + +pre[class*="language-"] > code[class*="language-"] { + position: relative; + z-index: 1; +} + +.line-highlight { + position: absolute; + left: 0; + right: 0; + padding: inherit 0; + margin-top: 1em; + background: #f7ebc6; + box-shadow: inset 5px 0 0 #f7d87c; + z-index: 0; + pointer-events: none; + line-height: inherit; + white-space: pre; +} diff --git a/plugins/prism-highlight/css/themes/prism-xonokai.css b/plugins/prism-highlight/css/themes/prism-xonokai.css new file mode 100644 index 0000000..8cdceb5 --- /dev/null +++ b/plugins/prism-highlight/css/themes/prism-xonokai.css @@ -0,0 +1,189 @@ +/** +* xonokai theme for JavaScript, CSS and HTML +* based on: https://github.com/MoOx/sass-prism-theme-base by Maxime Thirouin ~ MoOx --> http://moox.fr/ , which is Loosely based on Monokai textmate theme by http://www.monokai.nl/ +* license: MIT; http://moox.mit-license.org/ +*/ +code[class*="language-"], +pre[class*="language-"] { + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + white-space: pre; + white-space: pre-wrap; + word-wrap: normal; + font-family: Menlo, Monaco, "Courier New", monospace; + font-size: 14px; + color: #76d9e6; + text-shadow: none; +} + +pre > code[class*="language-"] { + font-size: 1em; +} + +pre[class*="language-"], +:not(pre) > code[class*="language-"] { + background: #2a2a2a; +} + +pre[class*="language-"] { + padding: 15px; + border-radius: 4px; + border: 1px solid #e1e1e8; + overflow: auto; + position: relative; +} + +pre[class*="language-"] code { + white-space: pre; + display: block; +} + +:not(pre) > code[class*="language-"] { + padding: 0.15em 0.2em 0.05em; + border-radius: .3em; + border: 0.13em solid #7a6652; + box-shadow: 1px 1px 0.3em -0.1em #000 inset; +} + +.token.namespace { + opacity: .7; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #6f705e; +} + +.token.operator, +.token.boolean, +.token.number { + color: #a77afe; +} + +.token.attr-name, +.token.string { + color: #e6d06c; +} + +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #e6d06c; +} + +.token.selector, +.token.inserted { + color: #a6e22d; +} + +.token.atrule, +.token.attr-value, +.token.keyword, +.token.important, +.token.deleted { + color: #ef3b7d; +} + +.token.regex, +.token.statement { + color: #76d9e6; +} + +.token.placeholder, +.token.variable { + color: #fff; +} + +.token.important, +.token.statement, +.token.bold { + font-weight: bold; +} + +.token.punctuation { + color: #bebec5; +} + +.token.entity { + cursor: help; +} + +.token.italic { + font-style: italic; +} + +code.language-markup { + color: #f9f9f9; +} + +code.language-markup .token.tag { + color: #ef3b7d; +} + +code.language-markup .token.attr-name { + color: #a6e22d; +} + +code.language-markup .token.attr-value { + color: #e6d06c; +} + +code.language-markup .token.style, +code.language-markup .token.script { + color: #76d9e6; +} + +code.language-markup .token.script .token.keyword { + color: #76d9e6; +} + +/* Line highlight plugin */ +pre[class*="language-"][data-line] { + position: relative; + padding: 1em 0 1em 3em; +} + +pre[data-line] .line-highlight { + position: absolute; + left: 0; + right: 0; + padding: 0; + margin-top: 1em; + background: rgba(255, 255, 255, 0.08); + pointer-events: none; + line-height: inherit; + white-space: pre; +} + +pre[data-line] .line-highlight:before, +pre[data-line] .line-highlight[data-end]:after { + content: attr(data-start); + position: absolute; + top: .4em; + left: .6em; + min-width: 1em; + padding: 0.2em 0.5em; + background-color: rgba(255, 255, 255, 0.4); + color: black; + font: bold 65%/1 sans-serif; + height: 1em; + line-height: 1em; + text-align: center; + border-radius: 999px; + text-shadow: none; + box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7); +} + +pre[data-line] .line-highlight[data-end]:after { + content: attr(data-end); + top: auto; + bottom: .4em; +} diff --git a/plugins/prism-highlight/js/prism.js b/plugins/prism-highlight/js/prism.js new file mode 100644 index 0000000..069b8a4 --- /dev/null +++ b/plugins/prism-highlight/js/prism.js @@ -0,0 +1,42 @@ +/* PrismJS 1.27.0 + http://127.0.0.1:8081/download.html#themes=prism&languages=markup+css+clike+javascript+apacheconf+bash+bbcode+c+csharp+cpp+coffeescript+css-extras+diff+docker+ecscript+git+go+java+json+json5+less+lua+markdown+markup-templating+php+php-extras+python+regex+ruby+sass+scss+sql+twig+yaml&plugins=line-highlight+line-numbers+command-line+toolbar+copy-to-clipboard */ +var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(s){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,n=0,e={},C={manual:s.Prism&&s.Prism.manual,disableWorkerMessageHandler:s.Prism&&s.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof N?new N(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&/g,"&").replace(/=n.reach);i+=a.value.length,a=a.next){var l=a.value;if(e.length>g.length)return;if(!(l instanceof N)){var o,A=1;if(x){if(!(o=_(w,i,g,k))||o.index>=g.length)break;var E=o.index,P=o.index+o[0].length,s=i;for(s+=a.value.length;s<=E;)a=a.next,s+=a.value.length;if(s-=a.value.length,i=s,a.value instanceof N)continue;for(var L=a;L!==e.tail&&(sn.reach&&(n.reach=l),a.prev),S=(S&&(j=M(e,j,S),i+=S.length),W(e,j,A),new N(t,y?C.tokenize(u,y):u,b,u));a=M(e,j,S),O&&M(e,a,O),1n.reach&&(n.reach=u.reach))}}}}}(e,a,n,a.head,0),a),l=[],o=i.head.next;o!==i.tail;)l.push(o.value),o=o.next;return l},hooks:{all:{},add:function(e,n){var t=C.hooks.all;t[e]=t[e]||[],t[e].push(n)},run:function(e,n){var t=C.hooks.all[e];if(t&&t.length)for(var r,a=0;r=t[a++];)r(n)}},Token:N};function N(e,n,t,r){this.type=e,this.content=n,this.alias=t,this.length=0|(r||"").length}function _(e,n,t,r){e.lastIndex=n;n=e.exec(t);return n&&r&&n[1]&&(e=n[1].length,n.index+=e,n[0]=n[0].slice(e)),n}function u(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function M(e,n,t){var r=n.next,t={value:t,prev:n,next:r};return n.next=t,r.prev=t,e.length++,t}function W(e,n,t){for(var r=n.next,a=0;a"+i.content+""},!s.document)return s.addEventListener&&(C.disableWorkerMessageHandler||s.addEventListener("message",function(e){var e=JSON.parse(e.data),n=e.language,t=e.code,e=e.immediateClose;s.postMessage(C.highlight(t,C.languages[n],n)),e&&s.close()},!1)),C;var r,e=C.util.currentScript();function a(){C.manual||C.highlightAll()}return e&&(C.filename=e.src,e.hasAttribute("data-manual")&&(C.manual=!0)),C.manual||("loading"===(r=document.readyState)||"interactive"===r&&e&&e.defer?document.addEventListener("DOMContentLoaded",a):window.requestAnimationFrame?window.requestAnimationFrame(a):window.setTimeout(a,16)),C}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism); +Prism.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))}),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={},s=(s["language-"+e]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^$/i,{"included-cdata":{pattern://i,inside:s}}),e=(s["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]},{});e[a]={pattern:RegExp("(<__[^>]*>)(?:))*\\]\\]>|(?!)".replace(/__/g,function(){return a}),"i"),lookbehind:!0,greedy:!0,inside:s},Prism.languages.insertBefore("markup","cdata",e)}}),Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(a,e){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp("(^|[\"'\\s])(?:"+a+")\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))","i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[e,"language-"+e],inside:Prism.languages[e]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml; +!function(s){var e=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/,e=(s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+e.source+"|(?:[^\\\\\r\n()\"']|\\\\[^])*)\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+e.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+e.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:e,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css,s.languages.markup);e&&(e.tag.addInlined("style","css"),e.tag.addAttribute("style","css"))}(Prism); +Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}; +Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp("(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])"),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute("on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)","javascript")),Prism.languages.js=Prism.languages.javascript; +Prism.languages.apacheconf={comment:/#.*/,"directive-inline":{pattern:/(^[\t ]*)\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|Add(?:Alt|AltByEncoding|AltByType|Charset|DefaultCharset|Description|Encoding|Handler|Icon|IconByEncoding|IconByType|InputFilter|Language|ModuleInfo|OutputFilter|OutputFilterByType|Type)|Alias|AliasMatch|Allow(?:CONNECT|EncodedSlashes|Methods|Override|OverrideList)?|Anonymous(?:_LogEmail|_MustGiveEmail|_NoUserID|_VerifyEmail)?|AsyncRequestWorkerFactor|Auth(?:BasicAuthoritative|BasicFake|BasicProvider|BasicUseDigestAlgorithm|DBDUserPWQuery|DBDUserRealmQuery|DBMGroupFile|DBMType|DBMUserFile|Digest(?:Algorithm|Domain|NonceLifetime|Provider|Qop|ShmemSize)|Form(?:Authoritative|Body|DisableNoStore|FakeBasicAuth|Location|LoginRequiredLocation|LoginSuccessLocation|LogoutLocation|Method|Mimetype|Password|Provider|SitePassphrase|Size|Username)|GroupFile|LDAP(?:AuthorizePrefix|BindAuthoritative|BindDN|BindPassword|CharsetConfig|CompareAsUser|CompareDNOnServer|DereferenceAliases|GroupAttribute|GroupAttributeIsDN|InitialBindAsUser|InitialBindPattern|MaxSubGroupDepth|RemoteUserAttribute|RemoteUserIsDN|SearchAsUser|SubGroupAttribute|SubGroupClass|Url)|Merging|Name|nCache(?:Context|Enable|ProvideFor|SOCache|Timeout)|nzFcgiCheckAuthnProvider|nzFcgiDefineProvider|Type|UserFile|zDBDLoginToReferer|zDBDQuery|zDBDRedirectQuery|zDBMType|zSendForbiddenOnFailure)|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferedLogs|BufferSize|Cache(?:DefaultExpire|DetailHeader|DirLength|DirLevels|Disable|Enable|File|Header|IgnoreCacheControl|IgnoreHeaders|IgnoreNoLastMod|IgnoreQueryString|IgnoreURLSessionIdentifiers|KeyBaseURL|LastModifiedFactor|Lock|LockMaxAge|LockPath|MaxExpire|MaxFileSize|MinExpire|MinFileSize|NegotiatedDocs|QuickHandler|ReadSize|ReadTime|Root|Socache(?:MaxSize|MaxTime|MinTime|ReadSize|ReadTime)?|StaleOnError|StoreExpired|StoreNoStore|StorePrivate)|CGIDScriptTimeout|CGIMapExtension|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|Deflate(?:BufferSize|CompressionLevel|FilterNote|InflateLimitRequestBody|InflateRatio(?:Burst|Limit)|MemLevel|WindowSize)|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DTracePrivileges|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtendedStatus|ExtFilterDefine|ExtFilterOptions|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|Heartbeat(?:Address|Listen|MaxServers|Storage)|HostnameLookups|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|Index(?:HeadInsert|Ignore|IgnoreReset|Options|OrderDefault|StyleSheet)|InputSed|ISAPI(?:AppendLogToErrors|AppendLogToQuery|CacheFile|FakeAsync|LogNotSupported|ReadAheadBuffer)|KeepAlive|KeepAliveTimeout|KeptBodySize|LanguagePriority|LDAP(?:CacheEntries|CacheTTL|ConnectionPoolTTL|ConnectionTimeout|LibraryDebug|OpCacheEntries|OpCacheTTL|ReferralHopLimit|Referrals|Retries|RetryDelay|SharedCacheFile|SharedCacheSize|Timeout|TrustedClientCert|TrustedGlobalCert|TrustedMode|VerifyServerCert)|Limit(?:InternalRecursion|Request(?:Body|Fields|FieldSize|Line)|XMLRequestBody)|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|Lua(?:Hook(?:AccessChecker|AuthChecker|CheckUserID|Fixups|InsertFilter|Log|MapToStorage|TranslateName|TypeChecker)|Inherit|InputFilter|MapHandler|OutputFilter|PackageCPath|PackagePath|QuickHandler|Root|Scope)|Max(?:ConnectionsPerChild|KeepAliveRequests|MemFree|RangeOverlaps|RangeReversals|Ranges|RequestWorkers|SpareServers|SpareThreads|Threads)|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|MMapFile|ModemStandard|ModMimeUsePathInfo|MultiviewsMatch|Mutex|NameVirtualHost|NoProxy|NWSSLTrustedCerts|NWSSLUpgradeable|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|Proxy(?:AddHeaders|BadHeader|Block|Domain|ErrorOverride|ExpressDBMFile|ExpressDBMType|ExpressEnable|FtpDirCharset|FtpEscapeWildcards|FtpListOnWildcard|HTML(?:BufSize|CharsetOut|DocType|Enable|Events|Extended|Fixups|Interp|Links|Meta|StripComments|URLMap)|IOBufferSize|MaxForwards|Pass(?:Inherit|InterpolateEnv|Match|Reverse|ReverseCookieDomain|ReverseCookiePath)?|PreserveHost|ReceiveBufferSize|Remote|RemoteMatch|Requests|SCGIInternalRedirect|SCGISendfile|Set|SourceAddress|Status|Timeout|Via)|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIP(?:Header|InternalProxy|InternalProxyList|ProxiesHeader|TrustedProxy|TrustedProxyList)|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|Rewrite(?:Base|Cond|Engine|Map|Options|Rule)|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScoreBoardFile|Script(?:Alias|AliasMatch|InterpreterSource|Log|LogBuffer|LogLength|Sock)?|SecureListen|SeeRequestTail|SendBufferSize|Server(?:Admin|Alias|Limit|Name|Path|Root|Signature|Tokens)|Session(?:Cookie(?:Name|Name2|Remove)|Crypto(?:Cipher|Driver|Passphrase|PassphraseFile)|DBD(?:CookieName|CookieName2|CookieRemove|DeleteLabel|InsertLabel|PerUser|SelectLabel|UpdateLabel)|Env|Exclude|Header|Include|MaxAge)?|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|SSIEndTag|SSIErrorMsg|SSIETag|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSL(?:CACertificateFile|CACertificatePath|CADNRequestFile|CADNRequestPath|CARevocationCheck|CARevocationFile|CARevocationPath|CertificateChainFile|CertificateFile|CertificateKeyFile|CipherSuite|Compression|CryptoDevice|Engine|FIPS|HonorCipherOrder|InsecureRenegotiation|OCSP(?:DefaultResponder|Enable|OverrideResponder|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|UseRequestNonce)|OpenSSLConfCmd|Options|PassPhraseDialog|Protocol|Proxy(?:CACertificateFile|CACertificatePath|CARevocation(?:Check|File|Path)|CheckPeer(?:CN|Expire|Name)|CipherSuite|Engine|MachineCertificate(?:ChainFile|File|Path)|Protocol|Verify|VerifyDepth)|RandomSeed|RenegBufferSize|Require|RequireSSL|Session(?:Cache|CacheTimeout|TicketKeyFile|Tickets)|SRPUnknownUserSeed|SRPVerifierFile|Stapling(?:Cache|ErrorCacheTimeout|FakeTryLater|ForceURL|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|ReturnResponderErrors|StandardCacheTimeout)|StrictSNIVHostCheck|UserName|UseStapling|VerifyClient|VerifyDepth)|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadsPerChild|ThreadStackSize|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|Virtual(?:DocumentRoot|ScriptAlias)(?:IP)?|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\b/im,lookbehind:!0,alias:"property"},"directive-block":{pattern:/<\/?\b(?:Auth[nz]ProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|Require(?:All|Any|None)|VirtualHost)\b.*>/i,inside:{"directive-block":{pattern:/^<\/?\w+/,inside:{punctuation:/^<\/?/},alias:"tag"},"directive-block-parameter":{pattern:/.*[^>]/,inside:{punctuation:/:/,string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}}},alias:"attr-value"},punctuation:/>/},alias:"tag"},"directive-flags":{pattern:/\[(?:[\w=],?)+\]/,alias:"keyword"},string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}},variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/,regex:/\^?.*\$|\^.*\$?/}; +!function(e){for(var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},a={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/},o=(e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:a},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:a},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:a.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:a.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash,["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"]),s=a.variable[1].inside,i=0;i>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),Prism.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),Prism.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},Prism.languages.c.string],char:Prism.languages.c.char,comment:Prism.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}}}),Prism.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete Prism.languages.c.boolean; +!function(s){function t(e,s){return e.replace(/<<(\d+)>>/g,function(e,n){return"(?:"+s[+n]+")"})}function a(e,n,s){return RegExp(t(e,n),s||"")}function p(e,n){for(var s=0;s>/g,function(){return"(?:"+e+")"});return e.replace(/<>/g,"[^\\s\\S]")}var c="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",e="class enum interface record struct",n="add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",r="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function u(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var g=u(e),i=RegExp(u(c+" "+e+" "+n+" "+r)),n=u(e+" "+n+" "+r),c=u(c+" "+e+" "+r),e=p("<(?:[^<>;=+\\-*/%&|^]|<>)*>",2),r=p("\\((?:[^()]|<>)*\\)",2),o="@?\\b[A-Za-z_]\\w*\\b",b=t("<<0>>(?:\\s*<<1>>)?",[o,e]),n=t("(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*",[n,b]),l="\\[\\s*(?:,\\s*)*\\]",h=t("<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?",[n,l]),d=t("[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>",[e,r,l]),d=t("\\(<<0>>+(?:,<<0>>+)+\\)",[d]),d=t("(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?",[d,n,l]),l={keyword:i,punctuation:/[<>()?,.:[\]]/},f="'(?:[^\r\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'",m='"(?:\\\\.|[^\\\\"\r\n])*"',h=(s.languages.csharp=s.languages.extend("clike",{string:[{pattern:a("(^|[^$\\\\])<<0>>",['@"(?:""|\\\\[^]|[^\\\\"])*"(?!")']),lookbehind:!0,greedy:!0},{pattern:a("(^|[^@$\\\\])<<0>>",[m]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:a("(\\busing\\s+static\\s+)<<0>>(?=\\s*;)",[n]),lookbehind:!0,inside:l},{pattern:a("(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)",[o,d]),lookbehind:!0,inside:l},{pattern:a("(\\busing\\s+)<<0>>(?=\\s*=)",[o]),lookbehind:!0},{pattern:a("(\\b<<0>>\\s+)<<1>>",[g,b]),lookbehind:!0,inside:l},{pattern:a("(\\bcatch\\s*\\(\\s*)<<0>>",[n]),lookbehind:!0,inside:l},{pattern:a("(\\bwhere\\s+)<<0>>",[o]),lookbehind:!0},{pattern:a("(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>",[h]),lookbehind:!0,inside:l},{pattern:a("\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))",[d,c,o]),inside:l}],keyword:i,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),s.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),s.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:a("([(,]\\s*)<<0>>(?=\\s*:)",[o]),lookbehind:!0,alias:"punctuation"}}),s.languages.insertBefore("csharp","class-name",{namespace:{pattern:a("(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])",[o]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:a("(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))",[r]),lookbehind:!0,alias:"class-name",inside:l},"return-type":{pattern:a("<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))",[d,n]),inside:l,alias:"class-name"},"constructor-invocation":{pattern:a("(\\bnew\\s+)<<0>>(?=\\s*[[({])",[d]),lookbehind:!0,inside:l,alias:"class-name"},"generic-method":{pattern:a("<<0>>\\s*<<1>>(?=\\s*\\()",[o,e]),inside:{function:a("^<<0>>",[o]),generic:{pattern:RegExp(e),alias:"class-name",inside:l}}},"type-list":{pattern:a("\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))",[g,b,o,d,i.source,r,"\\bnew\\s*\\(\\s*\\)"]),lookbehind:!0,inside:{"record-arguments":{pattern:a("(^(?!new\\s*\\()<<0>>\\s*)<<1>>",[b,r]),lookbehind:!0,greedy:!0,inside:s.languages.csharp},keyword:i,"class-name":{pattern:RegExp(d),greedy:!0,inside:l},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}}),m+"|"+f),c=t("/(?![*/])|//[^\r\n]*[\r\n]|/\\*(?:[^*]|\\*(?!/))*\\*/|<<0>>",[h]),e=p(t("[^\"'/()]|<<0>>|\\(<>*\\)",[c]),2),g="\\b(?:assembly|event|field|method|module|param|property|return|type)\\b",o=t("<<0>>(?:\\s*\\(<<1>>*\\))?",[n,e]),k=(s.languages.insertBefore("csharp","class-name",{attribute:{pattern:a("((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])",[g,o]),lookbehind:!0,greedy:!0,inside:{target:{pattern:a("^<<0>>(?=\\s*:)",[g]),alias:"keyword"},"attribute-arguments":{pattern:a("\\(<<0>>*\\)",[e]),inside:s.languages.csharp},"class-name":{pattern:RegExp(n),inside:{punctuation:/\./}},punctuation:/[:,]/}}}),":[^}\r\n]+"),b=p(t("[^\"'/()]|<<0>>|\\(<>*\\)",[c]),2),r=t("\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}",[b,k]),i=p(t("[^\"'/()]|/(?!\\*)|/\\*(?:[^*]|\\*(?!/))*\\*/|<<0>>|\\(<>*\\)",[h]),2),d=t("\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}",[i,k]);function y(e,n){return{interpolation:{pattern:a("((?:^|[^{])(?:\\{\\{)*)<<0>>",[e]),lookbehind:!0,inside:{"format-string":{pattern:a("(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)",[n,k]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:s.languages.csharp}}},string:/[\s\S]+/}}s.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:a('(^|[^\\\\])(?:\\$@|@\\$)"(?:""|\\\\[^]|\\{\\{|<<0>>|[^\\\\{"])*"',[r]),lookbehind:!0,greedy:!0,inside:y(r,b)},{pattern:a('(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"',[d]),lookbehind:!0,greedy:!0,inside:y(d,i)}],char:{pattern:RegExp(f),greedy:!0}}),s.languages.dotnet=s.languages.cs=s.languages.csharp}(Prism); +!function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n="\\b(?!)\\w+(?:\\s*\\.\\s*\\w+)*\\b".replace(//g,function(){return t.source});e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp("(\\b(?:class|concept|enum|struct|typename)\\s+)(?!)\\w+".replace(//g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp('(\\b(?:import|module)\\s+)(?:"(?:\\\\(?:\r\n|[^])|[^"\\\\\r\n])*"|<[^<>\r\n]*>|'+"(?:\\s*:\\s*)?|:\\s*".replace(//g,function(){return n})+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(Prism); +!function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(Prism); +!function(e){var a=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,a=(e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:a={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+a.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[a,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=a,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:a,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:a,number:n})}(Prism); +!function(i){i.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var r={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(r).forEach(function(e){var n=r[e],a=[];/^\w+$/.test(e)||a.push(/\w+/.exec(e)[0]),"diff"===e&&a.push("bold"),i.languages.diff[e]={pattern:RegExp("^(?:["+n+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(e)[0]}}}}),Object.defineProperty(i.languages.diff,"PREFIXES",{value:r})}(Prism); +!function(e){var r="(?:[ \t]+(?![ \t])(?:)?|)".replace(//g,function(){return"\\\\[\r\n](?:\\s|\\\\[\r\n]|#.*(?!.))*(?![\\s#]|\\\\[\r\n])"}),n="\"(?:[^\"\\\\\r\n]|\\\\(?:\r\n|[^]))*\"|'(?:[^'\\\\\r\n]|\\\\(?:\r\n|[^]))*'",t="--[\\w-]+=(?:|(?![\"'])(?:[^\\s\\\\]|\\\\.)+)".replace(//g,function(){return n}),o={pattern:RegExp(n),greedy:!0},i={pattern:/(^[ \t]*)#.*/m,lookbehind:!0,greedy:!0};function a(e,n){return e=e.replace(//g,function(){return t}).replace(//g,function(){return r}),RegExp(e,n)}e.languages.docker={instruction:{pattern:/(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im,lookbehind:!0,greedy:!0,inside:{options:{pattern:a("(^(?:ONBUILD)?\\w+)(?:)*","i"),lookbehind:!0,greedy:!0,inside:{property:{pattern:/(^|\s)--[\w-]+/,lookbehind:!0},string:[o,{pattern:/(=)(?!["'])(?:[^\s\\]|\\.)+/,lookbehind:!0}],operator:/\\$/m,punctuation:/=/}},keyword:[{pattern:a("(^(?:ONBUILD)?HEALTHCHECK(?:)*)(?:CMD|NONE)\\b","i"),lookbehind:!0,greedy:!0},{pattern:a("(^(?:ONBUILD)?FROM(?:)*(?!--)[^ \t\\\\]+)AS","i"),lookbehind:!0,greedy:!0},{pattern:a("(^ONBUILD)\\w+","i"),lookbehind:!0,greedy:!0},{pattern:/^\w+/,greedy:!0}],comment:i,string:o,variable:/\$(?:\w+|\{[^{}"'\\]*\})/,operator:/\\$/m}},comment:i},e.languages.dockerfile=e.languages.docker}(Prism); +Prism.languages.ecscript={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:{pattern:/(?:[rub]|rb|br)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/(def_(fun|pose|real_vec|real|rot|string|trans|u32))/g,lookbehind:!1},variable:{pattern:/(bool|fun|pose|real(?:_vec)?|rot|string|trans|u32(?:_vec)?)/,lookbehind:!0},builtin:{pattern:/(?:motion_(?:para|seq)|if|while|break|return|wait(?:_for_settle)?|(?:group|stream)_motion_seq|include|eval)/,lookbehind:!0},boolean:{pattern:/(TRUE|FALSE)/},keyword:{pattern:/motion_para|motion_seq|find_solution|rrt_plan|move_pose|move_joints|set_position_state/g,lookbehind:!0},constant:{pattern:/[A-Z][A-Z0-9_]+/,lookbehind:!0}}; +Prism.languages.git={comment:/^#.*/m,deleted:/^[-–].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m}; +Prism.languages.go=Prism.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),Prism.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete Prism.languages.go["class-name"]; +!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n="(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*",a={pattern:RegExp(n+"[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b"),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[a,{pattern:RegExp(n+"[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()])"),lookbehind:!0,inside:a.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":a,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},namespace:{pattern:RegExp("(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?".replace(//g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism); +Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json; +!function(n){var e=/("|')(?:\\(?:\r\n?|\n|.)|(?!\1)[^\\\r\n])*\1/;n.languages.json5=n.languages.extend("json",{property:[{pattern:RegExp(e.source+"(?=\\s*:)"),greedy:!0},{pattern:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/,alias:"unquoted"}],string:{pattern:e,greedy:!0},number:/[+-]?\b(?:NaN|Infinity|0x[a-fA-F\d]+)\b|[+-]?(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+\b)?/})}(Prism); +Prism.languages.less=Prism.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),Prism.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}); +Prism.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/}; +!function(l){function n(n){return n=n.replace(//g,function(){return"(?:\\\\.|[^\\\\\n\r]|(?:\n|\r\n?)(?![\r\n]))"}),RegExp("((?:^|[^\\\\])(?:\\\\{2})*)(?:"+n+")")}var e="(?:\\\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\\\|\r\n`])+",t="\\|?__(?:\\|__)+\\|?(?:(?:\n|\r\n?)|(?![^]))".replace(/__/g,function(){return e}),a="\\|?[ \t]*:?-{3,}:?[ \t]*(?:\\|[ \t]*:?-{3,}:?[ \t]*)+\\|?(?:\n|\r\n?)",s=(l.languages.markdown=l.languages.extend("markup",{}),l.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:l.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+t+a+"(?:"+t+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+t+a+")(?:"+t+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(e),inside:l.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+t+")"+a+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+t+"$"),inside:{"table-header":{pattern:RegExp(e),alias:"important",inside:l.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n("\\b__(?:(?!_)|_(?:(?!_))+_)+__\\b|\\*\\*(?:(?!\\*)|\\*(?:(?!\\*))+\\*)+\\*\\*"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n("\\b_(?:(?!_)|__(?:(?!_))+__)+_\\b|\\*(?:(?!\\*)|\\*\\*(?:(?!\\*))+\\*\\*)+\\*"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n("(~~?)(?:(?!~))+\\2"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n('!?\\[(?:(?!\\]))+\\](?:\\([^\\s)]+(?:[\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \t]?\\[(?:(?!\\]))+\\])'),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(e){["url","bold","italic","strike","code-snippet"].forEach(function(n){e!==n&&(l.languages.markdown[e].inside.content.inside[n]=l.languages.markdown[n])})}),l.hooks.add("after-tokenize",function(n){"markdown"!==n.language&&"md"!==n.language||!function n(e){if(e&&"string"!=typeof e)for(var t=0,a=e.length;t",quot:'"'},p=String.fromCodePoint||String.fromCharCode;l.languages.md=l.languages.markdown}(Prism); +!function(f){function k(e,n){return"___"+e.toUpperCase()+n+"___"}Object.defineProperties(f.languages["markup-templating"]={},{buildPlaceholders:{value:function(a,o,e,r){var c;a.language===o&&(c=a.tokenStack=[],a.code=a.code.replace(e,function(e){if("function"==typeof r&&!r(e))return e;for(var n,t=c.length;-1!==a.code.indexOf(n=k(o,t));)++t;return c[t]=e,n}),a.grammar=f.languages.markup)}},tokenizePlaceholders:{value:function(i,l){var p,s;i.language===l&&i.tokenStack&&(i.grammar=f.languages[l],p=0,s=Object.keys(i.tokenStack),function e(n){for(var t=0;t=s.length);t++){var a,o,r,c,u,g=n[t];"string"==typeof g||g.content&&"string"==typeof g.content?(a=s[p],r=i.tokenStack[a],c="string"==typeof g?g:g.content,a=k(l,a),-1<(u=c.indexOf(a))&&(++p,o=c.substring(0,u),r=new f.Token(l,f.tokenize(r,i.grammar),"language-"+l,r),c=c.substring(u+a.length),u=[],o&&u.push.apply(u,e([o])),u.push(r),c&&u.push.apply(u,e([c])),"string"==typeof g?n.splice.apply(n,[t,1].concat(u)):g.content=u)):g.content&&e(g.content)}return n}(i.tokens))}}})}(Prism); +!function(a){var e=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,t=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],i=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,n=/|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,s=/[{}\[\](),:;]/,l=(a.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:e,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s+)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:i,operator:n,punctuation:s},{pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:a.languages.php}),l=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:l}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:l}}];a.languages.insertBefore("php","variable",{string:l,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:e,string:l,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,number:i,operator:n,punctuation:s}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),a.hooks.add("before-tokenize",function(e){/<\?/.test(e.code)&&a.languages["markup-templating"].buildPlaceholders(e,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g)}),a.hooks.add("after-tokenize",function(e){a.languages["markup-templating"].tokenizePlaceholders(e,"php")})}(Prism); +Prism.languages.insertBefore("php","variable",{this:{pattern:/\$this\b/,alias:"keyword"},global:/\$(?:GLOBALS|HTTP_RAW_POST_DATA|_(?:COOKIE|ENV|FILES|GET|POST|REQUEST|SERVER|SESSION)|argc|argv|http_response_header|php_errormsg)\b/,scope:{pattern:/\b[\w\\]+::/,inside:{keyword:/\b(?:parent|self|static)\b/,punctuation:/::|\\/}}}); +Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python; +!function(a){var e={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},n=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/,t="(?:[^\\\\-]|"+n.source+")",t=RegExp(t+"-"+t),s={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"};a.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:t,inside:{escape:n,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":e,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:n}},"special-escape":e,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":s}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:n,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]||[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),e.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var n={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:e.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}},t=(delete e.languages.ruby.function,"(?:"+["([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1","\\((?:[^()\\\\]|\\\\[^]|\\((?:[^()\\\\]|\\\\[^])*\\))*\\)","\\{(?:[^{}\\\\]|\\\\[^]|\\{(?:[^{}\\\\]|\\\\[^])*\\})*\\}","\\[(?:[^\\[\\]\\\\]|\\\\[^]|\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\])*\\]","<(?:[^<>\\\\]|\\\\[^]|<(?:[^<>\\\\]|\\\\[^])*>)*>"].join("|")+")"),i='(?:"(?:\\\\.|[^"\\\\\r\n])*"|(?:\\b[a-zA-Z_]\\w*|[^\\s\0-\\x7F]+)[?!]?|\\$.)';e.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp("%r"+t+"[egimnosux]{0,6}"),greedy:!0,inside:{interpolation:n,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:n,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp("(^|[^:]):"+i),lookbehind:!0,greedy:!0},{pattern:RegExp("([\r\n{(,][ \t]*)"+i+"(?=:(?!:))"),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),e.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp("%[qQiIwWs]?"+t),greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:n,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:n,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp("%x"+t),greedy:!0,inside:{interpolation:n,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:n,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete e.languages.ruby.string,e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),e.languages.rb=e.languages.ruby}(Prism); +!function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var r=/\$[-\w]+|#\{\$[-\w]+\}/,t=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:r,operator:t}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:r,operator:t,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(Prism); +Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),Prism.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),Prism.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),Prism.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),Prism.languages.scss.atrule.inside.rest=Prism.languages.scss; +Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}; +Prism.languages.twig={comment:/^\{#[\s\S]*?#\}$/,"tag-name":{pattern:/(^\{%-?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^\{[{%]-?|-?[%}]\}$/,alias:"punctuation"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,inside:{punctuation:/^['"]|['"]$/}},keyword:/\b(?:even|if|odd)\b/,boolean:/\b(?:false|null|true)\b/,number:/\b0x[\dA-Fa-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][-+]?\d+)?/,operator:[{pattern:/(\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\s)/,lookbehind:!0},/[=<>]=?|!=|\*\*?|\/\/?|\?:?|[-+~%|]/],punctuation:/[()\[\]{}:.,]/},Prism.hooks.add("before-tokenize",function(a){"twig"!==a.language||Prism.languages["markup-templating"]&&Prism.languages["markup-templating"].buildPlaceholders(a,"twig",/\{(?:#[\s\S]*?#|%[\s\S]*?%|\{[\s\S]*?\})\}/g)}),Prism.hooks.add("after-tokenize",function(a){Prism.languages["markup-templating"]&&Prism.languages["markup-templating"].tokenizePlaceholders(a,"twig")}); +!function(e){var n=/[*&][^\s[\]{},]+/,r=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,t="(?:"+r.source+"(?:[ \t]+"+n.source+")?|"+n.source+"(?:[ \t]+"+r.source+")?)",a="(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*".replace(//g,function(){return"[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]"}),d="\"(?:[^\"\\\\\r\n]|\\\\.)*\"|'(?:[^'\\\\\r\n]|\\\\.)*'";function o(e,n){n=(n||"").replace(/m/g,"")+"m";var r="([:\\-,[{]\\s*(?:\\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\\]|\\}|(?:[\r\n]\\s*)?#))".replace(/<>/g,function(){return t}).replace(/<>/g,function(){return e});return RegExp(r,n)}e.languages.yaml={scalar:{pattern:RegExp("([\\-:]\\s*(?:\\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\\S[^\r\n]*(?:\\2[^\r\n]+)*)".replace(/<>/g,function(){return t})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp("((?:^|[:\\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\\s*:\\s)".replace(/<>/g,function(){return t}).replace(/<>/g,function(){return"(?:"+a+"|"+d+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o("\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?"),lookbehind:!0,alias:"number"},boolean:{pattern:o("false|true","i"),lookbehind:!0,alias:"important"},null:{pattern:o("null|~","i"),lookbehind:!0,alias:"important"},string:{pattern:o(d),lookbehind:!0,greedy:!0},number:{pattern:o("[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)","i"),lookbehind:!0},tag:r,important:n,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(Prism); +!function(){var l,f,y,t,b,r;function v(e,t){return Array.prototype.slice.call((t||document).querySelectorAll(e))}function A(e,t){return e.classList.contains(t)}function P(e){e()}function o(e){return!(!e||!/pre/i.test(e.nodeName))&&(!!e.hasAttribute("data-line")||!(!e.id||!Prism.util.isActive(e,f)))}function s(){var e=location.hash.slice(1),t=(v(".temporary.line-highlight").forEach(function(e){e.parentNode.removeChild(e)}),(e.match(/\.([\d,-]+)$/)||[,""])[1]);t&&!document.getElementById(e)&&(e=e.slice(0,e.lastIndexOf(".")),(e=document.getElementById(e))&&(e.hasAttribute("data-line")||e.setAttribute("data-line",""),Prism.plugins.lineHighlight.highlightLines(e,t,"temporary ")(),b&&document.querySelector(".temporary.line-highlight").scrollIntoView()))}"undefined"!=typeof Prism&&"undefined"!=typeof document&&document.querySelector&&(l="line-numbers",f="linkable-line-numbers",y=function(){var e;return void 0===t&&((e=document.createElement("div")).style.fontSize="13px",e.style.lineHeight="1.5",e.style.padding="0",e.style.border="0",e.innerHTML=" 
 ",document.body.appendChild(e),t=38===e.offsetHeight,document.body.removeChild(e)),t},b=!0,Prism.plugins.lineHighlight={highlightLines:function(u,e,p){var t,i,e=(e="string"==typeof e?e:u.getAttribute("data-line")||"").replace(/\s+/g,"").split(",").filter(Boolean),g=+u.getAttribute("data-line-offset")||0,m=(y()?parseInt:parseFloat)(getComputedStyle(u).lineHeight),a=Prism.util.isActive(u,l),n=u.querySelector("code"),c=!a&&n||u,d=[],h=n&&c!=n?(t=u,n=n,t=getComputedStyle(u),i=getComputedStyle(n),n.offsetTop+r(i.borderTopWidth)+r(i.paddingTop)-r(t.paddingTop)):0;function r(e){return+e.substr(0,e.length-2)}e.forEach(function(e){var t,i,n,r=e.split("-"),o=+r[0],s=+r[1]||o,l=u.querySelector('.line-highlight[data-range="'+e+'"]')||document.createElement("div");d.push(function(){l.setAttribute("aria-hidden","true"),l.setAttribute("data-range",e),l.className=(p||"")+" line-highlight"}),a&&Prism.plugins.lineNumbers?(r=Prism.plugins.lineNumbers.getLine(u,o),t=Prism.plugins.lineNumbers.getLine(u,s),r&&(i=r.offsetTop+h+"px",d.push(function(){l.style.top=i})),t&&(n=t.offsetTop-r.offsetTop+t.offsetHeight+"px",d.push(function(){l.style.height=n}))):d.push(function(){l.setAttribute("data-start",String(o)),o span",u).forEach(function(e,t){var i=t+o;e.onclick=function(){b=!1,location.hash=s+"."+i,setTimeout(function(){b=!0},1)}})),function(){d.forEach(P)}}},r=0,Prism.hooks.add("before-sanity-check",function(e){var t,i=e.element.parentElement;o(i)&&(t=0,v(".line-highlight",i).forEach(function(e){t+=e.textContent.length,e.parentNode.removeChild(e)}),t&&/^(?: \n)+$/.test(e.code.slice(-t))&&(e.code=e.code.slice(0,-t)))}),Prism.hooks.add("complete",function e(t){var i,n=t.element.parentElement;o(n)&&(clearTimeout(r),i=Prism.plugins.lineNumbers,t=t.plugins&&t.plugins.lineNumbers,A(n,l)&&i&&!t?Prism.hooks.add("line-numbers",e):(Prism.plugins.lineHighlight.highlightLines(n)(),r=setTimeout(s,1)))}),window.addEventListener("hashchange",s),window.addEventListener("resize",function(){v("pre").filter(o).map(function(e){return Prism.plugins.lineHighlight.highlightLines(e)}).forEach(P)}))}(); +!function(){var r,s,e,n;function l(e){0!=(e=e.filter(function(e){e=((e=e)?window.getComputedStyle?getComputedStyle(e):e.currentStyle||null:null)["white-space"];return"pre-wrap"===e||"pre-line"===e})).length&&((e=e.map(function(e){var n,t=e.querySelector("code"),i=e.querySelector(".line-numbers-rows");if(t&&i)return i=e.querySelector(".line-numbers-sizer"),n=t.textContent.split(s),i||((i=document.createElement("span")).className="line-numbers-sizer",t.appendChild(i)),i.innerHTML="0",i.style.display="block",t=i.getBoundingClientRect().height,i.innerHTML="",{element:e,lines:n,lineHeights:[],oneLinerHeight:t,sizer:i}}).filter(Boolean)).forEach(function(e){var i=e.sizer,n=e.lines,r=e.lineHeights,s=e.oneLinerHeight;r[n.length-1]=void 0,n.forEach(function(e,n){var t;e&&1"),(i=document.createElement("span")).setAttribute("aria-hidden","true"),i.className="line-numbers-rows",i.innerHTML=t,n.hasAttribute("data-start")&&(n.style.counterReset="linenumber "+(parseInt(n.getAttribute("data-start"),10)-1)),e.element.appendChild(i),l([n]),Prism.hooks.run("line-numbers",e)))}),Prism.hooks.add("line-numbers",function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0}))}(); +!function(){var g,v,u,p;function N(e){e=e.vars=e.vars||{};return e["command-line"]=e["command-line"]||{}}"undefined"!=typeof Prism&&"undefined"!=typeof document&&(g=/(?:^|\s)command-line(?:\s|$)/,v="command-line-prompt",u="".startsWith?function(e,t){return e.startsWith(t)}:function(e,t){return 0===e.indexOf(t)},p="".endsWith?function(e,t){return e.endsWith(t)}:function(e,t){var n=e.length;return e.substring(n-t.length,n)===t},Prism.hooks.add("before-highlight",function(e){var t=N(e);if(!t.complete&&e.code){var n=e.element.parentElement;if(n&&/pre/i.test(n.nodeName)&&(g.test(n.className)||g.test(e.element.className))){var a=e.element.querySelector("."+v),r=(a&&a.remove(),e.code.split("\n")),c=t.continuationLineIndicies=new Set,s=n.getAttribute("data-continuation-str");if(s&&1r.length&&(n=r.length),n--;for(var a=--t;a<=n;a++)o[a]=r[a],r[a]=""}});else if(l)for(var m=0;m'+Prism.util.encode(a[r])+"":n[r]=''+n[r]+"";e.highlightedCode=n.join("\n")}}),Prism.hooks.add("complete",function(e){if("command-line"in(e.vars=e.vars||{})){var t=N(e);if(!t.complete){for(var n,a=e.element.parentElement,r=(g.test(e.element.className)&&(e.element.className=e.element.className.replace(g," ")),g.test(a.className)||(a.className+=" command-line"),""),c=t.numberOfLines||0,u=m("data-prompt",""),p=(n=""!==u?'':'',t.continuationLineIndicies||new Set),d='")+'">',s=0;s', + }, + attributes: { + classes: { + type: String, + title: 'Classes', + widget: 'input-text', + default: '', + }, + id: { + type: String, + title: 'ID', + widget: 'input-text', + default: '', + }, + 'cl-prompt': { + type: String, + title: 'CL Prompt', + widget: 'input-text', + default: '', + }, + highlight: { + type: String, + title: 'Highlight', + widget: 'input-text', + default: '', + }, + git: { + type: String, + title: 'Git URL', + widget: 'input-text', + default: '', + }, + }, + titlebar({ attributes }) { + return [] + .concat([ + attributes.classes ? `classes: ${attributes.classes}` : null, + attributes.git ? `git: ${attributes.git}` : null, + ]) + .filter((item) => !!item) + .join(', '); + }, + content({ attributes }) { + return `
{{content_editable}}
` + }, +}); + diff --git a/plugins/prism-highlight/prism-highlight.php b/plugins/prism-highlight/prism-highlight.php new file mode 100644 index 0000000..09524f3 --- /dev/null +++ b/plugins/prism-highlight/prism-highlight.php @@ -0,0 +1,139 @@ + ['onPageInitialized', 0], + 'onShortcodeHandlers' => ['onShortcodeHandlers', 0], + 'onTwigTemplatePaths' => ['onTwigTemplatePaths', 0], + 'registerNextGenEditorPlugin' => ['registerNextGenEditorPluginShortcodes', 0], + ]; + } + + /** + * Initialize configuration + */ + public function onPageInitialized() + { + if ($this->isAdmin()) { + return; + } + + $defaults = (array)$this->config->get('plugins.prism-highlight'); + + /** @var Page $page */ + $page = $this->grav['page']; + // wrong way - kept for compatibility + if (isset($page->header()->prism)) { + $this->config->set('plugins.prism-highlight', array_merge($defaults, $page->header()->prism)); + } + // correct way as documented + if (isset($page->header()->{'prism-highlight'})) { + $this->config->set('plugins.prism-highlight', array_merge($defaults, $page->header()->{'prism-highlight'})); + } + if ($this->config->get('plugins.prism-highlight.enabled')) { + $this->enable([ + 'onTwigSiteVariables' => ['onTwigSiteVariables', 0] + ]); + } + + } + + /** + * Initialize configuration + */ + public function onShortcodeHandlers() + { + $this->grav['shortcode']->registerAllShortcodes(__DIR__.'/shortcodes'); + } + + /** + * Add current directory to twig lookup paths. + */ + public function onTwigTemplatePaths() + { + $this->grav['twig']->twig_paths[] = __DIR__ . '/templates'; + } + + /** + * if enabled on this page, load the JS + CSS theme. + */ + public function onTwigSiteVariables() + { + $theme = $this->config->get('plugins.prism-highlight.theme') ?: 'prism-default.css'; + $this->grav['assets']->addCss('plugin://prism-highlight/css/prism.css'); + $this->grav['assets']->addCss('plugin://prism-highlight/css/themes/' . $theme); + $this->grav['assets']->addJs('plugin://prism-highlight/js/prism.js', null, true, null, 'bottom'); + + $all_pre_blocks = $this->config->get('plugins.prism-highlight.all-pre-blocks'); + $line_numbers = $this->config->get('plugins.prism-highlight.plugins.line-numbers'); + $command_line = $this->config->get('plugins.prism-highlight.plugins.command-line'); + + $inline = ""; + + if ($all_pre_blocks || $line_numbers || $command_line) { + $inline .= "var __prism_nodes = null;\n"; + } + + // Always add at least plain text language + if ($all_pre_blocks) { + $inline .= "__prism_nodes = document.querySelectorAll('pre:not([class*=\"language-\"])');\n"; + $inline .= $this->_addJsClass('language-txt'); + } + + // Line Numbers management || Command Line management + if ($line_numbers || $command_line) { + $inline .= "__prism_nodes = document.querySelectorAll('pre');\n"; + + if ($line_numbers) { + $inline .= $this->_addJsClass('line-numbers'); + } + + if ($command_line) { + $inline .= $this->_addJsClass('command-line'); + } + } + + if ($inline) { + $this->grav['assets']->addInlineJs($inline, null, 'bottom'); + } + + } + + public function registerNextGenEditorPluginShortcodes($event) { + $plugins = $event['plugins']; + $plugins['js'][] = 'plugin://prism-highlight/nextgen-editor/shortcodes/prism/prism.js'; + $plugins['css'][] = 'plugin://prism-highlight/nextgen-editor/shortcodes/prism/prism.css'; + + $event['plugins'] = $plugins; + return $event; + } + + public static function themeOptions() + { + $options = []; + + $theme_files = glob(__dir__ . '/css/themes/*.css'); + foreach ($theme_files as $theme_file) { + $theme = basename($theme_file); + $options[$theme] = Inflector::titleize($theme); + } + + return $options; + } + + private function _addJsClass($class = '') { + return "__prism_nodes.forEach(function(node) { node.classList.add('" . $class . "'); });\n"; + } +} diff --git a/plugins/prism-highlight/prism-highlight.yaml b/plugins/prism-highlight/prism-highlight.yaml new file mode 100644 index 0000000..11a52bc --- /dev/null +++ b/plugins/prism-highlight/prism-highlight.yaml @@ -0,0 +1,7 @@ +enabled: true +theme: prism-base16-ocean.dark.css +all-pre-blocks: true +plugins: + line-numbers: false + command-line: false + command-line-prompt: '$' diff --git a/plugins/prism-highlight/shortcodes/PrismShortcode.php b/plugins/prism-highlight/shortcodes/PrismShortcode.php new file mode 100644 index 0000000..14e91d9 --- /dev/null +++ b/plugins/prism-highlight/shortcodes/PrismShortcode.php @@ -0,0 +1,104 @@ +shortcode->getRawHandlers()->add('prism', function(ProcessedShortcode $sc) { + + $config = new Data($this->config->get('plugins.prism-highlight')); + + $content = $sc->getContent(); + + $git = $sc->getParameter('git'); + if ($git) { + $content = $this->processGit($git) ?? $content; + } + + $classes = $sc->getParameter('classes', $this->getBbCode($sc)) ?: 'language-text'; + $id = $sc->getParameter('id'); + $highlight_lines = $sc->getParameter('highlight'); + + + $enable_line_numbers = (bool) Utils::contains($classes, 'line-numbers') ?: $config->get('plugins.line-numbers'); + $enable_command_line = (bool) Utils::contains($classes, 'command-line') ?: $config->get('plugins.command-line'); + + $ln_start = $sc->getParameter('ln-start'); + $cl_prompt = $sc->getParameter('cl-prompt', $config->get('plugins.command-line-prompt')); + $cl_output = $sc->getParameter('cl-output'); + $cl_filter_output = $sc->getParameter('cl-filter-output'); + + return $this->twig->processTemplate('shortcodes/prism-highlight.html.twig', [ + 'content' => trim($content), + 'classes' => $classes, + 'id' => $id, + 'enable_line_numbers' => $enable_line_numbers, + 'enable_command_line' => $enable_command_line, + 'cl_prompt' => $cl_prompt, + 'cl_output' => $cl_output, + 'cl_filter_output' => $cl_filter_output, + 'ln_start' => $ln_start, + 'highlight_lines' => $highlight_lines, + ]); + }); + } + + protected function processGit($path) + { + $content = null; + try { + $path = preg_replace(['#http[s]*:\/\/github.com\/#', '#\/blob\/#'], ['https://raw.github.com/', '/'], $path); + preg_match('#\?slice=(.*)#', $path, $matches); + + // Ensure only 'extenral' URls are allowed.. + if (!Uri::isExternal($path)) { + throw new \Exception('Local files are not allowed'); + } + + if ($path) { + $git_file = file_get_contents($path); + $lines = $matches[1] ?? null; + + if ($lines && $git_file) { + $file_lines = explode("\n", $git_file); + //rejig things so it's the array is index starting at line #1 + array_unshift($file_lines,""); + unset($file_lines[0]); + $specific_lines = explode(':', $lines); + + if (count($specific_lines) === 1) { + $content = $file_lines[$specific_lines[0]] ?? $git_file; + } elseif (count($specific_lines) === 2) { + $start = $specific_lines[0]; + $end = $specific_lines[1]; + if ($end < 0) { + $end = count($file_lines) + $end; + } + $new_content = ''; + foreach ($file_lines as $line_no => $line) { + if ($line_no >= $start && $line_no <= $end) { + $new_content .= $line . "\n"; + } + } + $content = $new_content; + } + } else { + $content = $git_file; + } + } else { + throw new \Exception('File not found'); + } + + } catch (\exception $e) { + $msg = $e->getMessage() ?? 'Could not find'; + $content = "$msg: " . $path; + } + return $content; + } +} diff --git a/plugins/prism-highlight/templates/shortcodes/prism-highlight.html.twig b/plugins/prism-highlight/templates/shortcodes/prism-highlight.html.twig new file mode 100644 index 0000000..3d1ebd1 --- /dev/null +++ b/plugins/prism-highlight/templates/shortcodes/prism-highlight.html.twig @@ -0,0 +1,10 @@ +
+
{{- content|e('html') -}}
+
diff --git a/plugins/shortcode-core/.gitignore b/plugins/shortcode-core/.gitignore new file mode 100644 index 0000000..ce52594 --- /dev/null +++ b/plugins/shortcode-core/.gitignore @@ -0,0 +1,3 @@ +/.idea +/vendor/.DS_Store +.DS_Store diff --git a/plugins/shortcode-core/CHANGELOG.md b/plugins/shortcode-core/CHANGELOG.md new file mode 100644 index 0000000..32c3284 --- /dev/null +++ b/plugins/shortcode-core/CHANGELOG.md @@ -0,0 +1,411 @@ +# v5.1.3 +## 06/01/2022 + +1. [](#improved) + * Added a new `display` CLI command to show all registered shortcodes + +# v5.1.2 +## 05/10/2022 + +1. [](#bugfix) + * Upgraded `thunderer/shortcode` to 0.7.5 to address a security issue + +# v5.1.1 +## 01/11/2022 + +1. [](#improved) + * Improved Twig 2 support + * Bugfixes to support latest NextGen version (v1.1.8) + +# v5.1.0 +## 12/09/2021 + +1. [](#new) + * Notice shortcode now uses a twig template to allow for easy overriding of style +1. [](#improved) + * Updated vendor libraries to latest + +# v5.0.7 +## 09/28/2021 + +1. [](#improved) + * Added `processShortcodesRaw()` using raw_handlers [#104](https://github.com/getgrav/grav-plugin-shortcode-core/pull/104) + * Better vertical alignment for inline shortcodes in NextGen Editor +1. [](#bugfix) + * NextGen Editor: Ensure content of children shortcode elements, such as UI Tab content, have a new empty line as prefix and suffix, to ensure Markdown lists are not lost [getgrav/grav-premium-issues#123](https://github.com/getgrav/grav-premium-issues/issues/123) + +# v5.0.6 +## 04/27/2021 + +1. [](#improved) + * Added the ability to enable/disable built-in notice CSS + * NextGen Editor: Added support for multiple editor instances + +# v5.0.5 +## 03/12/2021 + +1. [](#bugfix) + * `SafeEmailShortcode` fixed to be compatible with PHP 7.4 + * Addresses shortcodes getting repeated in modular subpages [#101](https://github.com/getgrav/grav-plugin-shortcode-core/pull/101) + +# v5.0.4 +## 01/26/2021 + +1. [](#bugfix) + * NextGen Editor: Fixed regexp regression preventing multiple shortcodes to be parsed in certain circumstances + +# v5.0.3 +## 01/15/2021 + +1. [](#improved) + * NextGen Editor: Update to support latest version + +# v5.0.2 +## 12/18/2020 + +1. [](#improved) + * NexGen Editor: Added optional `shorthand` to force attributes to full declaration +1. [](#bugfix) + * NextGen Editor: Fixed regexp preventing attributes with `/` in the value from being captured + +# v5.0.1 +## 12/02/2020 + +1. [](#improved) + * Content editing in settings popup + +# v5.0.0 +## 11/04/2020 + +1. [](#new) + * Added built-in support for **Nextgen Editor** with powerful GUI capabilities for all core shortcodes + * Support for 3rd party shortcode plugins to add their own **Nextgen Editor** integrations. +1. [](#improved) + * Support for comma-listed language tags in `[lang]` shortcode: `[lang=dk,se,no,fi]` + * Support for justified text in align shortcode [#94](https://github.com/getgrav/grav-plugin-shortcode-core/issues/94) + * Support for asset collections and arrays [#85](https://github.com/getgrav/grav-plugin-shortcode-core/issues/85) + * Support of `duotone` FontAwesome icons [#78](https://github.com/getgrav/grav-plugin-shortcode-core/issues/78) +1. [](#bugfix) + * Support HTML in Header shortcode + +# v4.2.3 +## 04/27/2020 + +1. [](#improved) + * Configuration option to exclude default shortcodes [#86](https://github.com/getgrav/grav-plugin-shortcode-core/issues/86) + * Add support for `style` attribute in `[span]` shortcode [#88](https://github.com/getgrav/grav-plugin-shortcode-core/issues/88) + * Fix typos [#91](https://github.com/getgrav/grav-plugin-shortcode-core/issues/91) + +# v4.2.2 +## 03/04/2020 + +1. [](#improved) + * Added second `$options` parameter to `ShortcodeCore->registerAllShortcodes()`, key `ignore` can be used to ignore class names / files from being loaded +1. [](#bugfix) + * Fix shortcodes which do not override `init()` method, added deprecation notice instead [#82](https://github.com/getgrav/grav-plugin-shortcode-core/issues/82) + * Fixed error message showing up when updating older versions (<4.2.0) of the plugin [#84](https://github.com/getgrav/grav-plugin-shortcode-core/issues/84) + +# v4.2.1 +## 02/14/2020 + +1. [](#improved) + * Improved shortcode loading, all shortcodes should now extend `Grav\Plugin\Shortcodes\Shortcode` class +1. [](#bugfix) + * Fixed `Class 'Grav\Plugin\Shortcodes\Shortcode' not found` error when using some plugins + * Fixed fatal error when trying to instantiate bad shortcodes (they will be skipped instead) + +# v4.2.0 +## 02/11/2020 + +1. [](#new) + * Pass phpstan level 1 tests + * Added autoload support for registering shortcodes with `$grav['shortcode']->registerShortcode($name)` + * Moved `ShortcodeObject` classes into `Grav\Plugin\ShortcodeCore` namespace with old alias +1. [](#improved) + * Major code cleanup + +# v4.1.7 +## 12/04/2019 + +1. [](#new) + * Added a new `[lorem]` shortcode for quickly generating lorem ipsum dummy content + * Updated Core Thunderer Shortcode library to `0.7.3` for PHP 7.4 compatibility + +# v4.1.6 +## 10/03/2019 + +1. [](#improved) + * Support markdown in `Figure` shortcode caption attribute + * FlexObjects compatibility: changed references to `Page` class to use `PageInterface` + * Reworked the `shortcode` twig var to use a class/method approach for better compatibility in modular/page formats +1. [](#bugfix) + * Fix issue with `[language]` when `include_default_lang: false` [#76](https://github.com/getgrav/grav-plugin-shortcode-core/issues/76) + +# v4.1.5 +## 09/05/2019 + +1. [](#improved) + * Run `onContentProcessed()` event after all other plugins [#75](https://github.com/getgrav/grav-plugin-shortcode-core/issues/75) + +# v4.1.4 +## 08/11/2019 + +1. [](#new) + * Added a new `[details][/details]` shortcode [#72](https://github.com/getgrav/grav-plugin-shortcode-core/pull/72) +1. [](#improved) + * Fixed regression issue introduced in v1.4.3 [#73](https://github.com/getgrav/grav-plugin-shortcode-core/issues/73) + +# v4.1.3 +## 08/09/2019 + +1. [](#improved) + * Fix for shortcode objects not being available. For example `[section][/section]` not working previously without `process: twig: true` + * `README.md` improvements + +# v4.1.2 +## 06/22/2019 + +1. [](#new) + * Added new `h#` tags for `h1` through `h6` supporting `class` and `id` attributes +1. [](#improved) + * Make `ShortcodeManager::setStates()` more flexible to accept any type of object + +# v4.1.1 +## 04/23/2019 + +1. [](#improved) + * Updated Core Thunderer Shortcode library to `0.7.2` + +# v4.1.0 +## 04/14/2019 + +1. [](#new) + * Support for a `ShortCodeManager::getRawHandlers()` to support shortcodes that need to process **before** Markdown (like upcoming `Prism-Highlighter`) + +# v4.0.1 +## 03/21/2019 + +1. [](#new) + * Added a new `[mark][/mark]` shortcode which makes highlighting in code blocks much simpler! + +# v4.0.0 +## 03/20/2019 + +1. [](#improved) + * Improved way to handle shortcodeAssets from `Page::contentMeta()` - Fixes numerous issues + * Allow `size` shortcode to handle non-numeric values (e.g. `%`, `x-large`, etc.) [#63](https://github.com/getgrav/grav-plugin-shortcode-core/pull/63) + * Added FontAwesome 5 support [#56](https://github.com/getgrav/grav-plugin-shortcode-core/pull/56) + +# v3.1.2 +## 03/15/2019 + +1. [](#improved) + * Added a helper method to allow `getBbCode()` to work with `wordpress` parser + +# v3.1.1 +## 03/12/2019 + +1. [](#bugfix) + * Reverted accidental change of default parser. Should be `regular` + +# v3.1.0 +## 02/28/2019 + +1. [](#improved) + * Modified priority of `onPluginsInitialized` to fire earlier +1. [](#bugfix) + * New language shortcode, for example `[lang=en]...[/lang]` + +# v3.0.1 +## 02/03/2019 + +1. [](#bugfix) + * Fixed issues with `0` param and `regular` parser [#14](https://github.com/getgrav/grav-plugin-shortcode-core/issues/14) [#57](https://github.com/getgrav/grav-plugin-shortcode-core/issues/57) [shortcode-ui#29](https://github.com/getgrav/grav-plugin-shortcode-ui/issues/29) [shortcode-ui#6](https://github.com/getgrav/grav-plugin-shortcode-ui/issues/26) + +# v3.0.0 +## 12/19/2018 + +1. [](#new) + * Update to latest Shortcode library `v0.7.0` which has over **10X performance** for default regular parser + * Added an option `admin_pages_only` to only process actual `user/pages/` based pages and not dynamic pages to increase performance + +# v2.7.3 +## 12/07/2018 + +1. [](#new) + * Added a new `figure` shortcode [#51](https://github.com/getgrav/grav-plugin-shortcode-core/pull/51) +1. [](#bugfix) + * Fix empty space at the end of a line [#54](https://github.com/getgrav/grav-plugin-shortcode-core/pull/54) + +# v2.7.2 +## 10/26/2018 + +1. [](#new) + * Added a new `span` shortcode that supports `class` and `id` attributes +1. [](#improved) + * Switched default parser to `regular` + * Using latest `dev-master` version which has a couple of key fixes + +# v2.7.1 +## 03/14/2018 + +1. [](#improved) + * Support shortcodes in theme as well as plugins [#43](https://github.com/getgrav/grav-plugin-shortcode-core/issues/43) + +# v2.7.0 +## 01/16/2018 + +1. [](#new) + * Added a new `div` shortcode that supports `class` and `id` attributes + +# v2.6.0 +## 04/25/2017 + +1. [](#new) + * Added ability to define a custom shortcode path for you own shortcodes [#36](https://github.com/getgrav/grav-plugin-shortcode-core/issues/36) + * Added a twig filter to allow you to use shortcodes directly in Twig templates [#33](https://github.com/getgrav/grav-plugin-shortcode-core/pull/33) + +# v2.5.4 +## 02/26/2017 + +1. [](#bugfix) + * Fixed issue with modular Shortcode meta was not getting processed properly (Assets, Sections, etc.) + +# v2.5.3 +## 02/21/2017 + +1. [](#improved) + * Added a reference to current Page in `ShortcodeManager` + +# v2.5.2 +## 01/26/2017 + +1. [](#bugfix) + * Fixed Mozilla column css prefix + +# v2.5.1 +## 01/25/2017 + +1. [](#improved) + * Added `moz-` prefix in column shortcode + +# v2.5.0 +## 01/25/2017 + +1. [](#new) + * Added **new** `columns` shortcode for CSS columns support + +# v2.4.0 +## 01/17/2017 + +1. [](#improved) + * Switched to `Regex` parser by default (previous was Regex) + * Update to latest Shortcode library v0.6.5 +1. [](#bugfix) + * Removed `getParameterAt(0)` hack in favor of `getBbbCode()` that works with Regex parser + +# v2.3.2 +## 12/15/2016 + +1. [](#improved) + * Update to latest Shortcode library v0.6.4 to address a parser bug [#25](https://github.com/getgrav/grav-plugin-shortcode-core/issues/25) + +# v2.3.1 +## 07/14/2016 + +1. [](#improved) + * renamed internal `contentMeta` variables to `shortcodeMeta` and `shortcodeAssets` + * Update to latest Shortcode library + +# v2.3.0 +## 05/20/2016 + +1. [](#improved) + * Use new conentmeta approach from Grav 1.1 + +# v2.2.1 +## 05/09/2016 + +1. [](#bugfix) + * Always initialize current page even if collection exists [#3](https://github.com/getgrav/grav-plugin-shortcode-ui/issues/3) + +# v2.2.0 +## 04/23/2016 + +1. [](#new) + * Added **new** `fa` FontAwesome shortcode + +# v2.1.0 +## 04/21/2016 + +1. [](#new) + * Added **new** `notice` shortcode +1. [](#improved) + * Updated to latest Shortcode library version + +# v2.0.2 +## 02/17/2016 + +1. [](#bugfix) + * Initialized states in constructor + +# v2.0.1 +## 02/16/2016 + +1. [](#improved) + * Support **modular** pages by populating Twig variables in `onTwigPageVariables()` event #8 +1. [](#bugfix) + * Better more flexible regex in the Markdown **block** definition for more reliable markdown in shortcodes. #3 + +# v2.0.0 +## 02/11/2016 + +1. [](#new) + * Added **new** `section` shortcode + * Use new `contentMeta` mechanism for storing/caching objects and assets per page + * Added new `ShortcodeManager::reset()` methods +1. [](#improved) + * Completely refactored the plugin to use a new extensible mechanism that makes it easier to manage multiple shortcodes + +# v1.4.0 +## 02/03/2016 + +1. [](#improved) + * Updated Shortcode to latest `dev-master` that includes Events +1. [](#bugfix) + * Fixed `raw` shortcode to use new `FilterRawEventHandler` so it doesn't process shortcodes at all + +# v1.3.0 +## 01/29/2016 + +1. [](#improved) + * Added markdown-shortcode-block support to the plugin +1. [](#bugfix) + * Updated Core Thunderer Shortcode library with some important fixes + +# v1.2.0 +## 01/25/2016 + +1. [](#improved) + * Customizable Parser. Choose from `WordPress`, `Regex`, and `Regular` + +# v1.1.0 +## 01/24/2016 + +1. [](#improved) + * Updated to latest Shortcode `dev-master` version that contains some important fixes + * Switched to `WordPressParser` for 2x speed improvements + +# v1.0.1 +## 01/18/2016 + +1. [](#bugfix) + * Fixed blueprint + * Fixed a default yaml state + + +# v1.0.0 +## 01/18/2016 + +1. [](#new) + * ChangeLog started... diff --git a/plugins/shortcode-core/LICENSE b/plugins/shortcode-core/LICENSE new file mode 100644 index 0000000..4bb7092 --- /dev/null +++ b/plugins/shortcode-core/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Grav + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/plugins/shortcode-core/README.md b/plugins/shortcode-core/README.md new file mode 100644 index 0000000..acb41ae --- /dev/null +++ b/plugins/shortcode-core/README.md @@ -0,0 +1,575 @@ +# Grav Shortcode Core Plugin + +## About + +The **Shortcode Core** plugin allow for the development of simple yet powerful shortcode plugins that utilize the common format utilized by **WordPress** and **BBCode**. The core plugin loads the libraries required and fires a new event that other plugins can use. It also provides a mechanism for adding CSS/JS assets that are cached so that shortcodes can work effectively even when the processed page content is cached. This ensures that shortcodes are only processed once and will not impact performance by doing unnecessary work on every page. + +This plugin uses the [Thunderer Advanced shortcode engine](https://github.com/thunderer/Shortcode). For more information please check out that repo on GitHub. + +## Quick Example + +``` +This is some [u]bb style underline[/u] and not much else + +[center]This is centered[/center] + +This is [size=30]bigger text[/size] and this is [color=blue]blue text[/color] +``` + +This example functionality is provided with the **Shortcode Core** plugin to provide some functionality that is not available in traditional markdown but is standard **BBCode** used in many form platforms. You can see how the syntax is just a simple open and close element using square brackets. + +This will render: + +![](assets/shortcode-core-1.png) + +The core plugin required for any other shortcode specific plugin. Provides some basic BBCode style syntax such as underline, color, center, and size. + +## Installation + +Typically a plugin should be installed via [GPM](http://learn.getgrav.org/advanced/grav-gpm) (Grav Package Manager): + +``` +$ bin/gpm install shortcode-core +``` + +Alternatively it can be installed via the [Admin Plugin](http://learn.getgrav.org/admin-panel/plugins) + +> NOTE: If you install a shortcode plugin such as [grav-plugin-shortcode-ui](https://github.com/getgrav/grav-plugin-shortcode-ui) it may have this core plugin configured as a dependency and install it automatically. + +## Configuration Defaults + +The **Shortcode Core** plugin only has a few options to configure. The default values are: + +```yaml +enabled: true +active: true +active_admin: true +admin_pages_only: true +parser: regular +include_default_shortcodes: true +css: + notice_enabled: true +custom_shortcodes: +fontawesome: + load: true + url: '//maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css' + v5: false +``` + +* `enabled: true|false` toggles if the shortcodes plugin is turned on or off +* `active: true|false` toggles if shortcodes will be enabled site-wide or not +* `active_admin: true|false` toggles if shortcodes will be processed in the admin plugin +* `admin_pages_only: true|false` toggles if admin should only process shortcodes for Grav pages +* `parser: wordpress|regex|regular` let's you configure the parser to use +* `include_default_shortcodes: true|false` toggle the inclusion of shortcodes provided by this plugin +* `custom_shortcodes:` the path to a directory where you can put your custom shortcodes (e.g. `/user/custom/shortcodes`) +* `fontawesome.load: true|false` toggles if the fontawesome icon library should be loaded or not +* `fontawesome.url:` the CDN Url to use for fontawesome +* `v5:` Version 5 flag as it requires some additional logic + +> NOTE: In previous versions the `wordpress` parser was preferred. However with version `2.4.0`, the `regex` parser is now default. If you have saved configuration, you should manually change this to `regex` or you may receive errors or bad output. + +## Configuration Modifications + +The best approach to make modifications to the core plugin settings is to copy the `shortcode-core.yaml` file from the plugin into your `user/config/plugins/` folder (create it if it doesn't exist). You can modify the settings there. + +> NOTE: If you have the admin plugin installed, you can make modifications to the settings via the **Plugins** page and it will create that overridden file automatically. + +## Per-Page Configuration + +Sometimes you may want to only enable shortcodes on a _page-by-page_ basis. To accomplish this set your plugin defaults to: + +```yaml +enabled: true +active: false +``` + +This will ensure the plugin is loaded, but not **active**, then on the page you wish to process shortcodes on simply add this to the page header: + +```yaml +shortcode-core: + active: true +``` + +This will ensure the shortcodes are processed on this page only. + +You can also change the parser on a particular page with the following: + +```yaml +shortcode-core: + parser: regex +``` + +## Available Shortcodes + +The core plugin contains a few simple shortcodes that can be used as basic examples: + +#### Underline + +Underline a section of text + +``` +This is some [u]bb style underline[/u] and not much else +``` + +#### Font Size + +Set the size of some text to a specific pixel size + +``` +This is [size=30]bigger text[/size] +``` + +#### Left Align + +Left align the text between this shortcode + +``` +[left]This text is left aligned[/left] +``` + +#### Center Align + +Center a selection of text between this shortcode + +``` +[center]This text is centered[/center] +``` + +#### Right Align + +Right align the text between this shortcode + +``` +[right]This text is right aligned[/right] +``` + + +#### Div + +Allows you to wrap markdown in an HTML `div` tag that supports both `id` and `classes` attributes + +``` +[div class="text-center"] +This text is **centered** aligned +[/div] +``` + +or + +``` +[div class="table table-striped"] +| header 1 | header 2 | +|----------|----------| +| A 1 | B 1 | +| A 2 | B 2 | +| A 3 | B 3 | +[/div] +``` + +#### Headers + +Allows you to add `id` and `class` attributes to HTML `h1` through `h6` tags: + +``` +[h1 class="major"]This is my title[/h1] +``` + +#### Span + +Allows you to wrap markdown in an HTML `span` tag that supports both `id` and `class` attributes + +``` +[span class="text-center"] +This text is **centered** aligned +[/span] +``` + +#### Columns + +Take advantage of powerful CSS columns support by using this shortcode + +``` +[columns] +### Headline + +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, +quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo +consequat. + +Duis aute irure dolor in reprehenderit in voluptate velit esse +cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non +proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, +quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo +consequat. +[/columns] +``` + +Defaults to 2 columns. You can also explicitly set the number of `columns`, `width`, `gap`, and `rule` styling for the column divider: + +``` +[columns count=3 width=200px gap=30px rule="1px dotted #930"] +### Headline + +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, +quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo +consequat. + +Duis aute irure dolor in reprehenderit in voluptate velit esse +cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non +proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, +quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo +consequat. +[/columns] +``` + +#### Raw + +Do not process the shortcodes between these raw shortcode tags + +``` +[raw]This is some [u]bb style underline[/u] and not much else[/raw] +``` + +#### Safe-Email + +Encode an email address so that it's not so easily 'scrapable' by nefarious scripts. This one has a couple of options: `autolink` toggle to turn the email into a link, and an `icon` option that lets you pick a font-awesome icon to prefix the email. Both settings are optional. + +``` +Safe-Email Address: [safe-email autolink="true" icon="envelope-o"]user@domain.com[/safe-email] +``` + +#### Section + +The **section** shortcode is a powerful way to encompass some text in your markdown page with a `[section][/section]` tag and then this is cached by Grav so it can be accessed later. For example you could have a page with a variety of sections described in it that let you create many **chunks** of data. These are then added to Twig as an array of shortcode objects. An example of this would be the following markdown: + +``` +[section name="author"] +![](author.jpg?cropResize=100,100&classes=left) +### Johnny Appleseed +Johnny Appleseed was an American pioneer nurseryman who introduced apple trees to large parts of Pennsylvania, Ontario, Ohio, Indiana, and Illinois, as well as the northern counties of present-day West Virginia. He became an American legend while still alive, due to his kind, generous ways, his leadership in conservation, and the symbolic importance he attributed to apples. +[/section] + +[section name="quote"] +> Some are born great, some achieve greatness, and some have greatness thrust upon them. + Read more at http://www.brainyquote.com/quotes/topics/topic_great.html#tdqt3strtEYBCH43.99 +> William Shakespeare + +Regular **Markdown** content that will be output as `page.content` +[/section] +``` + +This we be removed from the page content and made available in Twig variables so you could insert these into custom HTML structures, for example: + +``` +
{{ shortcode.section.author }}
+ +
+
+ {{ page.content|raw }} +
+
+ {{ shortcode.section.quote }} +
+
+``` + +#### Sections from other pages + +You can even retrieve a section from another page utilizing the shortcodes as they are stored in the page's `contentMeta` with this syntax: + +``` +
{{ page.find('/my/custom/page').contentMeta.shortcodeMeta.shortcode.section.author }}
+``` + +#### Notice + +A useful shortcode that performs a similar job to the [markdown-notices](https://github.com/getgrav/grav-plugin-markdown-notices) plugins, allows you to easily create simple notice blocks as seen on http://learn.getgrav.org and http://getgrav.org. To use simply use the following syntax: + +``` +[notice] +Your **Markdown** text that will appear in the notice +[/notice] +``` + +You can also specifically choose from `note`, `info`, `warning`, `tip` types which provide unique color options: + +``` +[notice=warning] +Danger Will Robinson! Danger, Will Robinson! +[/notice] +``` +#### Figure + +Figure elements are the recommended way to add self-contained units of flow content, i.e. images, charts and other visual elements that can be moved away from the main flow of the document without affecting the document's meaning. Figures may include captions through the `caption` attribute. Both `id` and `class` attributes are also available. + +``` +[figure id="fig1" class="image" caption="**Fig. 1** A beautiful figure."] +![Gorgeous image](image.png) +[/figure] +``` + +#### Mark + +The HTML `` tag is extremely useful to highlight text in your pages, and serves like a highlighter pen. However, as we know that markdown inside of HTML is not processed, using this HTML is often not convenient as it means markdown inside will not be processed. + +Another important usecase is trying to highlight code in a markdown text block, again the HTML tag doesn't work because the result is escaped and treated like any other code and simply displayed. + +The solution is simple, just use the shortcode version instead: + +``` +This is a sample of text [mark]with this bit **highlighted** with _markdown_ syntax[/mark] and the rest just plain. +``` + +You can also use the `class` option to specificy a specific a CSS class to add to the `` HTML tag (useful to color the marked output): + +``` +This is a sample of text [mark class=blue]with this bit **highlighted** with _markdown_ syntax[/mark] and the rest just plain. +``` + +It also works great in code blocks: + +``` +` element provides a simple show/hide behaviour without JavaScript, and can optionally contain a `` element that is always shown. Clicking on the summary text toggles the visibility of the content, and when a summary is not provided, it defaults to "Details". The element can be used to provide extra details, or can be combined into an accordion-like structure. + +``` +[details] +Lorem ipsum dolor sit amet... +[/details] + +[details="Summary text"] +Lorem ipsum dolor sit amet... +[/details] + +[details summary="Summary text" class="accordion"] +Lorem ipsum dolor sit amet... +[/details] +``` + +**Note:** The show/hide behaviour is not supported in IE 11 or Edge 18, and the element will be permanently open. You can check the current status of browser compatibility at [Can I Use](https://caniuse.com/#search=details). + +#### Lorem Ipsum + +Useful for faking content, you can use a shortcode to quickly generate some random "lorem ipsum" text: + +**Paragraphs:** +``` +[lorem=5 /] + +[lorem p=5 tag=div /] +``` + +**Sentences:** +``` +[lorem s=4 /] +``` + +**Words:** +``` +[lorem w=35 /] +``` + +## Using Shortcodes in Twig + +You can now use shortcodes in Twig templates and process them with the `|shortcodes` filter. For example: + +``` +{% set twig_text = "This is [size=30]bigger text[/size] and this is [color=green]green text[/color]" %} +{{ twig_text|shortcodes }} +``` + +## Custom Shortcodes + +### Simple Way + +First, configure a directory from which custom shortcodes are loaded. Edit `user/config/plugins/shortcode-core.yaml` like follows (create it if it does not exist): + +```yaml +custom_shortcodes: '/user/custom/shortcodes' +``` + +To add a custom shortcode, create a PHP file that defines a new shortcode class. For example, to create a shortcode for ~~strikethrough~~ text, save the following code as `user/custom/shortcodes/StrikeShortcode.php`: + +```php +shortcode->getHandlers()->add('strike', function(ShortcodeInterface $sc) { + return ''.$sc->getContent().''; + }); + } +} +``` + +Note that the class name (`StrikeShortcode`) must match the file name for the shortcode to work. + +`[strike]text[/strike]` should now produce strikethrough text. + +### As a Custom Plugin + +The more flexible approach is to create a custom plugin. + +The **Shortcode Core** plugin is developed on the back of the [Thunderer Advanced Shortcode Engine](https://github.com/thunderer/Shortcode) and as such loads the libraries and classes required to build third party shortcode plugins. + +We introduced a new event called `onShortcodeHandlers()` that allows a 3rd party plugin to create and add their own custom handlers. These are then all processed by the core plugin in one shot. + +```php + public static function getSubscribedEvents() + { + return [ + 'onShortcodeHandlers' => ['onShortcodeHandlers', 0] + ]; + } +``` + +Then you just need to listen to the event: + +```php + public function onShortcodeHandlers() + { + $this->grav['shortcode']->registerAllShortcodes(__DIR__.'/shortcodes'); + } +``` + +Lastly create your shortcode in the `user/plugins/my-plugin/shortcodes/` folder, in this example we created a simple `[red][/red]` shortcode as `RedShortcode.php`: + +```php +shortcode->getHandlers()->add('red', function(ShortcodeInterface $sc) { + return ''.$sc->getContent().''; + }); + } +} +``` + +> If you have not already done so, I suggest reading the [Grav Plugin Tutorial](http://learn.getgrav.org/plugins/plugin-tutorial) first to gain a full understanding of what you need to develop a Grav plugin. + +The best way to see how to create a new shortcode-based plugins is to look at the **Shortcode UI** plugin that extends the **Shortcode Core** by adding more shortcodes. It also makes use of Twig to handle processing and has some more advanced shortcode techniques. + +* Core Plugin: https://github.com/getgrav/grav-plugin-shortcode-ui/blob/develop/shortcode-ui.php +* Tabs Shortcode Example: https://github.com/getgrav/grav-plugin-shortcode-ui/blob/develop/shortcodes/TabsShortcode.php +* Color Shortcode Example: https://github.com/getgrav/grav-plugin-shortcode-core/blob/develop/shortcodes/ColorShortcode.php +* Section Shortcode Example: https://github.com/getgrav/grav-plugin-shortcode-core/blob/develop/shortcodes/SectionShortcode.php +* Section Prism Highlight Example: https://github.com/trilbymedia/grav-plugin-prism-highlight/blob/develop/shortcodes/PrismShortcode.php + +## Processing Shortcodes Before or After Markdown processing + +There are basically two ways of processing a shortcode: + +1. After markdown is processed +2. Before markdown is processed + +These two approaches are important because, for the most part, shortcodes make more sense when they can 'wrap' markdown, so they process **after** markdown. + +For example a `[div][/div]` shortcode would be useless if it ran before markdown is processed because it would add the relevant HTML `
` tags, and then the markdown parser would promptly **skip** all markdown processing between those divs because it won't process markdown **inside** HTML. So this shortcode and most others run after markdown processing has already occurred using this approach: + +```php +$this->shortcode->getHandlers()->add('div', function(ShortcodeInterface $sc) { ... } +``` +Notice the `getHandlers()` call is the standard way to add a handler. + +However, there are situations when you need to process the shortcode **before** the markdown processing to ensure markdown **is skipped**, like in the example of a code block. This is why in the [Prism Highlighter](https://github.com/trilbymedia/grav-plugin-prism-highlight) plugin, we use this approach to defining the shortcode: + +```php +$this->shortcode->getRawHandlers()->add('prism', function(ProcessedShortcode $sc) { ... } +``` + +The difference here is it uses `getRawHandlers()` to ensure the handler is processed to the content in the _raw_ state. + +## Display All Shortcodes + +You can now display all available shortcodes by using the CLI command: + +```shell +bin/plugin shortcode-core display +``` \ No newline at end of file diff --git a/plugins/shortcode-core/assets/shortcode-core-1.png b/plugins/shortcode-core/assets/shortcode-core-1.png new file mode 100644 index 0000000..2cf9f1e Binary files /dev/null and b/plugins/shortcode-core/assets/shortcode-core-1.png differ diff --git a/plugins/shortcode-core/blueprints.yaml b/plugins/shortcode-core/blueprints.yaml new file mode 100644 index 0000000..15426d0 --- /dev/null +++ b/plugins/shortcode-core/blueprints.yaml @@ -0,0 +1,127 @@ +name: Shortcode Core +slug: shortcode-core +type: plugin +version: 5.1.3 +description: "This plugin provides the core functionality for shortcode plugins" +icon: code +author: + name: Team Grav + email: devs@getgrav.org + url: http://getgrav.org +homepage: https://github.com/getgrav/grav-plugin-shortcode-core +demo: http://learn.getgrav.org +keywords: gui, plugin, tabs, twig +bugs: https://github.com/getgrav/grav-plugin-shortcode-core/issues +license: MIT + +dependencies: + - { name: grav, version: '>=1.6.4' } + +form: + validation: strict + fields: + enabled: + type: toggle + label: Plugin Enabled + highlight: 1 + default: 1 + options: + 1: Enabled + 0: Disabled + validate: + type: bool + + active: + type: toggle + label: Activated + help: Site-Wide activation + highlight: 1 + default: 1 + options: + 1: Enabled + 0: Disabled + validate: + type: bool + + active_admin: + type: toggle + label: Activated in Admin + highlight: 1 + default: 1 + options: + 1: Enabled + 0: Disabled + validate: + type: bool + + admin_pages_only: + type: toggle + label: Admin Real-Pages Only + help: When activate, only process real-pages + highlight: 1 + default: 1 + options: + 1: Enabled + 0: Disabled + validate: + type: bool + + parser: + type: select + size: medium + classes: fancy + label: Processor + help: Which built-in processor to use. WordPress (fastest), Regular (customizable), Regex (solid) + options: + wordpress: WordpressParser + regex: RegexParser + regular: RegularParser + + custom_shortcodes: + type: text + label: Custom Shortcodes + help: The path to a location where you store custom shortcodes. + placeholder: '/user/custom/shortcodes' + size: large + + css.notice_enabled: + type: toggle + label: Enable Notice Shortcode CSS + help: Enable the default notice CSS by default. Disable if you want to use your own custom CSS. + highlight: 1 + default: 1 + options: + 1: Enabled + 0: Disabled + validate: + type: bool + + fontawesome.load: + type: toggle + label: Load Fontawesome Library + help: Used by the `safe-email` shortcode if your theme doesn't already load it + highlight: 1 + default: 1 + options: + 1: Enabled + 0: Disabled + validate: + type: bool + + fontawesome.url: + type: text + label: Fontawesome URL + help: You can change the location of fontawesome by changing this URL + size: large + + fontawesome.v5: + type: toggle + label: Use Fontawesome Version 5 + help: Allows usage of the 'fab', 'fas' and other new font families of Fontawesome 5. + highlight: 0 + default: 0 + options: + 1: Enabled + 0: Disabled + validate: + type: bool diff --git a/plugins/shortcode-core/classes/Shortcode.php b/plugins/shortcode-core/classes/Shortcode.php new file mode 100644 index 0000000..10cd16f --- /dev/null +++ b/plugins/shortcode-core/classes/Shortcode.php @@ -0,0 +1,7 @@ +grav = Grav::instance(); + $this->config = $this->grav['config']; + $this->handlers = new HandlerContainer(); + $this->raw_handlers = new HandlerContainer(); + $this->events = new EventContainer(); + $this->states = []; + $this->assets = []; + $this->objects = []; + } + + /** + * add CSS and JS assets to the Manager so that they can be saved to cache + * for subsequent cached pages + * + * @param mixed $actionOrAsset the type of asset (JS or CSS) or, if the second parameter is omitted, + * a collection or an array of asset. + * @param string $asset the asset path in question + */ + public function addAssets($actionOrAsset, $asset = null) + { + if ($asset == null) { + if (is_array($actionOrAsset)) { + $this->assets[''] = array_merge($this->assets[''] ?? array(), $actionOrAsset); + } else { + $this->assets[''] [] = $actionOrAsset; + } + } else { + if (isset($this->assets[$actionOrAsset]) && in_array($asset, $this->assets[$actionOrAsset], true)) { + return; + } + $this->assets[$actionOrAsset] [] = $asset; + } + } + + /** + * return a multi-dimensional array of all the assets + * + * @return array the assets array + */ + public function getAssets() + { + return $this->assets; + } + + /** + * reset the assets + */ + public function resetAssets() + { + $this->assets = []; + } + + /** + * adds ad object + * @param string $key The key to look up the object + * @param object $object The object to store + */ + public function addObject($key, $object) + { + $new = [$object->name() => $object]; + if (array_key_exists($key, $this->objects)) { + $current = (array)$this->objects[$key]; + $this->objects[$key] = $current + $new; + } else { + $this->objects[$key] = $new; + } + + } + + /** + * sets all the objects + * @param array $objects The objects array + */ + public function setObjects($objects) + { + $this->objects = $objects; + } + + /** + * return all the objects + * @return array The objects array + */ + public function getObjects() + { + return $this->objects; + } + + /** + * reset the objects + */ + public function resetObjects() + { + $this->objects = []; + } + + /** + * returns the current handler container object + * + * @return HandlerContainer + */ + public function getHandlers() + { + return $this->handlers; + } + + /** + * returns the current raw handler container object + * + * @return HandlerContainer + */ + public function getRawHandlers() + { + return $this->raw_handlers; + } + + /** + * returns the current event container object + * + * @return EventContainer + */ + public function getEvents() + { + return $this->events; + } + + /** + * Register an individual shortcode with the manager so it can be operated on by the Shortcode library + * + * @param string $name the name of the shortcode (should match the classname) + * @param string|null $directory directory where the shortcode is located + */ + public function registerShortcode($name, $directory = null) + { + $className = 'Grav\\Plugin\\Shortcodes\\' . basename($name, '.php'); + if (!class_exists($className) && $directory) { + $path = rtrim($directory, '/').'/'.$name; + + require_once $path; + } + + // Make sure the class exists, extends Shortcode and is not abstract. + if (class_exists($className) && is_subclass_of($className, \Grav\Plugin\Shortcodes\Shortcode::class)) { + $reflection = new \ReflectionClass($className); + if (!$reflection->isAbstract()) { + /** @var \Grav\Plugin\Shortcodes\Shortcode $shortcode */ + $shortcode = new $className(); + $shortcode->init(); + } + } + } + + /** + * register all files as shortcodes in a particular directory + * @param string $directory directory where the shortcodes are located + * @param array $options Extra options + */ + public function registerAllShortcodes($directory, array $options = []) + { + try { + $ignore = $options['ignore'] ?? []; + foreach (new \DirectoryIterator($directory) as $file) { + if ($file->isDot() || \in_array($file->getBasename('.php'), $ignore, true)) { + continue; + } + $this->registerShortcode($file->getFilename(), $directory); + } + } catch (\UnexpectedValueException $e) { + Grav::instance()['log']->error('ShortcodeCore Plugin: Directory not found => ' . $directory); + } + } + + /** + * setup the markdown parser to handle shortcodes properly + * + * @param object $markdown the markdown parser object + */ + public function setupMarkdown($markdown) + { + $markdown->addBlockType('[', 'ShortCodes', true, false); + + $markdown->blockShortCodes = function($Line) { + $valid_shortcodes = implode('|', $this->handlers->getNames()); + $regex = '/^\[\/?(?:' . $valid_shortcodes . ')[^\]]*\]$/'; + + if (preg_match($regex, trim($Line['body']), $matches)) { + return [ + 'markup' => $Line['body'], + ]; + } + + return null; + }; + } + + /** + * process the content by running over all the known shortcodes with the + * chosen parser + * + * @param PageInterface $page the page to work on + * @param Data $config configuration merged with the page config + * @param null $handlers + * @return string + */ + public function processContent(PageInterface $page, Data $config, $handlers = null) + { + $parser = $this->getParser($config->get('parser')); + + if (!$handlers) { + $handlers = $this->handlers; + } + + if ($page && $config->get('enabled')) { + $this->page = $page; + $content = $page->getRawContent(); + $processor = new Processor(new $parser(new CommonSyntax()), $handlers); + $processor = $processor->withEventContainer($this->events); + + return $processor->process($content); + } + + return null; + } + + public function processRawContent(PageInterface $page, Data $config) + { + return $this->processContent($page, $config, $this->raw_handlers); + } + + /** + * Allow the processing of shortcodes directly on a string + * For example when used by Twig directly + * + * @param $str + * @param null $handlers + * @return string + */ + public function processShortcodes($str, $handlers = null) + { + $parser = $this->getParser($this->config->get('parser')); + + if (!$handlers) { + $handlers = $this->handlers; + } + + $processor = new Processor(new $parser(new CommonSyntax()), $handlers); + + return $processor->process($str); + } + + public function processShortcodesRaw($str) + { + return $this->processShortcodes($str, $this->raw_handlers); + } + + /** + * set a state of a particular item with a hash for retrieval later + * + * @param string $hash a unique hash code + * @param object $item some item to store + */ + public function setStates($hash, $item) + { + $this->states[$hash][] = $item; + } + + /** + * returns the shortcode of a specific hash + * + * @param string $hash unique id of state + * @return ShortcodeInterface shortcode stored for this hash + */ + public function getStates($hash) + { + if (array_key_exists($hash, $this->states)) { + return $this->states[$hash]; + } + + return null; + } + + /** + * helper method to create a unique shortcode based on the content + * + * @param ShortcodeInterface $shortcode + * @return string + */ + public function getId(ShortcodeInterface $shortcode) + { + return substr(md5($shortcode->getShortcodeText()), -10); + } + + /** + * Sets the current page context + * + * @param PageInterface $page + */ + public function setPage(PageInterface $page) + { + $this->page = $page; + } + + /** gets the current page context if set */ + public function getPage() + { + return $this->page; + } + + /** + * Get the appropriate parser object + * + * @param $parser + * @return string + */ + protected function getParser($parser) + { + switch($parser) + { + case 'regular': + $parser = RegularParser::class; + break; + case 'wordpress': + $parser = WordpressParser::class; + break; + default: + $parser = RegexParser::class; + break; + } + + return $parser; + } +} diff --git a/plugins/shortcode-core/classes/plugin/ShortcodeObject.php b/plugins/shortcode-core/classes/plugin/ShortcodeObject.php new file mode 100644 index 0000000..751205b --- /dev/null +++ b/plugins/shortcode-core/classes/plugin/ShortcodeObject.php @@ -0,0 +1,33 @@ +obj_name = $name; + $this->obj_object = $object; + } + + public function __toString() + { + return $this->obj_object; + } + + public function name() + { + return $this->obj_name; + } + + public function object() + { + return $this->obj_object; + } +} + +// Make sure we also autoload the deprecated class. +class_exists(\Grav\Plugin\Shortcodes\ShortcodeObject::class); diff --git a/plugins/shortcode-core/classes/plugin/ShortcodeTwigVar.php b/plugins/shortcode-core/classes/plugin/ShortcodeTwigVar.php new file mode 100644 index 0000000..2113c07 --- /dev/null +++ b/plugins/shortcode-core/classes/plugin/ShortcodeTwigVar.php @@ -0,0 +1,27 @@ +getObjects(); + + if ($objects) { + return $objects[$name] ?? []; + } + + $page_meta = Grav::instance()['page']->getContentMeta('shortcodeMeta'); + if (isset($page_meta['shortcode'])) { + $objects = (array) $page_meta['shortcode']; + return $objects[$name] ?? []; + } + + return []; + } +} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/AlignShortcode.php b/plugins/shortcode-core/classes/shortcodes/AlignShortcode.php new file mode 100644 index 0000000..c551d4c --- /dev/null +++ b/plugins/shortcode-core/classes/shortcodes/AlignShortcode.php @@ -0,0 +1,26 @@ +shortcode->getHandlers()->add('center', static function(ShortcodeInterface $sc) { + return '
' . $sc->getContent() . '
'; + }); + + $this->shortcode->getHandlers()->add('left', static function(ShortcodeInterface $sc) { + return '
' . $sc->getContent() . '
'; + }); + + $this->shortcode->getHandlers()->add('right', static function(ShortcodeInterface $sc) { + return '
' . $sc->getContent() . '
'; + }); + + $this->shortcode->getHandlers()->add('justify', static function(ShortcodeInterface $sc) { + return '
' . $sc->getContent() . '
'; + }); + } +} diff --git a/plugins/shortcode-core/classes/shortcodes/ColorShortcode.php b/plugins/shortcode-core/classes/shortcodes/ColorShortcode.php new file mode 100644 index 0000000..b97de60 --- /dev/null +++ b/plugins/shortcode-core/classes/shortcodes/ColorShortcode.php @@ -0,0 +1,16 @@ +shortcode->getHandlers()->add('color', function(ShortcodeInterface $sc) { + $color = $sc->getParameter('color', $this->getBbCode($sc)); + + return '' . $sc->getContent() . ''; + }); + } +} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/ColumnsShortcode.php b/plugins/shortcode-core/classes/shortcodes/ColumnsShortcode.php new file mode 100644 index 0000000..b9c9145 --- /dev/null +++ b/plugins/shortcode-core/classes/shortcodes/ColumnsShortcode.php @@ -0,0 +1,27 @@ +shortcode->getHandlers()->add('columns', static function(ShortcodeInterface $sc) { + $column_count = (int)$sc->getParameter('count', 2); + $column_width = $sc->getParameter('width', 'auto'); + $column_gap = $sc->getParameter('gap', 'normal'); + $column_rule = $sc->getParameter('rule', false); + + $css_style = 'columns:' . $column_count . ' ' . $column_width . ';-moz-columns:' . $column_count . ' ' . $column_width . ';'; + $css_style .= 'column-gap:' . $column_gap . ';-moz-column-gap:' . $column_gap . ';'; + + if ($column_rule) { + $css_style .= 'column-rule:' . $column_rule . ';-moz-column-rule:' . $column_rule . ';'; + } + + return '
' . $sc->getContent() . '
'; + }); + + } +} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/DetailsShortcode.php b/plugins/shortcode-core/classes/shortcodes/DetailsShortcode.php new file mode 100644 index 0000000..1c75e4d --- /dev/null +++ b/plugins/shortcode-core/classes/shortcodes/DetailsShortcode.php @@ -0,0 +1,26 @@ +shortcode->getHandlers()->add('details', function(ShortcodeInterface $sc) { + // Get summary/title + $summary = $sc->getParameter('summary', $this->getBbCode($sc)); + $summaryHTML = $summary ? '' . $summary . '' : ''; + + // Get classes for details + $class = $sc->getParameter('class', $this->getBbCode($sc)); + $classHTML = (isset($class) and $class !== $summary) ? 'class="' . $class . '"' : ''; + + // Get content + $content = $sc->getContent(); + + // Return the details/summary block + return '
' . $summaryHTML . $content . '
'; + }); + } +} diff --git a/plugins/shortcode-core/classes/shortcodes/DivShortcode.php b/plugins/shortcode-core/classes/shortcodes/DivShortcode.php new file mode 100644 index 0000000..0ca5beb --- /dev/null +++ b/plugins/shortcode-core/classes/shortcodes/DivShortcode.php @@ -0,0 +1,22 @@ +shortcode->getHandlers()->add('div', static function(ShortcodeInterface $sc) { + $id = $sc->getParameter('id'); + $class = $sc->getParameter('class'); + $style = $sc->getParameter('style'); + + $id_output = $id ? ' id="' . $id . '" ': ''; + $class_output = $class ? ' class="' . $class . '"' : ''; + $style_output = $style ? ' style="' . $style . '"' : ''; + + return '
' . $sc->getContent() . '
'; + }); + } +} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/FigureShortcode.php b/plugins/shortcode-core/classes/shortcodes/FigureShortcode.php new file mode 100644 index 0000000..386ac19 --- /dev/null +++ b/plugins/shortcode-core/classes/shortcodes/FigureShortcode.php @@ -0,0 +1,27 @@ +shortcode->getHandlers()->add('figure', function(ShortcodeInterface $sc) { + $id = $sc->getParameter('id'); + $class = $sc->getParameter('class'); + $caption = $sc->getParameter('caption'); + $page = $this->grav['page']; + + // Process any markdown on caption + $caption = Utils::processMarkdown($caption, false, $page); + + $id_output = $id ? 'id="' . $id . '" ': ''; + $class_output = $class ? 'class="' . $class . '"' : ''; + $caption_output = $caption ? '
' . $caption . '
' : ''; + + return '
'.$sc->getContent(). $caption_output . '
'; + }); + } +} diff --git a/plugins/shortcode-core/classes/shortcodes/FontAwesomeShortcode.php b/plugins/shortcode-core/classes/shortcodes/FontAwesomeShortcode.php new file mode 100644 index 0000000..075f3fb --- /dev/null +++ b/plugins/shortcode-core/classes/shortcodes/FontAwesomeShortcode.php @@ -0,0 +1,53 @@ +shortcode->getHandlers()->add('fa', function(ShortcodeInterface $sc) { + // Load assets if required + if ($this->config->get('plugins.shortcode-core.fontawesome.load', false)) { + $this->shortcode->addAssets('css', $this->config->get('plugins.shortcode-core.fontawesome.url')); + } + if ($this->config->get('plugins.shortcode-core.fontawesome.v5', false)) { + $v5classes = ['fab', 'fal', 'fas', 'far', 'fad']; + } else { + $v5classes = []; + } + + // Get shortcode content and parameters + $str = $sc->getContent(); + $icon = $sc->getParameter('icon', $sc->getParameter('fa', $this->getBbCode($sc))); + + if (!Utils::startsWith($icon, 'fa-')) { + $icon = 'fa-'.$icon; + } + + if ($icon) { + $fa_class = 'fa'; + $extras = explode(',', $sc->getParameter('extras', '')); + + foreach($extras as $extra) { + if(!empty($extra)) { + if(in_array($extra, $v5classes, true)) { + $fa_class = $extra; + continue; + } + if(!Utils::startsWith($extra, 'fa-')) { + $extra = 'fa-' . $extra; + } + $icon .= ' ' . $extra; + } + } + + return '' . $str . ''; + } + + return ''; + }); + } +} diff --git a/plugins/shortcode-core/classes/shortcodes/HShortcode.php b/plugins/shortcode-core/classes/shortcodes/HShortcode.php new file mode 100644 index 0000000..318dbe3 --- /dev/null +++ b/plugins/shortcode-core/classes/shortcodes/HShortcode.php @@ -0,0 +1,48 @@ +shortcode->getHandlers()->add('h1', function(ShortcodeInterface $sc) { + return $this->header(1, $sc); + }); + + $this->shortcode->getHandlers()->add('h2', function(ShortcodeInterface $sc) { + return $this->header(2, $sc); + }); + + $this->shortcode->getHandlers()->add('h3', function(ShortcodeInterface $sc) { + return $this->header(3, $sc); + }); + + $this->shortcode->getHandlers()->add('h4', function(ShortcodeInterface $sc) { + return $this->header(4, $sc); + }); + + $this->shortcode->getHandlers()->add('h5', function(ShortcodeInterface $sc) { + return $this->header(5, $sc); + }); + + $this->shortcode->getHandlers()->add('h6', function(ShortcodeInterface $sc) { + return $this->header(6, $sc); + }); + + + } + + protected function header($level, ShortcodeInterface $sc) + { + $id = $sc->getParameter('id'); + $class = $sc->getParameter('class'); + $tag = 'h' . $level; + + $id_output = $id ? ' id="' . $id . '" ': ''; + $class_output = $class ? ' class="' . $class . '"' : ''; + + return "<{$tag}{$id_output}{$class_output}>{$sc->getContent()}"; + } +} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/LanguageShortcode.php b/plugins/shortcode-core/classes/shortcodes/LanguageShortcode.php new file mode 100644 index 0000000..673b1fa --- /dev/null +++ b/plugins/shortcode-core/classes/shortcodes/LanguageShortcode.php @@ -0,0 +1,31 @@ +shortcode->getHandlers()->add('lang', function(ShortcodeInterface $sc) { + $lang = $this->getBbCode($sc); + + if ($lang) { + $list = explode(',', $lang); + array_walk($list, 'trim'); + + /** @var Language $language */ + $language = $this->grav['language']; + $current = $language->getLanguage(); + + if (in_array($current, $list)) { + return $sc->getContent(); + } + } + + return ''; + }); + } +} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/LoremShortcode.php b/plugins/shortcode-core/classes/shortcodes/LoremShortcode.php new file mode 100644 index 0000000..998415d --- /dev/null +++ b/plugins/shortcode-core/classes/shortcodes/LoremShortcode.php @@ -0,0 +1,360 @@ + + * @copyright Copyright 2014, 2015, 2016, 2017, 2018, 2019 Josh Sherman + * @license http://www.opensource.org/licenses/mit-license.html + * @link https://github.com/joshtronic/php-loremipsum + */ + +namespace Grav\Plugin\Shortcodes; + +use Thunder\Shortcode\Shortcode\ShortcodeInterface; + +class LoremShortcode extends Shortcode +{ + /** + * First + * + * Whether or not we should be starting the string with "Lorem ipsum..." + * + * @access private + * @var boolean + */ + private $first = true; + /** + * Words + * + * A lorem ipsum vocabulary of sorts. Not a complete list as I'm unsure if + * a complete list exists and if so, where to get it. + * + * @access private + * @var array + */ + public $words = [ + // Lorem ipsum... + 'lorem', 'ipsum', 'dolor', 'sit', 'amet', 'consectetur', 'adipiscing', 'elit', + // and the rest of the vocabulary + 'a', 'ac', 'accumsan', 'ad', 'aenean', 'aliquam', 'aliquet', 'ante', + 'aptent', 'arcu', 'at', 'auctor', 'augue', 'bibendum', 'blandit', + 'class', 'commodo', 'condimentum', 'congue', 'consequat', 'conubia', + 'convallis', 'cras', 'cubilia', 'curabitur', 'curae', 'cursus', + 'dapibus', 'diam', 'dictum', 'dictumst', 'dignissim', 'dis', 'donec', + 'dui', 'duis', 'efficitur', 'egestas', 'eget', 'eleifend', 'elementum', + 'enim', 'erat', 'eros', 'est', 'et', 'etiam', 'eu', 'euismod', 'ex', + 'facilisi', 'facilisis', 'fames', 'faucibus', 'felis', 'fermentum', + 'feugiat', 'finibus', 'fringilla', 'fusce', 'gravida', 'habitant', + 'habitasse', 'hac', 'hendrerit', 'himenaeos', 'iaculis', 'id', + 'imperdiet', 'in', 'inceptos', 'integer', 'interdum', 'justo', + 'lacinia', 'lacus', 'laoreet', 'lectus', 'leo', 'libero', 'ligula', + 'litora', 'lobortis', 'luctus', 'maecenas', 'magna', 'magnis', + 'malesuada', 'massa', 'mattis', 'mauris', 'maximus', 'metus', 'mi', + 'molestie', 'mollis', 'montes', 'morbi', 'mus', 'nam', 'nascetur', + 'natoque', 'nec', 'neque', 'netus', 'nibh', 'nisi', 'nisl', 'non', + 'nostra', 'nulla', 'nullam', 'nunc', 'odio', 'orci', 'ornare', + 'parturient', 'pellentesque', 'penatibus', 'per', 'pharetra', + 'phasellus', 'placerat', 'platea', 'porta', 'porttitor', 'posuere', + 'potenti', 'praesent', 'pretium', 'primis', 'proin', 'pulvinar', + 'purus', 'quam', 'quis', 'quisque', 'rhoncus', 'ridiculus', 'risus', + 'rutrum', 'sagittis', 'sapien', 'scelerisque', 'sed', 'sem', 'semper', + 'senectus', 'sociosqu', 'sodales', 'sollicitudin', 'suscipit', + 'suspendisse', 'taciti', 'tellus', 'tempor', 'tempus', 'tincidunt', + 'torquent', 'tortor', 'tristique', 'turpis', 'ullamcorper', 'ultrices', + 'ultricies', 'urna', 'ut', 'varius', 'vehicula', 'vel', 'velit', + 'venenatis', 'vestibulum', 'vitae', 'vivamus', 'viverra', 'volutpat', + 'vulputate', + ]; + + public function init() + { + $this->shortcode->getHandlers()->add('lorem', function(ShortcodeInterface $sc) { + $paragraphs = $sc->getParameter('p', $this->getBbCode($sc)); + $paragraph_tag = $sc->getParameter('tag', 'p'); + $sentences = $sc->getParameter('s'); + $words = $sc->getParameter('w'); + + if ($words) { + return $this->words($words); + } + if ($sentences) { + return $this->sentences($sentences); + } + + return $this->paragraphs($paragraphs ?? 1, $paragraph_tag); + }); + } + + /** + * Word + * + * Generates a single word of lorem ipsum. + * + * @access public + * @param mixed $tags string or array of HTML tags to wrap output with + * @return string generated lorem ipsum word + */ + public function word($tags = false) + { + return $this->words(1, $tags); + } + /** + * Words Array + * + * Generates an array of lorem ipsum words. + * + * @access public + * @param integer $count how many words to generate + * @param mixed $tags string or array of HTML tags to wrap output with + * @return array generated lorem ipsum words + */ + public function wordsArray($count = 1, $tags = false) + { + return $this->words($count, $tags, true); + } + /** + * Words + * + * Generates words of lorem ipsum. + * + * @access public + * @param integer $count how many words to generate + * @param mixed $tags string or array of HTML tags to wrap output with + * @param boolean $array whether an array or a string should be returned + * @return mixed string or array of generated lorem ipsum words + */ + public function words($count = 1, $tags = false, $array = false) + { + $words = []; + $word_count = 0; + // Shuffles and appends the word list to compensate for count + // arguments that exceed the size of our vocabulary list + while ($word_count < $count) { + $shuffle = true; + while ($shuffle) { + $this->shuffle(); + // Checks that the last word of the list and the first word of + // the list that's about to be appended are not the same + if (!$word_count || $words[$word_count - 1] != $this->words[0]) { + $words = array_merge($words, $this->words); + $word_count = count($words); + $shuffle = false; + } + } + } + $words = array_slice($words, 0, $count); + + return $this->output($words, $tags, $array); + } + /** + * Sentence + * + * Generates a full sentence of lorem ipsum. + * + * @access public + * @param mixed $tags string or array of HTML tags to wrap output with + * @return string generated lorem ipsum sentence + */ + public function sentence($tags = false) + { + return $this->sentences(1, $tags); + } + /** + * Sentences Array + * + * Generates an array of lorem ipsum sentences. + * + * @access public + * @param integer $count how many sentences to generate + * @param mixed $tags string or array of HTML tags to wrap output with + * @return array generated lorem ipsum sentences + */ + public function sentencesArray($count = 1, $tags = false) + { + return $this->sentences($count, $tags, true); + } + /** + * Sentences + * + * Generates sentences of lorem ipsum. + * + * @access public + * @param integer $count how many sentences to generate + * @param mixed $tags string or array of HTML tags to wrap output with + * @param boolean $array whether an array or a string should be returned + * @return mixed string or array of generated lorem ipsum sentences + */ + public function sentences($count = 1, $tags = false, $array = false) + { + $sentences = []; + for ($i = 0; $i < $count; $i++) { + $sentences[] = $this->wordsArray($this->gauss(24.46, 5.08)); + } + $this->punctuate($sentences); + + return $this->output($sentences, $tags, $array); + } + /** + * Paragraph + * + * Generates a full paragraph of lorem ipsum. + * + * @access public + * @param mixed $tags string or array of HTML tags to wrap output with + * @return string generated lorem ipsum paragraph + */ + public function paragraph($tags = false) + { + return $this->paragraphs(1, $tags); + } + /** + * Paragraph Array + * + * Generates an array of lorem ipsum paragraphs. + * + * @access public + * @param integer $count how many paragraphs to generate + * @param mixed $tags string or array of HTML tags to wrap output with + * @return array generated lorem ipsum paragraphs + */ + public function paragraphsArray($count = 1, $tags = false) + { + return $this->paragraphs($count, $tags, true); + } + /** + * Paragraphss + * + * Generates paragraphs of lorem ipsum. + * + * @access public + * @param integer $count how many paragraphs to generate + * @param mixed $tags string or array of HTML tags to wrap output with + * @param boolean $array whether an array or a string should be returned + * @return mixed string or array of generated lorem ipsum paragraphs + */ + public function paragraphs($count = 1, $tags = false, $array = false) + { + $paragraphs = []; + for ($i = 0; $i < $count; $i++) { + $paragraphs[] = $this->sentences($this->gauss(5.8, 1.93)); + } + + return $this->output($paragraphs, $tags, $array, "\n\n"); + } + /** + * Gaussian Distribution + * + * This is some smart kid stuff. I went ahead and combined the N(0,1) logic + * with the N(m,s) logic into this single function. Used to calculate the + * number of words in a sentence, the number of sentences in a paragraph + * and the distribution of commas in a sentence. + * + * @access private + * @param double $mean average value + * @param double $std_dev stadnard deviation + * @return double calculated distribution + */ + private function gauss($mean, $std_dev) + { + $x = mt_rand() / mt_getrandmax(); + $y = mt_rand() / mt_getrandmax(); + $z = sqrt(-2 * log($x)) * cos(2 * pi() * $y); + + return $z * $std_dev + $mean; + } + /** + * Shuffle + * + * Shuffles the words, forcing "Lorem ipsum..." at the beginning if it is + * the first time we are generating the text. + * + * @access private + */ + private function shuffle() + { + if ($this->first) { + $this->first = array_slice($this->words, 0, 8); + $this->words = array_slice($this->words, 8); + shuffle($this->words); + $this->words = $this->first + $this->words; + $this->first = false; + } else { + shuffle($this->words); + } + } + /** + * Punctuate + * + * Applies punctuation to a sentence. This includes a period at the end, + * the injection of commas as well as capitalizing the first letter of the + * first word of the sentence. + * + * @access private + * @param array $sentences the sentences we would like to punctuate + */ + private function punctuate(&$sentences) + { + foreach ($sentences as $key => $sentence) { + $words = count($sentence); + // Only worry about commas on sentences longer than 4 words + if ($words > 4) { + $mean = log($words, 6); + $std_dev = $mean / 6; + $commas = round($this->gauss($mean, $std_dev)); + for ($i = 1; $i <= $commas; $i++) { + $word = round($i * $words / ($commas + 1)); + if ($word < ($words - 1) && $word > 0) { + $sentence[$word] .= ','; + } + } + } + $sentences[$key] = ucfirst(implode(' ', $sentence) . '.'); + } + } + /** + * Output + * + * Does the rest of the processing of the strings. This includes wrapping + * the strings in HTML tags, handling transformations with the ability of + * back referencing and determining if the passed array should be converted + * into a string or not. + * + * @access private + * @param string|string[] $strings an array of generated strings + * @param mixed $tags string or array of HTML tags to wrap output with + * @param boolean $array whether an array or a string should be returned + * @param string $delimiter the string to use when calling implode() + * @return string|string[] string or array of generated lorem ipsum text + */ + private function output($strings, $tags, $array, $delimiter = ' ') + { + if ($tags) { + if (!is_array($tags)) { + $tags = [$tags]; + } else { + // Flips the array so we can work from the inside out + $tags = array_reverse($tags); + } + foreach ($strings as $key => $string) { + foreach ($tags as $tag) { + // Detects / applies back reference + if ($tag[0] === '<') { + $string = str_replace('$1', $string, $tag); + } else { + $string = sprintf('<%1$s>%2$s', $tag, $string); + } + $strings[$key] = $string; + } + } + } + if (!$array) { + $strings = implode($delimiter, $strings); + } + + return $strings; + } + +} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/MarkShortcode.php b/plugins/shortcode-core/classes/shortcodes/MarkShortcode.php new file mode 100644 index 0000000..68c6cff --- /dev/null +++ b/plugins/shortcode-core/classes/shortcodes/MarkShortcode.php @@ -0,0 +1,27 @@ +shortcode->getHandlers()->add('mark', function(ShortcodeInterface $sc) { + $style = $sc->getParameter('style', $this->getBbCode($sc)); + $class = $sc->getParameter('class', 'default'); + + $css_class = 'class="mark-class-' . $class . '"'; + + if ($style === 'block') { + $css_style = 'style="display:block;"'; + $content = trim($sc->getContent(), "\n"); + } else { + $css_style = ''; + $content = $sc->getContent(); + } + + return "{$content}"; + }); + } +} diff --git a/plugins/shortcode-core/classes/shortcodes/NoticeShortcode.php b/plugins/shortcode-core/classes/shortcodes/NoticeShortcode.php new file mode 100644 index 0000000..72ac208 --- /dev/null +++ b/plugins/shortcode-core/classes/shortcodes/NoticeShortcode.php @@ -0,0 +1,24 @@ +shortcode->getHandlers()->add('notice', function(ShortcodeInterface $sc) { + $css_enabled = $this->grav['config']->get('plugins.shortcode-core.css.notice_enabled', true); + if ($css_enabled) { + $this->shortcode->addAssets('css', 'plugin://shortcode-core/css/shortcode-notice.css'); + } + + $output = $this->twig->processTemplate('shortcodes/notice.html.twig', [ + 'type' => $sc->getParameter('notice', $this->getBbCode($sc)) ?: 'info', + 'content' => $sc->getContent(), + ]); + + return $output; + }); + } +} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/RawShortcode.php b/plugins/shortcode-core/classes/shortcodes/RawShortcode.php new file mode 100644 index 0000000..703cc7f --- /dev/null +++ b/plugins/shortcode-core/classes/shortcodes/RawShortcode.php @@ -0,0 +1,18 @@ +shortcode->getHandlers()->add('raw', static function(ShortcodeInterface $sc) { + return trim($sc->getContent()); + }); + + $this->shortcode->getEvents()->addListener(Events::FILTER_SHORTCODES, new FilterRawEventHandler(['raw'])); + } +} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/SafeEmailShortcode.php b/plugins/shortcode-core/classes/shortcodes/SafeEmailShortcode.php new file mode 100644 index 0000000..42443f3 --- /dev/null +++ b/plugins/shortcode-core/classes/shortcodes/SafeEmailShortcode.php @@ -0,0 +1,51 @@ +shortcode->getHandlers()->add('safe-email', function(ShortcodeInterface $sc) { + // Load assets if required + if ($this->config->get('plugins.shortcode-core.fontawesome.load', false)) { + $this->shortcode->addAssets('css', $this->config->get('plugins.shortcode-core.fontawesome.url')); + } + + // Get shortcode content and parameters + $str = $sc->getContent(); + $icon = $sc->getParameter('icon', false); + $icon_base = "fa fa-"; + $autolink = $sc->getParameter('autolink', false); + + // Encode email + $email = ''; + $str_len = strlen($str); + for ($i = 0; $i < $str_len; $i++) { + $email .= '&#' . ord($str[$i]). ';'; + } + + // Handle autolinking + if ($autolink) { + $output = '' . $email . ''; + } else { + $output = $email; + } + + // Handle icon option + if ($icon) { + if ($this->config->get('plugins.shortcode-core.fontawesome.v5', false)) { + if (preg_match("/^(?Pfa[srlbd]) fa-(?.+)/", $icon, $icon_parts)) { + $icon_base = $icon_parts["weight"] . " fa-"; + $icon = $icon_parts["icon"]; + } + } + + $output = ' ' . $output; + } + + return $output; + }); + } +} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/SectionShortcode.php b/plugins/shortcode-core/classes/shortcodes/SectionShortcode.php new file mode 100644 index 0000000..f3f8cb3 --- /dev/null +++ b/plugins/shortcode-core/classes/shortcodes/SectionShortcode.php @@ -0,0 +1,17 @@ +shortcode->getHandlers()->add('section', function(ShortcodeInterface $sc) { + $name = $sc->getParameter('name'); + $object = new \Grav\Plugin\ShortcodeCore\ShortcodeObject($name, $sc->getContent()); + $this->shortcode->addObject($sc->getName(), $object); + }); + + } +} \ No newline at end of file diff --git a/plugins/shortcode-core/classes/shortcodes/Shortcode.php b/plugins/shortcode-core/classes/shortcodes/Shortcode.php new file mode 100644 index 0000000..a3c9e30 --- /dev/null +++ b/plugins/shortcode-core/classes/shortcodes/Shortcode.php @@ -0,0 +1,91 @@ +grav = Grav::instance(); + $this->shortcode = $this->grav['shortcode']; + $this->config = $this->grav['config']; + $this->twig = $this->grav['twig']; + } + + /** + * Initialize shortcode handler + */ + public function init() + { + user_error(__METHOD__ . '() method will be abstract in the future, please override it!', E_USER_DEPRECATED); + + // FIXME: This code had to be put back because of some plugins do not properly initialize themselves. + $this->shortcode->getHandlers()->add('u', static function(ShortcodeInterface $shortcode) { + return $shortcode->getContent(); + }); + } + + /** + * Returns the name of the class if required + * + * @return string the name of the class + */ + public function getName() + { + return get_class($this); + } + + /** + * @return string + */ + public function getParser() + { + return $this->config->get('plugins.shortcode-core.parser'); + } + + /** + * @param ShortcodeInterface $sc + * @param string|null $default + * @return string|null + */ + public function getBbCode(ShortcodeInterface $sc, $default = null) + { + $code = $default; + + if ($this->getParser() === 'wordpress') { + $params = $sc->getParameters(); + if (is_array($params)) { + $keys = array_keys($params); + $code = trim(array_shift($keys), '='); + } + } else { + $code = $sc->getBbCode(); + } + + return $code; + } +} + +// Make sure we also autoload the deprecated class. +class_exists(\Grav\Plugin\ShortcodeCore\Shortcode::class); diff --git a/plugins/shortcode-core/classes/shortcodes/ShortcodeObject.php b/plugins/shortcode-core/classes/shortcodes/ShortcodeObject.php new file mode 100644 index 0000000..781b333 --- /dev/null +++ b/plugins/shortcode-core/classes/shortcodes/ShortcodeObject.php @@ -0,0 +1,24 @@ +shortcode->getHandlers()->add('size', function(ShortcodeInterface $sc) { + $size = $sc->getParameter('size', $this->getBbCode($sc)); + if (is_numeric($size)) { + $size .= 'px'; + } + + return '' . $sc->getContent() . ''; + }); + } +} diff --git a/plugins/shortcode-core/classes/shortcodes/SpanShortcode.php b/plugins/shortcode-core/classes/shortcodes/SpanShortcode.php new file mode 100644 index 0000000..2945a4b --- /dev/null +++ b/plugins/shortcode-core/classes/shortcodes/SpanShortcode.php @@ -0,0 +1,22 @@ +shortcode->getHandlers()->add('span', static function(ShortcodeInterface $sc) { + $id = $sc->getParameter('id'); + $class = $sc->getParameter('class'); + $style = $sc->getParameter('style'); + + $id_output = $id ? 'id="' . $id . '" ': ''; + $class_output = $class ? 'class="' . $class . '"' : ''; + $style_output = $style ? 'style="' . $style . '"' : ''; + + return '' . $sc->getContent() . ''; + }); + } +} diff --git a/plugins/shortcode-core/classes/shortcodes/UnderlineShortcode.php b/plugins/shortcode-core/classes/shortcodes/UnderlineShortcode.php new file mode 100644 index 0000000..6b9a502 --- /dev/null +++ b/plugins/shortcode-core/classes/shortcodes/UnderlineShortcode.php @@ -0,0 +1,14 @@ +shortcode->getHandlers()->add('u', static function(ShortcodeInterface $sc) { + return '' . $sc->getContent() . ''; + }); + } +} \ No newline at end of file diff --git a/plugins/shortcode-core/cli/ShortcodesCommand.php b/plugins/shortcode-core/cli/ShortcodesCommand.php new file mode 100644 index 0000000..b5627cf --- /dev/null +++ b/plugins/shortcode-core/cli/ShortcodesCommand.php @@ -0,0 +1,55 @@ +setName('display') + ->setDescription('Display a list the available shortcodes that are registered'); + } + + /** + * @return int|null|void + */ + protected function serve() + { + $io = new SymfonyStyle($this->input, $this->output); + $this->initializePlugins(); + $this->initializeThemes(); + + $shortcodes = Grav::instance()['shortcode']; + + $io->title('Available Shortcodes'); + $io->section('Regular Handlers:'); + foreach ($shortcodes->getHandlers()->getNames() as $name) { + $io->writeln($name); + } + $io->section('Raw Handlers:'); + foreach ($shortcodes->getRawHandlers()->getNames() as $name) { + $io->writeln($name); + } + + $io->newLine(); + + } +} diff --git a/plugins/shortcode-core/composer.json b/plugins/shortcode-core/composer.json new file mode 100644 index 0000000..e99cfe5 --- /dev/null +++ b/plugins/shortcode-core/composer.json @@ -0,0 +1,32 @@ +{ + "name": "getgrav/shortcode-core", + "type": "grav-plugin", + "description": "Shortcode Core plugin for Grav CMS", + "keywords": ["shortcode"], + "homepage": "https://github.com/getgrav/grav-plugin-shortcode-core/", + "license": "MIT", + "authors": [ + { + "name": "Team Grav", + "email": "devs@getgrav.org", + "homepage": "http://getgrav.org", + "role": "Developer" + } + ], + "require": { + "php": ">=7.1.3", + "thunderer/shortcode": "~0.7" + }, + "autoload": { + "psr-4": { + "Grav\\Plugin\\ShortcodeCore\\": "classes/plugin", + "Grav\\Plugin\\Shortcodes\\": "classes/shortcodes" + }, + "classmap": ["shortcode-core.php"] + }, + "config": { + "platform": { + "php": "7.1.3" + } + } +} diff --git a/plugins/shortcode-core/composer.lock b/plugins/shortcode-core/composer.lock new file mode 100644 index 0000000..40ab44d --- /dev/null +++ b/plugins/shortcode-core/composer.lock @@ -0,0 +1,80 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "95ac1934b2d5e35cff7d71f6744b2666", + "packages": [ + { + "name": "thunderer/shortcode", + "version": "v0.7.5", + "source": { + "type": "git", + "url": "https://github.com/thunderer/Shortcode.git", + "reference": "a4fee30613bd46efb421f8305aff0466a3268a99" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thunderer/Shortcode/zipball/a4fee30613bd46efb421f8305aff0466a3268a99", + "reference": "a4fee30613bd46efb421f8305aff0466a3268a99", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": ">=4.1", + "symfony/yaml": ">=2.0" + }, + "suggest": { + "ext-dom": "if you want to use XML serializer", + "ext-json": "if you want to use JSON serializer", + "symfony/yaml": "if you want to use YAML serializer" + }, + "type": "library", + "autoload": { + "psr-4": { + "Thunder\\Shortcode\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tomasz Kowalczyk", + "email": "tomasz@kowalczyk.cc" + } + ], + "description": "Advanced shortcode (BBCode) parser and engine for PHP", + "keywords": [ + "bbcode", + "engine", + "library", + "parser", + "shortcode" + ], + "support": { + "issues": "https://github.com/thunderer/Shortcode/issues", + "source": "https://github.com/thunderer/Shortcode/tree/v0.7.5" + }, + "time": "2022-01-13T18:53:33+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=7.1.3" + }, + "platform-dev": [], + "platform-overrides": { + "php": "7.1.3" + }, + "plugin-api-version": "2.3.0" +} diff --git a/plugins/shortcode-core/css/shortcode-notice.css b/plugins/shortcode-core/css/shortcode-notice.css new file mode 100644 index 0000000..0308ad6 --- /dev/null +++ b/plugins/shortcode-core/css/shortcode-notice.css @@ -0,0 +1,64 @@ +.sc-notice { + margin: 30px 0; + position: relative; +} + +.sc-notice > div { + padding: 5px 20px; + display: block; + margin-top: 0rem; + margin-bottom: 0rem; + color: #666; +} + +.sc-notice > div:before { + position: absolute; + top: 2px; + color: #fff; + font-family: FontAwesome; + content: ''; + left: 10px; +} + +.sc-notice > div:first-child:after { + position: absolute; + top: 2px; + color: #fff; + left: 30px; +} + +.sc-notice.info > div:first-child { + border-top: 30px solid #F0B37E; + background: #FFF2DB; +} + +.sc-notice.info > div:first-child:after { + content: 'Info'; +} + +.sc-notice.warning > div:first-child { + border-top: 30px solid #DF6F6C; + background: #FAE2E2; +} + +.sc-notice.warning > div:first-child:after { + content: 'Warning'; +} + +.sc-notice.note > div:first-child { + border-top: 30px solid #6AB0DE; + background: #E7F2FA; +} + +.sc-notice.note > div:first-child:after { + content: 'Note'; +} + +.sc-notice.tip > div:first-child { + border-top: 30px solid #77C577; + background: #E6F9E6; +} + +.sc-notice.tip > div:first-child:after { + content: 'Tip'; +} diff --git a/plugins/shortcode-core/nextgen-editor/.browserslistrc b/plugins/shortcode-core/nextgen-editor/.browserslistrc new file mode 100644 index 0000000..d6471a3 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/.browserslistrc @@ -0,0 +1,2 @@ +> 1% +last 2 versions diff --git a/plugins/shortcode-core/nextgen-editor/.editorconfig b/plugins/shortcode-core/nextgen-editor/.editorconfig new file mode 100644 index 0000000..c24743d --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/.editorconfig @@ -0,0 +1,7 @@ +[*.{js,jsx,ts,tsx,vue}] +indent_style = space +indent_size = 2 +end_of_line = lf +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 100 diff --git a/plugins/shortcode-core/nextgen-editor/.env b/plugins/shortcode-core/nextgen-editor/.env new file mode 100644 index 0000000..a26840b --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/.env @@ -0,0 +1,2 @@ +DEV_HOST=localhost +DEV_PORT=2001 diff --git a/plugins/shortcode-core/nextgen-editor/.eslintrc.js b/plugins/shortcode-core/nextgen-editor/.eslintrc.js new file mode 100644 index 0000000..f2ff6f2 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/.eslintrc.js @@ -0,0 +1,27 @@ +module.exports = { + root: true, + env: { + node: true, + }, + extends: [ + 'plugin:vue/recommended', + '@vue/airbnb', + ], + parserOptions: { + parser: 'babel-eslint', + }, + rules: { + 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'import/extensions': 'off', + 'import/no-unresolved': 'off', + 'import/no-extraneous-dependencies': ['error', { devDependencies: true }], + 'no-restricted-syntax': ['off', 'ForOfStatement'], + 'no-param-reassign': ['error', { props: false }], + 'class-methods-use-this': 'off', + 'object-curly-newline': 'off', + 'no-nested-ternary': 'off', + 'no-await-in-loop': 'off', + 'max-len': 'off', + }, +}; diff --git a/plugins/shortcode-core/nextgen-editor/.gitignore b/plugins/shortcode-core/nextgen-editor/.gitignore new file mode 100644 index 0000000..c2b66ff --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/.gitignore @@ -0,0 +1,20 @@ +.DS_Store +node_modules + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/plugins/shortcode-core/nextgen-editor/README.md b/plugins/shortcode-core/nextgen-editor/README.md new file mode 100644 index 0000000..ca93c93 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/README.md @@ -0,0 +1,24 @@ +# app + +## Project setup +``` +yarn install +``` + +### Compiles and hot-reloads for development +``` +yarn serve +``` + +### Compiles and minifies for production +``` +yarn build +``` + +### Lints and fixes files +``` +yarn lint +``` + +### Customize configuration +See [Configuration Reference](https://cli.vuejs.org/config/). diff --git a/plugins/shortcode-core/nextgen-editor/babel.config.js b/plugins/shortcode-core/nextgen-editor/babel.config.js new file mode 100644 index 0000000..757ff9b --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/babel.config.js @@ -0,0 +1,5 @@ +module.exports = { + presets: [ + '@vue/cli-plugin-babel/preset', + ], +}; diff --git a/plugins/shortcode-core/nextgen-editor/dist/css/app.css b/plugins/shortcode-core/nextgen-editor/dist/css/app.css new file mode 100644 index 0000000..59e6ae7 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/dist/css/app.css @@ -0,0 +1 @@ +shortcode-block{background:#fff;border:1px solid #ccc;display:block;margin:16px 0}#admin-main .ck.ck-editor__editable_inline>:first-child{margin-top:16px}#admin-main .ck.ck-editor__editable_inline>:last-child{margin-bottom:16px}#admin-main .ck-editor shortcode-block.ck-shortcode-child:hover{outline-color:#1f89e5}#admin-main .ck-editor shortcode-block>.sc-add>p,#admin-main .ck-editor shortcode-block>.sc-header>.sc-settings>p,#admin-main .ck-editor shortcode-block>.sc-header>.sc-title>p,#admin-main .ck-editor shortcode-block>.sc-header>.sc-titlebar>p,#admin-main .ck-editor shortcode-block>.sc-move>p{margin:0}shortcode-block>.sc-header{-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid #ccc;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:14px;line-height:1.5;padding:8px 8px}shortcode-block>.sc-header>.sc-title>p>.sc-value{font-weight:700}shortcode-block>.sc-header>.sc-titlebar{margin-left:24px}shortcode-block>.sc-header>.sc-settings{color:#ffc83d;cursor:pointer;font-size:0;line-height:0;margin-left:auto;opacity:0;-webkit-transition:opacity .2s ease,color .2s ease;transition:opacity .2s ease,color .2s ease}shortcode-block.ck-shortcode-child>.sc-header>.sc-settings,shortcode-block.ck-widget_selected>.sc-header>.sc-settings,shortcode-block>.sc-header>.sc-settings:hover{color:#1f89e5}shortcode-block.ck-shortcode-child>.sc-header>.sc-settings:hover,shortcode-block.ck-widget_selected>.sc-header>.sc-settings:hover{opacity:.5}shortcode-block.ck-widget_selected>.sc-header>.sc-settings,shortcode-block:hover>.sc-header>.sc-settings{opacity:1}shortcode-block>.sc-header>.sc-settings>p>svg{height:24px;width:24px}shortcode-block-editable,shortcode-block-readonly{display:block;padding:0 8px}shortcode-block-readonly>[data-cke-filler]{display:none}#admin-main .ck-editor shortcode-block-editable>:first-child{margin-top:14px}#admin-main .ck-editor shortcode-block.ck-shortcode-child .ck-widget__type-around__button_after,#admin-main .ck-editor shortcode-block.ck-shortcode-child .ck-widget__type-around__button_before{display:none}shortcode-block>.sc-add-child{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:none;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:16px 0;opacity:0;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}shortcode-block>.sc-add-child.sc-visible{display:-webkit-box;display:-ms-flexbox;display:flex}shortcode-block.ck-widget_selected>.sc-add-child,shortcode-block:hover>.sc-add-child{opacity:1;z-index:1}shortcode-block>.sc-add-child>p{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:#ffc83d;border-radius:50%;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;height:24px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0!important;-webkit-transition:opacity .2s ease,background .2s ease;transition:opacity .2s ease,background .2s ease;width:24px}shortcode-block.ck-widget_selected>.sc-add-child>p,shortcode-block>.sc-add-child>p:hover{background:#1f89e5}shortcode-block.ck-widget_selected>.sc-add-child>p:hover{opacity:.5}shortcode-block>.sc-add-child>p>svg{color:#fff;height:20px;width:20px}shortcode-block>.sc-add,shortcode-block>.sc-add-child>p>svg{-webkit-transition:opacity .2s ease;transition:opacity .2s ease}shortcode-block>.sc-add{left:30px;opacity:0;position:absolute;top:-12px}shortcode-block>.sc-add-after{bottom:-11px;left:auto;right:30px;top:auto}shortcode-block:hover>.sc-add{opacity:1;z-index:1}shortcode-block>.sc-add>p{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:#1f89e5;border-radius:50%;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;height:20px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:20px}shortcode-block>.sc-add>p>svg{color:#fff;height:16px;-webkit-transition:opacity .2s ease;transition:opacity .2s ease;width:16px}shortcode-block>.sc-add:hover>p>svg{opacity:.5}shortcode-block>.sc-move{background:#1f89e5;border-radius:50%;cursor:pointer;height:20px;opacity:0;position:absolute;right:-12px;-webkit-transition:opacity .2s ease;transition:opacity .2s ease;width:20px;top:46px}shortcode-block>.sc-move-up{-webkit-transform:rotate(180deg);transform:rotate(180deg)}shortcode-block:first-child>.sc-move-up,shortcode-block:last-child>.sc-move-down{display:none}shortcode-block>.sc-move-down{bottom:4px;left:auto;top:auto}shortcode-block:hover>.sc-move{opacity:1;z-index:1}shortcode-block>.sc-move>p>svg{color:#fff;height:20px;left:1.5px;position:absolute;top:2px;-webkit-transition:opacity .2s ease;transition:opacity .2s ease;width:20px}shortcode-block>.sc-move:hover>p>svg{opacity:.5}shortcode-inline{background:#fff;border:1px solid #ccc;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-left:2px;margin-right:1px;vertical-align:middle}shortcode-inline-editable,shortcode-inline-readonly{display:inline;padding:1px 4px 2px}shortcode-inline>.sc-content,shortcode-inline>.sc-settings{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}shortcode-inline>.sc-settings{border-left:1px solid #ccc;cursor:pointer;font-size:0;line-height:0;padding:0 2px;-webkit-transition:opacity .2s ease,color .2s ease;transition:opacity .2s ease,color .2s ease}shortcode-inline:hover>.sc-settings{color:#ffc83d}shortcode-inline.ck-widget_selected>.sc-settings,shortcode-inline>.sc-settings:hover{color:#1f89e5}shortcode-inline.ck-widget_selected>.sc-settings:hover{opacity:.5}shortcode-inline>.sc-settings>svg{height:16px;width:16px} \ No newline at end of file diff --git a/plugins/shortcode-core/nextgen-editor/dist/js/app.js b/plugins/shortcode-core/nextgen-editor/dist/js/app.js new file mode 100644 index 0000000..58b7b31 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/dist/js/app.js @@ -0,0 +1,2 @@ +(function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/",n(n.s=0)})({0:function(t,e,n){t.exports=n("56d7")},"00ee":function(t,e,n){var r=n("b622"),o=r("toStringTag"),i={};i[o]="z",t.exports="[object z]"===String(i)},"0366":function(t,e,n){var r=n("1c0b");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},"0538":function(t,e,n){"use strict";var r=n("1c0b"),o=n("861d"),i=[].slice,c={},a=function(t,e,n){if(!(e in c)){for(var r=[],o=0;o1||"".split(/.?/).length?function(t,n){var r=String(c(this)),i=void 0===n?v:n>>>0;if(0===i)return[];if(void 0===t)return[r];if(!o(t))return e.call(r,t,i);var a,u,s,l=[],d=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),h=0,b=new RegExp(t.source,d+"g");while(a=f.call(b,r)){if(u=b.lastIndex,u>h&&(l.push(r.slice(h,a.index)),a.length>1&&a.index=i))break;b.lastIndex===a.index&&b.lastIndex++}return h===r.length?!s&&b.test("")||l.push(""):l.push(r.slice(h)),l.length>i?l.slice(0,i):l}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:e.call(this,t,n)}:e,[function(e,n){var o=c(this),i=void 0==e?void 0:e[t];return void 0!==i?i.call(e,o,n):r.call(String(o),e,n)},function(t,o){var c=n(r,t,this,o,r!==e);if(c.done)return c.value;var f=i(t),d=String(this),p=a(f,RegExp),g=f.unicode,m=(f.ignoreCase?"i":"")+(f.multiline?"m":"")+(f.unicode?"u":"")+(b?"y":"g"),y=new p(b?f:"^(?:"+f.source+")",m),w=void 0===o?v:o>>>0;if(0===w)return[];if(0===d.length)return null===l(y,d)?[d]:[];var x=0,S=0,E=[];while(S1?arguments[1]:void 0)}})},"14c3":function(t,e,n){var r=n("c6b6"),o=n("9263");t.exports=function(t,e){var n=t.exec;if("function"===typeof n){var i=n.call(t,e);if("object"!==typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(t,e)}},"159b":function(t,e,n){var r=n("da84"),o=n("fdbc"),i=n("17c2"),c=n("9112");for(var a in o){var u=r[a],s=u&&u.prototype;if(s&&s.forEach!==i)try{c(s,"forEach",i)}catch(l){s.forEach=i}}},"17c2":function(t,e,n){"use strict";var r=n("b727").forEach,o=n("a640"),i=n("ae40"),c=o("forEach"),a=i("forEach");t.exports=c&&a?[].forEach:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}},"19aa":function(t,e){t.exports=function(t,e,n){if(!(t instanceof e))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return t}},"1be4":function(t,e,n){var r=n("d066");t.exports=r("document","documentElement")},"1c0b":function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},"1c7e":function(t,e,n){var r=n("b622"),o=r("iterator"),i=!1;try{var c=0,a={next:function(){return{done:!!c++}},return:function(){i=!0}};a[o]=function(){return this},Array.from(a,(function(){throw 2}))}catch(u){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var r={};r[o]=function(){return{next:function(){return{done:n=!0}}}},t(r)}catch(u){}return n}},"1cdc":function(t,e,n){var r=n("342f");t.exports=/(iphone|ipod|ipad).*applewebkit/i.test(r)},"1d80":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},"1dde":function(t,e,n){var r=n("d039"),o=n("b622"),i=n("2d00"),c=o("species");t.exports=function(t){return i>=51||!r((function(){var e=[],n=e.constructor={};return n[c]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},2236:function(t,e,n){var r=n("5a43");function o(t){if(Array.isArray(t))return r(t)}t.exports=o},2266:function(t,e,n){var r=n("825a"),o=n("e95a"),i=n("50c4"),c=n("0366"),a=n("35a1"),u=n("9bdd"),s=function(t,e){this.stopped=t,this.result=e},l=t.exports=function(t,e,n,l,f){var d,p,h,v,b,g,m,y=c(e,n,l?2:1);if(f)d=t;else{if(p=a(t),"function"!=typeof p)throw TypeError("Target is not iterable");if(o(p)){for(h=0,v=i(t.length);v>h;h++)if(b=l?y(r(m=t[h])[0],m[1]):y(t[h]),b&&b instanceof s)return b;return new s(!1)}d=p.call(t)}g=d.next;while(!(m=g.call(d)).done)if(b=u(d,y,m.value,l),"object"==typeof b&&b&&b instanceof s)return b;return new s(!1)};l.stop=function(t){return new s(!0,t)}},"23cb":function(t,e,n){var r=n("a691"),o=Math.max,i=Math.min;t.exports=function(t,e){var n=r(t);return n<0?o(n+e,0):i(n,e)}},"23e7":function(t,e,n){var r=n("da84"),o=n("06cf").f,i=n("9112"),c=n("6eeb"),a=n("ce4e"),u=n("e893"),s=n("94ca");t.exports=function(t,e){var n,l,f,d,p,h,v=t.target,b=t.global,g=t.stat;if(l=b?r:g?r[v]||a(v,{}):(r[v]||{}).prototype,l)for(f in e){if(p=e[f],t.noTargetGet?(h=o(l,f),d=h&&h.value):d=l[f],n=s(b?f:v+(g?".":"#")+f,t.forced),!n&&void 0!==d){if(typeof p===typeof d)continue;u(p,d)}(t.sham||d&&d.sham)&&i(p,"sham",!0),c(l,f,p,t)}}},"241c":function(t,e,n){var r=n("ca84"),o=n("7839"),i=o.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},2532:function(t,e,n){"use strict";var r=n("23e7"),o=n("5a34"),i=n("1d80"),c=n("ab13");r({target:"String",proto:!0,forced:!c("includes")},{includes:function(t){return!!~String(i(this)).indexOf(o(t),arguments.length>1?arguments[1]:void 0)}})},"25f0":function(t,e,n){"use strict";var r=n("6eeb"),o=n("825a"),i=n("d039"),c=n("ad6d"),a="toString",u=RegExp.prototype,s=u[a],l=i((function(){return"/a/b"!=s.call({source:"a",flags:"b"})})),f=s.name!=a;(l||f)&&r(RegExp.prototype,a,(function(){var t=o(this),e=String(t.source),n=t.flags,r=String(void 0===n&&t instanceof RegExp&&!("flags"in u)?c.call(t):n);return"/"+e+"/"+r}),{unsafe:!0})},2626:function(t,e,n){"use strict";var r=n("d066"),o=n("9bf2"),i=n("b622"),c=n("83ab"),a=i("species");t.exports=function(t){var e=r(t),n=o.f;c&&e&&!e[a]&&n(e,a,{configurable:!0,get:function(){return this}})}},"2c40":function(t,e,n){n("4de4"),n("4160"),n("b0c0"),n("159b");var r=n("448a");window.nextgenEditor.addPlugin("GravShortcodeCoreRemove",{init:function(){var t=this,e=this.editor.commands.get("delete"),n=this.editor.commands.get("forwardDelete"),o=function(e){var n=t.editor.model.document.selection.getSelectedElement();if(n&&"shortcode-block"===n.name){var r=n.getAttribute("name"),o=window.nextgenEditor.shortcodes[r];if(o.parent){var i=t.editor.editing.mapper.toViewElement(n),c=t.editor.editing.view.domConverter.mapViewToDom(i),a=c.closest('shortcode-block[name="'.concat(o.parent.name,'"]'));e.childShortcodeDeleted=!0,e.modelShortcodeBlockReadOnly=n.parent,e.domParentShortcode=a}}},i=function(e){if(e.childShortcodeDeleted){var n=e.domParentShortcode,o=e.modelShortcodeBlockReadOnly,i=r(o.getChildren()),c=i.filter((function(t){return"shortcode-block"===t.name})),a=i.filter((function(t){return"shortcode-block"!==t.name}));setTimeout((function(){t.editor.model.change((function(t){a.forEach((function(e){"paragraph"===e.name&&0===e.childCount&&t.remove(e)}))}))})),c.length||n.querySelector("shortcode-block > .sc-add-child").classList.add("sc-visible")}};e.on("execute",o,{priority:"highest"}),n.on("execute",o,{priority:"highest"}),e.on("execute",i,{priority:"lowest"}),n.on("execute",i,{priority:"lowest"})}})},"2ca0":function(t,e,n){"use strict";var r=n("23e7"),o=n("06cf").f,i=n("50c4"),c=n("5a34"),a=n("1d80"),u=n("ab13"),s=n("c430"),l="".startsWith,f=Math.min,d=u("startsWith"),p=!s&&!d&&!!function(){var t=o(String.prototype,"startsWith");return t&&!t.writable}();r({target:"String",proto:!0,forced:!p&&!d},{startsWith:function(t){var e=String(a(this));c(t);var n=i(f(arguments.length>1?arguments[1]:void 0,e.length)),r=String(t);return l?l.call(e,r,n):e.slice(n,n+r.length)===r}})},"2cbb":function(t,e,n){n("99af"),n("4de4"),n("4160"),n("caad"),n("c975"),n("a15b"),n("d81d"),n("fb6a"),n("b0c0"),n("b64b"),n("d3b7"),n("07ac"),n("4d63"),n("ac1f"),n("25f0"),n("2532"),n("5319"),n("498a"),n("159b"),window.nextgenEditor.addHook("hookMarkdowntoHTML",{weight:-50,handler:function(t,e){var n=e,r=Object.values(window.nextgenEditor.shortcodes).map((function(t){return t.realName})).filter((function(t,e,n){return n.indexOf(t)===e})),o=r.map((function(t){return"(\\[".concat(t,"[^\\]]*\\])")})).join("|");r.forEach((function(t){var e="\\[".concat(t,"(?(=| +).+?(?=/]))?\\/\\]");n=n.replace(new RegExp(e,"g"),(function(){for(var e=arguments.length,n=new Array(e),r=0;r0)c=0,Object.values(window.nextgenEditor.shortcodes).forEach((function(t){var e="(? *)\\[".concat(t.realName,"(?(=| +)[^\\]]*)?\\](?(((?!(").concat(o,"|(\\[\\/").concat(t.realName,"\\]))).)|\\n)*)\\[\\/").concat(t.realName,"\\](? *)");n=n.replace(new RegExp(e,"g"),(function(){for(var e=arguments.length,n=new Array(e),r=0;r0)c=0,Object.keys(i).forEach((function(t){if(n.includes(t)){c+=1;var e=i[t],r=e.shortcode,o=e.matches,a=o.pop(),u=a.spaces_before.replace(/ /g," "),s=a.spaces_after.replace(/ /g," ");if("block"===r.type){var l=a.content.trim();a.spaces_before.length&&(l=l.replace(new RegExp("^( ){".concat(a.spaces_before.length,"}"),"gm"),""));var f="\n\n[".concat(r.name).concat(a.attributes||"","]\n\n").concat(l,"\n\n[/").concat(r.name,"]\n\n");n=n.replace(new RegExp("(\\n)?(\\n)?".concat(t,"(\\n)?(\\n)?")),f)}"inline"===r.type&&(n=n.replace(t,"".concat(u,"[").concat(r.name).concat(a.attributes||"","]").concat(a.content,"[/").concat(r.name,"]").concat(s)))}}));return n=n.replace(/^\n\n/,"").replace(/\n\n$/,""),n}})},"2cf4":function(t,e,n){var r,o,i,c=n("da84"),a=n("d039"),u=n("c6b6"),s=n("0366"),l=n("1be4"),f=n("cc12"),d=n("1cdc"),p=c.location,h=c.setImmediate,v=c.clearImmediate,b=c.process,g=c.MessageChannel,m=c.Dispatch,y=0,w={},x="onreadystatechange",S=function(t){if(w.hasOwnProperty(t)){var e=w[t];delete w[t],e()}},E=function(t){return function(){S(t)}},O=function(t){S(t.data)},k=function(t){c.postMessage(t+"",p.protocol+"//"+p.host)};h&&v||(h=function(t){var e=[],n=1;while(arguments.length>n)e.push(arguments[n++]);return w[++y]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},r(y),y},v=function(t){delete w[t]},"process"==u(b)?r=function(t){b.nextTick(E(t))}:m&&m.now?r=function(t){m.now(E(t))}:g&&!d?(o=new g,i=o.port2,o.port1.onmessage=O,r=s(i.postMessage,i,1)):!c.addEventListener||"function"!=typeof postMessage||c.importScripts||a(k)||"file:"===p.protocol?r=x in f("script")?function(t){l.appendChild(f("script"))[x]=function(){l.removeChild(this),S(t)}}:function(t){setTimeout(E(t),0)}:(r=k,c.addEventListener("message",O,!1))),t.exports={set:h,clear:v}},"2d00":function(t,e,n){var r,o,i=n("da84"),c=n("342f"),a=i.process,u=a&&a.versions,s=u&&u.v8;s?(r=s.split("."),o=r[0]+r[1]):c&&(r=c.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=c.match(/Chrome\/(\d+)/),r&&(o=r[1]))),t.exports=o&&+o},3410:function(t,e,n){var r=n("23e7"),o=n("d039"),i=n("7b0b"),c=n("e163"),a=n("e177"),u=o((function(){c(1)}));r({target:"Object",stat:!0,forced:u,sham:!a},{getPrototypeOf:function(t){return c(i(t))}})},"342f":function(t,e,n){var r=n("d066");t.exports=r("navigator","userAgent")||""},"35a1":function(t,e,n){var r=n("f5df"),o=n("3f8c"),i=n("b622"),c=i("iterator");t.exports=function(t){if(void 0!=t)return t[c]||t["@@iterator"]||o[r(t)]}},"37e8":function(t,e,n){var r=n("83ab"),o=n("9bf2"),i=n("825a"),c=n("df75");t.exports=r?Object.defineProperties:function(t,e){i(t);var n,r=c(e),a=r.length,u=0;while(a>u)o.f(t,n=r[u++],e[n]);return t}},"3bbe":function(t,e,n){var r=n("861d");t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},"3ca3":function(t,e,n){"use strict";var r=n("6547").charAt,o=n("69f3"),i=n("7dd0"),c="String Iterator",a=o.set,u=o.getterFor(c);i(String,"String",(function(t){a(this,{type:c,string:String(t),index:0})}),(function(){var t,e=u(this),n=e.string,o=e.index;return o>=n.length?{value:void 0,done:!0}:(t=r(n,o),e.index+=t.length,{value:t,done:!1})}))},"3f8c":function(t,e){t.exports={}},4160:function(t,e,n){"use strict";var r=n("23e7"),o=n("17c2");r({target:"Array",proto:!0,forced:[].forEach!=o},{forEach:o})},"428f":function(t,e,n){var r=n("da84");t.exports=r},"448a":function(t,e,n){var r=n("2236"),o=n("11b0"),i=n("6613"),c=n("0676");function a(t){return r(t)||o(t)||i(t)||c()}t.exports=a},"44ad":function(t,e,n){var r=n("d039"),o=n("c6b6"),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},"44d2":function(t,e,n){var r=n("b622"),o=n("7c73"),i=n("9bf2"),c=r("unscopables"),a=Array.prototype;void 0==a[c]&&i.f(a,c,{configurable:!0,value:o(null)}),t.exports=function(t){a[c][t]=!0}},"44de":function(t,e,n){var r=n("da84");t.exports=function(t,e){var n=r.console;n&&n.error&&(1===arguments.length?n.error(t):n.error(t,e))}},"44e7":function(t,e,n){var r=n("861d"),o=n("c6b6"),i=n("b622"),c=i("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[c])?!!e:"RegExp"==o(t))}},"45fc":function(t,e,n){"use strict";var r=n("23e7"),o=n("b727").some,i=n("a640"),c=n("ae40"),a=i("some"),u=c("some");r({target:"Array",proto:!0,forced:!a||!u},{some:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},4840:function(t,e,n){var r=n("825a"),o=n("1c0b"),i=n("b622"),c=i("species");t.exports=function(t,e){var n,i=r(t).constructor;return void 0===i||void 0==(n=r(i)[c])?e:o(n)}},4930:function(t,e,n){var r=n("d039");t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},"498a":function(t,e,n){"use strict";var r=n("23e7"),o=n("58a8").trim,i=n("c8d2");r({target:"String",proto:!0,forced:i("trim")},{trim:function(){return o(this)}})},"4ae1":function(t,e,n){var r=n("23e7"),o=n("d066"),i=n("1c0b"),c=n("825a"),a=n("861d"),u=n("7c73"),s=n("0538"),l=n("d039"),f=o("Reflect","construct"),d=l((function(){function t(){}return!(f((function(){}),[],t)instanceof t)})),p=!l((function(){f((function(){}))})),h=d||p;r({target:"Reflect",stat:!0,forced:h,sham:h},{construct:function(t,e){i(t),c(e);var n=arguments.length<3?t:i(arguments[2]);if(p&&!d)return f(t,e,n);if(t==n){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var r=[null];return r.push.apply(r,e),new(s.apply(t,r))}var o=n.prototype,l=u(a(o)?o:Object.prototype),h=Function.apply.call(t,l,e);return a(h)?h:l}})},"4d63":function(t,e,n){var r=n("83ab"),o=n("da84"),i=n("94ca"),c=n("7156"),a=n("9bf2").f,u=n("241c").f,s=n("44e7"),l=n("ad6d"),f=n("9f7f"),d=n("6eeb"),p=n("d039"),h=n("69f3").set,v=n("2626"),b=n("b622"),g=b("match"),m=o.RegExp,y=m.prototype,w=/a/g,x=/a/g,S=new m(w)!==w,E=f.UNSUPPORTED_Y,O=r&&i("RegExp",!S||E||p((function(){return x[g]=!1,m(w)!=w||m(x)==x||"/a/i"!=m(w,"i")})));if(O){var k=function(t,e){var n,r=this instanceof k,o=s(t),i=void 0===e;if(!r&&o&&t.constructor===k&&i)return t;S?o&&!i&&(t=t.source):t instanceof k&&(i&&(e=l.call(t)),t=t.source),E&&(n=!!e&&e.indexOf("y")>-1,n&&(e=e.replace(/y/g,"")));var a=c(S?new m(t,e):m(t,e),r?this:y,k);return E&&n&&h(a,{sticky:n}),a},A=function(t){t in k||a(k,t,{configurable:!0,get:function(){return m[t]},set:function(e){m[t]=e}})},j=u(m),T=0;while(j.length>T)A(j[T++]);y.constructor=k,k.prototype=y,d(o,"RegExp",k)}v("RegExp")},"4d64":function(t,e,n){var r=n("fc6a"),o=n("50c4"),i=n("23cb"),c=function(t){return function(e,n,c){var a,u=r(e),s=o(u.length),l=i(c,s);if(t&&n!=n){while(s>l)if(a=u[l++],a!=a)return!0}else for(;s>l;l++)if((t||l in u)&&u[l]===n)return t||l||0;return!t&&-1}};t.exports={includes:c(!0),indexOf:c(!1)}},"4de4":function(t,e,n){"use strict";var r=n("23e7"),o=n("b727").filter,i=n("1dde"),c=n("ae40"),a=i("filter"),u=c("filter");r({target:"Array",proto:!0,forced:!a||!u},{filter:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(t,e,n){"use strict";var r=n("0366"),o=n("7b0b"),i=n("9bdd"),c=n("e95a"),a=n("50c4"),u=n("8418"),s=n("35a1");t.exports=function(t){var e,n,l,f,d,p,h=o(t),v="function"==typeof this?this:Array,b=arguments.length,g=b>1?arguments[1]:void 0,m=void 0!==g,y=s(h),w=0;if(m&&(g=r(g,b>2?arguments[2]:void 0,2)),void 0==y||v==Array&&c(y))for(e=a(h.length),n=new v(e);e>w;w++)p=m?g(h[w],w):h[w],u(n,w,p);else for(f=y.call(h),d=f.next,n=new v;!(l=d.call(f)).done;w++)p=m?i(f,g,[l.value,w],!0):l.value,u(n,w,p);return n.length=w,n}},"4f5f":function(t,e,n){n("99af"),n("4de4"),n("4160"),n("caad"),n("c975"),n("a15b"),n("d81d"),n("fb6a"),n("b0c0"),n("b64b"),n("d3b7"),n("07ac"),n("4d63"),n("ac1f"),n("25f0"),n("2532"),n("5319"),n("1276"),n("498a"),n("159b"),window.nextgenEditor.addHook("hookHTMLtoMarkdown",{weight:50,handler:function(t,e,n){var r=n,o=Object.values(window.nextgenEditor.shortcodes).map((function(t){return t.realName})).filter((function(t,e,n){return n.indexOf(t)===e})),i=o.map((function(t){return"(\\[".concat(t,"[^\\]]*\\])")})).join("|"),c={},a=1;while(a>0)a=0,Object.values(window.nextgenEditor.shortcodes).forEach((function(t){var e="(?\\[".concat(t.realName,"[^\\]]*\\])(?(((?!(").concat(i,"|(\\[\\/").concat(t.realName,"\\]))).)|\\n)*)(?\\[\\/").concat(t.realName,"\\])");r=r.replace(new RegExp(e,"g"),(function(){for(var e=arguments.length,n=new Array(e),r=0;r0)a=0,Object.keys(c).forEach((function(t){if(r.includes(t)){a+=1;var e=c[t],n=e.shortcode,o=e.matches,i=o.pop();if("block"===n.type){var u=i.content.replace(/^\n/,"").replace(/\n$/,"");n.child&&(u=u.trim().split("\n").filter((function(t){return!!t})).join("\n"),u="\n".concat(u,"\n")),n.parent&&(u="\n".concat(u,"\n")),r=r.replace(t,"".concat(i.opening).concat(u).concat(i.closing))}"inline"===n.type&&(r=r.replace(t,o[0]))}}));return r}})},"50c4":function(t,e,n){var r=n("a691"),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},5135:function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},5319:function(t,e,n){"use strict";var r=n("d784"),o=n("825a"),i=n("7b0b"),c=n("50c4"),a=n("a691"),u=n("1d80"),s=n("8aa5"),l=n("14c3"),f=Math.max,d=Math.min,p=Math.floor,h=/\$([$&'`]|\d\d?|<[^>]*>)/g,v=/\$([$&'`]|\d\d?)/g,b=function(t){return void 0===t?t:String(t)};r("replace",2,(function(t,e,n,r){var g=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,m=r.REPLACE_KEEPS_$0,y=g?"$":"$0";return[function(n,r){var o=u(this),i=void 0==n?void 0:n[t];return void 0!==i?i.call(n,o,r):e.call(String(o),n,r)},function(t,r){if(!g&&m||"string"===typeof r&&-1===r.indexOf(y)){var i=n(e,t,this,r);if(i.done)return i.value}var u=o(t),p=String(this),h="function"===typeof r;h||(r=String(r));var v=u.global;if(v){var x=u.unicode;u.lastIndex=0}var S=[];while(1){var E=l(u,p);if(null===E)break;if(S.push(E),!v)break;var O=String(E[0]);""===O&&(u.lastIndex=s(p,c(u.lastIndex),x))}for(var k="",A=0,j=0;j=A&&(k+=p.slice(A,P)+N,A=P+T.length)}return k+p.slice(A)}];function w(t,n,r,o,c,a){var u=r+t.length,s=o.length,l=v;return void 0!==c&&(c=i(c),l=h),e.call(a,l,(function(e,i){var a;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return n.slice(0,r);case"'":return n.slice(u);case"<":a=c[i.slice(1,-1)];break;default:var l=+i;if(0===l)return e;if(l>s){var f=p(l/10);return 0===f?e:f<=s?void 0===o[f-1]?i.charAt(1):o[f-1]+i.charAt(1):e}a=o[l-1]}return void 0===a?"":a}))}}))},5692:function(t,e,n){var r=n("c430"),o=n("c6cd");(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},"56d7":function(t,e,n){"use strict";n.r(e);n("e260"),n("e6cf"),n("cca6"),n("a79d"),n("99af"),n("4de4"),n("4160"),n("13d5"),n("b0c0"),n("b64b"),n("07ac"),n("159b");function r(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n((((?!(<\/figure>)).)|\n)*)<\/figure>/gm,"$1");var n=(new DOMParser).parseFromString(e,"text/html");u(n.querySelectorAll("shortcode-block, shortcode-inline")).forEach((function(t){t.setAttribute("sc-rendered",!1)}));var r=n.querySelector("shortcode-block[sc-rendered], shortcode-inline[sc-rendered]");while(r){var o=r.getAttribute("name"),i=window.nextgenEditor.shortcodes[o];r.removeAttribute("class"),r.removeAttribute("sc-rendered");var c=r.querySelector("shortcode-".concat(i.type,"-editable, shortcode-").concat(i.type,"-readonly"));r.innerHTML=c&&c.innerHTML||"",r=n.querySelector("shortcode-block[sc-rendered], shortcode-inline[sc-rendered]")}return e=n.body.innerHTML,e}n("caad"),n("45fc"),n("2532");function x(t,e){var n=(new DOMParser).parseFromString(t,"text/html");u(n.querySelectorAll("shortcode-block, shortcode-inline")).forEach((function(t){t.setAttribute("sc-rendered",!1)}));var r=n.querySelector("shortcode-block[sc-rendered], shortcode-inline[sc-rendered]"),o=function(){var t=r.getAttribute("name"),o=window.nextgenEditor.shortcodes[t],i=JSON.parse(decodeURIComponent(r.getAttribute("attributes")));r.classList.add("ck-shortcode"),r.classList.add("ck-shortcode-".concat(o.type)),r.removeAttribute("sc-rendered");var c={shortcode:o,attributes:i,innerHTML:r.innerHTML,parentAttributes:null,childAttributes:null},a="";if("block"===o.type){if(o.parent){r.classList.add("ck-shortcode-child");var s=r.closest('shortcode-block[name="'.concat(o.parent.name,'"]'));c.parentAttributes=e&&e.parentAttributes?e.parentAttributes:s?JSON.parse(decodeURIComponent(s.getAttribute("attributes"))):{}}if(o.child){c.childAttributes=[],r.classList.add("ck-shortcode-parent");var l=u(r.querySelectorAll('shortcode-block shortcode-block[name="'.concat(o.child.name,'"]'))),f=u(r.querySelectorAll('shortcode-block shortcode-block shortcode-block[name="'.concat(o.child.name,'"]')));l.filter((function(t){return!f.includes(t)})).forEach((function(t){var e=JSON.parse(decodeURIComponent(t.getAttribute("attributes")));c.childAttributes.push(e)}))}if(a+='
',a+='
Shortcode - '.concat(o.title,"
"),a+='
'.concat(o.titlebar(c),"
"),a+='
',a+='',a+='',a+="",a+="
",a+="
",a+='
',a+=o.content(c).replace("{{content_editable}}","".concat(r.innerHTML,"")).replace("{{content_readonly}}","".concat(r.innerHTML,"")),a+="
",o.child){var d=r.innerHTML?"":" sc-visible";a+='
'),a+='',a+='',a+="",a+="
"}o.parent&&(["before","after"].forEach((function(t){a+='
'),a+='',a+='',a+="",a+="
"})),["up","down"].forEach((function(t){a+='
'),a+='',a+='',a+="",a+="
"})))}"inline"===o.type&&(a+='',a+=o.content(c).replace("{{content_editable}}","".concat(r.innerHTML,"")).replace("{{content_readonly}}","".concat(r.innerHTML,"")),a+="",a+='',a+='',a+='',a+="",a+=""),r.innerHTML=a,r=n.querySelector("shortcode-block[sc-rendered], shortcode-inline[sc-rendered]")};while(r)o();return n.body.innerHTML}document.addEventListener("click",(function(t){var e=t.target,n=["sc-settings","sc-move","sc-add","sc-add-child"],r={element:null,className:null},o=n.some((function(t){var n=e.classList.contains(t);return n?(r.element=e,r.className=t,!0):(n=e.closest(".".concat(t)),!!n&&(r.element=n,r.className=t,!0))}));if(o)switch(r.className){case"sc-move":window.scBlockMoveChild.call(r.element,t,r.element.classList.contains("sc-move-up")?"up":"down");break;case"sc-add":window.scBlockAddChild.call(r.element,t,r.element.classList.contains("sc-add-before")?"before":"after");break;case"sc-add-child":window.scBlockAddChildFromParent.call(r.element,t);break;case"sc-settings":default:window.scDisplaySettings.call(r.element,t)}}));var S=window.nextgenEditor.classes.core.command.class;window.nextgenEditor.addPlugin("GravShortcodeCoreCommand",{init:function(){var t=this;Object.values(window.nextgenEditor.shortcodes).forEach((function(e){var n="shortcode_".concat(e.name),r=function(t){p(r,t);var n=y(r);function r(){return s(this,r),n.apply(this,arguments)}return f(r,[{key:"execute",value:function(t){var n=this;this.editor.model.change((function(r){var o="",i={},c=!e.child&&!e.parent&&(void 0===e.wrapOnInsert||e.wrapOnInsert),a=u(n.editor.model.document.selection.getSelectedBlocks()),s=u(n.editor.model.document.selection.getFirstRange().getItems({shallow:!0})),l=a[0],f=s.filter((function(t){return t.parent===l})),d=Object.keys(e.attributes).reduce((function(t,n){return t[n]=e.attributes[n].default.value,t}),{});if(o+="'),c){if("block"===e.type){var p=r.createDocumentFragment();a.forEach((function(t){return r.append(r.cloneElement(t),p)}));var h=n.editor.data.toView(p),v=n.editor.data.processor.toData(h);o+=w(v)}if("inline"===e.type){var b=r.createDocumentFragment();f.forEach((function(t){var e=t.textNode?r.createText(t.data):r.cloneElement(t);r.append(e,b)}));var g=n.editor.data.toView(b),m=n.editor.data.processor.toData(g);o+=w(m)}}e.parent&&(o+="

 

"),o+=""),e.parent&&t&&t.modelParentShortcode&&(i.parentAttributes=JSON.parse(decodeURIComponent(t.modelParentShortcode.getAttribute("attributes")))),o=x(o,i);var y="inline"===e.type?"$block":"$root",S=n.editor.data.processor.toView(o).getChild(0),E=n.editor.data.toModel(S,y).getChild(0),O=r.createPositionAt(n.editor.model.document.getRoot(),0);if(t&&t.insertPosition)O=t.insertPosition;else{if("block"===e.type){var k=a[0],A=a[a.length-1];c?(O=r.createPositionBefore(k),r.remove(r.createRange(r.createPositionBefore(k),r.createPositionAfter(A)))):(O=r.createPositionAfter(A),A&&"paragraph"===A.name&&0===A.childCount&&(O=r.createPositionBefore(A),r.remove(A)))}if("inline"===e.type){var j=f.length?f[0]:null,T=f.length?f[f.length-1]:null;c?(O=j?r.createPositionBefore(j):n.editor.model.document.selection.getFirstPosition(),j&&r.remove(r.createRange(r.createPositionBefore(j),r.createPositionAfter(T)))):O=T?r.createPositionAfter(T):n.editor.model.document.selection.getFirstPosition()}}r.insert(E,O),r.setSelection(E,"on")}))}}]),r}(S);t.editor.commands.add(n,new r(t.editor))}))}});n("e978"),n("c975"),n("a15b");var E=window.nextgenEditor.exports.showSettingsPopup;function O(t){var e=window.nextgenEditor.editors,n=(e.filter((function(e){return e.ui.view.element.contains(t)}))||[]).shift(),r=t.getAttribute("name"),o=window.nextgenEditor.shortcodes[r],i=window.nextgenEditor.shortcodePlugins[o.plugin];if(n){var c=n.editing.view.domConverter.mapDomToView(t),a=n.editing.mapper.toModelElement(c),s=JSON.parse(decodeURIComponent(t.getAttribute("attributes"))),l="block"===o.type?t.querySelector(".sc-header > .sc-settings"):t,f=[].concat([i&&i.title||"",o.parent&&o.parent.title||"",o.title||""]).filter((function(t){return!!t})).join(" / "),d={title:f,domDisplayPoint:l,debounceDelay:1e3,attributes:o.attributes,currentAttributes:s,parentAttributes:null,childAttributes:null};if(o.parent){var p=t.closest('shortcode-block[name="'.concat(o.parent.name,'"]'));d.parentAttributes=p?JSON.parse(decodeURIComponent(p.getAttribute("attributes"))):{}}if(o.child){d.childAttributes=[];var h=u(t.querySelectorAll('shortcode-block shortcode-block[name="'.concat(o.child.name,'"]'))),v=u(t.querySelectorAll('shortcode-block shortcode-block shortcode-block[name="'.concat(o.child.name,'"]')));h.filter((function(t){return!v.includes(t)})).forEach((function(t){var e=JSON.parse(decodeURIComponent(t.getAttribute("attributes")));d.childAttributes.push(e)}))}d.deleteItem=function(){return n.execute("delete")},d.changeAttributes=function(){n.model.change((function(t){t.setAttribute("attributes",encodeURIComponent(JSON.stringify(s)),a);var e="inline"===o.type?"$block":"$root";if(o.parent){var r=n.editing.mapper.toViewElement(a),i=n.editing.view.domConverter.mapViewToDom(r);if(!i)return;var c=i.parentNode.closest("shortcode-block"),l=n.editing.view.domConverter.mapDomToView(c),f=n.editing.mapper.toModelElement(l),d=u(c.querySelectorAll("shortcode-block shortcode-block")),p=u(c.querySelectorAll("shortcode-block shortcode-block shortcode-block")),h=d.filter((function(t){return!p.includes(t)})).indexOf(i),v=t.createPositionBefore(f),b=t.cloneElement(f),g=t.createDocumentFragment();t.append(b,g);var m=n.data.toView(g).getChild(0),y=n.data.processor.toData(m),S=x(w(y)),E=n.data.processor.toView(S).getChild(0),O=n.data.toModel(E,e).getChild(0);return t.remove(f),t.insert(O,v),void setTimeout((function(){var t=n.editing.mapper.toViewElement(O),e=n.editing.view.domConverter.mapViewToDom(t),r=u(e.querySelectorAll("shortcode-block shortcode-block")),o=u(e.querySelectorAll("shortcode-block shortcode-block shortcode-block")),i=r.filter((function(t){return!o.includes(t)}))[h],c=n.editing.view.domConverter.mapDomToView(i),s=n.editing.mapper.toModelElement(c);n.model.change((function(t){t.setSelection(s,"on"),a=s}))}))}var k=t.createPositionBefore(a),A=t.cloneElement(a),j=t.createDocumentFragment();t.append(A,j);var T=n.data.toView(j).getChild(0),P=n.data.processor.toData(T),C=x(w(P)),M=n.data.processor.toView(C).getChild(0),I=n.data.toModel(M,e).getChild(0);t.remove(a),t.insert(I,k),t.setSelection(I,"on"),a=I}))},E(d)}}window.scDisplaySettings=function(){var t=this.closest("shortcode-block, shortcode-inline");t&&O(t)},window.scBlockAddChildFromParent=function(){var t=window.nextgenEditor.editors,e=this.parentNode,n=(t.filter((function(t){return t.ui.view.element.contains(e)}))||[]).shift(),r=e.getAttribute("name"),o=window.nextgenEditor.shortcodes[r];if(n){var i=n.editing.view.domConverter.mapDomToView(e),c=n.editing.mapper.toModelElement(i),a=e.querySelector("shortcode-block-readonly"),u=n.editing.view.domConverter.mapDomToView(a),s=n.editing.mapper.toModelElement(u);n.model.change((function(t){var r=t.createPositionAt(s,0);n.execute("shortcode_".concat(o.child.name),{insertPosition:r,modelParentShortcode:c}),e.querySelector(".sc-add-child").classList.remove("sc-visible")}))}},window.scBlockAddChild=function(t,e){var n=window.nextgenEditor.editors,r=this.parentNode,o=(n.filter((function(t){return t.ui.view.element.contains(r)}))||[]).shift(),i=r.getAttribute("name"),c=window.nextgenEditor.shortcodes[i];if(o){var a=o.editing.view.domConverter.mapDomToView(r),u=o.editing.mapper.toModelElement(a);o.model.change((function(t){var n=u.parent,r=t.createPositionAt(u,e);while(n&&"shortcode-block"!==n.name)n=n.parent;n&&o.execute("shortcode_".concat(c.name),{insertPosition:r,modelParentShortcode:n})}))}},window.scBlockMoveChild=function(t,e){var n=window.nextgenEditor.editors,r=this.parentNode,o=(n.filter((function(t){return t.ui.view.element.contains(r)}))||[]).shift();if(o){var i=o.editing.view.domConverter.mapDomToView(r),c=o.editing.mapper.toModelElement(i),a="up"===e?r.previousSibling:r.nextSibling,u=o.editing.view.domConverter.mapDomToView(a),s=o.editing.mapper.toModelElement(u);o.model.change((function(t){t.move(t.createRangeOn(c),s,"up"===e?"before":"after")}))}};n("d99e"),n("2cbb"),n("4f5f"),n("2c40"),n("d81d"),n("a9e3"),n("4d63"),n("2ca0");window.nextgenEditor.addHook("hookMarkdowntoHTML",{weight:50,handler:function(t,e){var n=e,r=1,o=Object.keys(window.nextgenEditor.shortcodes).map((function(t){return"(\\[".concat(t,"[^\\]]*\\])")})).join("|");while(r>0)r=0,Object.values(window.nextgenEditor.shortcodes).forEach((function(t){var e="(?

)?\\[".concat(t.name,"(?(=| +)[^\\]]*)?\\](<\\/p>)?(?(((?!(").concat(o,"|(\\[\\/").concat(t.name,"\\]))).)|\\n)*)\\[\\/").concat(t.name,"\\](?<\\/p>)?");n=n.replace(new RegExp(e,"g"),(function(){r+=1;for(var e=arguments.length,n=new Array(e),o=0;o$/,""):i.content,a=Object.keys(t.attributes).reduce((function(e,n){return e||t.attributes[n].bbcode&&t.attributes[n].shorthand&&n}),""),u=Object.keys(t.attributes).reduce((function(e,n){return e||t.attributes[n].innerHTML&&n}),""),s=a&&i.attributes&&i.attributes.startsWith("=")?"".concat(a).concat(i.attributes):i.attributes||"";if(u){var l="block"===t.type?c.replace(/^

/,"").replace(/<\/p>$/,"").replace(/^ $/,""):c.replace(/^ $/,"");s=s?"".concat(s," ").concat(u,'="').concat(l,'"'):"".concat(u,'="').concat(l,'"'),c=""}var f=(new DOMParser).parseFromString("

"),"text/html").body.firstChild.attributes,d=Object.keys(t.attributes).reduce((function(e,n){var r=t.attributes[n],o=f.getNamedItem(n)?f.getNamedItem(n).value:r.default.value;return r.type===Boolean&&f.getNamedItem(n)&&(o="false"!==f.getNamedItem(n)),r.type===Number&&(o=+o),e[n]=o,e}),{}),p="",h=encodeURIComponent(JSON.stringify(d));return"block"===t.type&&(p+=''),p+=c,p+=""),"inline"===t.type&&(p+=i.p1||"",p+=''),p+=c,p+="",p+=i.p2||""),p}))}));return n=x(n),n}}),window.nextgenEditor.addHook("hookHTMLtoMarkdown",{weight:-50,handler:function(t,e,n){var r=n;r=w(r);var o=(new DOMParser).parseFromString(r,"text/html"),i=o.querySelector("shortcode-block, shortcode-inline"),c=function(){var t=i.getAttribute("name"),e=window.nextgenEditor.shortcodes[t],n=JSON.parse(decodeURIComponent(i.getAttribute("attributes"))),r=Object.keys(e.attributes).reduce((function(t,n){return t||e.attributes[n].innerHTML&&n}),""),c=Object.keys(e.attributes).reduce((function(t,r){var o=e.attributes[r];return o.type===Boolean?n[r]?"".concat(t," ").concat(r):t:n[r]!==o.default.value||o.default.preserve?o.bbcode&&o.shorthand?'="'.concat(n[r],'"').concat(t):o.innerHTML?t:"".concat(t," ").concat(r,'="').concat(n[r],'"'):t}),"");"block"===e.type&&("

 

"===i.innerHTML&&(i.innerHTML=""),r?i.outerHTML="

[".concat(e.realName).concat(c,"]").concat(n[r],"[/").concat(e.realName,"]

"):i.innerHTML?i.outerHTML="

[".concat(e.realName).concat(c,"]

").concat(i.innerHTML,"

[/").concat(e.realName,"]

"):i.outerHTML="

[".concat(e.realName).concat(c," /]

")),"inline"===e.type&&(" "===i.innerHTML&&(i.innerHTML=""),r?i.outerHTML="[".concat(e.realName).concat(c,"]").concat(n[r],"[/").concat(e.realName,"]"):i.innerHTML?i.outerHTML="[".concat(e.realName).concat(c,"]").concat(i.innerHTML,"[/").concat(e.realName,"]"):i.outerHTML="[".concat(e.realName).concat(c," /]")),i=o.querySelector("shortcode-block, shortcode-inline")};while(i)c();return r=o.body.innerHTML,r}});n("db43")},"56ef":function(t,e,n){var r=n("d066"),o=n("241c"),i=n("7418"),c=n("825a");t.exports=r("Reflect","ownKeys")||function(t){var e=o.f(c(t)),n=i.f;return n?e.concat(n(t)):e}},5899:function(t,e){t.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},"58a8":function(t,e,n){var r=n("1d80"),o=n("5899"),i="["+o+"]",c=RegExp("^"+i+i+"*"),a=RegExp(i+i+"*$"),u=function(t){return function(e){var n=String(r(e));return 1&t&&(n=n.replace(c,"")),2&t&&(n=n.replace(a,"")),n}};t.exports={start:u(1),end:u(2),trim:u(3)}},"5a34":function(t,e,n){var r=n("44e7");t.exports=function(t){if(r(t))throw TypeError("The method doesn't accept regular expressions");return t}},"5a43":function(t,e){function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);nl){var p,h=s(arguments[l++]),v=f?i(h).concat(f(h)):i(h),b=v.length,g=0;while(b>g)p=v[g++],r&&!d.call(h,p)||(n[p]=h[p])}return n}:l},6547:function(t,e,n){var r=n("a691"),o=n("1d80"),i=function(t){return function(e,n){var i,c,a=String(o(e)),u=r(n),s=a.length;return u<0||u>=s?t?"":void 0:(i=a.charCodeAt(u),i<55296||i>56319||u+1===s||(c=a.charCodeAt(u+1))<56320||c>57343?t?a.charAt(u):i:t?a.slice(u,u+2):c-56320+(i-55296<<10)+65536)}};t.exports={codeAt:i(!1),charAt:i(!0)}},"65f0":function(t,e,n){var r=n("861d"),o=n("e8b5"),i=n("b622"),c=i("species");t.exports=function(t,e){var n;return o(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!o(n.prototype)?r(n)&&(n=n[c],null===n&&(n=void 0)):n=void 0),new(void 0===n?Array:n)(0===e?0:e)}},6613:function(t,e,n){n("a630"),n("fb6a"),n("b0c0"),n("d3b7"),n("25f0"),n("3ca3");var r=n("5a43");function o(t,e){if(t){if("string"===typeof t)return r(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(t,e):void 0}}t.exports=o},"69f3":function(t,e,n){var r,o,i,c=n("7f9a"),a=n("da84"),u=n("861d"),s=n("9112"),l=n("5135"),f=n("f772"),d=n("d012"),p=a.WeakMap,h=function(t){return i(t)?o(t):r(t,{})},v=function(t){return function(e){var n;if(!u(e)||(n=o(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}};if(c){var b=new p,g=b.get,m=b.has,y=b.set;r=function(t,e){return y.call(b,t,e),e},o=function(t){return g.call(b,t)||{}},i=function(t){return m.call(b,t)}}else{var w=f("state");d[w]=!0,r=function(t,e){return s(t,w,e),e},o=function(t){return l(t,w)?t[w]:{}},i=function(t){return l(t,w)}}t.exports={set:r,get:o,has:i,enforce:h,getterFor:v}},"6eeb":function(t,e,n){var r=n("da84"),o=n("9112"),i=n("5135"),c=n("ce4e"),a=n("8925"),u=n("69f3"),s=u.get,l=u.enforce,f=String(String).split("String");(t.exports=function(t,e,n,a){var u=!!a&&!!a.unsafe,s=!!a&&!!a.enumerable,d=!!a&&!!a.noTargetGet;"function"==typeof n&&("string"!=typeof e||i(n,"name")||o(n,"name",e),l(n).source=f.join("string"==typeof e?e:"")),t!==r?(u?!d&&t[e]&&(s=!0):delete t[e],s?t[e]=n:o(t,e,n)):s?t[e]=n:c(e,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&s(this).source||a(this)}))},"6f53":function(t,e,n){var r=n("83ab"),o=n("df75"),i=n("fc6a"),c=n("d1e7").f,a=function(t){return function(e){var n,a=i(e),u=o(a),s=u.length,l=0,f=[];while(s>l)n=u[l++],r&&!c.call(a,n)||f.push(t?[n,a[n]]:a[n]);return f}};t.exports={entries:a(!0),values:a(!1)}},7037:function(t,e,n){function r(e){return"function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?t.exports=r=function(t){return typeof t}:t.exports=r=function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(e)}n("a4d3"),n("e01a"),n("d28b"),n("d3b7"),n("3ca3"),n("ddb0"),t.exports=r},7156:function(t,e,n){var r=n("861d"),o=n("d2bb");t.exports=function(t,e,n){var i,c;return o&&"function"==typeof(i=e.constructor)&&i!==n&&r(c=i.prototype)&&c!==n.prototype&&o(t,c),t}},7418:function(t,e){e.f=Object.getOwnPropertySymbols},"746f":function(t,e,n){var r=n("428f"),o=n("5135"),i=n("e538"),c=n("9bf2").f;t.exports=function(t){var e=r.Symbol||(r.Symbol={});o(e,t)||c(e,t,{value:i.f(t)})}},7839:function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(t,e,n){var r=n("1d80");t.exports=function(t){return Object(r(t))}},"7c73":function(t,e,n){var r,o=n("825a"),i=n("37e8"),c=n("7839"),a=n("d012"),u=n("1be4"),s=n("cc12"),l=n("f772"),f=">",d="<",p="prototype",h="script",v=l("IE_PROTO"),b=function(){},g=function(t){return d+h+f+t+d+"/"+h+f},m=function(t){t.write(g("")),t.close();var e=t.parentWindow.Object;return t=null,e},y=function(){var t,e=s("iframe"),n="java"+h+":";return e.style.display="none",u.appendChild(e),e.src=String(n),t=e.contentWindow.document,t.open(),t.write(g("document.F=Object")),t.close(),t.F},w=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(e){}w=r?m(r):y();var t=c.length;while(t--)delete w[p][c[t]];return w()};a[v]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(b[p]=o(t),n=new b,b[p]=null,n[v]=t):n=w(),void 0===e?n:i(n,e)}},"7dd0":function(t,e,n){"use strict";var r=n("23e7"),o=n("9ed3"),i=n("e163"),c=n("d2bb"),a=n("d44e"),u=n("9112"),s=n("6eeb"),l=n("b622"),f=n("c430"),d=n("3f8c"),p=n("ae93"),h=p.IteratorPrototype,v=p.BUGGY_SAFARI_ITERATORS,b=l("iterator"),g="keys",m="values",y="entries",w=function(){return this};t.exports=function(t,e,n,l,p,x,S){o(n,e,l);var E,O,k,A=function(t){if(t===p&&M)return M;if(!v&&t in P)return P[t];switch(t){case g:return function(){return new n(this,t)};case m:return function(){return new n(this,t)};case y:return function(){return new n(this,t)}}return function(){return new n(this)}},j=e+" Iterator",T=!1,P=t.prototype,C=P[b]||P["@@iterator"]||p&&P[p],M=!v&&C||A(p),I="Array"==e&&P.entries||C;if(I&&(E=i(I.call(new t)),h!==Object.prototype&&E.next&&(f||i(E)===h||(c?c(E,h):"function"!=typeof E[b]&&u(E,b,w)),a(E,j,!0,!0),f&&(d[j]=w))),p==m&&C&&C.name!==m&&(T=!0,M=function(){return C.call(this)}),f&&!S||P[b]===M||u(P,b,M),d[e]=M,p)if(O={values:A(m),keys:x?M:A(g),entries:A(y)},S)for(k in O)(v||T||!(k in P))&&s(P,k,O[k]);else r({target:e,proto:!0,forced:v||T},O);return O}},"7f9a":function(t,e,n){var r=n("da84"),o=n("8925"),i=r.WeakMap;t.exports="function"===typeof i&&/native code/.test(o(i))},"825a":function(t,e,n){var r=n("861d");t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},"83ab":function(t,e,n){var r=n("d039");t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},8418:function(t,e,n){"use strict";var r=n("c04e"),o=n("9bf2"),i=n("5c6c");t.exports=function(t,e,n){var c=r(e);c in t?o.f(t,c,i(0,n)):t[c]=n}},"861d":function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},8925:function(t,e,n){var r=n("c6cd"),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return o.call(t)}),t.exports=r.inspectSource},"8aa5":function(t,e,n){"use strict";var r=n("6547").charAt;t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},"90e3":function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++n+r).toString(36)}},9112:function(t,e,n){var r=n("83ab"),o=n("9bf2"),i=n("5c6c");t.exports=r?function(t,e,n){return o.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},9263:function(t,e,n){"use strict";var r=n("ad6d"),o=n("9f7f"),i=RegExp.prototype.exec,c=String.prototype.replace,a=i,u=function(){var t=/a/,e=/b*/g;return i.call(t,"a"),i.call(e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),s=o.UNSUPPORTED_Y||o.BROKEN_CARET,l=void 0!==/()??/.exec("")[1],f=u||l||s;f&&(a=function(t){var e,n,o,a,f=this,d=s&&f.sticky,p=r.call(f),h=f.source,v=0,b=t;return d&&(p=p.replace("y",""),-1===p.indexOf("g")&&(p+="g"),b=String(t).slice(f.lastIndex),f.lastIndex>0&&(!f.multiline||f.multiline&&"\n"!==t[f.lastIndex-1])&&(h="(?: "+h+")",b=" "+b,v++),n=new RegExp("^(?:"+h+")",p)),l&&(n=new RegExp("^"+h+"$(?!\\s)",p)),u&&(e=f.lastIndex),o=i.call(d?n:f,b),d?o?(o.input=o.input.slice(v),o[0]=o[0].slice(v),o.index=f.lastIndex,f.lastIndex+=o[0].length):f.lastIndex=0:u&&o&&(f.lastIndex=f.global?o.index+o[0].length:e),l&&o&&o.length>1&&c.call(o[0],n,(function(){for(a=1;a=51||!o((function(){var t=[];return t[h]=!1,t.concat()[0]!==t})),m=f("concat"),y=function(t){if(!c(t))return!1;var e=t[h];return void 0!==e?!!e:i(t)},w=!g||!m;r({target:"Array",proto:!0,forced:w},{concat:function(t){var e,n,r,o,i,c=a(this),f=l(c,0),d=0;for(e=-1,r=arguments.length;ev)throw TypeError(b);for(n=0;n=v)throw TypeError(b);s(f,d++,i)}return f.length=d,f}})},"9bdd":function(t,e,n){var r=n("825a");t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(c){var i=t["return"];throw void 0!==i&&r(i.call(t)),c}}},"9bf2":function(t,e,n){var r=n("83ab"),o=n("0cfb"),i=n("825a"),c=n("c04e"),a=Object.defineProperty;e.f=r?a:function(t,e,n){if(i(t),e=c(e,!0),i(n),o)try{return a(t,e,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},"9ed3":function(t,e,n){"use strict";var r=n("ae93").IteratorPrototype,o=n("7c73"),i=n("5c6c"),c=n("d44e"),a=n("3f8c"),u=function(){return this};t.exports=function(t,e,n){var s=e+" Iterator";return t.prototype=o(r,{next:i(1,n)}),c(t,s,!1,!0),a[s]=u,t}},"9f7f":function(t,e,n){"use strict";var r=n("d039");function o(t,e){return RegExp(t,e)}e.UNSUPPORTED_Y=r((function(){var t=o("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),e.BROKEN_CARET=r((function(){var t=o("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},a15b:function(t,e,n){"use strict";var r=n("23e7"),o=n("44ad"),i=n("fc6a"),c=n("a640"),a=[].join,u=o!=Object,s=c("join",",");r({target:"Array",proto:!0,forced:u||!s},{join:function(t){return a.call(i(this),void 0===t?",":t)}})},a4d3:function(t,e,n){"use strict";var r=n("23e7"),o=n("da84"),i=n("d066"),c=n("c430"),a=n("83ab"),u=n("4930"),s=n("fdbf"),l=n("d039"),f=n("5135"),d=n("e8b5"),p=n("861d"),h=n("825a"),v=n("7b0b"),b=n("fc6a"),g=n("c04e"),m=n("5c6c"),y=n("7c73"),w=n("df75"),x=n("241c"),S=n("057f"),E=n("7418"),O=n("06cf"),k=n("9bf2"),A=n("d1e7"),j=n("9112"),T=n("6eeb"),P=n("5692"),C=n("f772"),M=n("d012"),I=n("90e3"),R=n("b622"),N=n("e538"),L=n("746f"),_=n("d44e"),D=n("69f3"),H=n("b727").forEach,V=C("hidden"),F="Symbol",$="prototype",B=R("toPrimitive"),U=D.set,q=D.getterFor(F),G=Object[$],W=o.Symbol,z=i("JSON","stringify"),J=O.f,Y=k.f,K=S.f,X=A.f,Q=P("symbols"),Z=P("op-symbols"),tt=P("string-to-symbol-registry"),et=P("symbol-to-string-registry"),nt=P("wks"),rt=o.QObject,ot=!rt||!rt[$]||!rt[$].findChild,it=a&&l((function(){return 7!=y(Y({},"a",{get:function(){return Y(this,"a",{value:7}).a}})).a}))?function(t,e,n){var r=J(G,e);r&&delete G[e],Y(t,e,n),r&&t!==G&&Y(G,e,r)}:Y,ct=function(t,e){var n=Q[t]=y(W[$]);return U(n,{type:F,tag:t,description:e}),a||(n.description=e),n},at=s?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof W},ut=function(t,e,n){t===G&&ut(Z,e,n),h(t);var r=g(e,!0);return h(n),f(Q,r)?(n.enumerable?(f(t,V)&&t[V][r]&&(t[V][r]=!1),n=y(n,{enumerable:m(0,!1)})):(f(t,V)||Y(t,V,m(1,{})),t[V][r]=!0),it(t,r,n)):Y(t,r,n)},st=function(t,e){h(t);var n=b(e),r=w(n).concat(ht(n));return H(r,(function(e){a&&!ft.call(n,e)||ut(t,e,n[e])})),t},lt=function(t,e){return void 0===e?y(t):st(y(t),e)},ft=function(t){var e=g(t,!0),n=X.call(this,e);return!(this===G&&f(Q,e)&&!f(Z,e))&&(!(n||!f(this,e)||!f(Q,e)||f(this,V)&&this[V][e])||n)},dt=function(t,e){var n=b(t),r=g(e,!0);if(n!==G||!f(Q,r)||f(Z,r)){var o=J(n,r);return!o||!f(Q,r)||f(n,V)&&n[V][r]||(o.enumerable=!0),o}},pt=function(t){var e=K(b(t)),n=[];return H(e,(function(t){f(Q,t)||f(M,t)||n.push(t)})),n},ht=function(t){var e=t===G,n=K(e?Z:b(t)),r=[];return H(n,(function(t){!f(Q,t)||e&&!f(G,t)||r.push(Q[t])})),r};if(u||(W=function(){if(this instanceof W)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=I(t),n=function(t){this===G&&n.call(Z,t),f(this,V)&&f(this[V],e)&&(this[V][e]=!1),it(this,e,m(1,t))};return a&&ot&&it(G,e,{configurable:!0,set:n}),ct(e,t)},T(W[$],"toString",(function(){return q(this).tag})),T(W,"withoutSetter",(function(t){return ct(I(t),t)})),A.f=ft,k.f=ut,O.f=dt,x.f=S.f=pt,E.f=ht,N.f=function(t){return ct(R(t),t)},a&&(Y(W[$],"description",{configurable:!0,get:function(){return q(this).description}}),c||T(G,"propertyIsEnumerable",ft,{unsafe:!0}))),r({global:!0,wrap:!0,forced:!u,sham:!u},{Symbol:W}),H(w(nt),(function(t){L(t)})),r({target:F,stat:!0,forced:!u},{for:function(t){var e=String(t);if(f(tt,e))return tt[e];var n=W(e);return tt[e]=n,et[n]=e,n},keyFor:function(t){if(!at(t))throw TypeError(t+" is not a symbol");if(f(et,t))return et[t]},useSetter:function(){ot=!0},useSimple:function(){ot=!1}}),r({target:"Object",stat:!0,forced:!u,sham:!a},{create:lt,defineProperty:ut,defineProperties:st,getOwnPropertyDescriptor:dt}),r({target:"Object",stat:!0,forced:!u},{getOwnPropertyNames:pt,getOwnPropertySymbols:ht}),r({target:"Object",stat:!0,forced:l((function(){E.f(1)}))},{getOwnPropertySymbols:function(t){return E.f(v(t))}}),z){var vt=!u||l((function(){var t=W();return"[null]"!=z([t])||"{}"!=z({a:t})||"{}"!=z(Object(t))}));r({target:"JSON",stat:!0,forced:vt},{stringify:function(t,e,n){var r,o=[t],i=1;while(arguments.length>i)o.push(arguments[i++]);if(r=e,(p(e)||void 0!==t)&&!at(t))return d(e)||(e=function(t,e){if("function"==typeof r&&(e=r.call(this,t,e)),!at(e))return e}),o[1]=e,z.apply(null,o)}})}W[$][B]||j(W[$],B,W[$].valueOf),_(W,F),M[V]=!0},a630:function(t,e,n){var r=n("23e7"),o=n("4df4"),i=n("1c7e"),c=!i((function(t){Array.from(t)}));r({target:"Array",stat:!0,forced:c},{from:o})},a640:function(t,e,n){"use strict";var r=n("d039");t.exports=function(t,e){var n=[][t];return!!n&&r((function(){n.call(null,e||function(){throw 1},1)}))}},a691:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},a79d:function(t,e,n){"use strict";var r=n("23e7"),o=n("c430"),i=n("fea9"),c=n("d039"),a=n("d066"),u=n("4840"),s=n("cdf9"),l=n("6eeb"),f=!!i&&c((function(){i.prototype["finally"].call({then:function(){}},(function(){}))}));r({target:"Promise",proto:!0,real:!0,forced:f},{finally:function(t){var e=u(this,a("Promise")),n="function"==typeof t;return this.then(n?function(n){return s(e,t()).then((function(){return n}))}:t,n?function(n){return s(e,t()).then((function(){throw n}))}:t)}}),o||"function"!=typeof i||i.prototype["finally"]||l(i.prototype,"finally",a("Promise").prototype["finally"])},a9e3:function(t,e,n){"use strict";var r=n("83ab"),o=n("da84"),i=n("94ca"),c=n("6eeb"),a=n("5135"),u=n("c6b6"),s=n("7156"),l=n("c04e"),f=n("d039"),d=n("7c73"),p=n("241c").f,h=n("06cf").f,v=n("9bf2").f,b=n("58a8").trim,g="Number",m=o[g],y=m.prototype,w=u(d(y))==g,x=function(t){var e,n,r,o,i,c,a,u,s=l(t,!1);if("string"==typeof s&&s.length>2)if(s=b(s),e=s.charCodeAt(0),43===e||45===e){if(n=s.charCodeAt(2),88===n||120===n)return NaN}else if(48===e){switch(s.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+s}for(i=s.slice(2),c=i.length,a=0;ao)return NaN;return parseInt(i,r)}return+s};if(i(g,!m(" 0o1")||!m("0b1")||m("+0x1"))){for(var S,E=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof E&&(w?f((function(){y.valueOf.call(n)})):u(n)!=g)?s(new m(x(e)),n,E):x(e)},O=r?p(m):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),k=0;O.length>k;k++)a(m,S=O[k])&&!a(E,S)&&v(E,S,h(m,S));E.prototype=y,y.constructor=E,c(o,g,E)}},ab13:function(t,e,n){var r=n("b622"),o=r("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[o]=!1,"/./"[t](e)}catch(r){}}return!1}},ac1f:function(t,e,n){"use strict";var r=n("23e7"),o=n("9263");r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},ad6d:function(t,e,n){"use strict";var r=n("825a");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},ae40:function(t,e,n){var r=n("83ab"),o=n("d039"),i=n("5135"),c=Object.defineProperty,a={},u=function(t){throw t};t.exports=function(t,e){if(i(a,t))return a[t];e||(e={});var n=[][t],s=!!i(e,"ACCESSORS")&&e.ACCESSORS,l=i(e,0)?e[0]:u,f=i(e,1)?e[1]:void 0;return a[t]=!!n&&!o((function(){if(s&&!r)return!0;var t={length:-1};s?c(t,1,{enumerable:!0,get:u}):t[1]=1,n.call(t,l,f)}))}},ae93:function(t,e,n){"use strict";var r,o,i,c=n("e163"),a=n("9112"),u=n("5135"),s=n("b622"),l=n("c430"),f=s("iterator"),d=!1,p=function(){return this};[].keys&&(i=[].keys(),"next"in i?(o=c(c(i)),o!==Object.prototype&&(r=o)):d=!0),void 0==r&&(r={}),l||u(r,f)||a(r,f,p),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:d}},b041:function(t,e,n){"use strict";var r=n("00ee"),o=n("f5df");t.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},b0c0:function(t,e,n){var r=n("83ab"),o=n("9bf2").f,i=Function.prototype,c=i.toString,a=/^\s*function ([^ (]*)/,u="name";r&&!(u in i)&&o(i,u,{configurable:!0,get:function(){try{return c.call(this).match(a)[1]}catch(t){return""}}})},b575:function(t,e,n){var r,o,i,c,a,u,s,l,f=n("da84"),d=n("06cf").f,p=n("c6b6"),h=n("2cf4").set,v=n("1cdc"),b=f.MutationObserver||f.WebKitMutationObserver,g=f.process,m=f.Promise,y="process"==p(g),w=d(f,"queueMicrotask"),x=w&&w.value;x||(r=function(){var t,e;y&&(t=g.domain)&&t.exit();while(o){e=o.fn,o=o.next;try{e()}catch(n){throw o?c():i=void 0,n}}i=void 0,t&&t.enter()},y?c=function(){g.nextTick(r)}:b&&!v?(a=!0,u=document.createTextNode(""),new b(r).observe(u,{characterData:!0}),c=function(){u.data=a=!a}):m&&m.resolve?(s=m.resolve(void 0),l=s.then,c=function(){l.call(s,r)}):c=function(){h.call(f,r)}),t.exports=x||function(t){var e={fn:t,next:void 0};i&&(i.next=e),o||(o=e,c()),i=e}},b622:function(t,e,n){var r=n("da84"),o=n("5692"),i=n("5135"),c=n("90e3"),a=n("4930"),u=n("fdbf"),s=o("wks"),l=r.Symbol,f=u?l:l&&l.withoutSetter||c;t.exports=function(t){return i(s,t)||(a&&i(l,t)?s[t]=l[t]:s[t]=f("Symbol."+t)),s[t]}},b64b:function(t,e,n){var r=n("23e7"),o=n("7b0b"),i=n("df75"),c=n("d039"),a=c((function(){i(1)}));r({target:"Object",stat:!0,forced:a},{keys:function(t){return i(o(t))}})},b727:function(t,e,n){var r=n("0366"),o=n("44ad"),i=n("7b0b"),c=n("50c4"),a=n("65f0"),u=[].push,s=function(t){var e=1==t,n=2==t,s=3==t,l=4==t,f=6==t,d=5==t||f;return function(p,h,v,b){for(var g,m,y=i(p),w=o(y),x=r(h,v,3),S=c(w.length),E=0,O=b||a,k=e?O(p,S):n?O(p,0):void 0;S>E;E++)if((d||E in w)&&(g=w[E],m=x(g,E,y),t))if(e)k[E]=m;else if(m)switch(t){case 3:return!0;case 5:return g;case 6:return E;case 2:u.call(k,g)}else if(l)return!1;return f?-1:s||l?l:k}};t.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6)}},c04e:function(t,e,n){var r=n("861d");t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},c430:function(t,e){t.exports=!1},c6b6:function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},c6cd:function(t,e,n){var r=n("da84"),o=n("ce4e"),i="__core-js_shared__",c=r[i]||o(i,{});t.exports=c},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}t.exports=n},c8d2:function(t,e,n){var r=n("d039"),o=n("5899"),i="​…᠎";t.exports=function(t){return r((function(){return!!o[t]()||i[t]()!=i||o[t].name!==t}))}},c975:function(t,e,n){"use strict";var r=n("23e7"),o=n("4d64").indexOf,i=n("a640"),c=n("ae40"),a=[].indexOf,u=!!a&&1/[1].indexOf(1,-0)<0,s=i("indexOf"),l=c("indexOf",{ACCESSORS:!0,1:0});r({target:"Array",proto:!0,forced:u||!s||!l},{indexOf:function(t){return u?a.apply(this,arguments)||0:o(this,t,arguments.length>1?arguments[1]:void 0)}})},ca84:function(t,e,n){var r=n("5135"),o=n("fc6a"),i=n("4d64").indexOf,c=n("d012");t.exports=function(t,e){var n,a=o(t),u=0,s=[];for(n in a)!r(c,n)&&r(a,n)&&s.push(n);while(e.length>u)r(a,n=e[u++])&&(~i(s,n)||s.push(n));return s}},caad:function(t,e,n){"use strict";var r=n("23e7"),o=n("4d64").includes,i=n("44d2"),c=n("ae40"),a=c("indexOf",{ACCESSORS:!0,1:0});r({target:"Array",proto:!0,forced:!a},{includes:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("includes")},cc12:function(t,e,n){var r=n("da84"),o=n("861d"),i=r.document,c=o(i)&&o(i.createElement);t.exports=function(t){return c?i.createElement(t):{}}},cca6:function(t,e,n){var r=n("23e7"),o=n("60da");r({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},cdf9:function(t,e,n){var r=n("825a"),o=n("861d"),i=n("f069");t.exports=function(t,e){if(r(t),o(e)&&e.constructor===t)return e;var n=i.f(t),c=n.resolve;return c(e),n.promise}},ce4e:function(t,e,n){var r=n("da84"),o=n("9112");t.exports=function(t,e){try{o(r,t,e)}catch(n){r[t]=e}return e}},d012:function(t,e){t.exports={}},d039:function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},d066:function(t,e,n){var r=n("428f"),o=n("da84"),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?i(r[t])||i(o[t]):r[t]&&r[t][e]||o[t]&&o[t][e]}},d1e7:function(t,e,n){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);e.f=i?function(t){var e=o(this,t);return!!e&&e.enumerable}:r},d28b:function(t,e,n){var r=n("746f");r("iterator")},d2bb:function(t,e,n){var r=n("825a"),o=n("3bbe");t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,t.call(n,[]),e=n instanceof Array}catch(i){}return function(n,i){return r(n),o(i),e?t.call(n,i):n.__proto__=i,n}}():void 0)},d3b7:function(t,e,n){var r=n("00ee"),o=n("6eeb"),i=n("b041");r||o(Object.prototype,"toString",i,{unsafe:!0})},d44e:function(t,e,n){var r=n("9bf2").f,o=n("5135"),i=n("b622"),c=i("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,c)&&r(t,c,{configurable:!0,value:e})}},d58f:function(t,e,n){var r=n("1c0b"),o=n("7b0b"),i=n("44ad"),c=n("50c4"),a=function(t){return function(e,n,a,u){r(n);var s=o(e),l=i(s),f=c(s.length),d=t?f-1:0,p=t?-1:1;if(a<2)while(1){if(d in l){u=l[d],d+=p;break}if(d+=p,t?d<0:f<=d)throw TypeError("Reduce of empty array with no initial value")}for(;t?d>=0:f>d;d+=p)d in l&&(u=n(u,l[d],d,s));return u}};t.exports={left:a(!1),right:a(!0)}},d784:function(t,e,n){"use strict";n("ac1f");var r=n("6eeb"),o=n("d039"),i=n("b622"),c=n("9263"),a=n("9112"),u=i("species"),s=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),l=function(){return"$0"==="a".replace(/./,"$0")}(),f=i("replace"),d=function(){return!!/./[f]&&""===/./[f]("a","$0")}(),p=!o((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));t.exports=function(t,e,n,f){var h=i(t),v=!o((function(){var e={};return e[h]=function(){return 7},7!=""[t](e)})),b=v&&!o((function(){var e=!1,n=/a/;return"split"===t&&(n={},n.constructor={},n.constructor[u]=function(){return n},n.flags="",n[h]=/./[h]),n.exec=function(){return e=!0,null},n[h](""),!e}));if(!v||!b||"replace"===t&&(!s||!l||d)||"split"===t&&!p){var g=/./[h],m=n(h,""[t],(function(t,e,n,r,o){return e.exec===c?v&&!o?{done:!0,value:g.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),{REPLACE_KEEPS_$0:l,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:d}),y=m[0],w=m[1];r(String.prototype,t,y),r(RegExp.prototype,h,2==e?function(t,e){return w.call(t,this,e)}:function(t){return w.call(t,this)})}f&&a(RegExp.prototype[h],"sham",!0)}},d81d:function(t,e,n){"use strict";var r=n("23e7"),o=n("b727").map,i=n("1dde"),c=n("ae40"),a=i("map"),u=c("map");r({target:"Array",proto:!0,forced:!a||!u},{map:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},d99e:function(t,e,n){n("4160"),n("b0c0"),n("07ac"),n("159b");var r=n("ded3"),o=n("7037");window.nextgenEditor.addHook("hookInit",(function(){Object.values(window.nextgenEditor.shortcodes).forEach((function(t){t.attributes=t.attributes||{},t.button||(t.button={label:t.title}),Object.values(t.attributes).forEach((function(t){void 0===t.default&&(t.default=""),"object"!==o(t.default)&&(t.default={value:t.default}),void 0===t.shorthand&&(t.shorthand=!0)})),"block"!==t.type||t.titlebar||(t.titlebar=function(){return""}),t.content||(t.content=function(){return""}),t.preserve&&(t.preserve.block&&window.nextgenEditor.addVariable("preserveBlockTags",t.preserve.block),t.preserve.inline&&window.nextgenEditor.addVariable("preserveInlineTags",t.preserve.inline)),t.parent||window.nextgenEditor.addButton("shortcode_".concat(t.name),r({command:"shortcode_".concat(t.name)},t.button))}))}))},da84:function(t,e,n){(function(e){var n=function(t){return t&&t.Math==Math&&t};t.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||Function("return this")()}).call(this,n("c8ba"))},db43:function(t,e,n){},dbb4:function(t,e,n){var r=n("23e7"),o=n("83ab"),i=n("56ef"),c=n("fc6a"),a=n("06cf"),u=n("8418");r({target:"Object",stat:!0,sham:!o},{getOwnPropertyDescriptors:function(t){var e,n,r=c(t),o=a.f,s=i(r),l={},f=0;while(s.length>f)n=o(r,e=s[f++]),void 0!==n&&u(l,e,n);return l}})},ddb0:function(t,e,n){var r=n("da84"),o=n("fdbc"),i=n("e260"),c=n("9112"),a=n("b622"),u=a("iterator"),s=a("toStringTag"),l=i.values;for(var f in o){var d=r[f],p=d&&d.prototype;if(p){if(p[u]!==l)try{c(p,u,l)}catch(v){p[u]=l}if(p[s]||c(p,s,f),o[f])for(var h in i)if(p[h]!==i[h])try{c(p,h,i[h])}catch(v){p[h]=i[h]}}}},ded3:function(t,e,n){n("a4d3"),n("4de4"),n("4160"),n("e439"),n("dbb4"),n("b64b"),n("159b");var r=n("9523");function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function i(t){for(var e=1;e=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:e[r],done:!1}:{value:[r,e[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},e2cc:function(t,e,n){var r=n("6eeb");t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},e439:function(t,e,n){var r=n("23e7"),o=n("d039"),i=n("fc6a"),c=n("06cf").f,a=n("83ab"),u=o((function(){c(1)})),s=!a||u;r({target:"Object",stat:!0,forced:s,sham:!a},{getOwnPropertyDescriptor:function(t,e){return c(i(t),e)}})},e538:function(t,e,n){var r=n("b622");e.f=r},e667:function(t,e){t.exports=function(t){try{return{error:!1,value:t()}}catch(e){return{error:!0,value:e}}}},e6cf:function(t,e,n){"use strict";var r,o,i,c,a=n("23e7"),u=n("c430"),s=n("da84"),l=n("d066"),f=n("fea9"),d=n("6eeb"),p=n("e2cc"),h=n("d44e"),v=n("2626"),b=n("861d"),g=n("1c0b"),m=n("19aa"),y=n("c6b6"),w=n("8925"),x=n("2266"),S=n("1c7e"),E=n("4840"),O=n("2cf4").set,k=n("b575"),A=n("cdf9"),j=n("44de"),T=n("f069"),P=n("e667"),C=n("69f3"),M=n("94ca"),I=n("b622"),R=n("2d00"),N=I("species"),L="Promise",_=C.get,D=C.set,H=C.getterFor(L),V=f,F=s.TypeError,$=s.document,B=s.process,U=l("fetch"),q=T.f,G=q,W="process"==y(B),z=!!($&&$.createEvent&&s.dispatchEvent),J="unhandledrejection",Y="rejectionhandled",K=0,X=1,Q=2,Z=1,tt=2,et=M(L,(function(){var t=w(V)!==String(V);if(!t){if(66===R)return!0;if(!W&&"function"!=typeof PromiseRejectionEvent)return!0}if(u&&!V.prototype["finally"])return!0;if(R>=51&&/native code/.test(V))return!1;var e=V.resolve(1),n=function(t){t((function(){}),(function(){}))},r=e.constructor={};return r[N]=n,!(e.then((function(){}))instanceof n)})),nt=et||!S((function(t){V.all(t)["catch"]((function(){}))})),rt=function(t){var e;return!(!b(t)||"function"!=typeof(e=t.then))&&e},ot=function(t,e,n){if(!e.notified){e.notified=!0;var r=e.reactions;k((function(){var o=e.value,i=e.state==X,c=0;while(r.length>c){var a,u,s,l=r[c++],f=i?l.ok:l.fail,d=l.resolve,p=l.reject,h=l.domain;try{f?(i||(e.rejection===tt&&ut(t,e),e.rejection=Z),!0===f?a=o:(h&&h.enter(),a=f(o),h&&(h.exit(),s=!0)),a===l.promise?p(F("Promise-chain cycle")):(u=rt(a))?u.call(a,d,p):d(a)):p(o)}catch(v){h&&!s&&h.exit(),p(v)}}e.reactions=[],e.notified=!1,n&&!e.rejection&&ct(t,e)}))}},it=function(t,e,n){var r,o;z?(r=$.createEvent("Event"),r.promise=e,r.reason=n,r.initEvent(t,!1,!0),s.dispatchEvent(r)):r={promise:e,reason:n},(o=s["on"+t])?o(r):t===J&&j("Unhandled promise rejection",n)},ct=function(t,e){O.call(s,(function(){var n,r=e.value,o=at(e);if(o&&(n=P((function(){W?B.emit("unhandledRejection",r,t):it(J,t,r)})),e.rejection=W||at(e)?tt:Z,n.error))throw n.value}))},at=function(t){return t.rejection!==Z&&!t.parent},ut=function(t,e){O.call(s,(function(){W?B.emit("rejectionHandled",t):it(Y,t,e.value)}))},st=function(t,e,n,r){return function(o){t(e,n,o,r)}},lt=function(t,e,n,r){e.done||(e.done=!0,r&&(e=r),e.value=n,e.state=Q,ot(t,e,!0))},ft=function(t,e,n,r){if(!e.done){e.done=!0,r&&(e=r);try{if(t===n)throw F("Promise can't be resolved itself");var o=rt(n);o?k((function(){var r={done:!1};try{o.call(n,st(ft,t,r,e),st(lt,t,r,e))}catch(i){lt(t,r,i,e)}})):(e.value=n,e.state=X,ot(t,e,!1))}catch(i){lt(t,{done:!1},i,e)}}};et&&(V=function(t){m(this,V,L),g(t),r.call(this);var e=_(this);try{t(st(ft,this,e),st(lt,this,e))}catch(n){lt(this,e,n)}},r=function(t){D(this,{type:L,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:K,value:void 0})},r.prototype=p(V.prototype,{then:function(t,e){var n=H(this),r=q(E(this,V));return r.ok="function"!=typeof t||t,r.fail="function"==typeof e&&e,r.domain=W?B.domain:void 0,n.parent=!0,n.reactions.push(r),n.state!=K&&ot(this,n,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new r,e=_(t);this.promise=t,this.resolve=st(ft,t,e),this.reject=st(lt,t,e)},T.f=q=function(t){return t===V||t===i?new o(t):G(t)},u||"function"!=typeof f||(c=f.prototype.then,d(f.prototype,"then",(function(t,e){var n=this;return new V((function(t,e){c.call(n,t,e)})).then(t,e)}),{unsafe:!0}),"function"==typeof U&&a({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return A(V,U.apply(s,arguments))}}))),a({global:!0,wrap:!0,forced:et},{Promise:V}),h(V,L,!1,!0),v(L),i=l(L),a({target:L,stat:!0,forced:et},{reject:function(t){var e=q(this);return e.reject.call(void 0,t),e.promise}}),a({target:L,stat:!0,forced:u||et},{resolve:function(t){return A(u&&this===i?V:this,t)}}),a({target:L,stat:!0,forced:nt},{all:function(t){var e=this,n=q(e),r=n.resolve,o=n.reject,i=P((function(){var n=g(e.resolve),i=[],c=0,a=1;x(t,(function(t){var u=c++,s=!1;i.push(void 0),a++,n.call(e,t).then((function(t){s||(s=!0,i[u]=t,--a||r(i))}),o)})),--a||r(i)}));return i.error&&o(i.value),n.promise},race:function(t){var e=this,n=q(e),r=n.reject,o=P((function(){var o=g(e.resolve);x(t,(function(t){o.call(e,t).then(n.resolve,r)}))}));return o.error&&r(o.value),n.promise}})},e893:function(t,e,n){var r=n("5135"),o=n("56ef"),i=n("06cf"),c=n("9bf2");t.exports=function(t,e){for(var n=o(e),a=c.f,u=i.f,s=0;s /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('reduce', { 1: 0 });\n\n// `Array.prototype.reduce` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\n// `String.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~String(requireObjectCoercible(this))\n .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","window.nextgenEditor.addPlugin('GravShortcodeCoreRemove', {\n init() {\n const deleteBackwardCommand = this.editor.commands.get('delete');\n const deleteForwardCommand = this.editor.commands.get('forwardDelete');\n\n const preDelete = (event) => {\n const selectedElement = this.editor.model.document.selection.getSelectedElement();\n\n if (selectedElement && selectedElement.name === 'shortcode-block') {\n const name = selectedElement.getAttribute('name');\n const shortcode = window.nextgenEditor.shortcodes[name];\n\n if (shortcode.parent) {\n const viewShortcode = this.editor.editing.mapper.toViewElement(selectedElement);\n const domShortcode = this.editor.editing.view.domConverter.mapViewToDom(viewShortcode);\n const domParentShortcode = domShortcode.closest(`shortcode-block[name=\"${shortcode.parent.name}\"]`);\n\n event.childShortcodeDeleted = true;\n event.modelShortcodeBlockReadOnly = selectedElement.parent;\n event.domParentShortcode = domParentShortcode;\n }\n }\n };\n\n const postDelete = (event) => {\n if (event.childShortcodeDeleted) {\n const { domParentShortcode, modelShortcodeBlockReadOnly } = event;\n\n const children = [...modelShortcodeBlockReadOnly.getChildren()];\n const scChildren = children.filter((child) => child.name === 'shortcode-block');\n const otherChildren = children.filter((child) => child.name !== 'shortcode-block');\n\n setTimeout(() => {\n this.editor.model.change((modelWriter) => {\n otherChildren.forEach((modelChild) => {\n if (modelChild.name === 'paragraph' && modelChild.childCount === 0) {\n modelWriter.remove(modelChild);\n }\n });\n });\n });\n\n if (!scChildren.length) {\n domParentShortcode.querySelector('shortcode-block > .sc-add-child').classList.add('sc-visible');\n }\n }\n };\n\n deleteBackwardCommand.on('execute', preDelete, { priority: 'highest' });\n deleteForwardCommand.on('execute', preDelete, { priority: 'highest' });\n\n deleteBackwardCommand.on('execute', postDelete, { priority: 'lowest' });\n deleteForwardCommand.on('execute', postDelete, { priority: 'lowest' });\n },\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeStartsWith = ''.startsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.startsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.startswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return nativeStartsWith\n ? nativeStartsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","window.nextgenEditor.addHook('hookMarkdowntoHTML', {\n weight: -50,\n handler(options, input) {\n let output = input;\n\n const realNames = Object.values(window.nextgenEditor.shortcodes).map((shortcode) => shortcode.realName)\n .filter((value, index, self) => self.indexOf(value) === index);\n\n const openingRegexp = realNames\n .map((name) => `(\\\\[${name}[^\\\\]]*\\\\])`).join('|');\n\n realNames.forEach((name) => {\n const regexp = `\\\\[${name}(?(=| +).+?(?=/]))?\\\\/\\\\]`;\n\n output = output.replace(new RegExp(regexp, 'g'), (...matches) => {\n const groups = matches.pop();\n\n const attributes = groups.attributes.trim()\n ? `${groups.attributes}`\n : '';\n\n return `[${name}${attributes}][/${name}]`;\n });\n });\n\n const hashMap = {};\n let shortcodeCounter = 1;\n\n while (shortcodeCounter > 0) {\n shortcodeCounter = 0;\n\n // eslint-disable-next-line no-loop-func\n Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => {\n const regexp = `(? *)\\\\[${shortcode.realName}(?(=| +)[^\\\\]]*)?\\\\](?(((?!(${openingRegexp}|(\\\\[\\\\/${shortcode.realName}\\\\]))).)|\\\\n)*)\\\\[\\\\/${shortcode.realName}\\\\](? *)`;\n\n output = output.replace(new RegExp(regexp, 'g'), (...matches) => {\n shortcodeCounter += 1;\n\n const hash = Math.random().toString(36).slice(2);\n hashMap[hash] = { shortcode, matches };\n\n if (shortcode.child) {\n const childName = shortcode.child.realName;\n\n Object.keys(hashMap).forEach((childHash) => {\n const childShortcode = hashMap[childHash].shortcode;\n\n if (childShortcode === shortcode.child && childShortcode.name !== `${shortcode.realName}_${childName}` && matches[0].includes(childHash)) {\n hashMap[childHash].shortcode = window.nextgenEditor.shortcodes[`${shortcode.realName}_${childName}`];\n }\n });\n }\n\n return hash;\n });\n });\n }\n\n shortcodeCounter = 1;\n\n while (shortcodeCounter > 0) {\n shortcodeCounter = 0;\n\n // eslint-disable-next-line no-loop-func\n Object.keys(hashMap).forEach((hash) => {\n if (!output.includes(hash)) {\n return;\n }\n\n shortcodeCounter += 1;\n\n const { shortcode, matches } = hashMap[hash];\n const groups = matches.pop();\n\n const spacesBefore = groups.spaces_before.replace(/ /g, ' ');\n const spacesAfter = groups.spaces_after.replace(/ /g, ' ');\n\n if (shortcode.type === 'block') {\n let content = groups.content.trim();\n\n if (groups.spaces_before.length) {\n content = content.replace(new RegExp(`^( ){${groups.spaces_before.length}}`, 'gm'), '');\n }\n\n const replacement = `\\n\\n[${shortcode.name}${groups.attributes || ''}]\\n\\n${content}\\n\\n[/${shortcode.name}]\\n\\n`;\n\n output = output.replace(new RegExp(`(\\\\n)?(\\\\n)?${hash}(\\\\n)?(\\\\n)?`), replacement);\n }\n\n if (shortcode.type === 'inline') {\n output = output.replace(hash, `${spacesBefore}[${shortcode.name}${groups.attributes || ''}]${groups.content}[/${shortcode.name}]${spacesAfter}`);\n }\n });\n }\n\n output = output.replace(/^\\n\\n/, '').replace(/\\n\\n$/, '');\n\n return output;\n },\n});\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (classof(process) == 'process') {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n !fails(post) &&\n location.protocol !== 'file:'\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","module.exports = {};\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $some = require('../internals/array-iteration').some;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('some');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('some');\n\n// `Array.prototype.some` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.some\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar bind = require('../internals/function-bind');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\n\n// `Reflect.construct` method\n// https://tc39.github.io/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar setInternalState = require('../internals/internal-state').set;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || UNSUPPORTED_Y || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n})));\n\n// `RegExp` constructor\n// https://tc39.github.io/ecma262/#sec-regexp-constructor\nif (FORCED) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var sticky;\n\n if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {\n return pattern;\n }\n\n if (CORRECT_NEW) {\n if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;\n } else if (pattern instanceof RegExpWrapper) {\n if (flagsAreUndefined) flags = getFlags.call(pattern);\n pattern = pattern.source;\n }\n\n if (UNSUPPORTED_Y) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n var result = inheritIfRequired(\n CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags),\n thisIsRegExp ? this : RegExpPrototype,\n RegExpWrapper\n );\n\n if (UNSUPPORTED_Y && sticky) setInternalState(result, { sticky: sticky });\n\n return result;\n };\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n var keys = getOwnPropertyNames(NativeRegExp);\n var index = 0;\n while (keys.length > index) proxy(keys[index++]);\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.github.io/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\n// `Array.from` method implementation\n// https://tc39.github.io/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = iteratorMethod.call(O);\n next = iterator.next;\n result = new C();\n for (;!(step = next.call(iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = toLength(O.length);\n result = new C(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","window.nextgenEditor.addHook('hookHTMLtoMarkdown', {\n weight: 50,\n handler(options, editor, input) {\n let output = input;\n\n const realNames = Object.values(window.nextgenEditor.shortcodes).map((shortcode) => shortcode.realName)\n .filter((value, index, self) => self.indexOf(value) === index);\n\n const openingRegexp = realNames\n .map((name) => `(\\\\[${name}[^\\\\]]*\\\\])`).join('|');\n\n const hashMap = {};\n let shortcodeCounter = 1;\n\n while (shortcodeCounter > 0) {\n shortcodeCounter = 0;\n\n // eslint-disable-next-line no-loop-func\n Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => {\n const regexp = `(?\\\\[${shortcode.realName}[^\\\\]]*\\\\])(?(((?!(${openingRegexp}|(\\\\[\\\\/${shortcode.realName}\\\\]))).)|\\\\n)*)(?\\\\[\\\\/${shortcode.realName}\\\\])`;\n\n output = output.replace(new RegExp(regexp, 'g'), (...matches) => {\n shortcodeCounter += 1;\n\n const hash = Math.random().toString(36).slice(2);\n hashMap[hash] = { shortcode, matches };\n\n if (shortcode.child) {\n const childName = shortcode.child.realName;\n\n Object.keys(hashMap).forEach((childHash) => {\n const childShortcode = hashMap[childHash].shortcode;\n\n if (childShortcode === shortcode.child && childShortcode.name !== `${shortcode.realName}_${childName}` && matches[0].includes(childHash)) {\n hashMap[childHash].shortcode = window.nextgenEditor.shortcodes[`${shortcode.realName}_${childName}`];\n }\n });\n }\n\n return hash;\n });\n });\n }\n\n shortcodeCounter = 1;\n\n while (shortcodeCounter > 0) {\n shortcodeCounter = 0;\n\n // eslint-disable-next-line no-loop-func\n Object.keys(hashMap).forEach((hash) => {\n if (!output.includes(hash)) {\n return;\n }\n\n shortcodeCounter += 1;\n\n const { shortcode, matches } = hashMap[hash];\n const groups = matches.pop();\n\n if (shortcode.type === 'block') {\n let content = groups.content.replace(/^\\n/, '').replace(/\\n$/, '');\n\n if (shortcode.child) {\n content = content.trim().split('\\n').filter((line) => !!line).join('\\n');\n content = `\\n${content}\\n`;\n }\n\n if (shortcode.parent) {\n content = `\\n${content}\\n`;\n }\n\n output = output.replace(hash, `${groups.opening}${content}${groups.closing}`);\n }\n\n if (shortcode.type === 'inline') {\n output = output.replace(hash, matches[0]);\n }\n });\n }\n\n /*\n Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => {\n const regexp = `(?\\\\[${shortcode.realName}[^\\\\]]*\\\\])\\n(?(((?!(${openingRegexp}|(\\\\[\\\\/${shortcode.realName}\\\\]))).))*)\\n(?\\\\[\\\\/${shortcode.realName}\\\\])`;\n\n output = output.replace(new RegExp(regexp, 'g'), (...matches) => {\n const groups = matches.pop();\n return `${groups.opening}${groups.content}${groups.closing}`;\n });\n });\n */\n\n return output;\n },\n});\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"@babel/runtime/helpers/esm/arrayWithoutHoles\";\nimport iterableToArray from \"@babel/runtime/helpers/esm/iterableToArray\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableSpread from \"@babel/runtime/helpers/esm/nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"@babel/runtime/helpers/esm/setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport isNativeReflectConstruct from \"@babel/runtime/helpers/esm/isNativeReflectConstruct\";\nimport possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","export default function collapse(input) {\n let output = input;\n\n output = output.replace(/
((((?!(<\\/figure>)).)|\\n)*)<\\/figure>/gm, '$1');\n\n const domOutput = new DOMParser().parseFromString(output, 'text/html');\n\n [...domOutput.querySelectorAll('shortcode-block, shortcode-inline')].forEach((domShortcode) => {\n domShortcode.setAttribute('sc-rendered', false);\n });\n\n let domShortcode = domOutput.querySelector('shortcode-block[sc-rendered], shortcode-inline[sc-rendered]');\n\n while (domShortcode) {\n const name = domShortcode.getAttribute('name');\n const shortcode = window.nextgenEditor.shortcodes[name];\n\n domShortcode.removeAttribute('class');\n domShortcode.removeAttribute('sc-rendered');\n\n const domInnerContent = domShortcode.querySelector(`shortcode-${shortcode.type}-editable, shortcode-${shortcode.type}-readonly`);\n domShortcode.innerHTML = (domInnerContent && domInnerContent.innerHTML) || '';\n\n domShortcode = domOutput.querySelector('shortcode-block[sc-rendered], shortcode-inline[sc-rendered]');\n }\n\n output = domOutput.body.innerHTML;\n\n return output;\n}\n","export default function uncollapse(input, args) {\n const domOutput = new DOMParser().parseFromString(input, 'text/html');\n [...domOutput.querySelectorAll('shortcode-block, shortcode-inline')].forEach((domShortcode) => {\n domShortcode.setAttribute('sc-rendered', false);\n });\n\n let domShortcode = domOutput.querySelector('shortcode-block[sc-rendered], shortcode-inline[sc-rendered]');\n\n while (domShortcode) {\n const name = domShortcode.getAttribute('name');\n const shortcode = window.nextgenEditor.shortcodes[name];\n const attributes = JSON.parse(decodeURIComponent(domShortcode.getAttribute('attributes')));\n\n domShortcode.classList.add('ck-shortcode');\n domShortcode.classList.add(`ck-shortcode-${shortcode.type}`);\n domShortcode.removeAttribute('sc-rendered');\n\n const argsForRender = {\n shortcode,\n attributes,\n innerHTML: domShortcode.innerHTML,\n parentAttributes: null,\n childAttributes: null,\n };\n\n let innerHTML = '';\n\n if (shortcode.type === 'block') {\n if (shortcode.parent) {\n domShortcode.classList.add('ck-shortcode-child');\n\n const domParentShortcode = domShortcode.closest(`shortcode-block[name=\"${shortcode.parent.name}\"]`);\n\n argsForRender.parentAttributes = !args || !args.parentAttributes\n ? domParentShortcode\n ? JSON.parse(decodeURIComponent(domParentShortcode.getAttribute('attributes')))\n : {}\n : args.parentAttributes;\n }\n\n if (shortcode.child) {\n argsForRender.childAttributes = [];\n domShortcode.classList.add('ck-shortcode-parent');\n\n const childNodes = [...domShortcode.querySelectorAll(`shortcode-block shortcode-block[name=\"${shortcode.child.name}\"]`)];\n const deepChildNodes = [...domShortcode.querySelectorAll(`shortcode-block shortcode-block shortcode-block[name=\"${shortcode.child.name}\"]`)];\n\n childNodes\n .filter((domChildShortcode) => !deepChildNodes.includes(domChildShortcode))\n .forEach((domChildShortcode) => {\n const childAttributes = JSON.parse(decodeURIComponent(domChildShortcode.getAttribute('attributes')));\n argsForRender.childAttributes.push(childAttributes);\n });\n }\n\n /* eslint-disable indent, no-multi-spaces */\n innerHTML += '
';\n innerHTML += `
Shortcode - ${shortcode.title}
`;\n innerHTML += `
${shortcode.titlebar(argsForRender)}
`;\n innerHTML += '
';\n innerHTML += '';\n innerHTML += '';\n innerHTML += '';\n innerHTML += '
';\n innerHTML += '
';\n innerHTML += '
';\n innerHTML += shortcode.content(argsForRender)\n .replace('{{content_editable}}', `${domShortcode.innerHTML}`)\n .replace('{{content_readonly}}', `${domShortcode.innerHTML}`);\n innerHTML += '
';\n\n if (shortcode.child) {\n const visible = !domShortcode.innerHTML ? ' sc-visible' : '';\n innerHTML += `
`;\n innerHTML += '';\n innerHTML += '';\n innerHTML += '';\n innerHTML += '
';\n }\n\n if (shortcode.parent) {\n ['before', 'after'].forEach((where) => {\n innerHTML += `
`;\n innerHTML += '';\n innerHTML += '';\n innerHTML += '';\n innerHTML += '
';\n });\n\n ['up', 'down'].forEach((where) => {\n innerHTML += `
`;\n innerHTML += '';\n innerHTML += '';\n innerHTML += '';\n innerHTML += '
';\n });\n }\n /* eslint-enable indent, no-multi-spaces */\n }\n\n if (shortcode.type === 'inline') {\n /* eslint-disable indent, no-multi-spaces */\n innerHTML += '';\n innerHTML += shortcode.content(argsForRender)\n .replace('{{content_editable}}', `${domShortcode.innerHTML}`)\n .replace('{{content_readonly}}', `${domShortcode.innerHTML}`);\n innerHTML += '';\n innerHTML += '';\n innerHTML += '';\n innerHTML += '';\n innerHTML += '';\n innerHTML += '';\n /* eslint-enable indent, no-multi-spaces */\n }\n\n domShortcode.innerHTML = innerHTML;\n domShortcode = domOutput.querySelector('shortcode-block[sc-rendered], shortcode-inline[sc-rendered]');\n }\n\n return domOutput.body.innerHTML;\n}\n\ndocument.addEventListener('click', (event) => {\n const { target } = event;\n const list = ['sc-settings', 'sc-move', 'sc-add', 'sc-add-child'];\n const action = { element: null, className: null };\n const isAction = list.some((item) => {\n let match = target.classList.contains(item);\n\n if (match) {\n action.element = target;\n action.className = item;\n\n return true;\n }\n\n match = target.closest(`.${item}`);\n if (match) {\n action.element = match;\n action.className = item;\n\n return true;\n }\n\n return false;\n });\n\n if (isAction) {\n switch (action.className) {\n case 'sc-move':\n window.scBlockMoveChild.call(action.element, event, action.element.classList.contains('sc-move-up') ? 'up' : 'down');\n break;\n case 'sc-add':\n window.scBlockAddChild.call(action.element, event, action.element.classList.contains('sc-add-before') ? 'before' : 'after');\n break;\n case 'sc-add-child':\n window.scBlockAddChildFromParent.call(action.element, event);\n break;\n case 'sc-settings':\n default:\n window.scDisplaySettings.call(action.element, event);\n }\n }\n});\n","import collapse from './collapse';\nimport uncollapse from './uncollapse';\n\nconst Command = window.nextgenEditor.classes.core.command.class;\n\nwindow.nextgenEditor.addPlugin('GravShortcodeCoreCommand', {\n init() {\n Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => {\n const commandName = `shortcode_${shortcode.name}`;\n\n class GravShortcodeCoreCommand extends Command {\n execute(args) {\n this.editor.model.change((modelWriter) => {\n let dataShortcode = '';\n const argsForUncollapse = {};\n\n const wrapOnInsert = !shortcode.child && !shortcode.parent\n ? shortcode.wrapOnInsert !== undefined\n ? shortcode.wrapOnInsert\n : true\n : false;\n\n const selectedBlocks = [...this.editor.model.document.selection.getSelectedBlocks()];\n const selectedItems = [...this.editor.model.document.selection.getFirstRange().getItems({ shallow: true })];\n\n const firstSelectedBlock = selectedBlocks[0];\n const firstBlockSelectedItems = selectedItems.filter((item) => item.parent === firstSelectedBlock);\n\n const attributes = Object.keys(shortcode.attributes).reduce((acc, attrName) => {\n acc[attrName] = shortcode.attributes[attrName].default.value;\n return acc;\n }, {});\n\n dataShortcode += ``;\n\n if (wrapOnInsert) {\n if (shortcode.type === 'block') {\n const modelSelectedBlocks = modelWriter.createDocumentFragment();\n selectedBlocks.forEach((block) => modelWriter.append(modelWriter.cloneElement(block), modelSelectedBlocks));\n\n const viewSelectedBlocks = this.editor.data.toView(modelSelectedBlocks);\n const dataSelectedBlocks = this.editor.data.processor.toData(viewSelectedBlocks);\n\n dataShortcode += collapse(dataSelectedBlocks);\n }\n\n if (shortcode.type === 'inline') {\n const modelSelectedBlocks = modelWriter.createDocumentFragment();\n\n firstBlockSelectedItems.forEach((item) => {\n const block = item.textNode\n ? modelWriter.createText(item.data)\n : modelWriter.cloneElement(item);\n\n modelWriter.append(block, modelSelectedBlocks);\n });\n\n const viewSelectedBlocks = this.editor.data.toView(modelSelectedBlocks);\n const dataSelectedBlocks = this.editor.data.processor.toData(viewSelectedBlocks);\n\n dataShortcode += collapse(dataSelectedBlocks);\n }\n }\n\n if (shortcode.parent) {\n dataShortcode += '

 

';\n }\n\n dataShortcode += `
`;\n\n if (shortcode.parent) {\n if (args && args.modelParentShortcode) {\n argsForUncollapse.parentAttributes = JSON.parse(decodeURIComponent(args.modelParentShortcode.getAttribute('attributes')));\n }\n }\n\n dataShortcode = uncollapse(dataShortcode, argsForUncollapse);\n\n const convertContext = shortcode.type === 'inline'\n ? '$block'\n : '$root';\n\n const viewShortcode = this.editor.data.processor.toView(dataShortcode).getChild(0);\n const modelShortcode = this.editor.data.toModel(viewShortcode, convertContext).getChild(0);\n\n let insertPosition = modelWriter.createPositionAt(this.editor.model.document.getRoot(), 0);\n\n if (!args || !args.insertPosition) {\n if (shortcode.type === 'block') {\n const firstBlock = selectedBlocks[0];\n const lastBlock = selectedBlocks[selectedBlocks.length - 1];\n\n if (wrapOnInsert) {\n insertPosition = modelWriter.createPositionBefore(firstBlock);\n\n modelWriter.remove(\n modelWriter.createRange(\n modelWriter.createPositionBefore(firstBlock),\n modelWriter.createPositionAfter(lastBlock),\n ),\n );\n } else {\n insertPosition = modelWriter.createPositionAfter(lastBlock);\n\n if (lastBlock && lastBlock.name === 'paragraph' && lastBlock.childCount === 0) {\n insertPosition = modelWriter.createPositionBefore(lastBlock);\n modelWriter.remove(lastBlock);\n }\n }\n }\n\n if (shortcode.type === 'inline') {\n const firstItem = firstBlockSelectedItems.length\n ? firstBlockSelectedItems[0]\n : null;\n\n const lastItem = firstBlockSelectedItems.length\n ? firstBlockSelectedItems[firstBlockSelectedItems.length - 1]\n : null;\n\n if (wrapOnInsert) {\n insertPosition = firstItem\n ? modelWriter.createPositionBefore(firstItem)\n : this.editor.model.document.selection.getFirstPosition();\n\n if (firstItem) {\n modelWriter.remove(\n modelWriter.createRange(\n modelWriter.createPositionBefore(firstItem),\n modelWriter.createPositionAfter(lastItem),\n ),\n );\n }\n } else {\n insertPosition = lastItem\n ? modelWriter.createPositionAfter(lastItem)\n : this.editor.model.document.selection.getFirstPosition();\n }\n }\n } else {\n insertPosition = args.insertPosition;\n }\n\n modelWriter.insert(modelShortcode, insertPosition);\n modelWriter.setSelection(modelShortcode, 'on');\n });\n }\n }\n\n this.editor.commands.add(commandName, new GravShortcodeCoreCommand(this.editor));\n });\n },\n});\n","import collapse from './collapse';\nimport uncollapse from './uncollapse';\n\nconst { showSettingsPopup } = window.nextgenEditor.exports;\n\nexport default function displaySettings(domShortcode) {\n const { editors } = window.nextgenEditor;\n const editor = (editors.filter((instance) => instance.ui.view.element.contains(domShortcode)) || []).shift();\n\n const name = domShortcode.getAttribute('name');\n const shortcode = window.nextgenEditor.shortcodes[name];\n const plugin = window.nextgenEditor.shortcodePlugins[shortcode.plugin];\n\n if (editor) {\n const viewShortcode = editor.editing.view.domConverter.mapDomToView(domShortcode);\n let modelShortcode = editor.editing.mapper.toModelElement(viewShortcode);\n\n const currentAttributes = JSON.parse(decodeURIComponent(domShortcode.getAttribute('attributes')));\n\n const domDisplayPoint = shortcode.type === 'block'\n ? domShortcode.querySelector('.sc-header > .sc-settings')\n : domShortcode;\n\n const title = []\n .concat([\n (plugin && plugin.title) || '',\n (shortcode.parent && shortcode.parent.title) || '',\n shortcode.title || '',\n ])\n .filter((item) => !!item)\n .join(' / ');\n\n const argsForPopup = {\n title,\n domDisplayPoint,\n debounceDelay: 1000,\n attributes: shortcode.attributes,\n currentAttributes,\n parentAttributes: null,\n childAttributes: null,\n };\n\n if (shortcode.parent) {\n const domParentShortcode = domShortcode.closest(`shortcode-block[name=\"${shortcode.parent.name}\"]`);\n\n argsForPopup.parentAttributes = domParentShortcode\n ? JSON.parse(decodeURIComponent(domParentShortcode.getAttribute('attributes')))\n : {};\n }\n\n if (shortcode.child) {\n argsForPopup.childAttributes = [];\n\n const childNodes = [...domShortcode.querySelectorAll(`shortcode-block shortcode-block[name=\"${shortcode.child.name}\"]`)];\n const deepChildNodes = [...domShortcode.querySelectorAll(`shortcode-block shortcode-block shortcode-block[name=\"${shortcode.child.name}\"]`)];\n\n childNodes\n .filter((domChildShortcode) => !deepChildNodes.includes(domChildShortcode))\n .forEach((domChildShortcode) => {\n const childAttributes = JSON.parse(decodeURIComponent(domChildShortcode.getAttribute('attributes')));\n argsForPopup.childAttributes.push(childAttributes);\n });\n }\n\n argsForPopup.deleteItem = () => editor.execute('delete');\n\n argsForPopup.changeAttributes = () => {\n editor.model.change((modelWriter) => {\n modelWriter.setAttribute('attributes', encodeURIComponent(JSON.stringify(currentAttributes)), modelShortcode);\n\n const convertContext = shortcode.type === 'inline'\n ? '$block'\n : '$root';\n\n if (shortcode.parent) {\n const viewOldShortcode = editor.editing.mapper.toViewElement(modelShortcode);\n const domOldShortcode = editor.editing.view.domConverter.mapViewToDom(viewOldShortcode);\n\n if (!domOldShortcode) {\n return;\n }\n\n const domOldParentShortcode = domOldShortcode.parentNode.closest('shortcode-block');\n const viewOldParentShortcode = editor.editing.view.domConverter.mapDomToView(domOldParentShortcode);\n const modelOldParentShortcode = editor.editing.mapper.toModelElement(viewOldParentShortcode);\n\n const childNodes = [...domOldParentShortcode.querySelectorAll('shortcode-block shortcode-block')];\n const deepChildNodes = [...domOldParentShortcode.querySelectorAll('shortcode-block shortcode-block shortcode-block')];\n\n const childIndex = childNodes\n .filter((domChildShortcode) => !deepChildNodes.includes(domChildShortcode))\n .indexOf(domOldShortcode);\n\n const insertPosition = modelWriter.createPositionBefore(modelOldParentShortcode);\n const modelOldParentClonedShortcode = modelWriter.cloneElement(modelOldParentShortcode);\n\n const modelOldParentFragment = modelWriter.createDocumentFragment();\n modelWriter.append(modelOldParentClonedShortcode, modelOldParentFragment);\n\n const viewOldParentClonedShortcode = editor.data.toView(modelOldParentFragment).getChild(0);\n const dataOldParentClonedShortcode = editor.data.processor.toData(viewOldParentClonedShortcode);\n\n const dataNewParentShortcode = uncollapse(collapse(dataOldParentClonedShortcode));\n const viewNewParentShortcode = editor.data.processor.toView(dataNewParentShortcode).getChild(0);\n const modelNewParentShortcode = editor.data.toModel(viewNewParentShortcode, convertContext).getChild(0);\n\n modelWriter.remove(modelOldParentShortcode);\n modelWriter.insert(modelNewParentShortcode, insertPosition);\n\n setTimeout(() => {\n const viewParentShortcode = editor.editing.mapper.toViewElement(modelNewParentShortcode);\n const domParentShortcode = editor.editing.view.domConverter.mapViewToDom(viewParentShortcode);\n\n const childNewNodes = [...domParentShortcode.querySelectorAll('shortcode-block shortcode-block')];\n const deepNewChildNodes = [...domParentShortcode.querySelectorAll('shortcode-block shortcode-block shortcode-block')];\n\n const domNewShortcode = childNewNodes.filter((domChildShortcode) => !deepNewChildNodes.includes(domChildShortcode))[childIndex];\n const viewNewShortcode = editor.editing.view.domConverter.mapDomToView(domNewShortcode);\n const modelNewShortcode = editor.editing.mapper.toModelElement(viewNewShortcode);\n\n editor.model.change((modelWriter2) => {\n modelWriter2.setSelection(modelNewShortcode, 'on');\n modelShortcode = modelNewShortcode;\n });\n });\n\n return;\n }\n\n const insertPosition = modelWriter.createPositionBefore(modelShortcode);\n const modelOldShortcode = modelWriter.cloneElement(modelShortcode);\n\n const modelOldFragment = modelWriter.createDocumentFragment();\n modelWriter.append(modelOldShortcode, modelOldFragment);\n\n const viewOldShortcode = editor.data.toView(modelOldFragment).getChild(0);\n const dataOldShortcode = editor.data.processor.toData(viewOldShortcode);\n\n const dataNewShortcode = uncollapse(collapse(dataOldShortcode));\n const viewNewShortcode = editor.data.processor.toView(dataNewShortcode).getChild(0);\n const modelNewShortcode = editor.data.toModel(viewNewShortcode, convertContext).getChild(0);\n\n modelWriter.remove(modelShortcode);\n modelWriter.insert(modelNewShortcode, insertPosition);\n modelWriter.setSelection(modelNewShortcode, 'on');\n\n modelShortcode = modelNewShortcode;\n });\n };\n\n showSettingsPopup(argsForPopup);\n }\n}\n","import displaySettings from './settings';\n\nwindow.scDisplaySettings = function scDisplaySettings() {\n const domShortcode = this.closest('shortcode-block, shortcode-inline');\n\n if (domShortcode) {\n displaySettings(domShortcode);\n }\n};\n\nwindow.scBlockAddChildFromParent = function scBlockAddChildFromParent() {\n const { editors } = window.nextgenEditor;\n\n const domShortcode = this.parentNode;\n const editor = (editors.filter((instance) => instance.ui.view.element.contains(domShortcode)) || []).shift();\n\n const name = domShortcode.getAttribute('name');\n const shortcode = window.nextgenEditor.shortcodes[name];\n\n if (editor) {\n const viewShortcode = editor.editing.view.domConverter.mapDomToView(domShortcode);\n const modelShortcode = editor.editing.mapper.toModelElement(viewShortcode);\n\n const domShortcodeBlockReadOnly = domShortcode.querySelector('shortcode-block-readonly');\n const viewShortcodeBlockReadOnly = editor.editing.view.domConverter.mapDomToView(domShortcodeBlockReadOnly);\n const modelShortcodeBlockReadOnly = editor.editing.mapper.toModelElement(viewShortcodeBlockReadOnly);\n\n editor.model.change((modelWriter) => {\n const insertPosition = modelWriter.createPositionAt(modelShortcodeBlockReadOnly, 0);\n editor.execute(`shortcode_${shortcode.child.name}`, { insertPosition, modelParentShortcode: modelShortcode });\n\n domShortcode.querySelector('.sc-add-child').classList.remove('sc-visible');\n });\n }\n};\n\nwindow.scBlockAddChild = function scBlockAddChild(event, where) {\n const { editors } = window.nextgenEditor;\n\n const domShortcode = this.parentNode;\n const editor = (editors.filter((instance) => instance.ui.view.element.contains(domShortcode)) || []).shift();\n\n const name = domShortcode.getAttribute('name');\n const shortcode = window.nextgenEditor.shortcodes[name];\n\n if (editor) {\n const viewShortcode = editor.editing.view.domConverter.mapDomToView(domShortcode);\n const modelShortcode = editor.editing.mapper.toModelElement(viewShortcode);\n\n editor.model.change((modelWriter) => {\n let modelParentShortcode = modelShortcode.parent;\n const insertPosition = modelWriter.createPositionAt(modelShortcode, where);\n\n while (modelParentShortcode && modelParentShortcode.name !== 'shortcode-block') {\n modelParentShortcode = modelParentShortcode.parent;\n }\n\n if (modelParentShortcode) {\n editor.execute(`shortcode_${shortcode.name}`, { insertPosition, modelParentShortcode });\n }\n });\n }\n};\n\nwindow.scBlockMoveChild = function scBlockMove(event, where) {\n const { editors } = window.nextgenEditor;\n\n const domShortcode = this.parentNode;\n const editor = (editors.filter((instance) => instance.ui.view.element.contains(domShortcode)) || []).shift();\n\n if (editor) {\n const viewShortcode = editor.editing.view.domConverter.mapDomToView(domShortcode);\n const modelShortcode = editor.editing.mapper.toModelElement(viewShortcode);\n\n const domSiblingShortcode = where === 'up'\n ? domShortcode.previousSibling\n : domShortcode.nextSibling;\n\n const viewSiblingShortcode = editor.editing.view.domConverter.mapDomToView(domSiblingShortcode);\n const modelSiblingShortcode = editor.editing.mapper.toModelElement(viewSiblingShortcode);\n\n editor.model.change((modelWriter) => {\n modelWriter.move(modelWriter.createRangeOn(modelShortcode), modelSiblingShortcode, where === 'up' ? 'before' : 'after');\n });\n }\n};\n","import uncollapse from './uncollapse';\n\nwindow.nextgenEditor.addHook('hookMarkdowntoHTML', {\n weight: 50,\n handler(options, input) {\n let output = input;\n\n let shortcodeCounter = 1;\n const openingRegexp = Object.keys(window.nextgenEditor.shortcodes).map((name) => `(\\\\[${name}[^\\\\]]*\\\\])`).join('|');\n\n while (shortcodeCounter > 0) {\n shortcodeCounter = 0;\n\n // eslint-disable-next-line no-loop-func\n Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => {\n const regexp = `(?

)?\\\\[${shortcode.name}(?(=| +)[^\\\\]]*)?\\\\](<\\\\/p>)?(?(((?!(${openingRegexp}|(\\\\[\\\\/${shortcode.name}\\\\]))).)|\\\\n)*)\\\\[\\\\/${shortcode.name}\\\\](?<\\\\/p>)?`;\n\n output = output.replace(new RegExp(regexp, 'g'), (...matches) => {\n shortcodeCounter += 1;\n\n const groups = matches.pop();\n\n let content = shortcode.type === 'block'\n ? groups.content.replace(/

$/, '')\n : groups.content;\n\n const bbcode = Object.keys(shortcode.attributes).reduce((acc, attrName) => acc || (shortcode.attributes[attrName].bbcode && shortcode.attributes[attrName].shorthand && attrName), '');\n const innerHTMLAttribute = Object.keys(shortcode.attributes).reduce((acc, attrName) => acc || (shortcode.attributes[attrName].innerHTML && attrName), '');\n\n let attrGroup = bbcode && groups.attributes && groups.attributes.startsWith('=')\n ? `${bbcode}${groups.attributes}`\n : groups.attributes || '';\n\n if (innerHTMLAttribute) {\n const innerHTML = shortcode.type === 'block'\n ? content.replace(/^

/, '').replace(/<\\/p>$/, '').replace(/^ $/, '')\n : content.replace(/^ $/, '');\n\n attrGroup = attrGroup\n ? `${attrGroup} ${innerHTMLAttribute}=\"${innerHTML}\"`\n : `${innerHTMLAttribute}=\"${innerHTML}\"`;\n\n content = '';\n }\n\n const domAttributes = new DOMParser().parseFromString(`

`, 'text/html').body.firstChild.attributes;\n\n const attributes = Object.keys(shortcode.attributes).reduce((acc, attrName) => {\n const attribute = shortcode.attributes[attrName];\n\n let attrValue = domAttributes.getNamedItem(attrName)\n ? domAttributes.getNamedItem(attrName).value\n : attribute.default.value;\n\n if (attribute.type === Boolean && domAttributes.getNamedItem(attrName)) {\n attrValue = domAttributes.getNamedItem(attrName) !== 'false';\n }\n\n if (attribute.type === Number) {\n attrValue = +attrValue;\n }\n\n acc[attrName] = attrValue;\n\n return acc;\n }, {});\n\n let replacement = '';\n\n const attributesEncoded = encodeURIComponent(JSON.stringify(attributes));\n\n if (shortcode.type === 'block') {\n replacement += ``;\n replacement += content;\n replacement += '';\n }\n\n if (shortcode.type === 'inline') {\n replacement += groups.p1 || '';\n replacement += ``;\n replacement += content;\n replacement += '';\n replacement += groups.p2 || '';\n }\n\n return replacement;\n });\n });\n }\n\n output = uncollapse(output);\n\n return output;\n },\n});\n","import collapse from './collapse';\n\nwindow.nextgenEditor.addHook('hookHTMLtoMarkdown', {\n weight: -50,\n handler(options, editor, input) {\n let output = input;\n\n output = collapse(output);\n\n const domOutput = new DOMParser().parseFromString(output, 'text/html');\n\n let domShortcode = domOutput.querySelector('shortcode-block, shortcode-inline');\n\n while (domShortcode) {\n const name = domShortcode.getAttribute('name');\n const shortcode = window.nextgenEditor.shortcodes[name];\n const attributes = JSON.parse(decodeURIComponent(domShortcode.getAttribute('attributes')));\n\n const innerHTMLAttribute = Object.keys(shortcode.attributes).reduce((acc, attrName) => acc || (shortcode.attributes[attrName].innerHTML && attrName), '');\n\n const attrLine = Object.keys(shortcode.attributes).reduce((acc, attrName) => {\n const attribute = shortcode.attributes[attrName];\n\n if (attribute.type === Boolean) {\n return attributes[attrName]\n ? `${acc} ${attrName}`\n : acc;\n }\n\n if (attributes[attrName] === attribute.default.value && !attribute.default.preserve) {\n return acc;\n }\n\n if (attribute.bbcode && attribute.shorthand) {\n return `=\"${attributes[attrName]}\"${acc}`;\n }\n\n if (attribute.innerHTML) {\n return acc;\n }\n\n return `${acc} ${attrName}=\"${attributes[attrName]}\"`;\n }, '');\n\n if (shortcode.type === 'block') {\n if (domShortcode.innerHTML === '

 

') {\n domShortcode.innerHTML = '';\n }\n\n if (innerHTMLAttribute) {\n domShortcode.outerHTML = `

[${shortcode.realName}${attrLine}]${attributes[innerHTMLAttribute]}[/${shortcode.realName}]

`;\n } else if (domShortcode.innerHTML) {\n domShortcode.outerHTML = `

[${shortcode.realName}${attrLine}]

${domShortcode.innerHTML}

[/${shortcode.realName}]

`;\n } else {\n domShortcode.outerHTML = `

[${shortcode.realName}${attrLine} /]

`;\n }\n }\n\n if (shortcode.type === 'inline') {\n if (domShortcode.innerHTML === ' ') {\n domShortcode.innerHTML = '';\n }\n\n if (innerHTMLAttribute) {\n domShortcode.outerHTML = `[${shortcode.realName}${attrLine}]${attributes[innerHTMLAttribute]}[/${shortcode.realName}]`;\n } else if (domShortcode.innerHTML) {\n domShortcode.outerHTML = `[${shortcode.realName}${attrLine}]${domShortcode.innerHTML}[/${shortcode.realName}]`;\n } else {\n domShortcode.outerHTML = `[${shortcode.realName}${attrLine} /]`;\n }\n }\n\n domShortcode = domOutput.querySelector('shortcode-block, shortcode-inline');\n }\n\n output = domOutput.body.innerHTML;\n\n return output;\n },\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","// a string of all valid unicode whitespaces\n// eslint-disable-next-line max-len\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.github.io/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\nmodule.exports = !nativeAssign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : nativeAssign;\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.github.io/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP) {\n var store = new WeakMap();\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);\n enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.github.io/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.github.io/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","exports.f = Object.getOwnPropertySymbols;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.github.io/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.github.io/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var fails = require('../internals/fails');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n concat: function concat(arg) { // eslint-disable-line no-unused-vars\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","var anObject = require('../internals/an-object');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (error) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) anObject(returnMethod.call(iterator));\n throw error;\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\nvar nativeDefineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return nativeDefineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.github.io/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.github.io/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.github.io/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.github.io/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.github.io/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.github.io/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return $stringify.apply(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.github.io/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.github.io/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.github.io/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// patch native Promise.prototype for native async functions\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.github.io/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.github.io/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (e) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (f) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\n\nvar defineProperty = Object.defineProperty;\nvar cache = {};\n\nvar thrower = function (it) { throw it; };\n\nmodule.exports = function (METHOD_NAME, options) {\n if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];\n if (!options) options = {};\n var method = [][METHOD_NAME];\n var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;\n var argument0 = has(options, 0) ? options[0] : thrower;\n var argument1 = has(options, 1) ? options[1] : undefined;\n\n return cache[METHOD_NAME] = !!method && !fails(function () {\n if (ACCESSORS && !DESCRIPTORS) return true;\n var O = { length: -1 };\n\n if (ACCESSORS) defineProperty(O, 1, { enumerable: true, get: thrower });\n else O[1] = 1;\n\n method.call(O, argument0, argument1);\n });\n};\n","'use strict';\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nif (IteratorPrototype == undefined) IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nif (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.github.io/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar classof = require('../internals/classof-raw');\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar IS_NODE = classof(process) == 'process';\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n } else if (MutationObserver && !IS_IOS) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name];\n else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6)\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.github.io/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","module.exports = false;\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $indexOf = require('../internals/array-includes').indexOf;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar nativeIndexOf = [].indexOf;\n\nvar NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('indexOf');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.indexOf` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD || !USES_TO_LENGTH }, {\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? nativeIndexOf.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', { ACCESSORS: true, 1: 0 });\n\n// `Array.prototype.includes` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: !USES_TO_LENGTH }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.github.io/ecma262/#sec-object.assign\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","module.exports = {};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.github.io/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var aFunction = require('../internals/a-function');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar toLength = require('../internals/to-length');\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = toLength(O.length);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar regexpExec = require('../internals/regexp-exec');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$
') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return regexMethod.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('map');\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","window.nextgenEditor.addHook('hookInit', () => {\n Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => {\n shortcode.attributes = shortcode.attributes || {};\n\n if (!shortcode.button) {\n shortcode.button = { label: shortcode.title };\n }\n\n Object.values(shortcode.attributes).forEach((attribute) => {\n if (attribute.default === undefined) {\n attribute.default = '';\n }\n if (typeof attribute.default !== 'object') {\n attribute.default = { value: attribute.default };\n }\n if (attribute.shorthand === undefined) {\n attribute.shorthand = true;\n }\n });\n\n if (shortcode.type === 'block' && !shortcode.titlebar) {\n shortcode.titlebar = () => '';\n }\n if (!shortcode.content) {\n shortcode.content = () => '';\n }\n\n if (shortcode.preserve) {\n if (shortcode.preserve.block) {\n window.nextgenEditor.addVariable('preserveBlockTags', shortcode.preserve.block);\n }\n\n if (shortcode.preserve.inline) {\n window.nextgenEditor.addVariable('preserveInlineTags', shortcode.preserve.inline);\n }\n }\n\n if (!shortcode.parent) {\n window.nextgenEditor.addButton(`shortcode_${shortcode.name}`, {\n command: `shortcode_${shortcode.name}`,\n ...shortcode.button,\n });\n }\n });\n});\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","var defineProperty = require(\"./defineProperty\");\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectSpread2;","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","// `Symbol.prototype.description` getter\n// https://tc39.github.io/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.github.io/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar classof = require('../internals/classof-raw');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar IS_NODE = classof(process) == 'process';\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (V8_VERSION === 66) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n if (!IS_NODE && typeof PromiseRejectionEvent != 'function') return true;\n }\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructor.prototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () { /* empty */ }) instanceof FakePromise);\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (promise, state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(promise, state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (handler = global['on' + name]) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (promise, state) {\n task.call(global, function () {\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (promise, state) {\n task.call(global, function () {\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, promise, state, unwrap) {\n return function (value) {\n fn(promise, state, value, unwrap);\n };\n};\n\nvar internalReject = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(promise, state, true);\n};\n\nvar internalResolve = function (promise, state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, promise, wrapper, state),\n bind(internalReject, promise, wrapper, state)\n );\n } catch (error) {\n internalReject(promise, wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(promise, state, false);\n }\n } catch (error) {\n internalReject(promise, { done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, this, state), bind(internalReject, this, state));\n } catch (error) {\n internalReject(this, state, error);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n // `Promise.prototype.then` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(this, state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.github.io/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, promise, state);\n this.reject = bind(internalReject, promise, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function') {\n nativeThen = NativePromise.prototype.then;\n\n // wrap native Promise#then for native async functions\n redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // wrap fetch result\n if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, {\n // eslint-disable-next-line no-unused-vars\n fetch: function fetch(input /* , init */) {\n return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n }\n });\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.github.io/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.github.io/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.github.io/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.github.io/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","const Widget = window.nextgenEditor.classes.widget.class;\nconst { toWidget, toWidgetEditable } = window.nextgenEditor.classes.widget.utils;\n\nwindow.nextgenEditor.addPlugin('GravShortcodeCoreConvertersBlock', {\n requires: [Widget],\n init() {\n this.editor.model.schema.register('shortcode-block', {\n isBlock: true,\n isObject: true,\n allowWhere: '$block',\n allowContentOf: '$root',\n allowAttributes: [\n 'name',\n 'attributes',\n 'class',\n ],\n });\n\n this.editor.conversion.for('upcast').elementToElement({\n view: 'shortcode-block',\n model(viewElement, { writer }) {\n return writer.createElement('shortcode-block', viewElement.getAttributes());\n },\n });\n\n this.editor.conversion.for('dataDowncast').elementToElement({\n model: 'shortcode-block',\n view(modelElement, { writer }) {\n return writer.createContainerElement('shortcode-block', modelElement.getAttributes());\n },\n });\n\n this.editor.conversion.for('editingDowncast').elementToElement({\n model: 'shortcode-block',\n view(modelElement, { writer }) {\n const container = writer.createContainerElement('shortcode-block', modelElement.getAttributes());\n return toWidget(container, writer);\n },\n });\n\n this.editor.model.schema.register('shortcode-block-editable', {\n isLimit: true,\n allowWhere: '$block',\n allowContentOf: '$root',\n });\n\n this.editor.conversion.for('upcast').elementToElement({\n view: 'shortcode-block-editable',\n model: 'shortcode-block-editable',\n });\n\n this.editor.conversion.for('dataDowncast').elementToElement({\n model: 'shortcode-block-editable',\n view: 'shortcode-block-editable',\n });\n\n this.editor.conversion.for('editingDowncast').elementToElement({\n model: 'shortcode-block-editable',\n view(modelElement, { writer }) {\n const container = writer.createEditableElement('shortcode-block-editable', modelElement.getAttributes());\n return toWidgetEditable(container, writer);\n },\n });\n\n this.editor.model.schema.register('shortcode-block-readonly', {\n isLimit: true,\n allowWhere: '$block',\n allowContentOf: '$root',\n });\n\n this.editor.conversion.elementToElement({\n view: 'shortcode-block-readonly',\n model: 'shortcode-block-readonly',\n });\n },\n});\n\nwindow.nextgenEditor.addPlugin('GravShortcodeCoreConvertersInline', {\n requires: [Widget],\n init() {\n this.editor.model.schema.register('shortcode-inline', {\n isObject: true,\n isInline: true,\n allowWhere: '$text',\n allowContentOf: '$block',\n allowAttributes: [\n 'name',\n 'attributes',\n 'class',\n ],\n });\n\n this.editor.conversion.for('upcast').elementToElement({\n view: 'shortcode-inline',\n model(viewElement, { writer }) {\n return writer.createElement('shortcode-inline', viewElement.getAttributes());\n },\n });\n\n this.editor.conversion.for('dataDowncast').elementToElement({\n model: 'shortcode-inline',\n view(modelElement, { writer }) {\n return writer.createContainerElement('shortcode-inline', modelElement.getAttributes());\n },\n });\n\n this.editor.conversion.for('editingDowncast').elementToElement({\n model: 'shortcode-inline',\n view(modelElement, { writer }) {\n const container = writer.createContainerElement('shortcode-inline', modelElement.getAttributes());\n return toWidget(container, writer);\n },\n });\n\n this.editor.model.schema.register('shortcode-inline-editable', {\n isLimit: true,\n allowWhere: '$text',\n allowContentOf: '$block',\n });\n\n this.editor.conversion.for('upcast').elementToElement({\n view: 'shortcode-inline-editable',\n model: 'shortcode-inline-editable',\n });\n\n this.editor.conversion.for('dataDowncast').elementToElement({\n model: 'shortcode-inline-editable',\n view: 'shortcode-inline-editable',\n });\n\n this.editor.conversion.for('editingDowncast').elementToElement({\n model: 'shortcode-inline-editable',\n view(modelElement, { writer }) {\n const container = writer.createEditableElement('shortcode-inline-editable', modelElement.getAttributes());\n return toWidgetEditable(container, writer);\n },\n });\n\n this.editor.model.schema.register('shortcode-inline-readonly', {\n isLimit: true,\n allowWhere: '$text',\n allowContentOf: '$block',\n });\n\n this.editor.conversion.elementToElement({\n view: 'shortcode-inline-readonly',\n model: 'shortcode-inline-readonly',\n });\n },\n});\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// 25.4.1.5 NewPromiseCapability(C)\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('slice', { ACCESSORS: true, 0: 0, 1: 2 });\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/plugins/shortcode-core/nextgen-editor/package.json b/plugins/shortcode-core/nextgen-editor/package.json new file mode 100644 index 0000000..6a3586f --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/package.json @@ -0,0 +1,24 @@ +{ + "name": "nextgen-editor", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "vue-cli-service serve", + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "~4.5.13", + "@vue/cli-plugin-eslint": "~4.5.13", + "@vue/cli-service": "~4.5.13", + "@vue/eslint-config-airbnb": "^5.3.0", + "babel-eslint": "^10.1.0", + "directory-named-webpack-plugin": "^4.0.1", + "eslint": "^7.32.0", + "eslint-plugin-import": "^2.24.2", + "eslint-plugin-vue": "^7.18.0", + "node-sass": "^6.0.1", + "sass-loader": "^12.1.0" + } +} diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/align/align.js b/plugins/shortcode-core/nextgen-editor/shortcodes/align/align.js new file mode 100644 index 0000000..179dce3 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/align/align.js @@ -0,0 +1,55 @@ +window.nextgenEditor.addHook('hookInit', () => { + window.nextgenEditor.addButtonGroup('shortcode-core-align', { + icon: '', + label: 'SC Align', + }); +}); + +window.nextgenEditor.addShortcode('left', { + type: 'block', + plugin: 'shortcode-core', + title: 'Align Left', + button: { + group: 'shortcode-core-align', + label: 'Align Left', + }, + content() { + return '
{{content_editable}}
'; + }, +}); + +window.nextgenEditor.addShortcode('center', { + type: 'block', + title: 'Align Center', + button: { + group: 'shortcode-core-align', + label: 'Align Center', + }, + content() { + return '
{{content_editable}}
'; + }, +}); + +window.nextgenEditor.addShortcode('right', { + type: 'block', + title: 'Align Right', + button: { + group: 'shortcode-core-align', + label: 'Align Right', + }, + content() { + return '
{{content_editable}}
'; + }, +}); + +window.nextgenEditor.addShortcode('justify', { + type: 'block', + title: 'Justify', + button: { + group: 'shortcode-core-align', + label: 'Justify', + }, + content() { + return '
{{content_editable}}
'; + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/color/color.js b/plugins/shortcode-core/nextgen-editor/shortcodes/color/color.js new file mode 100644 index 0000000..d4ef4b1 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/color/color.js @@ -0,0 +1,22 @@ +window.nextgenEditor.addShortcode('color', { + type: 'inline', + plugin: 'shortcode-core', + title: 'Color', + button: { + group: 'shortcode-core', + label: 'Color', + icon: '', + }, + attributes: { + color: { + type: String, + title: 'Color', + bbcode: true, + widget: 'input-text', + default: '', + }, + }, + content({ attributes }) { + return `{{content_editable}}`; + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/columns/columns.js b/plugins/shortcode-core/nextgen-editor/shortcodes/columns/columns.js new file mode 100644 index 0000000..771e7ed --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/columns/columns.js @@ -0,0 +1,58 @@ +window.nextgenEditor.addShortcode('columns', { + type: 'block', + plugin: 'shortcode-core', + title: 'Columns', + button: { + group: 'shortcode-core', + label: 'Columns', + icon: '', + }, + attributes: { + count: { + type: Number, + title: 'Count', + widget: { + type: 'input-number', + min: 1, + max: 12, + }, + default: 2, + }, + width: { + type: String, + title: 'Width', + widget: 'input-text', + default: 'auto', + }, + gap: { + type: String, + title: 'Gap', + widget: 'input-text', + default: 'normal', + }, + rule: { + type: String, + title: 'Rule', + widget: 'input-text', + default: '', + }, + }, + titlebar({ attributes }) { + return `columns: ${attributes.count}`; + }, + content({ attributes }) { + const styles = [] + .concat([ + `columns:${attributes.count} ${attributes.width}`, + `-moz-columns:${attributes.count} ${attributes.width}`, + `column-gap:${attributes.gap}`, + `-moz-column-gap:${attributes.gap}`, + attributes.rule ? `column-rule:${attributes.rule}` : null, + attributes.rule ? `-moz-column-rule:${attributes.rule}` : null, + ]) + .filter((item) => !!item) + .join(';'); + + return `
{{content_editable}}
`; + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/details/details.css b/plugins/shortcode-core/nextgen-editor/shortcodes/details/details.css new file mode 100644 index 0000000..efecd45 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/details/details.css @@ -0,0 +1,8 @@ +shortcode-block[name="details"] summary { + margin: 8px 8px; +} + +shortcode-block[name="details"] summary > p { + display: inline; + margin: 0; +} diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/details/details.js b/plugins/shortcode-core/nextgen-editor/shortcodes/details/details.js new file mode 100644 index 0000000..4109ed6 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/details/details.js @@ -0,0 +1,50 @@ +window.nextgenEditor.addShortcode('details', { + type: 'block', + plugin: 'shortcode-core', + title: 'Details', + button: { + group: 'shortcode-core', + label: 'Details', + icon: '', + }, + attributes: { + summary: { + type: String, + title: 'Summary', + bbcode: true, + widget: 'input-text', + default: '', + }, + class: { + type: String, + title: 'Class', + widget: 'input-text', + default: '', + }, + }, + titlebar({ attributes }) { + return attributes.class + ? `class: ${attributes.class}` + : ''; + }, + content({ attributes }) { + let output = ''; + + output += `
`; + + if (attributes.summary) { + output += `${attributes.summary}`; + } + + output += '{{content_editable}}'; + output += '
'; + + return output; + }, + preserve: { + block: [ + 'details', + 'summary', + ], + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/div/div.js b/plugins/shortcode-core/nextgen-editor/shortcodes/div/div.js new file mode 100644 index 0000000..c1db19c --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/div/div.js @@ -0,0 +1,47 @@ +window.nextgenEditor.addShortcode('div', { + type: 'block', + plugin: 'shortcode-core', + title: 'Div', + button: { + group: 'shortcode-core', + label: 'Div', + icon: '', + }, + attributes: { + id: { + type: String, + title: 'ID', + widget: 'input-text', + default: '', + }, + class: { + type: String, + title: 'Class', + widget: 'input-text', + default: '', + }, + style: { + type: String, + title: 'Style', + widget: 'input-text', + default: '', + }, + }, + titlebar({ attributes }) { + return [] + .concat([ + attributes.id ? `id: ${attributes.id}` : null, + attributes.class ? `class: ${attributes.class}` : null, + attributes.style ? `style: ${attributes.style}` : null, + ]) + .filter((item) => !!item) + .join(', '); + }, + content({ attributes }) { + const id = attributes.id || ''; + const cclass = attributes.class || ''; + const style = attributes.style || ''; + + return `
{{content_editable}}
`; + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/figure/figure.js b/plugins/shortcode-core/nextgen-editor/shortcodes/figure/figure.js new file mode 100644 index 0000000..18c32d8 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/figure/figure.js @@ -0,0 +1,46 @@ +window.nextgenEditor.addShortcode('figure', { + type: 'block', + plugin: 'shortcode-core', + title: 'Figure', + button: { + group: 'shortcode-core', + label: 'Figure', + icon: '', + }, + attributes: { + id: { + type: String, + title: 'ID', + widget: 'input-text', + default: '', + }, + class: { + type: String, + title: 'Class', + widget: 'input-text', + default: '', + }, + caption: { + type: String, + title: 'Caption', + widget: 'input-text', + default: '', + }, + }, + titlebar({attributes }) { + return [] + .concat([ + attributes.id ? `id: ${attributes.id}` : null, + attributes.class ? `class: ${attributes.class}` : null, + ]) + .filter((item) => !!item) + .join(', '); + }, + content({ attributes }) { + const id = attributes.id || ''; + const cclass = attributes.class || ''; + const caption = attributes.caption || ''; + + return `
{{content_editable}}
${caption}
`; + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/fontawesome/fontawesome.js b/plugins/shortcode-core/nextgen-editor/shortcodes/fontawesome/fontawesome.js new file mode 100644 index 0000000..222b9ae --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/fontawesome/fontawesome.js @@ -0,0 +1,50 @@ +window.nextgenEditor.addShortcode('fa', { + type: 'inline', + plugin: 'shortcode-core', + title: 'Font Awesome', + wrapOnInsert: false, + button: { + group: 'shortcode-core', + label: 'Font Awesome', + icon: '', + }, + attributes: { + icon: { + type: String, + title: 'Icon', + bbcode: true, + widget: 'input-text', + default: 'grav', + }, + extras: { + type: String, + title: 'Extras', + widget: 'input-text', + default: '', + }, + }, + content({ attributes }) { + let faclass = 'fa'; + + let icon = attributes.icon && !attributes.icon.startsWith('fa-') + ? `fa-${attributes.icon}` + : attributes.icon; + + if (attributes.extras) { + attributes.extras.split(',').forEach((extra) => { + if (extra) { + if (['fab', 'fal', 'fas', 'far', 'fad'].includes(extra)) { + faclass = extra; + return; + } + + icon += !extra.startsWith('fa-') + ? ` fa-${extra}` + : ` ${extra}`; + } + }); + } + + return ``; + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/headers/headers.css b/plugins/shortcode-core/nextgen-editor/shortcodes/headers/headers.css new file mode 100644 index 0000000..b525e94 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/headers/headers.css @@ -0,0 +1,32 @@ +shortcode-block[name="h1"] .sc-content, +shortcode-block[name="h2"] .sc-content, +shortcode-block[name="h3"] .sc-content, +shortcode-block[name="h4"] .sc-content, +shortcode-block[name="h5"] .sc-content, +shortcode-block[name="h6"] .sc-content { + font-weight: 700; +} + +shortcode-block[name="h1"] .sc-content { + font-size: 30px; +} + +shortcode-block[name="h2"] .sc-content { + font-size: 24px; +} + +shortcode-block[name="h3"] .sc-content { + font-size: 20px; +} + +shortcode-block[name="h4"] .sc-content { + font-size: 18px; +} + +shortcode-block[name="h5"] .sc-content { + font-size: 16px; +} + +shortcode-block[name="h6"] .sc-content { + font-size: 14px; +} diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/headers/headers.js b/plugins/shortcode-core/nextgen-editor/shortcodes/headers/headers.js new file mode 100644 index 0000000..b5c5973 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/headers/headers.js @@ -0,0 +1,47 @@ +window.nextgenEditor.addHook('hookInit', () => { + window.nextgenEditor.addButtonGroup('shortcode-core-headers', { + icon: '', + label: 'SC Headers', + }); +}); + +for (let i = 1; i <= 6; i += 1) { + window.nextgenEditor.addShortcode(`h${i}`, { + type: 'block', + plugin: 'shortcode-core', + title: `H${i}`, + button: { + group: 'shortcode-core-headers', + label: `H${i}`, + }, + attributes: { + id: { + type: String, + title: 'ID', + widget: 'input-text', + default: '', + }, + class: { + type: String, + title: 'Class', + widget: 'input-text', + default: '', + }, + }, + titlebar({ attributes }) { + return [] + .concat([ + attributes.id ? `id: ${attributes.id}` : null, + attributes.class ? `class: ${attributes.class}` : null, + ]) + .filter((item) => !!item) + .join(', '); + }, + content({ attributes }) { + const id = attributes.id || ''; + const cclass = attributes.class || ''; + + return `
{{content_editable}}
`; + }, + }); +} diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/language/language.js b/plugins/shortcode-core/nextgen-editor/shortcodes/language/language.js new file mode 100644 index 0000000..7806879 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/language/language.js @@ -0,0 +1,25 @@ +window.nextgenEditor.addShortcode('lang', { + type: 'block', + plugin: 'shortcode-core', + title: 'Language', + button: { + group: 'shortcode-core', + label: 'Language', + icon: '', + }, + attributes: { + lang: { + type: String, + title: 'Language', + bbcode: true, + widget: 'input-text', + default: 'en', + }, + }, + titlebar({ attributes }) { + return `language: ${attributes.lang}`; + }, + content() { + return '{{content_editable}}'; + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/lorem/lorem.js b/plugins/shortcode-core/nextgen-editor/shortcodes/lorem/lorem.js new file mode 100644 index 0000000..10308be --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/lorem/lorem.js @@ -0,0 +1,80 @@ +const sentence = 'Lorem ipsum dolor sit amet consectetur adipiscing elit, molestie tortor cubilia eu facilisi ex varius, convallis pretium dapibus fusce porta ligula.'; +const words = [].concat(...Array(1000).fill(sentence.toLowerCase().replace(/[.|,]/g, '').split(' '))); +const paragraph = Array(2).fill(sentence).join(' '); + +window.nextgenEditor.addShortcode('lorem', { + type: 'block', + plugin: 'shortcode-core', + title: 'Lorem', + wrapOnInsert: false, + button: { + group: 'shortcode-core', + label: 'Lorem', + icon: '', + }, + attributes: { + p: { + type: Number, + title: 'Paragraphs', + bbcode: true, + widget: { + type: 'input-number', + min: 0, + max: 10, + }, + default: 2, + }, + tag: { + type: String, + title: 'Tag', + widget: 'input-text', + default: 'p', + }, + s: { + type: Number, + title: 'Sentences', + widget: 'input-number', + default: 0, + }, + w: { + type: Number, + title: 'Words', + widget: 'input-number', + default: 0, + }, + }, + titlebar({ attributes }) { + if (attributes.w) { + return `words: ${attributes.w}`; + } + + if (attributes.s) { + return `sentences: ${attributes.s}`; + } + + if (attributes.p) { + return `paragraphs: ${attributes.p}`; + } + + return ''; + }, + content({ attributes }) { + let output = ''; + + output += '
'; + + if (attributes.w) { + output += words.slice(0, attributes.w).join(' '); + } else if (attributes.s) { + output += Array(attributes.s).fill(sentence).join(' '); + } else if (attributes.p) { + [...Array(attributes.p)].forEach(() => { + output += `

${paragraph}

`; + }); + } + + output += '
'; + + return output; + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/mark/mark.css b/plugins/shortcode-core/nextgen-editor/shortcodes/mark/mark.css new file mode 100644 index 0000000..9a52c5e --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/mark/mark.css @@ -0,0 +1,7 @@ +shortcode-inline[name="mark"] > .sc-content > span { + background: #ffe9b3; + border-bottom: .05rem solid #ffd367; + border-radius: .1rem; + color: #50596c; + padding: .05rem .1rem 0; +} \ No newline at end of file diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/mark/mark.js b/plugins/shortcode-core/nextgen-editor/shortcodes/mark/mark.js new file mode 100644 index 0000000..903a1e0 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/mark/mark.js @@ -0,0 +1,49 @@ +window.nextgenEditor.addShortcode('mark', { + type: 'inline', + plugin: 'shortcode-core', + title: 'Mark', + button: { + group: 'shortcode-core', + label: 'Mark', + icon: '', + }, + attributes: { + style: { + type: String, + title: 'Style', + bbcode: true, + widget: { + type: 'radios', + values: [ + { value: 'inline', label: 'Inline' }, + { value: 'block', label: 'Block' }, + ], + }, + default: 'inline', + }, + class: { + type: String, + title: 'Class', + widget: 'input-text', + default: '', + }, + }, + titlebar({ attributes }) { + return [] + .concat([ + attributes.style ? `style: ${attributes.style}` : null, + attributes.class ? `class: ${attributes.class}` : null, + ]) + .filter((item) => !!item) + .join(', '); + }, + content({ attributes }) { + const style = attributes.style === 'block' + ? 'display:block' + : ''; + + const cclass = `mark-class-${attributes.class}`; + + return `{{content_editable}}`; + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/notice/notice.css b/plugins/shortcode-core/nextgen-editor/shortcodes/notice/notice.css new file mode 100644 index 0000000..8f0d2e8 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/notice/notice.css @@ -0,0 +1,63 @@ +shortcode-block[name="notice"] .sc-notice { + color: #666; + font-size: 16px; + line-height: 24px; + margin: 8px 8px; + position: relative; +} + +shortcode-block[name="notice"] .sc-notice .sc-notice-wrapper { + padding: 4px 12px; +} + +shortcode-block[name="notice"] .sc-notice .sc-notice-wrapper:before { + color: rgb(255, 255, 255); + content: ""; + font-family: FontAwesome; + left: 10px; + position: absolute; + top: 2px; +} + +shortcode-block[name="notice"] .sc-notice .sc-notice-wrapper:after { + color: #fff; + left: 30px; + position: absolute; + top: 3px; +} + +shortcode-block[name="notice"] .sc-notice-info .sc-notice-wrapper { + border-top: 30px solid #F0B37E; + background: #FFF2DB; +} + +shortcode-block[name="notice"] .sc-notice-warning .sc-notice-wrapper { + border-top: 30px solid #DF6F6C; + background: #FAE2E2; +} + +shortcode-block[name="notice"] .sc-notice-note .sc-notice-wrapper { + border-top: 30px solid #6AB0DE; + background: #E7F2FA; +} + +shortcode-block[name="notice"] .sc-notice-tip .sc-notice-wrapper { + border-top: 30px solid #77C577; + background: #E6F9E6; +} + +shortcode-block[name="notice"] .sc-notice-info .sc-notice-wrapper:after { + content: 'Info'; +} + +shortcode-block[name="notice"] .sc-notice-warning .sc-notice-wrapper:after { + content: 'Warning'; +} + +shortcode-block[name="notice"] .sc-notice-note .sc-notice-wrapper:after { + content: 'Note'; +} + +shortcode-block[name="notice"] .sc-notice-tip .sc-notice-wrapper:after { + content: 'Tip'; +} diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/notice/notice.js b/plugins/shortcode-core/nextgen-editor/shortcodes/notice/notice.js new file mode 100644 index 0000000..00a9601 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/notice/notice.js @@ -0,0 +1,41 @@ +window.nextgenEditor.addShortcode('notice', { + type: 'block', + plugin: 'shortcode-core', + title: 'Notice', + button: { + group: 'shortcode-core', + label: 'Notice', + icon: '', + }, + attributes: { + notice: { + type: String, + title: 'Type', + bbcode: true, + widget: { + type: 'radios', + values: [ + { value: 'info', label: 'Info' }, + { value: 'warning', label: 'Warning' }, + { value: 'note', label: 'Note' }, + { value: 'tip', label: 'Tip' }, + ], + }, + default: 'info', + }, + }, + titlebar({ attributes }) { + const notice = attributes.notice + ? this.attributes.notice.widget.values.find((item) => item.value === attributes.notice) + : ''; + + const type = notice + ? notice.label + : ''; + + return `type: ${type}`; + }, + content({ attributes }) { + return `
{{content_editable}}
`; + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/raw/raw.js b/plugins/shortcode-core/nextgen-editor/shortcodes/raw/raw.js new file mode 100644 index 0000000..bb74c98 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/raw/raw.js @@ -0,0 +1,13 @@ +window.nextgenEditor.addShortcode('raw', { + type: 'block', + plugin: 'shortcode-core', + title: 'Raw', + button: { + group: 'shortcode-core', + label: 'Raw', + icon: '', + }, + content() { + return '{{content_editable}}'; + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/safe-email/safe-email.js b/plugins/shortcode-core/nextgen-editor/shortcodes/safe-email/safe-email.js new file mode 100644 index 0000000..7314813 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/safe-email/safe-email.js @@ -0,0 +1,48 @@ +window.nextgenEditor.addShortcode('safe-email', { + type: 'inline', + plugin: 'shortcode-core', + title: 'Safe Email', + button: { + group: 'shortcode-core', + label: 'Safe Email', + icon: '', + }, + attributes: { + icon: { + type: String, + title: 'Icon', + bbcode: true, + widget: 'input-text', + default: 'grav', + }, + autolink: { + type: String, + title: 'Autolink', + widget: { + type: 'checkbox', + valueType: String, + label: 'Yes', + }, + default: 'false', + }, + }, + content({ attributes }) { + let output = ''; + + if (attributes.autolink === 'true') { + output += ''; + } + + if (attributes.icon) { + output += ``; + } + + output += '{{content_editable}}'; + + if (attributes.autolink === 'true') { + output += ''; + } + + return output; + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/section/section.js b/plugins/shortcode-core/nextgen-editor/shortcodes/section/section.js new file mode 100644 index 0000000..f8d5262 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/section/section.js @@ -0,0 +1,26 @@ +window.nextgenEditor.addShortcode('section', { + type: 'block', + plugin: 'shortcode-core', + title: 'Section', + button: { + group: 'shortcode-core', + label: 'Section', + icon: '', + }, + attributes: { + name: { + type: String, + title: 'Name', + widget: 'input-text', + default: '', + }, + }, + titlebar({ attributes }) { + return attributes.name + ? `name: ${attributes.name}` + : ''; + }, + content() { + return '{{content_editable}}'; + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/shortcode-core.js b/plugins/shortcode-core/nextgen-editor/shortcodes/shortcode-core.js new file mode 100644 index 0000000..0419893 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/shortcode-core.js @@ -0,0 +1,10 @@ +window.nextgenEditor.addHook('hookInit', () => { + window.nextgenEditor.addShortcodePlugin('shortcode-core', { + title: 'Shortcode Core', + }); + + window.nextgenEditor.addButtonGroup('shortcode-core', { + icon: '', + label: 'Shortcode Core', + }); +}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/size/size.js b/plugins/shortcode-core/nextgen-editor/shortcodes/size/size.js new file mode 100644 index 0000000..6f4fd90 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/size/size.js @@ -0,0 +1,26 @@ +window.nextgenEditor.addShortcode('size', { + type: 'inline', + plugin: 'shortcode-core', + title: 'Font Size', + button: { + group: 'shortcode-core', + label: 'Font Size', + icon: '', + }, + attributes: { + size: { + type: String, + title: 'Size', + bbcode: true, + widget: 'input-text', + default: '14', + }, + }, + content({ attributes }) { + const size = !Number.isNaN(+attributes.size) + ? `${attributes.size}px` + : attributes.size; + + return `{{content_editable}}`; + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/span/span.js b/plugins/shortcode-core/nextgen-editor/shortcodes/span/span.js new file mode 100644 index 0000000..2e8dd8e --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/span/span.js @@ -0,0 +1,37 @@ +window.nextgenEditor.addShortcode('span', { + type: 'inline', + plugin: 'shortcode-core', + title: 'Span', + button: { + group: 'shortcode-core', + label: 'Span', + icon: '', + }, + attributes: { + id: { + type: String, + title: 'ID', + widget: 'input-text', + default: '', + }, + class: { + type: String, + title: 'Class', + widget: 'input-text', + default: '', + }, + style: { + type: String, + title: 'Style', + widget: 'input-text', + default: '', + }, + }, + content({ attributes }) { + const id = attributes.id || ''; + const cclass = attributes.class || ''; + const style = attributes.style || ''; + + return `{{content_editable}}`; + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/shortcodes/u/u.js b/plugins/shortcode-core/nextgen-editor/shortcodes/u/u.js new file mode 100644 index 0000000..7a2c62e --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/shortcodes/u/u.js @@ -0,0 +1,13 @@ +window.nextgenEditor.addShortcode('u', { + type: 'inline', + plugin: 'shortcode-core', + title: 'Underline', + button: { + group: 'shortcode-core', + label: 'Underline', + icon: '', + }, + content() { + return '{{content_editable}}'; + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/src/collapse.js b/plugins/shortcode-core/nextgen-editor/src/collapse.js new file mode 100644 index 0000000..eb55bdd --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/src/collapse.js @@ -0,0 +1,30 @@ +export default function collapse(input) { + let output = input; + + output = output.replace(/
((((?!(<\/figure>)).)|\n)*)<\/figure>/gm, '$1'); + + const domOutput = new DOMParser().parseFromString(output, 'text/html'); + + [...domOutput.querySelectorAll('shortcode-block, shortcode-inline')].forEach((domShortcode) => { + domShortcode.setAttribute('sc-rendered', false); + }); + + let domShortcode = domOutput.querySelector('shortcode-block[sc-rendered], shortcode-inline[sc-rendered]'); + + while (domShortcode) { + const name = domShortcode.getAttribute('name'); + const shortcode = window.nextgenEditor.shortcodes[name]; + + domShortcode.removeAttribute('class'); + domShortcode.removeAttribute('sc-rendered'); + + const domInnerContent = domShortcode.querySelector(`shortcode-${shortcode.type}-editable, shortcode-${shortcode.type}-readonly`); + domShortcode.innerHTML = (domInnerContent && domInnerContent.innerHTML) || ''; + + domShortcode = domOutput.querySelector('shortcode-block[sc-rendered], shortcode-inline[sc-rendered]'); + } + + output = domOutput.body.innerHTML; + + return output; +} diff --git a/plugins/shortcode-core/nextgen-editor/src/command.js b/plugins/shortcode-core/nextgen-editor/src/command.js new file mode 100644 index 0000000..90ea4c2 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/src/command.js @@ -0,0 +1,153 @@ +import collapse from './collapse'; +import uncollapse from './uncollapse'; + +const Command = window.nextgenEditor.classes.core.command.class; + +window.nextgenEditor.addPlugin('GravShortcodeCoreCommand', { + init() { + Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => { + const commandName = `shortcode_${shortcode.name}`; + + class GravShortcodeCoreCommand extends Command { + execute(args) { + this.editor.model.change((modelWriter) => { + let dataShortcode = ''; + const argsForUncollapse = {}; + + const wrapOnInsert = !shortcode.child && !shortcode.parent + ? shortcode.wrapOnInsert !== undefined + ? shortcode.wrapOnInsert + : true + : false; + + const selectedBlocks = [...this.editor.model.document.selection.getSelectedBlocks()]; + const selectedItems = [...this.editor.model.document.selection.getFirstRange().getItems({ shallow: true })]; + + const firstSelectedBlock = selectedBlocks[0]; + const firstBlockSelectedItems = selectedItems.filter((item) => item.parent === firstSelectedBlock); + + const attributes = Object.keys(shortcode.attributes).reduce((acc, attrName) => { + acc[attrName] = shortcode.attributes[attrName].default.value; + return acc; + }, {}); + + dataShortcode += ``; + + if (wrapOnInsert) { + if (shortcode.type === 'block') { + const modelSelectedBlocks = modelWriter.createDocumentFragment(); + selectedBlocks.forEach((block) => modelWriter.append(modelWriter.cloneElement(block), modelSelectedBlocks)); + + const viewSelectedBlocks = this.editor.data.toView(modelSelectedBlocks); + const dataSelectedBlocks = this.editor.data.processor.toData(viewSelectedBlocks); + + dataShortcode += collapse(dataSelectedBlocks); + } + + if (shortcode.type === 'inline') { + const modelSelectedBlocks = modelWriter.createDocumentFragment(); + + firstBlockSelectedItems.forEach((item) => { + const block = item.textNode + ? modelWriter.createText(item.data) + : modelWriter.cloneElement(item); + + modelWriter.append(block, modelSelectedBlocks); + }); + + const viewSelectedBlocks = this.editor.data.toView(modelSelectedBlocks); + const dataSelectedBlocks = this.editor.data.processor.toData(viewSelectedBlocks); + + dataShortcode += collapse(dataSelectedBlocks); + } + } + + if (shortcode.parent) { + dataShortcode += '

 

'; + } + + dataShortcode += `
`; + + if (shortcode.parent) { + if (args && args.modelParentShortcode) { + argsForUncollapse.parentAttributes = JSON.parse(decodeURIComponent(args.modelParentShortcode.getAttribute('attributes'))); + } + } + + dataShortcode = uncollapse(dataShortcode, argsForUncollapse); + + const convertContext = shortcode.type === 'inline' + ? '$block' + : '$root'; + + const viewShortcode = this.editor.data.processor.toView(dataShortcode).getChild(0); + const modelShortcode = this.editor.data.toModel(viewShortcode, convertContext).getChild(0); + + let insertPosition = modelWriter.createPositionAt(this.editor.model.document.getRoot(), 0); + + if (!args || !args.insertPosition) { + if (shortcode.type === 'block') { + const firstBlock = selectedBlocks[0]; + const lastBlock = selectedBlocks[selectedBlocks.length - 1]; + + if (wrapOnInsert) { + insertPosition = modelWriter.createPositionBefore(firstBlock); + + modelWriter.remove( + modelWriter.createRange( + modelWriter.createPositionBefore(firstBlock), + modelWriter.createPositionAfter(lastBlock), + ), + ); + } else { + insertPosition = modelWriter.createPositionAfter(lastBlock); + + if (lastBlock && lastBlock.name === 'paragraph' && lastBlock.childCount === 0) { + insertPosition = modelWriter.createPositionBefore(lastBlock); + modelWriter.remove(lastBlock); + } + } + } + + if (shortcode.type === 'inline') { + const firstItem = firstBlockSelectedItems.length + ? firstBlockSelectedItems[0] + : null; + + const lastItem = firstBlockSelectedItems.length + ? firstBlockSelectedItems[firstBlockSelectedItems.length - 1] + : null; + + if (wrapOnInsert) { + insertPosition = firstItem + ? modelWriter.createPositionBefore(firstItem) + : this.editor.model.document.selection.getFirstPosition(); + + if (firstItem) { + modelWriter.remove( + modelWriter.createRange( + modelWriter.createPositionBefore(firstItem), + modelWriter.createPositionAfter(lastItem), + ), + ); + } + } else { + insertPosition = lastItem + ? modelWriter.createPositionAfter(lastItem) + : this.editor.model.document.selection.getFirstPosition(); + } + } + } else { + insertPosition = args.insertPosition; + } + + modelWriter.insert(modelShortcode, insertPosition); + modelWriter.setSelection(modelShortcode, 'on'); + }); + } + } + + this.editor.commands.add(commandName, new GravShortcodeCoreCommand(this.editor)); + }); + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/src/converters.js b/plugins/shortcode-core/nextgen-editor/src/converters.js new file mode 100644 index 0000000..4d6d3a3 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/src/converters.js @@ -0,0 +1,150 @@ +const Widget = window.nextgenEditor.classes.widget.class; +const { toWidget, toWidgetEditable } = window.nextgenEditor.classes.widget.utils; + +window.nextgenEditor.addPlugin('GravShortcodeCoreConvertersBlock', { + requires: [Widget], + init() { + this.editor.model.schema.register('shortcode-block', { + isBlock: true, + isObject: true, + allowWhere: '$block', + allowContentOf: '$root', + allowAttributes: [ + 'name', + 'attributes', + 'class', + ], + }); + + this.editor.conversion.for('upcast').elementToElement({ + view: 'shortcode-block', + model(viewElement, { writer }) { + return writer.createElement('shortcode-block', viewElement.getAttributes()); + }, + }); + + this.editor.conversion.for('dataDowncast').elementToElement({ + model: 'shortcode-block', + view(modelElement, { writer }) { + return writer.createContainerElement('shortcode-block', modelElement.getAttributes()); + }, + }); + + this.editor.conversion.for('editingDowncast').elementToElement({ + model: 'shortcode-block', + view(modelElement, { writer }) { + const container = writer.createContainerElement('shortcode-block', modelElement.getAttributes()); + return toWidget(container, writer); + }, + }); + + this.editor.model.schema.register('shortcode-block-editable', { + isLimit: true, + allowWhere: '$block', + allowContentOf: '$root', + }); + + this.editor.conversion.for('upcast').elementToElement({ + view: 'shortcode-block-editable', + model: 'shortcode-block-editable', + }); + + this.editor.conversion.for('dataDowncast').elementToElement({ + model: 'shortcode-block-editable', + view: 'shortcode-block-editable', + }); + + this.editor.conversion.for('editingDowncast').elementToElement({ + model: 'shortcode-block-editable', + view(modelElement, { writer }) { + const container = writer.createEditableElement('shortcode-block-editable', modelElement.getAttributes()); + return toWidgetEditable(container, writer); + }, + }); + + this.editor.model.schema.register('shortcode-block-readonly', { + isLimit: true, + allowWhere: '$block', + allowContentOf: '$root', + }); + + this.editor.conversion.elementToElement({ + view: 'shortcode-block-readonly', + model: 'shortcode-block-readonly', + }); + }, +}); + +window.nextgenEditor.addPlugin('GravShortcodeCoreConvertersInline', { + requires: [Widget], + init() { + this.editor.model.schema.register('shortcode-inline', { + isObject: true, + isInline: true, + allowWhere: '$text', + allowContentOf: '$block', + allowAttributes: [ + 'name', + 'attributes', + 'class', + ], + }); + + this.editor.conversion.for('upcast').elementToElement({ + view: 'shortcode-inline', + model(viewElement, { writer }) { + return writer.createElement('shortcode-inline', viewElement.getAttributes()); + }, + }); + + this.editor.conversion.for('dataDowncast').elementToElement({ + model: 'shortcode-inline', + view(modelElement, { writer }) { + return writer.createContainerElement('shortcode-inline', modelElement.getAttributes()); + }, + }); + + this.editor.conversion.for('editingDowncast').elementToElement({ + model: 'shortcode-inline', + view(modelElement, { writer }) { + const container = writer.createContainerElement('shortcode-inline', modelElement.getAttributes()); + return toWidget(container, writer); + }, + }); + + this.editor.model.schema.register('shortcode-inline-editable', { + isLimit: true, + allowWhere: '$text', + allowContentOf: '$block', + }); + + this.editor.conversion.for('upcast').elementToElement({ + view: 'shortcode-inline-editable', + model: 'shortcode-inline-editable', + }); + + this.editor.conversion.for('dataDowncast').elementToElement({ + model: 'shortcode-inline-editable', + view: 'shortcode-inline-editable', + }); + + this.editor.conversion.for('editingDowncast').elementToElement({ + model: 'shortcode-inline-editable', + view(modelElement, { writer }) { + const container = writer.createEditableElement('shortcode-inline-editable', modelElement.getAttributes()); + return toWidgetEditable(container, writer); + }, + }); + + this.editor.model.schema.register('shortcode-inline-readonly', { + isLimit: true, + allowWhere: '$text', + allowContentOf: '$block', + }); + + this.editor.conversion.elementToElement({ + view: 'shortcode-inline-readonly', + model: 'shortcode-inline-readonly', + }); + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/src/events.js b/plugins/shortcode-core/nextgen-editor/src/events.js new file mode 100644 index 0000000..6b4fdaf --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/src/events.js @@ -0,0 +1,86 @@ +import displaySettings from './settings'; + +window.scDisplaySettings = function scDisplaySettings() { + const domShortcode = this.closest('shortcode-block, shortcode-inline'); + + if (domShortcode) { + displaySettings(domShortcode); + } +}; + +window.scBlockAddChildFromParent = function scBlockAddChildFromParent() { + const { editors } = window.nextgenEditor; + + const domShortcode = this.parentNode; + const editor = (editors.filter((instance) => instance.ui.view.element.contains(domShortcode)) || []).shift(); + + const name = domShortcode.getAttribute('name'); + const shortcode = window.nextgenEditor.shortcodes[name]; + + if (editor) { + const viewShortcode = editor.editing.view.domConverter.mapDomToView(domShortcode); + const modelShortcode = editor.editing.mapper.toModelElement(viewShortcode); + + const domShortcodeBlockReadOnly = domShortcode.querySelector('shortcode-block-readonly'); + const viewShortcodeBlockReadOnly = editor.editing.view.domConverter.mapDomToView(domShortcodeBlockReadOnly); + const modelShortcodeBlockReadOnly = editor.editing.mapper.toModelElement(viewShortcodeBlockReadOnly); + + editor.model.change((modelWriter) => { + const insertPosition = modelWriter.createPositionAt(modelShortcodeBlockReadOnly, 0); + editor.execute(`shortcode_${shortcode.child.name}`, { insertPosition, modelParentShortcode: modelShortcode }); + + domShortcode.querySelector('.sc-add-child').classList.remove('sc-visible'); + }); + } +}; + +window.scBlockAddChild = function scBlockAddChild(event, where) { + const { editors } = window.nextgenEditor; + + const domShortcode = this.parentNode; + const editor = (editors.filter((instance) => instance.ui.view.element.contains(domShortcode)) || []).shift(); + + const name = domShortcode.getAttribute('name'); + const shortcode = window.nextgenEditor.shortcodes[name]; + + if (editor) { + const viewShortcode = editor.editing.view.domConverter.mapDomToView(domShortcode); + const modelShortcode = editor.editing.mapper.toModelElement(viewShortcode); + + editor.model.change((modelWriter) => { + let modelParentShortcode = modelShortcode.parent; + const insertPosition = modelWriter.createPositionAt(modelShortcode, where); + + while (modelParentShortcode && modelParentShortcode.name !== 'shortcode-block') { + modelParentShortcode = modelParentShortcode.parent; + } + + if (modelParentShortcode) { + editor.execute(`shortcode_${shortcode.name}`, { insertPosition, modelParentShortcode }); + } + }); + } +}; + +window.scBlockMoveChild = function scBlockMove(event, where) { + const { editors } = window.nextgenEditor; + + const domShortcode = this.parentNode; + const editor = (editors.filter((instance) => instance.ui.view.element.contains(domShortcode)) || []).shift(); + + if (editor) { + const viewShortcode = editor.editing.view.domConverter.mapDomToView(domShortcode); + const modelShortcode = editor.editing.mapper.toModelElement(viewShortcode); + + const domSiblingShortcode = where === 'up' + ? domShortcode.previousSibling + : domShortcode.nextSibling; + + const viewSiblingShortcode = editor.editing.view.domConverter.mapDomToView(domSiblingShortcode); + const modelSiblingShortcode = editor.editing.mapper.toModelElement(viewSiblingShortcode); + + editor.model.change((modelWriter) => { + modelWriter.move(modelWriter.createRangeOn(modelShortcode), modelSiblingShortcode, where === 'up' ? 'before' : 'after'); + }); + } +}; diff --git a/plugins/shortcode-core/nextgen-editor/src/init.js b/plugins/shortcode-core/nextgen-editor/src/init.js new file mode 100644 index 0000000..50c2e25 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/src/init.js @@ -0,0 +1,45 @@ +window.nextgenEditor.addHook('hookInit', () => { + Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => { + shortcode.attributes = shortcode.attributes || {}; + + if (!shortcode.button) { + shortcode.button = { label: shortcode.title }; + } + + Object.values(shortcode.attributes).forEach((attribute) => { + if (attribute.default === undefined) { + attribute.default = ''; + } + if (typeof attribute.default !== 'object') { + attribute.default = { value: attribute.default }; + } + if (attribute.shorthand === undefined) { + attribute.shorthand = true; + } + }); + + if (shortcode.type === 'block' && !shortcode.titlebar) { + shortcode.titlebar = () => ''; + } + if (!shortcode.content) { + shortcode.content = () => ''; + } + + if (shortcode.preserve) { + if (shortcode.preserve.block) { + window.nextgenEditor.addVariable('preserveBlockTags', shortcode.preserve.block); + } + + if (shortcode.preserve.inline) { + window.nextgenEditor.addVariable('preserveInlineTags', shortcode.preserve.inline); + } + } + + if (!shortcode.parent) { + window.nextgenEditor.addButton(`shortcode_${shortcode.name}`, { + command: `shortcode_${shortcode.name}`, + ...shortcode.button, + }); + } + }); +}); diff --git a/plugins/shortcode-core/nextgen-editor/src/main.css b/plugins/shortcode-core/nextgen-editor/src/main.css new file mode 100644 index 0000000..9639e2f --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/src/main.css @@ -0,0 +1,278 @@ +shortcode-block { + background: #fff; + border: 1px solid #ccc; + display: block; + margin: 16px 0; +} + +#admin-main .ck.ck-editor__editable_inline > :first-child { + margin-top: 16px; +} +#admin-main .ck.ck-editor__editable_inline > :last-child { + margin-bottom: 16px; +} + +#admin-main .ck-editor shortcode-block.ck-shortcode-child:hover { + outline-color: #1f89e5; +} + +#admin-main .ck-editor shortcode-block > .sc-header > .sc-title > p, +#admin-main .ck-editor shortcode-block > .sc-header > .sc-titlebar > p, +#admin-main .ck-editor shortcode-block > .sc-header > .sc-settings > p, +#admin-main .ck-editor shortcode-block > .sc-add > p, +#admin-main .ck-editor shortcode-block > .sc-move > p { + margin: 0; +} + +shortcode-block > .sc-header { + align-items: center; + border-bottom: 1px solid #ccc; + display: flex; + font-size: 14px; + line-height: 1.5; + padding: 8px 8px; +} + +shortcode-block > .sc-header > .sc-title > p > .sc-value { + font-weight: 700; +} + +shortcode-block > .sc-header > .sc-titlebar { + margin-left: 24px; +} + +shortcode-block > .sc-header > .sc-settings { + color: #ffc83d; + cursor: pointer; + font-size: 0; + line-height: 0; + margin-left: auto; + opacity: 0; + transition: opacity .2s ease, color .2s ease; +} + +shortcode-block > .sc-header > .sc-settings:hover, +shortcode-block.ck-shortcode-child > .sc-header > .sc-settings, +shortcode-block.ck-widget_selected > .sc-header > .sc-settings { + color: #1f89e5; +} + +shortcode-block.ck-widget_selected > .sc-header > .sc-settings:hover, +shortcode-block.ck-shortcode-child > .sc-header > .sc-settings:hover { + opacity: .5 +} + +shortcode-block:hover > .sc-header > .sc-settings, +shortcode-block.ck-widget_selected > .sc-header > .sc-settings { + opacity: 1; +} + +shortcode-block > .sc-header > .sc-settings > p > svg { + height: 24px; + width: 24px; +} + +shortcode-block-editable, +shortcode-block-readonly { + display: block; + padding: 0 8px; +} + +shortcode-block-readonly > [data-cke-filler] { + display: none; +} + +#admin-main .ck-editor shortcode-block-editable > :first-child { + margin-top: 14px; +} + +#admin-main .ck-editor shortcode-block.ck-shortcode-child .ck-widget__type-around__button_after, +#admin-main .ck-editor shortcode-block.ck-shortcode-child .ck-widget__type-around__button_before { + display: none; +} + +shortcode-block > .sc-add-child { + align-items: center; + display: none; + justify-content: center; + margin: 16px 0; + opacity: 0; + transition: opacity .2s ease; +} + +shortcode-block > .sc-add-child.sc-visible { + display: flex; +} + +shortcode-block:hover > .sc-add-child, +shortcode-block.ck-widget_selected > .sc-add-child { + opacity: 1; + z-index: 1; +} + +shortcode-block > .sc-add-child > p { + align-items: center; + background: #ffc83d; + border-radius: 50%; + cursor: pointer; + display: flex; + height: 24px; + justify-content: center; + margin: 0!important; + transition: opacity .2s ease, background .2s ease; + width: 24px; +} + +shortcode-block > .sc-add-child > p:hover, +shortcode-block.ck-widget_selected > .sc-add-child > p { + background: #1f89e5; +} + +shortcode-block.ck-widget_selected > .sc-add-child > p:hover { + opacity: .5; +} + +shortcode-block > .sc-add-child > p > svg { + color: #fff; + height: 20px; + transition: opacity .2s ease; + width: 20px; +} + +shortcode-block > .sc-add { + left: 30px; + opacity: 0; + position: absolute; + transition: opacity .2s ease; + top: -12px; +} + +shortcode-block > .sc-add-after { + bottom: -11px; + left: auto; + right: 30px; + top: auto; +} + +shortcode-block:hover > .sc-add { + opacity: 1; + z-index: 1; +} + +shortcode-block > .sc-add > p { + align-items: center; + background: #1f89e5; + border-radius: 50%; + cursor: pointer; + display: flex; + height: 20px; + justify-content: center; + width: 20px; +} + +shortcode-block > .sc-add > p > svg { + color: #fff; + height: 16px; + transition: opacity .2s ease; + width: 16px; +} + +shortcode-block > .sc-add:hover > p > svg { + opacity: .5; +} + +shortcode-block > .sc-move { + background: #1f89e5; + border-radius: 50%; + cursor: pointer; + height: 20px; + opacity: 0; + position: absolute; + right: -12px; + transition: opacity .2s ease; + width: 20px; + top: 46px; +} + +shortcode-block > .sc-move-up { + transform: rotate(180deg); +} + +shortcode-block:first-child > .sc-move-up, +shortcode-block:last-child > .sc-move-down { + display: none; +} + +shortcode-block > .sc-move-down { + bottom: 4px; + left: auto; + top: auto; +} + +shortcode-block:hover > .sc-move { + opacity: 1; + z-index: 1; +} + +shortcode-block > .sc-move > p > svg { + color: #fff; + height: 20px; + left: 1.5px; + position: absolute; + top: 2px; + transition: opacity .2s ease; + width: 20px; +} + +shortcode-block > .sc-move:hover > p > svg { + opacity: .5; +} + +shortcode-inline { + background: #fff; + border: 1px solid #ccc; + display: inline-flex; + margin-left: 2px; + margin-right: 1px; + vertical-align: middle; +} + +shortcode-inline-editable, +shortcode-inline-readonly { + display: inline; + padding: 1px 4px 2px; +} + +shortcode-inline > .sc-content { + display: inline-flex; + align-items: center; +} + +shortcode-inline > .sc-settings { + align-items: center; + border-left: 1px solid #ccc; + cursor: pointer; + display: inline-flex; + font-size: 0; + line-height: 0; + padding: 0 2px; + transition: opacity .2s ease, color .2s ease; +} + +shortcode-inline:hover > .sc-settings { + color: #ffc83d; +} + +shortcode-inline > .sc-settings:hover, +shortcode-inline.ck-widget_selected > .sc-settings { + color: #1f89e5; +} + +shortcode-inline.ck-widget_selected > .sc-settings:hover { + opacity: .5; +} + +shortcode-inline > .sc-settings > svg { + height: 16px; + width: 16px; +} diff --git a/plugins/shortcode-core/nextgen-editor/src/main.js b/plugins/shortcode-core/nextgen-editor/src/main.js new file mode 100644 index 0000000..2dbae9c --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/src/main.js @@ -0,0 +1,10 @@ +import './command'; +import './converters'; +import './events'; +import './init'; +import './prerender'; +import './postsave'; +import './remove'; +import './render'; +import './save'; +import './main.css'; diff --git a/plugins/shortcode-core/nextgen-editor/src/postsave.js b/plugins/shortcode-core/nextgen-editor/src/postsave.js new file mode 100644 index 0000000..5b54050 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/src/postsave.js @@ -0,0 +1,95 @@ +window.nextgenEditor.addHook('hookHTMLtoMarkdown', { + weight: 50, + handler(options, editor, input) { + let output = input; + + const realNames = Object.values(window.nextgenEditor.shortcodes).map((shortcode) => shortcode.realName) + .filter((value, index, self) => self.indexOf(value) === index); + + const openingRegexp = realNames + .map((name) => `(\\[${name}[^\\]]*\\])`).join('|'); + + const hashMap = {}; + let shortcodeCounter = 1; + + while (shortcodeCounter > 0) { + shortcodeCounter = 0; + + // eslint-disable-next-line no-loop-func + Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => { + const regexp = `(?\\[${shortcode.realName}[^\\]]*\\])(?(((?!(${openingRegexp}|(\\[\\/${shortcode.realName}\\]))).)|\\n)*)(?\\[\\/${shortcode.realName}\\])`; + + output = output.replace(new RegExp(regexp, 'g'), (...matches) => { + shortcodeCounter += 1; + + const hash = Math.random().toString(36).slice(2); + hashMap[hash] = { shortcode, matches }; + + if (shortcode.child) { + const childName = shortcode.child.realName; + + Object.keys(hashMap).forEach((childHash) => { + const childShortcode = hashMap[childHash].shortcode; + + if (childShortcode === shortcode.child && childShortcode.name !== `${shortcode.realName}_${childName}` && matches[0].includes(childHash)) { + hashMap[childHash].shortcode = window.nextgenEditor.shortcodes[`${shortcode.realName}_${childName}`]; + } + }); + } + + return hash; + }); + }); + } + + shortcodeCounter = 1; + + while (shortcodeCounter > 0) { + shortcodeCounter = 0; + + // eslint-disable-next-line no-loop-func + Object.keys(hashMap).forEach((hash) => { + if (!output.includes(hash)) { + return; + } + + shortcodeCounter += 1; + + const { shortcode, matches } = hashMap[hash]; + const groups = matches.pop(); + + if (shortcode.type === 'block') { + let content = groups.content.replace(/^\n/, '').replace(/\n$/, ''); + + if (shortcode.child) { + content = content.trim().split('\n').filter((line) => !!line).join('\n'); + content = `\n${content}\n`; + } + + if (shortcode.parent) { + content = `\n${content}\n`; + } + + output = output.replace(hash, `${groups.opening}${content}${groups.closing}`); + } + + if (shortcode.type === 'inline') { + output = output.replace(hash, matches[0]); + } + }); + } + + /* + Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => { + const regexp = `(?\\[${shortcode.realName}[^\\]]*\\])\n(?(((?!(${openingRegexp}|(\\[\\/${shortcode.realName}\\]))).))*)\n(?\\[\\/${shortcode.realName}\\])`; + + output = output.replace(new RegExp(regexp, 'g'), (...matches) => { + const groups = matches.pop(); + return `${groups.opening}${groups.content}${groups.closing}`; + }); + }); + */ + + return output; + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/src/prerender.js b/plugins/shortcode-core/nextgen-editor/src/prerender.js new file mode 100644 index 0000000..1f79025 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/src/prerender.js @@ -0,0 +1,100 @@ +window.nextgenEditor.addHook('hookMarkdowntoHTML', { + weight: -50, + handler(options, input) { + let output = input; + + const realNames = Object.values(window.nextgenEditor.shortcodes).map((shortcode) => shortcode.realName) + .filter((value, index, self) => self.indexOf(value) === index); + + const openingRegexp = realNames + .map((name) => `(\\[${name}[^\\]]*\\])`).join('|'); + + realNames.forEach((name) => { + const regexp = `\\[${name}(?(=| +).+?(?=/]))?\\/\\]`; + + output = output.replace(new RegExp(regexp, 'g'), (...matches) => { + const groups = matches.pop(); + + const attributes = groups.attributes.trim() + ? `${groups.attributes}` + : ''; + + return `[${name}${attributes}][/${name}]`; + }); + }); + + const hashMap = {}; + let shortcodeCounter = 1; + + while (shortcodeCounter > 0) { + shortcodeCounter = 0; + + // eslint-disable-next-line no-loop-func + Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => { + const regexp = `(? *)\\[${shortcode.realName}(?(=| +)[^\\]]*)?\\](?(((?!(${openingRegexp}|(\\[\\/${shortcode.realName}\\]))).)|\\n)*)\\[\\/${shortcode.realName}\\](? *)`; + + output = output.replace(new RegExp(regexp, 'g'), (...matches) => { + shortcodeCounter += 1; + + const hash = Math.random().toString(36).slice(2); + hashMap[hash] = { shortcode, matches }; + + if (shortcode.child) { + const childName = shortcode.child.realName; + + Object.keys(hashMap).forEach((childHash) => { + const childShortcode = hashMap[childHash].shortcode; + + if (childShortcode === shortcode.child && childShortcode.name !== `${shortcode.realName}_${childName}` && matches[0].includes(childHash)) { + hashMap[childHash].shortcode = window.nextgenEditor.shortcodes[`${shortcode.realName}_${childName}`]; + } + }); + } + + return hash; + }); + }); + } + + shortcodeCounter = 1; + + while (shortcodeCounter > 0) { + shortcodeCounter = 0; + + // eslint-disable-next-line no-loop-func + Object.keys(hashMap).forEach((hash) => { + if (!output.includes(hash)) { + return; + } + + shortcodeCounter += 1; + + const { shortcode, matches } = hashMap[hash]; + const groups = matches.pop(); + + const spacesBefore = groups.spaces_before.replace(/ /g, ' '); + const spacesAfter = groups.spaces_after.replace(/ /g, ' '); + + if (shortcode.type === 'block') { + let content = groups.content.trim(); + + if (groups.spaces_before.length) { + content = content.replace(new RegExp(`^( ){${groups.spaces_before.length}}`, 'gm'), ''); + } + + const replacement = `\n\n[${shortcode.name}${groups.attributes || ''}]\n\n${content}\n\n[/${shortcode.name}]\n\n`; + + output = output.replace(new RegExp(`(\\n)?(\\n)?${hash}(\\n)?(\\n)?`), replacement); + } + + if (shortcode.type === 'inline') { + output = output.replace(hash, `${spacesBefore}[${shortcode.name}${groups.attributes || ''}]${groups.content}[/${shortcode.name}]${spacesAfter}`); + } + }); + } + + output = output.replace(/^\n\n/, '').replace(/\n\n$/, ''); + + return output; + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/src/remove.js b/plugins/shortcode-core/nextgen-editor/src/remove.js new file mode 100644 index 0000000..8ff78ce --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/src/remove.js @@ -0,0 +1,55 @@ +window.nextgenEditor.addPlugin('GravShortcodeCoreRemove', { + init() { + const deleteBackwardCommand = this.editor.commands.get('delete'); + const deleteForwardCommand = this.editor.commands.get('forwardDelete'); + + const preDelete = (event) => { + const selectedElement = this.editor.model.document.selection.getSelectedElement(); + + if (selectedElement && selectedElement.name === 'shortcode-block') { + const name = selectedElement.getAttribute('name'); + const shortcode = window.nextgenEditor.shortcodes[name]; + + if (shortcode.parent) { + const viewShortcode = this.editor.editing.mapper.toViewElement(selectedElement); + const domShortcode = this.editor.editing.view.domConverter.mapViewToDom(viewShortcode); + const domParentShortcode = domShortcode.closest(`shortcode-block[name="${shortcode.parent.name}"]`); + + event.childShortcodeDeleted = true; + event.modelShortcodeBlockReadOnly = selectedElement.parent; + event.domParentShortcode = domParentShortcode; + } + } + }; + + const postDelete = (event) => { + if (event.childShortcodeDeleted) { + const { domParentShortcode, modelShortcodeBlockReadOnly } = event; + + const children = [...modelShortcodeBlockReadOnly.getChildren()]; + const scChildren = children.filter((child) => child.name === 'shortcode-block'); + const otherChildren = children.filter((child) => child.name !== 'shortcode-block'); + + setTimeout(() => { + this.editor.model.change((modelWriter) => { + otherChildren.forEach((modelChild) => { + if (modelChild.name === 'paragraph' && modelChild.childCount === 0) { + modelWriter.remove(modelChild); + } + }); + }); + }); + + if (!scChildren.length) { + domParentShortcode.querySelector('shortcode-block > .sc-add-child').classList.add('sc-visible'); + } + } + }; + + deleteBackwardCommand.on('execute', preDelete, { priority: 'highest' }); + deleteForwardCommand.on('execute', preDelete, { priority: 'highest' }); + + deleteBackwardCommand.on('execute', postDelete, { priority: 'lowest' }); + deleteForwardCommand.on('execute', postDelete, { priority: 'lowest' }); + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/src/render.js b/plugins/shortcode-core/nextgen-editor/src/render.js new file mode 100644 index 0000000..82a6a78 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/src/render.js @@ -0,0 +1,95 @@ +import uncollapse from './uncollapse'; + +window.nextgenEditor.addHook('hookMarkdowntoHTML', { + weight: 50, + handler(options, input) { + let output = input; + + let shortcodeCounter = 1; + const openingRegexp = Object.keys(window.nextgenEditor.shortcodes).map((name) => `(\\[${name}[^\\]]*\\])`).join('|'); + + while (shortcodeCounter > 0) { + shortcodeCounter = 0; + + // eslint-disable-next-line no-loop-func + Object.values(window.nextgenEditor.shortcodes).forEach((shortcode) => { + const regexp = `(?

)?\\[${shortcode.name}(?(=| +)[^\\]]*)?\\](<\\/p>)?(?(((?!(${openingRegexp}|(\\[\\/${shortcode.name}\\]))).)|\\n)*)\\[\\/${shortcode.name}\\](?<\\/p>)?`; + + output = output.replace(new RegExp(regexp, 'g'), (...matches) => { + shortcodeCounter += 1; + + const groups = matches.pop(); + + let content = shortcode.type === 'block' + ? groups.content.replace(/

$/, '') + : groups.content; + + const bbcode = Object.keys(shortcode.attributes).reduce((acc, attrName) => acc || (shortcode.attributes[attrName].bbcode && shortcode.attributes[attrName].shorthand && attrName), ''); + const innerHTMLAttribute = Object.keys(shortcode.attributes).reduce((acc, attrName) => acc || (shortcode.attributes[attrName].innerHTML && attrName), ''); + + let attrGroup = bbcode && groups.attributes && groups.attributes.startsWith('=') + ? `${bbcode}${groups.attributes}` + : groups.attributes || ''; + + if (innerHTMLAttribute) { + const innerHTML = shortcode.type === 'block' + ? content.replace(/^

/, '').replace(/<\/p>$/, '').replace(/^ $/, '') + : content.replace(/^ $/, ''); + + attrGroup = attrGroup + ? `${attrGroup} ${innerHTMLAttribute}="${innerHTML}"` + : `${innerHTMLAttribute}="${innerHTML}"`; + + content = ''; + } + + const domAttributes = new DOMParser().parseFromString(`

`, 'text/html').body.firstChild.attributes; + + const attributes = Object.keys(shortcode.attributes).reduce((acc, attrName) => { + const attribute = shortcode.attributes[attrName]; + + let attrValue = domAttributes.getNamedItem(attrName) + ? domAttributes.getNamedItem(attrName).value + : attribute.default.value; + + if (attribute.type === Boolean && domAttributes.getNamedItem(attrName)) { + attrValue = domAttributes.getNamedItem(attrName) !== 'false'; + } + + if (attribute.type === Number) { + attrValue = +attrValue; + } + + acc[attrName] = attrValue; + + return acc; + }, {}); + + let replacement = ''; + + const attributesEncoded = encodeURIComponent(JSON.stringify(attributes)); + + if (shortcode.type === 'block') { + replacement += ``; + replacement += content; + replacement += ''; + } + + if (shortcode.type === 'inline') { + replacement += groups.p1 || ''; + replacement += ``; + replacement += content; + replacement += ''; + replacement += groups.p2 || ''; + } + + return replacement; + }); + }); + } + + output = uncollapse(output); + + return output; + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/src/save.js b/plugins/shortcode-core/nextgen-editor/src/save.js new file mode 100644 index 0000000..a8b0ba4 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/src/save.js @@ -0,0 +1,80 @@ +import collapse from './collapse'; + +window.nextgenEditor.addHook('hookHTMLtoMarkdown', { + weight: -50, + handler(options, editor, input) { + let output = input; + + output = collapse(output); + + const domOutput = new DOMParser().parseFromString(output, 'text/html'); + + let domShortcode = domOutput.querySelector('shortcode-block, shortcode-inline'); + + while (domShortcode) { + const name = domShortcode.getAttribute('name'); + const shortcode = window.nextgenEditor.shortcodes[name]; + const attributes = JSON.parse(decodeURIComponent(domShortcode.getAttribute('attributes'))); + + const innerHTMLAttribute = Object.keys(shortcode.attributes).reduce((acc, attrName) => acc || (shortcode.attributes[attrName].innerHTML && attrName), ''); + + const attrLine = Object.keys(shortcode.attributes).reduce((acc, attrName) => { + const attribute = shortcode.attributes[attrName]; + + if (attribute.type === Boolean) { + return attributes[attrName] + ? `${acc} ${attrName}` + : acc; + } + + if (attributes[attrName] === attribute.default.value && !attribute.default.preserve) { + return acc; + } + + if (attribute.bbcode && attribute.shorthand) { + return `="${attributes[attrName]}"${acc}`; + } + + if (attribute.innerHTML) { + return acc; + } + + return `${acc} ${attrName}="${attributes[attrName]}"`; + }, ''); + + if (shortcode.type === 'block') { + if (domShortcode.innerHTML === '

 

') { + domShortcode.innerHTML = ''; + } + + if (innerHTMLAttribute) { + domShortcode.outerHTML = `

[${shortcode.realName}${attrLine}]${attributes[innerHTMLAttribute]}[/${shortcode.realName}]

`; + } else if (domShortcode.innerHTML) { + domShortcode.outerHTML = `

[${shortcode.realName}${attrLine}]

${domShortcode.innerHTML}

[/${shortcode.realName}]

`; + } else { + domShortcode.outerHTML = `

[${shortcode.realName}${attrLine} /]

`; + } + } + + if (shortcode.type === 'inline') { + if (domShortcode.innerHTML === ' ') { + domShortcode.innerHTML = ''; + } + + if (innerHTMLAttribute) { + domShortcode.outerHTML = `[${shortcode.realName}${attrLine}]${attributes[innerHTMLAttribute]}[/${shortcode.realName}]`; + } else if (domShortcode.innerHTML) { + domShortcode.outerHTML = `[${shortcode.realName}${attrLine}]${domShortcode.innerHTML}[/${shortcode.realName}]`; + } else { + domShortcode.outerHTML = `[${shortcode.realName}${attrLine} /]`; + } + } + + domShortcode = domOutput.querySelector('shortcode-block, shortcode-inline'); + } + + output = domOutput.body.innerHTML; + + return output; + }, +}); diff --git a/plugins/shortcode-core/nextgen-editor/src/settings.js b/plugins/shortcode-core/nextgen-editor/src/settings.js new file mode 100644 index 0000000..b4bedaa --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/src/settings.js @@ -0,0 +1,153 @@ +import collapse from './collapse'; +import uncollapse from './uncollapse'; + +const { showSettingsPopup } = window.nextgenEditor.exports; + +export default function displaySettings(domShortcode) { + const { editors } = window.nextgenEditor; + const editor = (editors.filter((instance) => instance.ui.view.element.contains(domShortcode)) || []).shift(); + + const name = domShortcode.getAttribute('name'); + const shortcode = window.nextgenEditor.shortcodes[name]; + const plugin = window.nextgenEditor.shortcodePlugins[shortcode.plugin]; + + if (editor) { + const viewShortcode = editor.editing.view.domConverter.mapDomToView(domShortcode); + let modelShortcode = editor.editing.mapper.toModelElement(viewShortcode); + + const currentAttributes = JSON.parse(decodeURIComponent(domShortcode.getAttribute('attributes'))); + + const domDisplayPoint = shortcode.type === 'block' + ? domShortcode.querySelector('.sc-header > .sc-settings') + : domShortcode; + + const title = [] + .concat([ + (plugin && plugin.title) || '', + (shortcode.parent && shortcode.parent.title) || '', + shortcode.title || '', + ]) + .filter((item) => !!item) + .join(' / '); + + const argsForPopup = { + title, + domDisplayPoint, + debounceDelay: 1000, + attributes: shortcode.attributes, + currentAttributes, + parentAttributes: null, + childAttributes: null, + }; + + if (shortcode.parent) { + const domParentShortcode = domShortcode.closest(`shortcode-block[name="${shortcode.parent.name}"]`); + + argsForPopup.parentAttributes = domParentShortcode + ? JSON.parse(decodeURIComponent(domParentShortcode.getAttribute('attributes'))) + : {}; + } + + if (shortcode.child) { + argsForPopup.childAttributes = []; + + const childNodes = [...domShortcode.querySelectorAll(`shortcode-block shortcode-block[name="${shortcode.child.name}"]`)]; + const deepChildNodes = [...domShortcode.querySelectorAll(`shortcode-block shortcode-block shortcode-block[name="${shortcode.child.name}"]`)]; + + childNodes + .filter((domChildShortcode) => !deepChildNodes.includes(domChildShortcode)) + .forEach((domChildShortcode) => { + const childAttributes = JSON.parse(decodeURIComponent(domChildShortcode.getAttribute('attributes'))); + argsForPopup.childAttributes.push(childAttributes); + }); + } + + argsForPopup.deleteItem = () => editor.execute('delete'); + + argsForPopup.changeAttributes = () => { + editor.model.change((modelWriter) => { + modelWriter.setAttribute('attributes', encodeURIComponent(JSON.stringify(currentAttributes)), modelShortcode); + + const convertContext = shortcode.type === 'inline' + ? '$block' + : '$root'; + + if (shortcode.parent) { + const viewOldShortcode = editor.editing.mapper.toViewElement(modelShortcode); + const domOldShortcode = editor.editing.view.domConverter.mapViewToDom(viewOldShortcode); + + if (!domOldShortcode) { + return; + } + + const domOldParentShortcode = domOldShortcode.parentNode.closest('shortcode-block'); + const viewOldParentShortcode = editor.editing.view.domConverter.mapDomToView(domOldParentShortcode); + const modelOldParentShortcode = editor.editing.mapper.toModelElement(viewOldParentShortcode); + + const childNodes = [...domOldParentShortcode.querySelectorAll('shortcode-block shortcode-block')]; + const deepChildNodes = [...domOldParentShortcode.querySelectorAll('shortcode-block shortcode-block shortcode-block')]; + + const childIndex = childNodes + .filter((domChildShortcode) => !deepChildNodes.includes(domChildShortcode)) + .indexOf(domOldShortcode); + + const insertPosition = modelWriter.createPositionBefore(modelOldParentShortcode); + const modelOldParentClonedShortcode = modelWriter.cloneElement(modelOldParentShortcode); + + const modelOldParentFragment = modelWriter.createDocumentFragment(); + modelWriter.append(modelOldParentClonedShortcode, modelOldParentFragment); + + const viewOldParentClonedShortcode = editor.data.toView(modelOldParentFragment).getChild(0); + const dataOldParentClonedShortcode = editor.data.processor.toData(viewOldParentClonedShortcode); + + const dataNewParentShortcode = uncollapse(collapse(dataOldParentClonedShortcode)); + const viewNewParentShortcode = editor.data.processor.toView(dataNewParentShortcode).getChild(0); + const modelNewParentShortcode = editor.data.toModel(viewNewParentShortcode, convertContext).getChild(0); + + modelWriter.remove(modelOldParentShortcode); + modelWriter.insert(modelNewParentShortcode, insertPosition); + + setTimeout(() => { + const viewParentShortcode = editor.editing.mapper.toViewElement(modelNewParentShortcode); + const domParentShortcode = editor.editing.view.domConverter.mapViewToDom(viewParentShortcode); + + const childNewNodes = [...domParentShortcode.querySelectorAll('shortcode-block shortcode-block')]; + const deepNewChildNodes = [...domParentShortcode.querySelectorAll('shortcode-block shortcode-block shortcode-block')]; + + const domNewShortcode = childNewNodes.filter((domChildShortcode) => !deepNewChildNodes.includes(domChildShortcode))[childIndex]; + const viewNewShortcode = editor.editing.view.domConverter.mapDomToView(domNewShortcode); + const modelNewShortcode = editor.editing.mapper.toModelElement(viewNewShortcode); + + editor.model.change((modelWriter2) => { + modelWriter2.setSelection(modelNewShortcode, 'on'); + modelShortcode = modelNewShortcode; + }); + }); + + return; + } + + const insertPosition = modelWriter.createPositionBefore(modelShortcode); + const modelOldShortcode = modelWriter.cloneElement(modelShortcode); + + const modelOldFragment = modelWriter.createDocumentFragment(); + modelWriter.append(modelOldShortcode, modelOldFragment); + + const viewOldShortcode = editor.data.toView(modelOldFragment).getChild(0); + const dataOldShortcode = editor.data.processor.toData(viewOldShortcode); + + const dataNewShortcode = uncollapse(collapse(dataOldShortcode)); + const viewNewShortcode = editor.data.processor.toView(dataNewShortcode).getChild(0); + const modelNewShortcode = editor.data.toModel(viewNewShortcode, convertContext).getChild(0); + + modelWriter.remove(modelShortcode); + modelWriter.insert(modelNewShortcode, insertPosition); + modelWriter.setSelection(modelNewShortcode, 'on'); + + modelShortcode = modelNewShortcode; + }); + }; + + showSettingsPopup(argsForPopup); + } +} diff --git a/plugins/shortcode-core/nextgen-editor/src/uncollapse.js b/plugins/shortcode-core/nextgen-editor/src/uncollapse.js new file mode 100644 index 0000000..5a6a6d7 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/src/uncollapse.js @@ -0,0 +1,164 @@ +export default function uncollapse(input, args) { + const domOutput = new DOMParser().parseFromString(input, 'text/html'); + [...domOutput.querySelectorAll('shortcode-block, shortcode-inline')].forEach((domShortcode) => { + domShortcode.setAttribute('sc-rendered', false); + }); + + let domShortcode = domOutput.querySelector('shortcode-block[sc-rendered], shortcode-inline[sc-rendered]'); + + while (domShortcode) { + const name = domShortcode.getAttribute('name'); + const shortcode = window.nextgenEditor.shortcodes[name]; + const attributes = JSON.parse(decodeURIComponent(domShortcode.getAttribute('attributes'))); + + domShortcode.classList.add('ck-shortcode'); + domShortcode.classList.add(`ck-shortcode-${shortcode.type}`); + domShortcode.removeAttribute('sc-rendered'); + + const argsForRender = { + shortcode, + attributes, + innerHTML: domShortcode.innerHTML, + parentAttributes: null, + childAttributes: null, + }; + + let innerHTML = ''; + + if (shortcode.type === 'block') { + if (shortcode.parent) { + domShortcode.classList.add('ck-shortcode-child'); + + const domParentShortcode = domShortcode.closest(`shortcode-block[name="${shortcode.parent.name}"]`); + + argsForRender.parentAttributes = !args || !args.parentAttributes + ? domParentShortcode + ? JSON.parse(decodeURIComponent(domParentShortcode.getAttribute('attributes'))) + : {} + : args.parentAttributes; + } + + if (shortcode.child) { + argsForRender.childAttributes = []; + domShortcode.classList.add('ck-shortcode-parent'); + + const childNodes = [...domShortcode.querySelectorAll(`shortcode-block shortcode-block[name="${shortcode.child.name}"]`)]; + const deepChildNodes = [...domShortcode.querySelectorAll(`shortcode-block shortcode-block shortcode-block[name="${shortcode.child.name}"]`)]; + + childNodes + .filter((domChildShortcode) => !deepChildNodes.includes(domChildShortcode)) + .forEach((domChildShortcode) => { + const childAttributes = JSON.parse(decodeURIComponent(domChildShortcode.getAttribute('attributes'))); + argsForRender.childAttributes.push(childAttributes); + }); + } + + /* eslint-disable indent, no-multi-spaces */ + innerHTML += '
'; + innerHTML += `
Shortcode - ${shortcode.title}
`; + innerHTML += `
${shortcode.titlebar(argsForRender)}
`; + innerHTML += '
'; + innerHTML += ''; + innerHTML += ''; + innerHTML += ''; + innerHTML += '
'; + innerHTML += '
'; + innerHTML += '
'; + innerHTML += shortcode.content(argsForRender) + .replace('{{content_editable}}', `${domShortcode.innerHTML}`) + .replace('{{content_readonly}}', `${domShortcode.innerHTML}`); + innerHTML += '
'; + + if (shortcode.child) { + const visible = !domShortcode.innerHTML ? ' sc-visible' : ''; + innerHTML += `
`; + innerHTML += ''; + innerHTML += ''; + innerHTML += ''; + innerHTML += '
'; + } + + if (shortcode.parent) { + ['before', 'after'].forEach((where) => { + innerHTML += `
`; + innerHTML += ''; + innerHTML += ''; + innerHTML += ''; + innerHTML += '
'; + }); + + ['up', 'down'].forEach((where) => { + innerHTML += `
`; + innerHTML += ''; + innerHTML += ''; + innerHTML += ''; + innerHTML += '
'; + }); + } + /* eslint-enable indent, no-multi-spaces */ + } + + if (shortcode.type === 'inline') { + /* eslint-disable indent, no-multi-spaces */ + innerHTML += ''; + innerHTML += shortcode.content(argsForRender) + .replace('{{content_editable}}', `${domShortcode.innerHTML}`) + .replace('{{content_readonly}}', `${domShortcode.innerHTML}`); + innerHTML += ''; + innerHTML += ''; + innerHTML += ''; + innerHTML += ''; + innerHTML += ''; + innerHTML += ''; + /* eslint-enable indent, no-multi-spaces */ + } + + domShortcode.innerHTML = innerHTML; + domShortcode = domOutput.querySelector('shortcode-block[sc-rendered], shortcode-inline[sc-rendered]'); + } + + return domOutput.body.innerHTML; +} + +document.addEventListener('click', (event) => { + const { target } = event; + const list = ['sc-settings', 'sc-move', 'sc-add', 'sc-add-child']; + const action = { element: null, className: null }; + const isAction = list.some((item) => { + let match = target.classList.contains(item); + + if (match) { + action.element = target; + action.className = item; + + return true; + } + + match = target.closest(`.${item}`); + if (match) { + action.element = match; + action.className = item; + + return true; + } + + return false; + }); + + if (isAction) { + switch (action.className) { + case 'sc-move': + window.scBlockMoveChild.call(action.element, event, action.element.classList.contains('sc-move-up') ? 'up' : 'down'); + break; + case 'sc-add': + window.scBlockAddChild.call(action.element, event, action.element.classList.contains('sc-add-before') ? 'before' : 'after'); + break; + case 'sc-add-child': + window.scBlockAddChildFromParent.call(action.element, event); + break; + case 'sc-settings': + default: + window.scDisplaySettings.call(action.element, event); + } + } +}); diff --git a/plugins/shortcode-core/nextgen-editor/vue.config.js b/plugins/shortcode-core/nextgen-editor/vue.config.js new file mode 100644 index 0000000..43d4c4d --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/vue.config.js @@ -0,0 +1,31 @@ +const DirectoryNamedWebpackPlugin = require('directory-named-webpack-plugin'); + +module.exports = { + filenameHashing: false, + publicPath: process.env.NODE_ENV === 'development' + ? `http://${process.env.DEV_HOST}:${process.env.DEV_PORT}/` + : '/', + configureWebpack: { + resolve: { + plugins: [ + new DirectoryNamedWebpackPlugin(), + ], + }, + optimization: { + splitChunks: false, + }, + }, + chainWebpack: (webpackConfig) => { + webpackConfig.plugins.delete('html'); + webpackConfig.plugins.delete('preload'); + webpackConfig.plugins.delete('prefetch'); + }, + devServer: { + host: process.env.DEV_HOST, + port: process.env.DEV_PORT, + disableHostCheck: true, + headers: { + 'Access-Control-Allow-Origin': '*', + }, + }, +}; diff --git a/plugins/shortcode-core/nextgen-editor/yarn.lock b/plugins/shortcode-core/nextgen-editor/yarn.lock new file mode 100644 index 0000000..63dd817 --- /dev/null +++ b/plugins/shortcode-core/nextgen-editor/yarn.lock @@ -0,0 +1,9534 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/code-frame@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" + integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== + dependencies: + "@babel/highlight" "^7.12.13" + +"@babel/compat-data@^7.12.0": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.1.tgz#d7386a689aa0ddf06255005b4b991988021101a0" + integrity sha512-725AQupWJZ8ba0jbKceeFblZTY90McUBWMwHhkFQ9q1zKPJ95GUktljFcgcsIVwRnTnRKlcYzfiNImg5G9m6ZQ== + +"@babel/core@^7.11.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.0.tgz#e42e07a086e978cdd4c61f4078d8230fb817cc86" + integrity sha512-iV7Gwg0DePKvdDZZWRTkj4MW+6/AbVWd4ZCg+zk8H1RVt5xBpUZS6vLQWwb3pyLg4BFTaGiQCPoJ4Ibmbne4fA== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.0" + "@babel/helper-module-transforms" "^7.12.0" + "@babel/helpers" "^7.10.4" + "@babel/parser" "^7.12.0" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.0" + "@babel/types" "^7.12.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.0.tgz#91a45f1c18ca8d895a35a04da1a4cf7ea3f37f98" + integrity sha512-8lnf4QcyiQMf5XQp47BltuMTocsOh6P0z/vueEh8GzhmWWlDbdvOoI5Ziddg0XYhmnx35HyByUW51/9NprF8cA== + dependencies: + "@babel/types" "^7.12.0" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" + integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3" + integrity sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-compilation-targets@^7.12.0", "@babel/helper-compilation-targets@^7.9.6": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.0.tgz#c477d89a1f4d626c8149b9b88802f78d66d0c99a" + integrity sha512-NbDFJNjDgxE7IkrHp5gq2+Tr8bEdCLKYN90YDQEjMiTMUAFAcShNkaH8kydcmU0mEQTiQY0Ydy/+1xfS2OCEnw== + dependencies: + "@babel/compat-data" "^7.12.0" + "@babel/helper-validator-option" "^7.12.0" + browserslist "^4.12.0" + semver "^5.5.0" + +"@babel/helper-create-class-features-plugin@^7.10.4", "@babel/helper-create-class-features-plugin@^7.10.5": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.0.tgz#f3f2fc77bacc89e59ce6764daeabc1fb23e79a05" + integrity sha512-9tD1r9RK928vxvxcoNK8/7uwT7Q2DJZP1dnJmyMAJPwOF0yr8PPwqdpyw33lUpCfrJ765bOs5XNa4KSfUDWFSw== + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-member-expression-to-functions" "^7.12.0" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.12.0" + "@babel/helper-split-export-declaration" "^7.10.4" + +"@babel/helper-create-regexp-features-plugin@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz#18b1302d4677f9dc4740fe8c9ed96680e29d37e8" + integrity sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-regex" "^7.10.4" + regexpu-core "^4.7.1" + +"@babel/helper-define-map@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30" + integrity sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ== + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/types" "^7.10.5" + lodash "^4.17.19" + +"@babel/helper-explode-assignable-expression@^7.10.4": + version "7.11.4" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.11.4.tgz#2d8e3470252cc17aba917ede7803d4a7a276a41b" + integrity sha512-ux9hm3zR4WV1Y3xXxXkdG/0gxF9nvI0YVmKVhvK9AfMoaQkemL3sJpXw+Xbz65azo8qJiEz2XVDUpK3KYhH3ZQ== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-function-name@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" + integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== + dependencies: + "@babel/helper-get-function-arity" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-get-function-arity@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" + integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-hoist-variables@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e" + integrity sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-member-expression-to-functions@^7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.0.tgz#48f605fa801764f3e5b2e301e49d35fe1820c4f3" + integrity sha512-I0d/bgzgzgLsJMk7UZ0TN2KV3OGjC/t/9Saz8PKb9jrcEAXhgjGysOgp4PDKydIKjUv/gj2St4ae+ov8l+T9Xg== + dependencies: + "@babel/types" "^7.12.0" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" + integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5", "@babel/helper-module-transforms@^7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.0.tgz#8ac7d9e8716f94549a42e577c5429391950e33f3" + integrity sha512-1ZTMoCiLSzTJLbq7mSaTHki4oIrBIf/dUbzdhwTrvtMU3ZNVKwQmGae3gSiqppo7G8HAgnXmc43rfEaD8yYLLQ== + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-replace-supers" "^7.12.0" + "@babel/helper-simple-access" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/helper-validator-identifier" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.12.0" + "@babel/types" "^7.12.0" + lodash "^4.17.19" + +"@babel/helper-optimise-call-expression@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" + integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" + integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== + +"@babel/helper-regex@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.5.tgz#32dfbb79899073c415557053a19bd055aae50ae0" + integrity sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg== + dependencies: + lodash "^4.17.19" + +"@babel/helper-remap-async-to-generator@^7.10.4": + version "7.11.4" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.11.4.tgz#4474ea9f7438f18575e30b0cac784045b402a12d" + integrity sha512-tR5vJ/vBa9wFy3m5LLv2faapJLnDFxNWff2SAYkSE4rLUdbp7CdObYFgI7wK4T/Mj4UzpjPwzR8Pzmr5m7MHGA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-wrap-function" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-replace-supers@^7.10.4", "@babel/helper-replace-supers@^7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.0.tgz#98d3f3eb779752e59c7422ab387c9b444323be60" + integrity sha512-9kycFdq2c9e7PXZOr2z/ZqTFF9OzFu287iFwYS+CiDVPuoTCfY8hoTsIqNQNetQjlqoRsRyJFrMG1uhGAR4EEw== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.12.0" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/traverse" "^7.12.0" + "@babel/types" "^7.12.0" + +"@babel/helper-simple-access@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" + integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw== + dependencies: + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-skip-transparent-expression-wrappers@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz#eec162f112c2f58d3af0af125e3bb57665146729" + integrity sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q== + dependencies: + "@babel/types" "^7.11.0" + +"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" + integrity sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== + dependencies: + "@babel/types" "^7.11.0" + +"@babel/helper-validator-identifier@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" + integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== + +"@babel/helper-validator-identifier@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" + integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== + +"@babel/helper-validator-option@^7.12.0": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9" + integrity sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A== + +"@babel/helper-wrap-function@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87" + integrity sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug== + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helpers@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" + integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA== + dependencies: + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/highlight@^7.12.13": + version "7.13.10" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" + integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.10.4", "@babel/parser@^7.12.0", "@babel/parser@^7.7.0": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.1.tgz#dc03f543a0ed51396d4081463df66ecb3a2efa53" + integrity sha512-xjZsx0sBjb6J2+QkoHI69UeD2EWbsyUW0WyZKOoJ9sBrQLxfOApWEefR9dIVOYJVj97VRXnLKLDvnn3dPDNgww== + +"@babel/parser@^7.12.13": + version "7.13.16" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.16.tgz#0f18179b0448e6939b1f3f5c4c355a3a9bcdfd37" + integrity sha512-6bAg36mCwuqLO0hbR+z7PHuqWiCeP7Dzg73OpQwsAB1Eb8HnGEz5xYBzCfbu+YjoaJsJs+qheDxVAuqbt3ILEw== + +"@babel/plugin-proposal-async-generator-functions@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz#3491cabf2f7c179ab820606cec27fed15e0e8558" + integrity sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-remap-async-to-generator" "^7.10.4" + "@babel/plugin-syntax-async-generators" "^7.8.0" + +"@babel/plugin-proposal-class-properties@^7.10.4", "@babel/plugin-proposal-class-properties@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz#a33bf632da390a59c7a8c570045d1115cd778807" + integrity sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-proposal-decorators@^7.8.3": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.10.5.tgz#42898bba478bc4b1ae242a703a953a7ad350ffb4" + integrity sha512-Sc5TAQSZuLzgY0664mMDn24Vw2P8g/VhyLyGPaWiHahhgLqeZvcGeyBZOrJW0oSKIK2mvQ22a1ENXBIQLhrEiQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.10.5" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-decorators" "^7.10.4" + +"@babel/plugin-proposal-dynamic-import@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz#43eb5c2a3487ecd98c5c8ea8b5fdb69a2749b2dc" + integrity sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + +"@babel/plugin-proposal-export-namespace-from@^7.12.0": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz#8b9b8f376b2d88f5dd774e4d24a5cc2e3679b6d4" + integrity sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz#d45423b517714eedd5621a9dfdc03fa9f4eb241c" + integrity sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.0" + +"@babel/plugin-proposal-logical-assignment-operators@^7.12.0": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz#f2c490d36e1b3c9659241034a5d2cd50263a2751" + integrity sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.0": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c" + integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + +"@babel/plugin-proposal-numeric-separator@^7.12.0": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz#0e2c6774c4ce48be412119b4d693ac777f7685a6" + integrity sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz#bd81f95a1f746760ea43b6c2d3d62b11790ad0af" + integrity sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-transform-parameters" "^7.10.4" + +"@babel/plugin-proposal-optional-catch-binding@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz#ccc2421af64d3aae50b558a71cede929a5ab2942" + integrity sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + +"@babel/plugin-proposal-optional-chaining@^7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.0.tgz#0159b549f165016fc9f284b8607a58a37a3b71fe" + integrity sha512-CXu9aw32FH/MksqdKvhpiH8pSvxnXJ33E7I7BGNE9VzNRpWgpNzvPpds/tW9E0pjmX9+D1zAHRyHbtyeTboo2g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + +"@babel/plugin-proposal-private-methods@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz#b160d972b8fdba5c7d111a145fc8c421fc2a6909" + integrity sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-proposal-unicode-property-regex@^7.10.4", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz#4483cda53041ce3413b7fe2f00022665ddfaa75d" + integrity sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-async-generators@^7.8.0": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz#bcb297c5366e79bebadef509549cd93b04f19978" + integrity sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-decorators@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.1.tgz#81a8b535b284476c41be6de06853a8802b98c5dd" + integrity sha512-ir9YW5daRrTYiy9UJ2TzdNIJEZu8KclVzDcfSt4iEmOtwQ4llPtWInNKJyKnVXp1vE4bbVd5S31M/im3mYMO1w== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-json-strings@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.2.0", "@babel/plugin-syntax-jsx@^7.8.3": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926" + integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-top-level-await@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0" + integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-arrow-functions@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz#8083ffc86ac8e777fbe24b5967c4b2521f3cb2b3" + integrity sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-async-to-generator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz#41a5017e49eb6f3cda9392a51eef29405b245a37" + integrity sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ== + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-remap-async-to-generator" "^7.10.4" + +"@babel/plugin-transform-block-scoped-functions@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz#f2a1a365bde2b7112e0a6ded9067fdd7c07905d9" + integrity sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-block-scoping@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz#f0ee727874b42a208a48a586b84c3d222c2bbef1" + integrity sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-classes@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz#405136af2b3e218bc4a1926228bc917ab1a0adc7" + integrity sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-define-map" "^7.10.4" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.10.4" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz#d68cf6c9b7f838a8a4144badbe97541ea0904852" + integrity sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-destructuring@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz#b9a570fe0d0a8d460116413cb4f97e8e08b2f847" + integrity sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-dotall-regex@^7.10.4", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz#469c2062105c1eb6a040eaf4fac4b488078395ee" + integrity sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-duplicate-keys@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228" + integrity sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-exponentiation-operator@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz#b0f2ed356ba1be1428ecaf128ff8a24f02830ae0" + integrity sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-for-of@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz#07640f28867ed16f9511c99c888291f560921cfa" + integrity sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-function-name@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz#2ec76258c70fe08c6d7da154003a480620eba667" + integrity sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw== + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-literals@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz#d73b803a26b37017ddf9d3bb8f4dc58bfb806f57" + integrity sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-member-expression-literals@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz#496038602daf1514a64d43d8e17cbb2755e0c3ad" + integrity sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-modules-amd@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz#1b9cddaf05d9e88b3aad339cb3e445c4f020a9b1" + integrity sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw== + dependencies: + "@babel/helper-module-transforms" "^7.10.5" + "@babel/helper-plugin-utils" "^7.10.4" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz#66667c3eeda1ebf7896d41f1f16b17105a2fbca0" + integrity sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w== + dependencies: + "@babel/helper-module-transforms" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-simple-access" "^7.10.4" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.12.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.0.tgz#bca842db6980cfc98ae7d0f2c907c9b1df3f874e" + integrity sha512-h2fDMnwRwBiNMmTGAWqUo404Z3oLbrPE6hyATecyIbsEsrbM5gjLbfKQLb6hjiouMlGHH+yliYBbc4NPgWKE/g== + dependencies: + "@babel/helper-hoist-variables" "^7.10.4" + "@babel/helper-module-transforms" "^7.12.0" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-validator-identifier" "^7.10.4" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz#9a8481fe81b824654b3a0b65da3df89f3d21839e" + integrity sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA== + dependencies: + "@babel/helper-module-transforms" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz#78b4d978810b6f3bcf03f9e318f2fc0ed41aecb6" + integrity sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.10.4" + +"@babel/plugin-transform-new-target@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz#80073f02ee1bb2d365c3416490e085c95759dec0" + integrity sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-object-super@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz#d7146c4d139433e7a6526f888c667e314a093894" + integrity sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.10.4" + +"@babel/plugin-transform-parameters@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz#d2e963b038771650c922eff593799c96d853255d" + integrity sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-property-literals@^7.10.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz#41bc81200d730abb4456ab8b3fbd5537b59adecd" + integrity sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-regenerator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz#2015e59d839074e76838de2159db421966fd8b63" + integrity sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw== + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz#8f2682bcdcef9ed327e1b0861585d7013f8a54dd" + integrity sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-runtime@^7.11.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.0.tgz#01f67ea62662e7de401af7567b6054e6a4807d65" + integrity sha512-BC8wiTo+0kEG8M6wuEBeuG7AIazTan02/Bh4dgi+wdDBE+p2iv5AXO8OUjrwD100223S/2WbALSqj7c290XTKg== + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + resolve "^1.8.1" + semver "^5.5.1" + +"@babel/plugin-transform-shorthand-properties@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz#9fd25ec5cdd555bb7f473e5e6ee1c971eede4dd6" + integrity sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-spread@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz#fa84d300f5e4f57752fe41a6d1b3c554f13f17cc" + integrity sha512-UwQYGOqIdQJe4aWNyS7noqAnN2VbaczPLiEtln+zPowRNlD+79w3oi2TWfYe0eZgd+gjZCbsydN7lzWysDt+gw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" + +"@babel/plugin-transform-sticky-regex@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz#8f3889ee8657581130a29d9cc91d7c73b7c4a28d" + integrity sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-regex" "^7.10.4" + +"@babel/plugin-transform-template-literals@^7.10.4": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz#78bc5d626a6642db3312d9d0f001f5e7639fde8c" + integrity sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-typeof-symbol@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz#9509f1a7eec31c4edbffe137c16cc33ff0bc5bfc" + integrity sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-unicode-escapes@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz#feae523391c7651ddac115dae0a9d06857892007" + integrity sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-unicode-regex@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz#e56d71f9282fac6db09c82742055576d5e6d80a8" + integrity sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/preset-env@^7.11.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.0.tgz#7d2d0c4f4a14ca0fd7d905a741070ab4745177b7" + integrity sha512-jSIHvHSuF+hBUIrvA2/61yIzhH+ceLOXGLTH1nwPvQlso/lNxXsoE/nvrCzY5M77KRzhKegB1CvdhWPZmYDZ5A== + dependencies: + "@babel/compat-data" "^7.12.0" + "@babel/helper-compilation-targets" "^7.12.0" + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-validator-option" "^7.12.0" + "@babel/plugin-proposal-async-generator-functions" "^7.10.4" + "@babel/plugin-proposal-class-properties" "^7.10.4" + "@babel/plugin-proposal-dynamic-import" "^7.10.4" + "@babel/plugin-proposal-export-namespace-from" "^7.12.0" + "@babel/plugin-proposal-json-strings" "^7.10.4" + "@babel/plugin-proposal-logical-assignment-operators" "^7.12.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.0" + "@babel/plugin-proposal-numeric-separator" "^7.12.0" + "@babel/plugin-proposal-object-rest-spread" "^7.11.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.10.4" + "@babel/plugin-proposal-optional-chaining" "^7.12.0" + "@babel/plugin-proposal-private-methods" "^7.10.4" + "@babel/plugin-proposal-unicode-property-regex" "^7.10.4" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-class-properties" "^7.10.4" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.10.4" + "@babel/plugin-transform-arrow-functions" "^7.10.4" + "@babel/plugin-transform-async-to-generator" "^7.10.4" + "@babel/plugin-transform-block-scoped-functions" "^7.10.4" + "@babel/plugin-transform-block-scoping" "^7.10.4" + "@babel/plugin-transform-classes" "^7.10.4" + "@babel/plugin-transform-computed-properties" "^7.10.4" + "@babel/plugin-transform-destructuring" "^7.10.4" + "@babel/plugin-transform-dotall-regex" "^7.10.4" + "@babel/plugin-transform-duplicate-keys" "^7.10.4" + "@babel/plugin-transform-exponentiation-operator" "^7.10.4" + "@babel/plugin-transform-for-of" "^7.10.4" + "@babel/plugin-transform-function-name" "^7.10.4" + "@babel/plugin-transform-literals" "^7.10.4" + "@babel/plugin-transform-member-expression-literals" "^7.10.4" + "@babel/plugin-transform-modules-amd" "^7.10.4" + "@babel/plugin-transform-modules-commonjs" "^7.10.4" + "@babel/plugin-transform-modules-systemjs" "^7.12.0" + "@babel/plugin-transform-modules-umd" "^7.10.4" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.10.4" + "@babel/plugin-transform-new-target" "^7.10.4" + "@babel/plugin-transform-object-super" "^7.10.4" + "@babel/plugin-transform-parameters" "^7.10.4" + "@babel/plugin-transform-property-literals" "^7.10.4" + "@babel/plugin-transform-regenerator" "^7.10.4" + "@babel/plugin-transform-reserved-words" "^7.10.4" + "@babel/plugin-transform-shorthand-properties" "^7.10.4" + "@babel/plugin-transform-spread" "^7.11.0" + "@babel/plugin-transform-sticky-regex" "^7.10.4" + "@babel/plugin-transform-template-literals" "^7.10.4" + "@babel/plugin-transform-typeof-symbol" "^7.10.4" + "@babel/plugin-transform-unicode-escapes" "^7.10.4" + "@babel/plugin-transform-unicode-regex" "^7.10.4" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.12.0" + browserslist "^4.12.0" + core-js-compat "^3.6.2" + semver "^5.5.0" + +"@babel/preset-modules@^0.1.3": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" + integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/runtime@^7.11.0", "@babel/runtime@^7.8.4": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.0.tgz#98bd7666186969c04be893d747cf4a6c6c8fa6b0" + integrity sha512-lS4QLXQ2Vbw2ubfQjeQcn+BZgZ5+ROHW9f+DWjEp5Y+NHYmkRGKqHSJ1tuhbUauKu2nhZNTBIvsIQ8dXfY5Gjw== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.0.0": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" + integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/parser" "^7.12.13" + "@babel/types" "^7.12.13" + +"@babel/template@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" + integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/parser" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/traverse@^7.0.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.12.0", "@babel/traverse@^7.7.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.0.tgz#ed31953d6e708cdd34443de2fcdb55f72cdfb266" + integrity sha512-ZU9e79xpOukCNPkQ1UzR4gJKCruGckr6edd8v8lmKpSk8iakgUIvb+5ZtaKKV9f7O+x5r+xbMDDIbzVpUoiIuw== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.0" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/parser" "^7.12.0" + "@babel/types" "^7.12.0" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.19" + +"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.12.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0": + version "7.12.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.0.tgz#b6b49f425ee59043fbc89c61b11a13d5eae7b5c6" + integrity sha512-ggIyFmT2zMaYRheOfPDQ4gz7QqV3B+t2rjqjbttDJxMcb7/LukvWCmlIl1sWcOxrvwpTDd+z0OytzqsbGeb3/g== + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + +"@babel/types@^7.12.13": + version "7.13.17" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.17.tgz#48010a115c9fba7588b4437dd68c9469012b38b4" + integrity sha512-RawydLgxbOPDlTLJNtoIypwdmAy//uQIzlKt2+iBiJaRlVuI6QLUxVAyWGNfOzp8Yu4L4lLIacoCyTNtpb4wiA== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + to-fast-properties "^2.0.0" + +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@hapi/address@2.x.x": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" + integrity sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ== + +"@hapi/bourne@1.x.x": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" + integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA== + +"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": + version "8.5.1" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06" + integrity sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow== + +"@hapi/joi@^15.0.1": + version "15.1.1" + resolved "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" + integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ== + dependencies: + "@hapi/address" "2.x.x" + "@hapi/bourne" "1.x.x" + "@hapi/hoek" "8.x.x" + "@hapi/topo" "3.x.x" + +"@hapi/topo@3.x.x": + version "3.1.6" + resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" + integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ== + dependencies: + "@hapi/hoek" "^8.3.0" + +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf" + integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== + +"@intervolga/optimize-cssnano-plugin@^1.0.5": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz#be7c7846128b88f6a9b1d1261a0ad06eb5c0fdf8" + integrity sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA== + dependencies: + cssnano "^4.0.0" + cssnano-preset-default "^4.0.0" + postcss "^7.0.0" + +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" + integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" + integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== + +"@soda/friendly-errors-webpack-plugin@^1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.1.tgz#706f64bcb4a8b9642b48ae3ace444c70334d615d" + integrity sha512-cWKrGaFX+rfbMrAxVv56DzhPNqOJPZuNIS2HGMELtgGzb+vsMzyig9mml5gZ/hr2BGtSLV+dP2LUEuAL8aG2mQ== + dependencies: + chalk "^1.1.3" + error-stack-parser "^2.0.0" + string-width "^2.0.0" + +"@soda/get-current-script@^1.0.0": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@soda/get-current-script/-/get-current-script-1.0.2.tgz#a53515db25d8038374381b73af20bb4f2e508d87" + integrity sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w== + +"@types/anymatch@*": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz#336badc1beecb9dacc38bea2cf32adf627a8421a" + integrity sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== + +"@types/body-parser@*": + version "1.19.0" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f" + integrity sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/connect-history-api-fallback@*": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.3.tgz#4772b79b8b53185f0f4c9deab09236baf76ee3b4" + integrity sha512-7SxFCd+FLlxCfwVwbyPxbR4khL9aNikJhrorw8nUIOqeuooc9gifBuDQOJw5kzN7i6i3vLn9G8Wde/4QDihpYw== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.34" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.34.tgz#170a40223a6d666006d93ca128af2beb1d9b1901" + integrity sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ== + dependencies: + "@types/node" "*" + +"@types/express-serve-static-core@*": + version "4.17.17" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.17.tgz#6ba02465165b6c9c3d8db3a28def6b16fc9b70f5" + integrity sha512-YYlVaCni5dnHc+bLZfY908IG1+x5xuibKZMGv8srKkvtul3wUuanYvpIj9GXXoWkQbaAdR+kgX46IETKUALWNQ== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express@*": + version "4.17.9" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.9.tgz#f5f2df6add703ff28428add52bdec8a1091b0a78" + integrity sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "*" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/glob@^7.1.1": + version "7.1.3" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" + integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/http-proxy-middleware@*": + version "0.19.3" + resolved "https://registry.yarnpkg.com/@types/http-proxy-middleware/-/http-proxy-middleware-0.19.3.tgz#b2eb96fbc0f9ac7250b5d9c4c53aade049497d03" + integrity sha512-lnBTx6HCOUeIJMLbI/LaL5EmdKLhczJY5oeXZpX/cXE4rRqb3RmV7VcMpiEfYkmTjipv3h7IAyIINe4plEv7cA== + dependencies: + "@types/connect" "*" + "@types/http-proxy" "*" + "@types/node" "*" + +"@types/http-proxy@*": + version "1.17.4" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.4.tgz#e7c92e3dbe3e13aa799440ff42e6d3a17a9d045b" + integrity sha512-IrSHl2u6AWXduUaDLqYpt45tLVCtYv7o4Z0s1KghBCDgIIS9oW5K1H8mZG/A2CfeLdEa7rTd1ACOiHBc1EMT2Q== + dependencies: + "@types/node" "*" + +"@types/json-schema@^7.0.5": + version "7.0.6" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" + integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + +"@types/mime@*": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.3.tgz#c893b73721db73699943bfc3653b1deb7faa4a3a" + integrity sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q== + +"@types/minimatch@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + +"@types/minimist@^1.2.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.1.tgz#283f669ff76d7b8260df8ab7a4262cc83d988256" + integrity sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg== + +"@types/node@*": + version "14.11.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.11.8.tgz#fe2012f2355e4ce08bca44aeb3abbb21cf88d33f" + integrity sha512-KPcKqKm5UKDkaYPTuXSx8wEP7vE9GnuaXIZKijwRYcePpZFDVuy2a57LarFKiORbHOuTOOwYzxVxcUzsh2P2Pw== + +"@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + +"@types/q@^1.5.1": + version "1.5.4" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" + integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug== + +"@types/qs@*": + version "6.9.5" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.5.tgz#434711bdd49eb5ee69d90c1d67c354a9a8ecb18b" + integrity sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ== + +"@types/range-parser@*": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" + integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== + +"@types/serve-static@*": + version "1.13.8" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.8.tgz#851129d434433c7082148574ffec263d58309c46" + integrity sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA== + dependencies: + "@types/mime" "*" + "@types/node" "*" + +"@types/source-list-map@*": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" + integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== + +"@types/tapable@*": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.6.tgz#a9ca4b70a18b270ccb2bc0aaafefd1d486b7ea74" + integrity sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA== + +"@types/uglify-js@*": + version "3.11.1" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.11.1.tgz#97ff30e61a0aa6876c270b5f538737e2d6ab8ceb" + integrity sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q== + dependencies: + source-map "^0.6.1" + +"@types/webpack-dev-server@^3.11.0": + version "3.11.1" + resolved "https://registry.yarnpkg.com/@types/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz#f8f4dac1da226d530bd15a1d5dc34b23ba766ccb" + integrity sha512-rIb+LtUkKnh7+oIJm3WiMJONd71Q0lZuqGLcSqhZ5qjN9gV/CNmZe7Bai+brnBPZ/KVYOsr+4bFLiNZwjBicLw== + dependencies: + "@types/connect-history-api-fallback" "*" + "@types/express" "*" + "@types/http-proxy-middleware" "*" + "@types/serve-static" "*" + "@types/webpack" "*" + +"@types/webpack-sources@*": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-2.1.0.tgz#8882b0bd62d1e0ce62f183d0d01b72e6e82e8c10" + integrity sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg== + dependencies: + "@types/node" "*" + "@types/source-list-map" "*" + source-map "^0.7.3" + +"@types/webpack@*", "@types/webpack@^4.0.0": + version "4.41.25" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.25.tgz#4d3b5aecc4e44117b376280fbfd2dc36697968c4" + integrity sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ== + dependencies: + "@types/anymatch" "*" + "@types/node" "*" + "@types/tapable" "*" + "@types/uglify-js" "*" + "@types/webpack-sources" "*" + source-map "^0.6.0" + +"@vue/babel-helper-vue-jsx-merge-props@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz#31624a7a505fb14da1d58023725a4c5f270e6a81" + integrity sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA== + +"@vue/babel-helper-vue-transform-on@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz#9b9c691cd06fc855221a2475c3cc831d774bc7dc" + integrity sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA== + +"@vue/babel-plugin-jsx@^1.0.3": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.0.5.tgz#72820d5fb371c41d2113b31b16787995e8bdf69a" + integrity sha512-Jtipy7oI0am5e1q5Ahunm/cCcCh5ssf5VkMQsLR383S3un5Qh7NBfxgSK9kmWf4IXJEhDeYp9kHv8G/EnMai9A== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.0.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" + "@vue/babel-helper-vue-transform-on" "^1.0.2" + camelcase "^6.0.0" + html-tags "^3.1.0" + svg-tags "^1.0.0" + +"@vue/babel-plugin-transform-vue-jsx@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz#646046c652c2f0242727f34519d917b064041ed7" + integrity sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" + html-tags "^2.0.0" + lodash.kebabcase "^4.1.1" + svg-tags "^1.0.0" + +"@vue/babel-preset-app@^4.5.13": + version "4.5.13" + resolved "https://registry.yarnpkg.com/@vue/babel-preset-app/-/babel-preset-app-4.5.13.tgz#cb475321e4c73f7f110dac29a48c2a9cb80afeb6" + integrity sha512-pM7CR3yXB6L8Gfn6EmX7FLNE3+V/15I3o33GkSNsWvgsMp6HVGXKkXgojrcfUUauyL1LZOdvTmu4enU2RePGHw== + dependencies: + "@babel/core" "^7.11.0" + "@babel/helper-compilation-targets" "^7.9.6" + "@babel/helper-module-imports" "^7.8.3" + "@babel/plugin-proposal-class-properties" "^7.8.3" + "@babel/plugin-proposal-decorators" "^7.8.3" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/plugin-transform-runtime" "^7.11.0" + "@babel/preset-env" "^7.11.0" + "@babel/runtime" "^7.11.0" + "@vue/babel-plugin-jsx" "^1.0.3" + "@vue/babel-preset-jsx" "^1.2.4" + babel-plugin-dynamic-import-node "^2.3.3" + core-js "^3.6.5" + core-js-compat "^3.6.5" + semver "^6.1.0" + +"@vue/babel-preset-jsx@^1.2.4": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz#92fea79db6f13b01e80d3a0099e2924bdcbe4e87" + integrity sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w== + dependencies: + "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" + "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" + "@vue/babel-sugar-composition-api-inject-h" "^1.2.1" + "@vue/babel-sugar-composition-api-render-instance" "^1.2.4" + "@vue/babel-sugar-functional-vue" "^1.2.2" + "@vue/babel-sugar-inject-h" "^1.2.2" + "@vue/babel-sugar-v-model" "^1.2.3" + "@vue/babel-sugar-v-on" "^1.2.3" + +"@vue/babel-sugar-composition-api-inject-h@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz#05d6e0c432710e37582b2be9a6049b689b6f03eb" + integrity sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-composition-api-render-instance@^1.2.4": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz#e4cbc6997c344fac271785ad7a29325c51d68d19" + integrity sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-functional-vue@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz#267a9ac8d787c96edbf03ce3f392c49da9bd2658" + integrity sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-inject-h@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz#d738d3c893367ec8491dcbb669b000919293e3aa" + integrity sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-v-model@^1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz#fa1f29ba51ebf0aa1a6c35fa66d539bc459a18f2" + integrity sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" + "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" + camelcase "^5.0.0" + html-tags "^2.0.0" + svg-tags "^1.0.0" + +"@vue/babel-sugar-v-on@^1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz#342367178586a69f392f04bfba32021d02913ada" + integrity sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" + camelcase "^5.0.0" + +"@vue/cli-overlay@^4.5.13": + version "4.5.13" + resolved "https://registry.yarnpkg.com/@vue/cli-overlay/-/cli-overlay-4.5.13.tgz#4f1fd2161be8f69d6cba8079f3f0d7dc4dee47a7" + integrity sha512-jhUIg3klgi5Cxhs8dnat5hi/W2tQJvsqCxR0u6hgfSob0ORODgUBlN+F/uwq7cKIe/pzedVUk1y07F13GQvPqg== + +"@vue/cli-plugin-babel@~4.5.13": + version "4.5.13" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.13.tgz#a89c482edcc4ea1d135645cec502a7f5fd4c30e7" + integrity sha512-ykvEAfD8PgGs+dGMGqr7l/nRmIS39NRzWLhMluPLTvDV1L+IxcoB73HNLGA/aENDpl8CuWrTE+1VgydcOhp+wg== + dependencies: + "@babel/core" "^7.11.0" + "@vue/babel-preset-app" "^4.5.13" + "@vue/cli-shared-utils" "^4.5.13" + babel-loader "^8.1.0" + cache-loader "^4.1.0" + thread-loader "^2.1.3" + webpack "^4.0.0" + +"@vue/cli-plugin-eslint@~4.5.13": + version "4.5.13" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.5.13.tgz#8baf22d0d96d76720c7506646b96f4f62c05bdfa" + integrity sha512-yc2uXX6aBiy3vEf5TwaueaDqQbdIXIhk0x0KzEtpPo23jBdLkpOSoU5NCgE06g/ZiGAcettpmBSv73Hfp4wHEw== + dependencies: + "@vue/cli-shared-utils" "^4.5.13" + eslint-loader "^2.2.1" + globby "^9.2.0" + inquirer "^7.1.0" + webpack "^4.0.0" + yorkie "^2.0.0" + +"@vue/cli-plugin-router@^4.5.13": + version "4.5.13" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-router/-/cli-plugin-router-4.5.13.tgz#0b67c8898a2bf132941919a2a2e5f3aacbd9ffbe" + integrity sha512-tgtMDjchB/M1z8BcfV4jSOY9fZSMDTPgF9lsJIiqBWMxvBIsk9uIZHxp62DibYME4CCKb/nNK61XHaikFp+83w== + dependencies: + "@vue/cli-shared-utils" "^4.5.13" + +"@vue/cli-plugin-vuex@^4.5.13": + version "4.5.13" + resolved "https://registry.yarnpkg.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.13.tgz#98646d8bc1e69cf6c6a6cba2fed3eace0356c360" + integrity sha512-I1S9wZC7iI0Wn8kw8Zh+A2Qkf6s1M6vTGBkx8boXjuzfwEEyEHRxadsVCecZc8Mkpydo0nykj+MyYF96TKFuVA== + +"@vue/cli-service@~4.5.13": + version "4.5.13" + resolved "https://registry.yarnpkg.com/@vue/cli-service/-/cli-service-4.5.13.tgz#a09e684a801684b6e24e5414ad30650970eec9ed" + integrity sha512-CKAZN4iokMMsaUyJRU22oUAz3oS/X9sVBSKAF2/shFBV5xh3jqAlKl8OXZYz4cXGFLA6djNuYrniuLAo7Ku97A== + dependencies: + "@intervolga/optimize-cssnano-plugin" "^1.0.5" + "@soda/friendly-errors-webpack-plugin" "^1.7.1" + "@soda/get-current-script" "^1.0.0" + "@types/minimist" "^1.2.0" + "@types/webpack" "^4.0.0" + "@types/webpack-dev-server" "^3.11.0" + "@vue/cli-overlay" "^4.5.13" + "@vue/cli-plugin-router" "^4.5.13" + "@vue/cli-plugin-vuex" "^4.5.13" + "@vue/cli-shared-utils" "^4.5.13" + "@vue/component-compiler-utils" "^3.1.2" + "@vue/preload-webpack-plugin" "^1.1.0" + "@vue/web-component-wrapper" "^1.2.0" + acorn "^7.4.0" + acorn-walk "^7.1.1" + address "^1.1.2" + autoprefixer "^9.8.6" + browserslist "^4.12.0" + cache-loader "^4.1.0" + case-sensitive-paths-webpack-plugin "^2.3.0" + cli-highlight "^2.1.4" + clipboardy "^2.3.0" + cliui "^6.0.0" + copy-webpack-plugin "^5.1.1" + css-loader "^3.5.3" + cssnano "^4.1.10" + debug "^4.1.1" + default-gateway "^5.0.5" + dotenv "^8.2.0" + dotenv-expand "^5.1.0" + file-loader "^4.2.0" + fs-extra "^7.0.1" + globby "^9.2.0" + hash-sum "^2.0.0" + html-webpack-plugin "^3.2.0" + launch-editor-middleware "^2.2.1" + lodash.defaultsdeep "^4.6.1" + lodash.mapvalues "^4.6.0" + lodash.transform "^4.6.0" + mini-css-extract-plugin "^0.9.0" + minimist "^1.2.5" + pnp-webpack-plugin "^1.6.4" + portfinder "^1.0.26" + postcss-loader "^3.0.0" + ssri "^8.0.1" + terser-webpack-plugin "^1.4.4" + thread-loader "^2.1.3" + url-loader "^2.2.0" + vue-loader "^15.9.2" + vue-style-loader "^4.1.2" + webpack "^4.0.0" + webpack-bundle-analyzer "^3.8.0" + webpack-chain "^6.4.0" + webpack-dev-server "^3.11.0" + webpack-merge "^4.2.2" + optionalDependencies: + vue-loader-v16 "npm:vue-loader@^16.1.0" + +"@vue/cli-shared-utils@^4.5.13": + version "4.5.13" + resolved "https://registry.yarnpkg.com/@vue/cli-shared-utils/-/cli-shared-utils-4.5.13.tgz#acd40f31b4790f1634292bdaa5fca95dc1e0ff50" + integrity sha512-HpnOrkLg42RFUsQGMJv26oTG3J3FmKtO2WSRhKIIL+1ok3w9OjGCtA3nMMXN27f9eX14TqO64M36DaiSZ1fSiw== + dependencies: + "@hapi/joi" "^15.0.1" + chalk "^2.4.2" + execa "^1.0.0" + launch-editor "^2.2.1" + lru-cache "^5.1.1" + node-ipc "^9.1.1" + open "^6.3.0" + ora "^3.4.0" + read-pkg "^5.1.1" + request "^2.88.2" + semver "^6.1.0" + strip-ansi "^6.0.0" + +"@vue/component-compiler-utils@^3.1.0", "@vue/component-compiler-utils@^3.1.2": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz#8f85182ceed28e9b3c75313de669f83166d11e5d" + integrity sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw== + dependencies: + consolidate "^0.15.1" + hash-sum "^1.0.2" + lru-cache "^4.1.2" + merge-source-map "^1.1.0" + postcss "^7.0.14" + postcss-selector-parser "^6.0.2" + source-map "~0.6.1" + vue-template-es2015-compiler "^1.9.0" + optionalDependencies: + prettier "^1.18.2" + +"@vue/eslint-config-airbnb@^5.3.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@vue/eslint-config-airbnb/-/eslint-config-airbnb-5.3.0.tgz#896551d600816a06dff13fdd7d04fd5153379817" + integrity sha512-m9ldRhbqaODbcc9mQZjPgnTzyNweZblLMTqMfC2kHWY68dYd3kwG/hvENeZWXJnKKo+eGnoptk+7Zq/c1519ZQ== + dependencies: + eslint-config-airbnb-base "^14.0.0" + eslint-import-resolver-node "^0.3.4" + eslint-import-resolver-webpack "^0.13.0" + eslint-plugin-import "^2.21.2" + +"@vue/preload-webpack-plugin@^1.1.0": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz#ceb924b4ecb3b9c43871c7a429a02f8423e621ab" + integrity sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ== + +"@vue/web-component-wrapper@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@vue/web-component-wrapper/-/web-component-wrapper-1.2.0.tgz#bb0e46f1585a7e289b4ee6067dcc5a6ae62f1dd1" + integrity sha512-Xn/+vdm9CjuC9p3Ae+lTClNutrVhsXpzxvoTXXtoys6kVRX9FkueSUAqSWAyZntmVLlR4DosBV4pH8y5Z/HbUw== + +"@webassemblyjs/ast@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" + integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== + dependencies: + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + +"@webassemblyjs/floating-point-hex-parser@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" + integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== + +"@webassemblyjs/helper-api-error@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" + integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== + +"@webassemblyjs/helper-buffer@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" + integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== + +"@webassemblyjs/helper-code-frame@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" + integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== + dependencies: + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/helper-fsm@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" + integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== + +"@webassemblyjs/helper-module-context@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" + integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== + dependencies: + "@webassemblyjs/ast" "1.9.0" + +"@webassemblyjs/helper-wasm-bytecode@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" + integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== + +"@webassemblyjs/helper-wasm-section@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" + integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + +"@webassemblyjs/ieee754@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" + integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" + integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" + integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== + +"@webassemblyjs/wasm-edit@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" + integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/helper-wasm-section" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-opt" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/wasm-gen@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" + integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wasm-opt@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" + integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + +"@webassemblyjs/wasm-parser@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" + integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wast-parser@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" + integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/floating-point-hex-parser" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-code-frame" "1.9.0" + "@webassemblyjs/helper-fsm" "1.9.0" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/wast-printer@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" + integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +acorn-jsx@^5.2.0, acorn-jsx@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^6.4.1: + version "6.4.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== + +acorn@^7.1.1, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +address@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" + integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== + +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== + +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.1: + version "8.6.3" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.3.tgz#11a66527761dc3e9a3845ea775d2d3c0414e8764" + integrity sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +alphanum-sort@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= + +ansi-colors@^3.0.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" + integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== + +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-escapes@^4.2.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== + dependencies: + type-fest "^0.11.0" + +ansi-html@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +aproba@^1.0.3, aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +arch@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/arch/-/arch-2.1.2.tgz#0c52bbe7344bb4fa260c443d2cbad9c00ff2f0bf" + integrity sha512-NTBIIbAfkJeIletyABbVtdPgeKfDafR+1mZV/AyyfC1UkVkp9iUjV+wwmqtUgphHYajbI86jejBJp5e+jkGTiQ== + +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-find@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-find/-/array-find-1.0.0.tgz#6c8e286d11ed768327f8e62ecee87353ca3e78b8" + integrity sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg= + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-flatten@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + +array-includes@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" + integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0" + is-string "^1.0.5" + +array-includes@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" + integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + get-intrinsic "^1.1.1" + is-string "^1.0.5" + +array-union@^1.0.1, array-union@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +array.prototype.flat@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" + integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +array.prototype.flat@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" + integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assert@^1.1.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== + dependencies: + object-assign "^4.1.1" + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + +async-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + +async@^2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +autoprefixer@^9.8.6: + version "9.8.6" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" + integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== + dependencies: + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" + colorette "^1.2.1" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.10.1" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428" + integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA== + +babel-eslint@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" + integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.7.0" + "@babel/traverse" "^7.7.0" + "@babel/types" "^7.7.0" + eslint-visitor-keys "^1.0.0" + resolve "^1.12.0" + +babel-loader@^8.1.0: + version "8.2.2" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.2.tgz#9363ce84c10c9a40e6c753748e1441b60c8a0b81" + integrity sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g== + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^1.4.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base64-js@^1.0.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" + integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +bfj@^6.1.1: + version "6.1.2" + resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f" + integrity sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw== + dependencies: + bluebird "^3.5.5" + check-types "^8.0.3" + hoopy "^0.1.4" + tryer "^1.0.1" + +big.js@^3.1.3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + +binary-extensions@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" + integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bluebird@^3.1.1, bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: + version "4.11.9" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" + integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== + +bn.js@^5.1.1: + version "5.1.3" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" + integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== + +body-parser@1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= + dependencies: + array-flatten "^2.1.0" + deep-equal "^1.0.1" + dns-equal "^1.0.0" + dns-txt "^2.0.2" + multicast-dns "^6.0.1" + multicast-dns-service-types "^1.1.0" + +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.8.5: + version "4.14.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.5.tgz#1c751461a102ddc60e40993639b709be7f2c4015" + integrity sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA== + dependencies: + caniuse-lite "^1.0.30001135" + electron-to-chromium "^1.3.571" + escalade "^3.1.0" + node-releases "^1.1.61" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +buffer-indexof@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" + integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== + +buffer-json@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/buffer-json/-/buffer-json-2.0.0.tgz#f73e13b1e42f196fe2fd67d001c7d7107edd7c23" + integrity sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + +cacache@^12.0.2, cacache@^12.0.3: + version "12.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" + integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== + dependencies: + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + infer-owner "^1.0.3" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +cache-loader@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cache-loader/-/cache-loader-4.1.0.tgz#9948cae353aec0a1fcb1eafda2300816ec85387e" + integrity sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw== + dependencies: + buffer-json "^2.0.0" + find-cache-dir "^3.0.0" + loader-utils "^1.2.3" + mkdirp "^0.5.1" + neo-async "^2.6.1" + schema-utils "^2.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + dependencies: + caller-callsite "^2.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@3.0.x: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" + +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.1.0.tgz#27dc176173725fb0adf8a48b647f4d7871944d78" + integrity sha512-WCMml9ivU60+8rEJgELlFp1gxFcEGxwYleE3bziHEDeqsqAWGHdimB7beBFGjLzVNgPGyDsfgXLQEYMpmIFnVQ== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001135: + version "1.0.30001218" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001218.tgz" + integrity sha512-0ASydOWSy3bB88FbDpJSTt+PfDwnMqrym3yRZfqG8EXSQ06OZhF+q5wgYP/EN+jJMERItNcDQUqMyNjzZ+r5+Q== + +case-sensitive-paths-webpack-plugin@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz#23ac613cc9a856e4f88ff8bb73bbb5e989825cf7" + integrity sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ== + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +check-types@^8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552" + integrity sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ== + +chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + optionalDependencies: + fsevents "^1.2.7" + +chokidar@^3.4.1: + version "3.4.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" + integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" + optionalDependencies: + fsevents "~2.1.2" + +chownr@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +chrome-trace-event@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" + integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== + dependencies: + tslib "^1.9.0" + +ci-info@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +clean-css@4.2.x: + version "4.2.3" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" + integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== + dependencies: + source-map "~0.6.0" + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-highlight@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/cli-highlight/-/cli-highlight-2.1.4.tgz#098cb642cf17f42adc1c1145e07f960ec4d7522b" + integrity sha512-s7Zofobm20qriqDoU9sXptQx0t2R9PEgac92mENNm7xaEe1hn71IIMsXMK+6encA6WRCWWxIGQbipr3q998tlQ== + dependencies: + chalk "^3.0.0" + highlight.js "^9.6.0" + mz "^2.4.0" + parse5 "^5.1.1" + parse5-htmlparser2-tree-adapter "^5.1.1" + yargs "^15.0.0" + +cli-spinners@^2.0.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.5.0.tgz#12763e47251bf951cb75c201dfa58ff1bcb2d047" + integrity sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ== + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + +clipboardy@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-2.3.0.tgz#3c2903650c68e46a91b388985bc2774287dba290" + integrity sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ== + dependencies: + arch "^2.1.1" + execa "^1.0.0" + is-wsl "^2.1.1" + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0, color-convert@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6" + integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^3.0.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" + integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== + dependencies: + color-convert "^1.9.1" + color-string "^1.5.4" + +colorette@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@2.17.x: + version "2.17.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== + +commander@^2.18.0, commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@~2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +confusing-browser-globals@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd" + integrity sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw== + +connect-history-api-fallback@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" + integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + +consolidate@^0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7" + integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== + dependencies: + bluebird "^3.1.1" + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= + +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + dependencies: + safe-buffer "5.1.2" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +copy-webpack-plugin@^5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz#8a889e1dcafa6c91c6cd4be1ad158f1d3823bae2" + integrity sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ== + dependencies: + cacache "^12.0.3" + find-cache-dir "^2.1.0" + glob-parent "^3.1.0" + globby "^7.1.1" + is-glob "^4.0.1" + loader-utils "^1.2.3" + minimatch "^3.0.4" + normalize-path "^3.0.0" + p-limit "^2.2.1" + schema-utils "^1.0.0" + serialize-javascript "^4.0.0" + webpack-log "^2.0.0" + +core-js-compat@^3.6.2, core-js-compat@^3.6.5: + version "3.6.5" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" + integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng== + dependencies: + browserslist "^4.8.5" + semver "7.0.0" + +core-js@^3.6.5: + version "3.6.5" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" + integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA== + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +css-color-names@0.0.4, css-color-names@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= + +css-declaration-sorter@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" + integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== + dependencies: + postcss "^7.0.1" + timsort "^0.3.0" + +css-loader@^3.5.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645" + integrity sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ== + dependencies: + camelcase "^5.3.1" + cssesc "^3.0.0" + icss-utils "^4.1.1" + loader-utils "^1.2.3" + normalize-path "^3.0.0" + postcss "^7.0.32" + postcss-modules-extract-imports "^2.0.0" + postcss-modules-local-by-default "^3.0.2" + postcss-modules-scope "^2.2.0" + postcss-modules-values "^3.0.0" + postcss-value-parser "^4.1.0" + schema-utils "^2.7.0" + semver "^6.3.0" + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== + +css-select@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= + dependencies: + boolbase "~1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "~1.0.1" + +css-select@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" + integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-tree@1.0.0-alpha.39: + version "1.0.0-alpha.39" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb" + integrity sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA== + dependencies: + mdn-data "2.0.6" + source-map "^0.6.1" + +css-what@2.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" + integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== + +css-what@^3.2.1: + version "3.4.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" + integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^4.0.0, cssnano-preset-default@^4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" + integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== + dependencies: + css-declaration-sorter "^4.0.1" + cssnano-util-raw-cache "^4.0.1" + postcss "^7.0.0" + postcss-calc "^7.0.1" + postcss-colormin "^4.0.3" + postcss-convert-values "^4.0.1" + postcss-discard-comments "^4.0.2" + postcss-discard-duplicates "^4.0.2" + postcss-discard-empty "^4.0.1" + postcss-discard-overridden "^4.0.1" + postcss-merge-longhand "^4.0.11" + postcss-merge-rules "^4.0.3" + postcss-minify-font-values "^4.0.2" + postcss-minify-gradients "^4.0.2" + postcss-minify-params "^4.0.2" + postcss-minify-selectors "^4.0.2" + postcss-normalize-charset "^4.0.1" + postcss-normalize-display-values "^4.0.2" + postcss-normalize-positions "^4.0.2" + postcss-normalize-repeat-style "^4.0.2" + postcss-normalize-string "^4.0.2" + postcss-normalize-timing-functions "^4.0.2" + postcss-normalize-unicode "^4.0.1" + postcss-normalize-url "^4.0.1" + postcss-normalize-whitespace "^4.0.2" + postcss-ordered-values "^4.1.2" + postcss-reduce-initial "^4.0.3" + postcss-reduce-transforms "^4.0.2" + postcss-svgo "^4.0.2" + postcss-unique-selectors "^4.0.1" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" + integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= + +cssnano-util-get-match@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" + integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= + +cssnano-util-raw-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" + integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== + dependencies: + postcss "^7.0.0" + +cssnano-util-same-parent@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" + integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== + +cssnano@^4.0.0, cssnano@^4.1.10: + version "4.1.10" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" + integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== + dependencies: + cosmiconfig "^5.0.0" + cssnano-preset-default "^4.0.7" + is-resolvable "^1.0.0" + postcss "^7.0.0" + +csso@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903" + integrity sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ== + dependencies: + css-tree "1.0.0-alpha.39" + +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^3.1.1, debug@^3.2.5: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + dependencies: + ms "^2.1.1" + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" + integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== + dependencies: + ms "2.1.2" + +decamelize-keys@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" + integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= + dependencies: + decamelize "^1.1.0" + map-obj "^1.0.0" + +decamelize@^1.1.0, decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +deep-equal@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" + integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" + +deep-is@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +deepmerge@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753" + integrity sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ== + +default-gateway@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" + integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== + dependencies: + execa "^1.0.0" + ip-regex "^2.1.0" + +default-gateway@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-5.0.5.tgz#4fd6bd5d2855d39b34cc5a59505486e9aafc9b10" + integrity sha512-z2RnruVmj8hVMmAnEJMTIJNijhKCDiGjbLP+BHJFOT7ld3Bo5qcIBpVYDniqhbMIIf+jZDlkP2MkPXiQy/DBLA== + dependencies: + execa "^3.3.0" + +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + dependencies: + clone "^1.0.2" + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +del@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" + integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== + dependencies: + "@types/glob" "^7.1.1" + globby "^6.1.0" + is-path-cwd "^2.0.0" + is-path-in-cwd "^2.0.0" + p-map "^2.0.0" + pify "^4.0.1" + rimraf "^2.6.3" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-node@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" + integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@^2.0.0, dir-glob@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" + integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== + dependencies: + path-type "^3.0.0" + +directory-named-webpack-plugin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/directory-named-webpack-plugin/-/directory-named-webpack-plugin-4.0.1.tgz#d5f422310bb446297ec422d3656dbf0921a6fa26" + integrity sha512-cULe7U64O9NM+O+L9gfcVKPo/A0pNEntsXTpuRHoCFMYE5pV9XQrJI9mJ8bgo0WKPmKPw/kozXfRolNNFJICCA== + dependencies: + enhanced-resolve "^4.0.0" + object-assign "^4.1.0" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + +dns-packet@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" + integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg== + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= + dependencies: + buffer-indexof "^1.0.0" + +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-converter@^0.2: + version "0.2.0" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + +domelementtype@1, domelementtype@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.2.tgz#f3b6e549201e46f588b59463dd77187131fe6971" + integrity sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA== + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + dependencies: + domelementtype "1" + +domutils@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^1.5.1, domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + +dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + +dotenv-expand@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" + integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== + +dotenv@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" + integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== + +duplexer@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +easy-stack@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/easy-stack/-/easy-stack-1.0.0.tgz#12c91b3085a37f0baa336e9486eac4bf94e3e788" + integrity sha1-EskbMIWjfwuqM26UhurEv5Tj54g= + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +ejs@^2.6.1: + version "2.7.4" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" + integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== + +electron-to-chromium@^1.3.571: + version "1.3.581" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.581.tgz#7f796fe92cdc18f5013769dc6f45f4536315a183" + integrity sha512-ALORbI23YkYJoVJWusSdmTq8vXH3TLFzniILE47uZkZOim135ZhoTCM7QlIuvmK78As5kLdANfy7kDIQvJ+iPw== + +elliptic@^6.5.3: + version "6.5.3" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" + integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + hmac-drbg "^1.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e" + integrity sha1-TW5omzcl+GCQknzMhs2fFjW4ni4= + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.2.0" + tapable "^0.1.8" + +enhanced-resolve@^4.0.0, enhanced-resolve@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" + integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +entities@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + +entities@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" + integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== + +env-paths@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" + integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA== + +errno@^0.1.3, errno@~0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0, error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8" + integrity sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ== + dependencies: + stackframe "^1.1.1" + +es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5: + version "1.17.7" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c" + integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.2" + is-regex "^1.1.1" + object-inspect "^1.8.0" + object-keys "^1.1.1" + object.assign "^4.1.1" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" + +es-abstract@^1.18.0-next.0, es-abstract@^1.18.0-next.1: + version "1.18.0-next.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68" + integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.2" + is-negative-zero "^2.0.0" + is-regex "^1.1.1" + object-inspect "^1.8.0" + object-keys "^1.1.1" + object.assign "^4.1.1" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" + +es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: + version "1.18.6" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.6.tgz#2c44e3ea7a6255039164d26559777a6d978cb456" + integrity sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.1" + is-regex "^1.1.4" + is-string "^1.0.7" + object-inspect "^1.11.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escalade@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-airbnb-base@^14.0.0: + version "14.2.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.0.tgz#fe89c24b3f9dc8008c9c0d0d88c28f95ed65e9c4" + integrity sha512-Snswd5oC6nJaevs3nZoLSTvGJBvzTfnBqOIArkf3cbyTyq9UD79wOk8s+RiL6bhca0p/eRO6veczhf6A/7Jy8Q== + dependencies: + confusing-browser-globals "^1.0.9" + object.assign "^4.1.0" + object.entries "^1.1.2" + +eslint-import-resolver-node@^0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" + integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== + dependencies: + debug "^2.6.9" + resolve "^1.13.1" + +eslint-import-resolver-node@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== + dependencies: + debug "^3.2.7" + resolve "^1.20.0" + +eslint-import-resolver-webpack@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.13.0.tgz#5cb19cf4b6996c8a2514aeb10f909e2c70488dc3" + integrity sha512-hZWGcmjaJZK/WSCYGI/y4+FMGQZT+cwW/1E/P4rDwFj2PbanlQHISViw4ccDJ+2wxAqjgwBfxwy3seABbVKDEw== + dependencies: + array-find "^1.0.0" + debug "^2.6.9" + enhanced-resolve "^0.9.1" + find-root "^1.1.0" + has "^1.0.3" + interpret "^1.2.0" + lodash "^4.17.15" + node-libs-browser "^1.0.0 || ^2.0.0" + resolve "^1.13.1" + semver "^5.7.1" + +eslint-loader@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.2.1.tgz#28b9c12da54057af0845e2a6112701a2f6bf8337" + integrity sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg== + dependencies: + loader-fs-cache "^1.0.0" + loader-utils "^1.0.2" + object-assign "^4.0.1" + object-hash "^1.1.4" + rimraf "^2.6.1" + +eslint-module-utils@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" + integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== + dependencies: + debug "^2.6.9" + pkg-dir "^2.0.0" + +eslint-module-utils@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz#94e5540dd15fe1522e8ffa3ec8db3b7fa7e7a534" + integrity sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q== + dependencies: + debug "^3.2.7" + pkg-dir "^2.0.0" + +eslint-plugin-import@^2.21.2: + version "2.22.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" + integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== + dependencies: + array-includes "^3.1.1" + array.prototype.flat "^1.2.3" + contains-path "^0.1.0" + debug "^2.6.9" + doctrine "1.5.0" + eslint-import-resolver-node "^0.3.4" + eslint-module-utils "^2.6.0" + has "^1.0.3" + minimatch "^3.0.4" + object.values "^1.1.1" + read-pkg-up "^2.0.0" + resolve "^1.17.0" + tsconfig-paths "^3.9.0" + +eslint-plugin-import@^2.24.2: + version "2.24.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz#2c8cd2e341f3885918ee27d18479910ade7bb4da" + integrity sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q== + dependencies: + array-includes "^3.1.3" + array.prototype.flat "^1.2.4" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.6.2" + find-up "^2.0.0" + has "^1.0.3" + is-core-module "^2.6.0" + minimatch "^3.0.4" + object.values "^1.1.4" + pkg-up "^2.0.0" + read-pkg-up "^3.0.0" + resolve "^1.20.0" + tsconfig-paths "^3.11.0" + +eslint-plugin-vue@^7.18.0: + version "7.18.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-7.18.0.tgz#02a452142330c7f27c242db21a1b9e25238540f6" + integrity sha512-ceDXlXYMMPMSXw7tdKUR42w9jlzthJGJ3Kvm3YrZ0zuQfvAySNxe8sm6VHuksBW0+060GzYXhHJG6IHVOfF83Q== + dependencies: + eslint-utils "^2.1.0" + natural-compare "^1.4.0" + semver "^6.3.0" + vue-eslint-parser "^7.10.0" + +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== + +eslint@^7.32.0: + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" + integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== + dependencies: + acorn "^7.1.1" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.1.0" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.1.0, esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +event-pubsub@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/event-pubsub/-/event-pubsub-4.3.0.tgz#f68d816bc29f1ec02c539dc58c8dd40ce72cb36e" + integrity sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ== + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" + integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== + +eventsource@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" + integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== + dependencies: + original "^1.0.0" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +execa@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" + integrity sha1-2NdrvBtVIX7RkP1t1J08d07PyNo= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^3.3.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" + integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + p-finally "^2.0.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +express@^4.16.3, express@^4.17.1: + version "4.17.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^2.2.6: + version "2.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" + integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== + dependencies: + "@mrmlnc/readdir-enhanced" "^2.2.1" + "@nodelib/fs.stat" "^1.1.2" + glob-parent "^3.1.0" + is-glob "^4.0.0" + merge2 "^1.2.3" + micromatch "^3.1.10" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +faye-websocket@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= + dependencies: + websocket-driver ">=0.5.1" + +faye-websocket@~0.11.1: + version "0.11.3" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" + integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== + dependencies: + websocket-driver ">=0.5.1" + +figgy-pudding@^3.5.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" + integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-loader@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.3.0.tgz#780f040f729b3d18019f20605f723e844b8a58af" + integrity sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA== + dependencies: + loader-utils "^1.2.3" + schema-utils "^2.5.0" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +filesize@^3.6.1: + version "3.6.1" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" + integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +find-cache-dir@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" + integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= + dependencies: + commondir "^1.0.1" + mkdirp "^0.5.1" + pkg-dir "^1.0.0" + +find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-cache-dir@^3.0.0, find-cache-dir@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" + integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.0.tgz#a5d06b4a8b01e3a63771daa5cb7a1903e2e57067" + integrity sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA== + +flush-write-stream@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +follow-redirects@^1.0.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db" + integrity sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA== + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-extra@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@~2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" + integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +gaze@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" + integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== + dependencies: + globule "^1.0.0" + +gensync@^1.0.0-beta.1: + version "1.0.0-beta.1" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" + integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@~5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" + integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== + dependencies: + is-glob "^4.0.1" + +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" + integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= + +glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.6.0: + version "13.8.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.8.0.tgz#3e20f504810ce87a8d72e55aecf8435b50f4c1b3" + integrity sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q== + dependencies: + type-fest "^0.20.2" + +globals@^13.9.0: + version "13.11.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.11.0.tgz#40ef678da117fe7bd2e28f1fab24951bd0255be7" + integrity sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g== + dependencies: + type-fest "^0.20.2" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globby@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" + integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= + dependencies: + array-union "^1.0.1" + dir-glob "^2.0.0" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + +globby@^9.2.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" + integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^1.0.2" + dir-glob "^2.2.2" + fast-glob "^2.2.6" + glob "^7.1.3" + ignore "^4.0.3" + pify "^4.0.1" + slash "^2.0.0" + +globule@^1.0.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4" + integrity sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA== + dependencies: + glob "~7.1.1" + lodash "~4.17.10" + minimatch "~3.0.2" + +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.3: + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + +gzip-size@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" + integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== + dependencies: + duplexer "^0.1.1" + pify "^4.0.1" + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-symbols@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== + +has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.0, has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash-sum@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" + integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= + +hash-sum@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" + integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +he@1.2.x: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hex-color-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" + integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== + +highlight.js@^9.6.0: + version "9.18.3" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.3.tgz#a1a0a2028d5e3149e2380f8a865ee8516703d634" + integrity sha512-zBZAmhSupHIl5sITeMqIJnYCDfAEc3Gdkqj65wC1lpI468MMQeeQkhcIAvk+RylAkxrCcI9xy9piHiXeQ1BdzQ== + +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoopy@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" + integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== + +hosted-git-info@^2.1.4: + version "2.8.8" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + +hosted-git-info@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" + integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== + dependencies: + lru-cache "^6.0.0" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" + integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + +html-comment-regex@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" + integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== + +html-entities@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" + integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA== + +html-minifier@^3.2.3: + version "3.5.21" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" + integrity sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA== + dependencies: + camel-case "3.0.x" + clean-css "4.2.x" + commander "2.17.x" + he "1.2.x" + param-case "2.1.x" + relateurl "0.2.x" + uglify-js "3.4.x" + +html-tags@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b" + integrity sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos= + +html-tags@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" + integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== + +html-webpack-plugin@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b" + integrity sha1-sBq71yOsqqeze2r0SS69oD2d03s= + dependencies: + html-minifier "^3.2.3" + loader-utils "^0.2.16" + lodash "^4.17.3" + pretty-error "^2.0.2" + tapable "^1.0.0" + toposort "^1.0.0" + util.promisify "1.0.0" + +htmlparser2@^3.3.0: + version "3.10.1" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== + dependencies: + domelementtype "^1.3.1" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.1.1" + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-parser-js@>=0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.2.tgz#da2e31d237b393aae72ace43882dd7e270a8ff77" + integrity sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ== + +http-proxy-middleware@0.19.1: + version "0.19.1" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" + integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== + dependencies: + http-proxy "^1.17.0" + is-glob "^4.0.0" + lodash "^4.17.11" + micromatch "^3.1.10" + +http-proxy@^1.17.0: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +iconv-lite@0.4.24, iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-utils@^4.0.0, icss-utils@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" + integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== + dependencies: + postcss "^7.0.14" + +ieee754@^1.1.4: + version "1.1.13" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== + +ignore@^4.0.3, ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= + dependencies: + import-from "^2.1.0" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-fresh@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" + integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + integrity sha1-M1238qev/VOqpHHUuAId7ja387E= + dependencies: + resolve-from "^3.0.0" + +import-local@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + +infer-owner@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +inquirer@^7.1.0: + version "7.3.3" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.19" + mute-stream "0.0.8" + run-async "^2.4.0" + rxjs "^6.6.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + +internal-ip@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" + integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== + dependencies: + default-gateway "^4.2.0" + ipaddr.js "^1.9.0" + +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + +interpret@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +ip@^1.1.0, ip@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + +ipaddr.js@1.9.1, ipaddr.js@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= + +is-absolute-url@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" + integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arguments@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" + integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-callable@^1.1.4, is-callable@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" + integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== + +is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + +is-ci@^1.0.10: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" + integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== + dependencies: + ci-info "^1.5.0" + +is-color-stop@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" + integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= + dependencies: + css-color-names "^0.0.4" + hex-color-regex "^1.1.0" + hsl-regex "^1.0.0" + hsla-regex "^1.0.0" + rgb-regex "^1.0.1" + rgba-regex "^1.0.0" + +is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.6.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.7.0.tgz#3c0ef7d31b4acfc574f80c58409d568a836848e3" + integrity sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ== + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + +is-docker@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" + integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-negative-zero@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461" + integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE= + +is-negative-zero@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + +is-number-object@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-path-cwd@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-in-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" + integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== + dependencies: + is-path-inside "^2.1.0" + +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" + integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== + dependencies: + path-is-inside "^1.0.2" + +is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-regex@^1.0.4, is-regex@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" + integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== + dependencies: + has-symbols "^1.0.1" + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + +is-string@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== + +is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-svg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" + integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== + dependencies: + html-comment-regex "^1.1.0" + +is-symbol@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== + dependencies: + has-symbols "^1.0.1" + +is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +is-wsl@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +javascript-stringify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-2.0.1.tgz#6ef358035310e35d667c675ed63d3eb7c1aa19e5" + integrity sha512-yV+gqbd5vaOYjqlbk16EG89xB5udgjqQF3C5FAORDg4f/IS1Yc5ERCv5e/57yBcfJYw05V5JyIXabhwb75Xxow== + +js-base64@^2.1.8: + version "2.6.4" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" + integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== + +js-message@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/js-message/-/js-message-1.0.5.tgz#2300d24b1af08e89dd095bc1a4c9c9cfcb892d15" + integrity sha1-IwDSSxrwjondCVvBpMnJz8uJLRU= + +js-queue@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/js-queue/-/js-queue-2.0.0.tgz#362213cf860f468f0125fc6c96abc1742531f948" + integrity sha1-NiITz4YPRo8BJfxslqvBdCUx+Ug= + dependencies: + easy-stack "^1.0.0" + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" + integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json3@^3.3.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== + +json5@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" + integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== + dependencies: + minimist "^1.2.5" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +killable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" + integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +klona@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0" + integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA== + +launch-editor-middleware@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz#e14b07e6c7154b0a4b86a0fd345784e45804c157" + integrity sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg== + dependencies: + launch-editor "^2.2.1" + +launch-editor@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.2.1.tgz#871b5a3ee39d6680fcc26d37930b6eeda89db0ca" + integrity sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw== + dependencies: + chalk "^2.3.0" + shell-quote "^1.6.1" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +loader-fs-cache@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz#f08657646d607078be2f0a032f8bd69dd6f277d9" + integrity sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA== + dependencies: + find-cache-dir "^0.1.1" + mkdirp "^0.5.1" + +loader-runner@^2.3.1, loader-runner@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== + +loader-utils@^0.2.16: + version "0.2.17" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + +loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" + integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= + +lodash.defaultsdeep@^4.6.1: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6" + integrity sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA== + +lodash.kebabcase@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" + integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY= + +lodash.mapvalues@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" + integrity sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw= + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.transform@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.transform/-/lodash.transform-4.6.0.tgz#12306422f63324aed8483d3f38332b5f670547a0" + integrity sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A= + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.3, lodash@~4.17.10: + version "4.17.20" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== + +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== + dependencies: + chalk "^2.0.1" + +loglevel@^1.6.8: + version "1.7.0" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.0.tgz#728166855a740d59d38db01cf46f042caa041bb0" + integrity sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ== + +lower-case@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= + +lru-cache@^4.0.1, lru-cache@^4.1.2: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-dir@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= + +map-obj@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== + +mdn-data@2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978" + integrity sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +memory-fs@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290" + integrity sha1-8rslNovBIeORwlIN6Slpyu4KApA= + +memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" + integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.2.2" + decamelize "^1.2.0" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "4.1.0" + normalize-package-data "^3.0.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.18.0" + yargs-parser "^20.2.3" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +merge-source-map@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" + integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== + dependencies: + source-map "^0.6.1" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.2.3: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.44.0: + version "1.44.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" + integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== + +"mime-db@>= 1.43.0 < 2": + version "1.45.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" + integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== + +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.27" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" + integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== + dependencies: + mime-db "1.44.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@^2.4.4: + version "2.4.6" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" + integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + +mini-css-extract-plugin@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz#47f2cf07aa165ab35733b1fc97d4c46c0564339e" + integrity sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A== + dependencies: + loader-utils "^1.1.0" + normalize-url "1.9.1" + schema-utils "^1.0.0" + webpack-sources "^1.1.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@^3.0.4, minimatch@~3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist-options@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + kind-of "^6.0.3" + +minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +minipass@^3.0.0, minipass@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" + integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== + dependencies: + yallist "^4.0.0" + +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^3.0.0" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +mkdirp@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +ms@2.1.2, ms@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= + +multicast-dns@^6.0.1: + version "6.2.3" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" + integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== + dependencies: + dns-packet "^1.3.1" + thunky "^1.0.2" + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +mz@^2.4.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nan@^2.12.1, nan@^2.13.2: + version "2.14.2" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" + integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + +neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +no-case@^2.2.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== + dependencies: + lower-case "^1.1.1" + +node-forge@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" + integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== + +node-gyp@^7.1.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" + integrity sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ== + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.3" + nopt "^5.0.0" + npmlog "^4.1.2" + request "^2.88.2" + rimraf "^3.0.2" + semver "^7.3.2" + tar "^6.0.2" + which "^2.0.2" + +node-ipc@^9.1.1: + version "9.1.1" + resolved "https://registry.yarnpkg.com/node-ipc/-/node-ipc-9.1.1.tgz#4e245ed6938e65100e595ebc5dc34b16e8dd5d69" + integrity sha512-FAyICv0sIRJxVp3GW5fzgaf9jwwRQxAKDJlmNFUL5hOy+W4X/I5AypyHoq0DXXbo9o/gt79gj++4cMr4jVWE/w== + dependencies: + event-pubsub "4.3.0" + js-message "1.0.5" + js-queue "2.0.0" + +"node-libs-browser@^1.0.0 || ^2.0.0", node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^3.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.1" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.11.0" + vm-browserify "^1.0.1" + +node-releases@^1.1.61: + version "1.1.63" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.63.tgz#db6dbb388544c31e888216304e8fd170efee3ff5" + integrity sha512-ukW3iCfQaoxJkSPN+iK7KznTeqDGVJatAEuXsJERYHa9tn/KaT5lBdIyxQjLEVTzSkyjJEuQ17/vaEjrOauDkg== + +node-sass@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-6.0.1.tgz#cad1ccd0ce63e35c7181f545d8b986f3a9a887fe" + integrity sha512-f+Rbqt92Ful9gX0cGtdYwjTrWAaGURgaK5rZCWOgCNyGWusFYHhbqCCBoFBeat+HKETOU02AyTxNhJV0YZf2jQ== + dependencies: + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^7.0.3" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + lodash "^4.17.15" + meow "^9.0.0" + nan "^2.13.2" + node-gyp "^7.1.0" + npmlog "^4.0.0" + request "^2.88.0" + sass-graph "2.2.5" + stdout-stream "^1.4.0" + "true-case-path" "^1.0.2" + +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== + dependencies: + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + +normalize-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" + integrity sha1-MtDkcvkf80VwHBWoMRAY07CpA3k= + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + +normalize-url@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + +normalize-url@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +npmlog@^4.0.0, npmlog@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +nth-check@^1.0.2, nth-check@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-hash@^1.1.4: + version "1.3.1" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" + integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA== + +object-inspect@^1.11.0, object-inspect@^1.9.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" + integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== + +object-inspect@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" + integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== + +object-is@^1.0.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.3.tgz#2e3b9e65560137455ee3bd62aec4d90a2ea1cc81" + integrity sha512-teyqLvFWzLkq5B9ki8FVWA902UER2qkxmdA4nLf+wjOLAWgxzCWZNCxpDq9MvE8MmhWNr+I8w3BN49Vx36Y6Xg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + +object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0, object.assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.1.tgz#303867a666cdd41936ecdedfb1f8f3e32a478cdd" + integrity sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.18.0-next.0" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +object.entries@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add" + integrity sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + has "^1.0.3" + +object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" + integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.1.0, object.values@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" + integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + has "^1.0.3" + +object.values@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30" + integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.2" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^6.3.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" + integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== + dependencies: + is-wsl "^1.1.0" + +opener@^1.5.1: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +opn@^5.5.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" + integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== + dependencies: + is-wsl "^1.1.0" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +ora@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" + integrity sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg== + dependencies: + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-spinners "^2.0.0" + log-symbols "^2.2.0" + strip-ansi "^5.2.0" + wcwidth "^1.0.1" + +original@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" + integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== + dependencies: + url-parse "^1.4.3" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-finally@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" + integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== + +p-retry@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" + integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== + dependencies: + retry "^0.12.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + +parallel-transform@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== + dependencies: + cyclist "^1.0.1" + inherits "^2.0.3" + readable-stream "^2.1.5" + +param-case@2.1.x: + version "2.1.1" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= + dependencies: + no-case "^2.2.0" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== + dependencies: + asn1.js "^5.2.0" + browserify-aes "^1.0.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" + integrity sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse5-htmlparser2-tree-adapter@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-5.1.1.tgz#e8c743d4e92194d5293ecde2b08be31e67461cbc" + integrity sha512-CF+TKjXqoqyDwHqBhFQ+3l5t83xYi6fVT1tQNg+Ye0JRLnTxWvIroCjEp1A0k4lneHNBGnICUf0cfYVYGEazqw== + dependencies: + parse5 "^5.1.1" + +parse5@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= + dependencies: + pify "^2.0.0" + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + +pbkdf2@^3.0.3: + version "3.1.1" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" + integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= + dependencies: + find-up "^1.0.0" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.1.0" + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" + integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= + dependencies: + find-up "^2.1.0" + +pnp-webpack-plugin@^1.6.4: + version "1.6.4" + resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" + integrity sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg== + dependencies: + ts-pnp "^1.1.6" + +portfinder@^1.0.26: + version "1.0.28" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" + integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== + dependencies: + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.5" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +postcss-calc@^7.0.1: + version "7.0.5" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" + integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg== + dependencies: + postcss "^7.0.27" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + +postcss-colormin@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" + integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== + dependencies: + browserslist "^4.0.0" + color "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-convert-values@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" + integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-discard-comments@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" + integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== + dependencies: + postcss "^7.0.0" + +postcss-discard-duplicates@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" + integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== + dependencies: + postcss "^7.0.0" + +postcss-discard-empty@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" + integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== + dependencies: + postcss "^7.0.0" + +postcss-discard-overridden@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" + integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== + dependencies: + postcss "^7.0.0" + +postcss-load-config@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" + integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== + dependencies: + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" + +postcss-loader@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" + integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== + dependencies: + loader-utils "^1.1.0" + postcss "^7.0.0" + postcss-load-config "^2.0.0" + schema-utils "^1.0.0" + +postcss-merge-longhand@^4.0.11: + version "4.0.11" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" + integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== + dependencies: + css-color-names "0.0.4" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + stylehacks "^4.0.0" + +postcss-merge-rules@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" + integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + cssnano-util-same-parent "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + vendors "^1.0.0" + +postcss-minify-font-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" + integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-gradients@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" + integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== + dependencies: + cssnano-util-get-arguments "^4.0.0" + is-color-stop "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-params@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" + integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== + dependencies: + alphanum-sort "^1.0.0" + browserslist "^4.0.0" + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + uniqs "^2.0.0" + +postcss-minify-selectors@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" + integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== + dependencies: + alphanum-sort "^1.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +postcss-modules-extract-imports@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" + integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== + dependencies: + postcss "^7.0.5" + +postcss-modules-local-by-default@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" + integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== + dependencies: + icss-utils "^4.1.1" + postcss "^7.0.32" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" + integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" + +postcss-modules-values@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" + integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== + dependencies: + icss-utils "^4.0.0" + postcss "^7.0.6" + +postcss-normalize-charset@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" + integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== + dependencies: + postcss "^7.0.0" + +postcss-normalize-display-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" + integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-positions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" + integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== + dependencies: + cssnano-util-get-arguments "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-repeat-style@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" + integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== + dependencies: + cssnano-util-get-arguments "^4.0.0" + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-string@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" + integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== + dependencies: + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-timing-functions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" + integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-unicode@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" + integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-url@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" + integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-whitespace@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" + integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-ordered-values@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" + integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== + dependencies: + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-reduce-initial@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" + integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + +postcss-reduce-transforms@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" + integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== + dependencies: + cssnano-util-get-match "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-selector-parser@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" + integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== + dependencies: + dot-prop "^5.2.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" + integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== + dependencies: + cssesc "^3.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + util-deprecate "^1.0.2" + +postcss-svgo@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" + integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw== + dependencies: + is-svg "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + svgo "^1.0.0" + +postcss-unique-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" + integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== + dependencies: + alphanum-sort "^1.0.0" + postcss "^7.0.0" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.35" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" + integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + +prettier@^1.18.2: + version "1.19.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" + integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== + +pretty-error@^2.0.2: + version "2.1.1" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" + integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= + dependencies: + renderkid "^2.0.1" + utila "~0.4" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + +proxy-addr@~2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" + integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.9.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +read-pkg@^5.1.1, read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + dependencies: + picomatch "^2.2.1" + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" + integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== + dependencies: + regenerate "^1.4.0" + +regenerate@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" + integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A== + +regenerator-runtime@^0.13.4: + version "0.13.7" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== + +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== + dependencies: + "@babel/runtime" "^7.8.4" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp.prototype.flags@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" + integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +regexpp@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" + integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== + +regexpu-core@^4.7.1: + version "4.7.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" + integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.2.0" + +regjsgen@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== + +regjsparser@^0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" + integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== + dependencies: + jsesc "~0.5.0" + +relateurl@0.2.x: + version "0.2.7" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +renderkid@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" + integrity sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA== + dependencies: + css-select "^1.1.0" + dom-converter "^0.2" + htmlparser2 "^3.3.0" + strip-ansi "^3.0.0" + utila "^0.4.0" + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +request@^2.88.0, request@^2.88.2: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1: + version "1.17.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + dependencies: + path-parse "^1.0.6" + +resolve@^1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= + +rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + dependencies: + aproba "^1.1.1" + +rxjs@^6.6.0: + version "6.6.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" + integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== + dependencies: + tslib "^1.9.0" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sass-graph@2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8" + integrity sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag== + dependencies: + glob "^7.0.0" + lodash "^4.0.0" + scss-tokenizer "^0.2.3" + yargs "^13.3.2" + +sass-loader@^12.1.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.1.0.tgz#b73324622231009da6fba61ab76013256380d201" + integrity sha512-FVJZ9kxVRYNZTIe2xhw93n3xJNYZADr+q69/s98l9nTCrWASo+DR2Ot0s5xTKQDDEosUkatsGeHxcH4QBp5bSg== + dependencies: + klona "^2.0.4" + neo-async "^2.6.2" + +sax@~1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +schema-utils@^2.0.0, schema-utils@^2.5.0, schema-utils@^2.6.5, schema-utils@^2.7.0: + version "2.7.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +scss-tokenizer@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" + integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE= + dependencies: + js-base64 "^2.1.8" + source-map "^0.4.2" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + +selfsigned@^1.10.7: + version "1.10.8" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" + integrity sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w== + dependencies: + node-forge "^0.10.0" + +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.1: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + +semver@^6.0.0, semver@^6.1.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.2.1, semver@^7.3.2: + version "7.3.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" + integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== + dependencies: + lru-cache "^6.0.0" + +semver@^7.3.4: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +send@0.17.1: + version "0.17.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.6.1: + version "1.7.2" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" + integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +sockjs-client@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" + integrity sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g== + dependencies: + debug "^3.2.5" + eventsource "^1.0.7" + faye-websocket "~0.11.1" + inherits "^2.0.3" + json3 "^3.3.2" + url-parse "^1.4.3" + +sockjs@0.3.20: + version "0.3.20" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.20.tgz#b26a283ec562ef8b2687b44033a4eeceac75d855" + integrity sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA== + dependencies: + faye-websocket "^0.10.0" + uuid "^3.4.0" + websocket-driver "0.6.5" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + dependencies: + is-plain-obj "^1.0.0" + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@~0.5.12: + version "0.5.19" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + +source-map@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + integrity sha1-66T12pwNyZneaAMti092FzZSA2s= + dependencies: + amdefine ">=0.0.4" + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.6" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz#c80757383c28abf7296744998cbc106ae8b854ce" + integrity sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +ssri@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" + integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== + dependencies: + figgy-pudding "^3.5.1" + +ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" + integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== + dependencies: + minipass "^3.1.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +stackframe@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303" + integrity sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA== + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +stdout-stream@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" + integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA== + dependencies: + readable-stream "^2.0.1" + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2", string-width@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string.prototype.trimend@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" + integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" + integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string_decoder@^1.0.0, string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-indent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" + integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +stylehacks@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" + integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +svg-tags@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" + integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= + +svgo@^1.0.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" + integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== + dependencies: + chalk "^2.4.1" + coa "^2.0.2" + css-select "^2.0.0" + css-select-base-adapter "^0.1.1" + css-tree "1.0.0-alpha.37" + csso "^4.0.2" + js-yaml "^3.13.1" + mkdirp "~0.5.1" + object.values "^1.1.0" + sax "~1.2.4" + stable "^0.1.8" + unquote "~1.1.1" + util.promisify "~1.0.0" + +table@^6.0.9: + version "6.7.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" + integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== + dependencies: + ajv "^8.0.1" + lodash.clonedeep "^4.5.0" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.0" + strip-ansi "^6.0.0" + +tapable@^0.1.8: + version "0.1.10" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4" + integrity sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q= + +tapable@^1.0.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +tar@^6.0.2: + version "6.0.5" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.0.5.tgz#bde815086e10b39f1dcd298e89d596e1535e200f" + integrity sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^3.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +terser-webpack-plugin@^1.4.3, terser-webpack-plugin@^1.4.4: + version "1.4.5" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" + integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== + dependencies: + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" + schema-utils "^1.0.0" + serialize-javascript "^4.0.0" + source-map "^0.6.1" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" + +terser@^4.1.2: + version "4.8.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + +thread-loader@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/thread-loader/-/thread-loader-2.1.3.tgz#cbd2c139fc2b2de6e9d28f62286ab770c1acbdda" + integrity sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg== + dependencies: + loader-runner "^2.3.1" + loader-utils "^1.1.0" + neo-async "^2.6.0" + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +timers-browserify@^2.0.4: + version "2.0.11" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" + integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== + dependencies: + setimmediate "^1.0.4" + +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + +toposort@^1.0.0: + version "1.0.7" + resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" + integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk= + +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +trim-newlines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== + +"true-case-path@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" + integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew== + dependencies: + glob "^7.1.2" + +tryer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" + integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== + +ts-pnp@^1.1.6: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" + integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== + +tsconfig-paths@^3.11.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz#954c1fe973da6339c78e06b03ce2e48810b65f36" + integrity sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.0" + strip-bom "^3.0.0" + +tsconfig-paths@^3.9.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" + integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.0" + strip-bom "^3.0.0" + +tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== + +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +uglify-js@3.4.x: + version "3.4.10" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" + integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw== + dependencies: + commander "~2.19.0" + source-map "~0.6.1" + +unbox-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" + integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" + integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + +upper-case@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= + +uri-js@^4.2.2: + version "4.4.0" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" + integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-loader@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b" + integrity sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog== + dependencies: + loader-utils "^1.2.3" + mime "^2.4.4" + schema-utils "^2.5.0" + +url-parse@^1.4.3: + version "1.4.7" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" + integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util.promisify@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" + integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + +util@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + dependencies: + inherits "2.0.3" + +utila@^0.4.0, utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^3.3.2, uuid@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +v8-compile-cache@^2.0.3: + version "2.1.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" + integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +vendors@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" + integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + +vue-eslint-parser@^7.10.0: + version "7.11.0" + resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz#214b5dea961007fcffb2ee65b8912307628d0daf" + integrity sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg== + dependencies: + debug "^4.1.1" + eslint-scope "^5.1.1" + eslint-visitor-keys "^1.1.0" + espree "^6.2.1" + esquery "^1.4.0" + lodash "^4.17.21" + semver "^6.3.0" + +vue-hot-reload-api@^2.3.0: + version "2.3.4" + resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" + integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== + +"vue-loader-v16@npm:vue-loader@^16.1.0": + version "16.1.2" + resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-16.1.2.tgz#5c03b6c50d2a5f983c7ceba15c50d78ca2b298f4" + integrity sha512-8QTxh+Fd+HB6fiL52iEVLKqE9N1JSlMXLR92Ijm6g8PZrwIxckgpqjPDWRP5TWxdiPaHR+alUWsnu1ShQOwt+Q== + dependencies: + chalk "^4.1.0" + hash-sum "^2.0.0" + loader-utils "^2.0.0" + +vue-loader@^15.9.2: + version "15.9.6" + resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.6.tgz#f4bb9ae20c3a8370af3ecf09b8126d38ffdb6b8b" + integrity sha512-j0cqiLzwbeImIC6nVIby2o/ABAWhlppyL/m5oJ67R5MloP0hj/DtFgb0Zmq3J9CG7AJ+AXIvHVnJAPBvrLyuDg== + dependencies: + "@vue/component-compiler-utils" "^3.1.0" + hash-sum "^1.0.2" + loader-utils "^1.1.0" + vue-hot-reload-api "^2.3.0" + vue-style-loader "^4.1.0" + +vue-style-loader@^4.1.0, vue-style-loader@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.2.tgz#dedf349806f25ceb4e64f3ad7c0a44fba735fcf8" + integrity sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ== + dependencies: + hash-sum "^1.0.2" + loader-utils "^1.0.2" + +vue-template-es2015-compiler@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825" + integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== + +watchpack-chokidar2@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" + integrity sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA== + dependencies: + chokidar "^2.1.8" + +watchpack@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" + integrity sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg== + dependencies: + graceful-fs "^4.1.2" + neo-async "^2.5.0" + optionalDependencies: + chokidar "^3.4.1" + watchpack-chokidar2 "^2.0.0" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + dependencies: + defaults "^1.0.3" + +webpack-bundle-analyzer@^3.8.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz#f6f94db108fb574e415ad313de41a2707d33ef3c" + integrity sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + bfj "^6.1.1" + chalk "^2.4.1" + commander "^2.18.0" + ejs "^2.6.1" + express "^4.16.3" + filesize "^3.6.1" + gzip-size "^5.0.0" + lodash "^4.17.19" + mkdirp "^0.5.1" + opener "^1.5.1" + ws "^6.0.0" + +webpack-chain@^6.4.0: + version "6.5.1" + resolved "https://registry.yarnpkg.com/webpack-chain/-/webpack-chain-6.5.1.tgz#4f27284cbbb637e3c8fbdef43eef588d4d861206" + integrity sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA== + dependencies: + deepmerge "^1.5.2" + javascript-stringify "^2.0.1" + +webpack-dev-middleware@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" + integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw== + dependencies: + memory-fs "^0.4.1" + mime "^2.4.4" + mkdirp "^0.5.1" + range-parser "^1.2.1" + webpack-log "^2.0.0" + +webpack-dev-server@^3.11.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz#8f154a3bce1bcfd1cc618ef4e703278855e7ff8c" + integrity sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg== + dependencies: + ansi-html "0.0.7" + bonjour "^3.5.0" + chokidar "^2.1.8" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + debug "^4.1.1" + del "^4.1.1" + express "^4.17.1" + html-entities "^1.3.1" + http-proxy-middleware "0.19.1" + import-local "^2.0.0" + internal-ip "^4.3.0" + ip "^1.1.5" + is-absolute-url "^3.0.3" + killable "^1.0.1" + loglevel "^1.6.8" + opn "^5.5.0" + p-retry "^3.0.1" + portfinder "^1.0.26" + schema-utils "^1.0.0" + selfsigned "^1.10.7" + semver "^6.3.0" + serve-index "^1.9.1" + sockjs "0.3.20" + sockjs-client "1.4.0" + spdy "^4.0.2" + strip-ansi "^3.0.1" + supports-color "^6.1.0" + url "^0.11.0" + webpack-dev-middleware "^3.7.2" + webpack-log "^2.0.0" + ws "^6.2.1" + yargs "^13.3.2" + +webpack-log@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== + dependencies: + ansi-colors "^3.0.0" + uuid "^3.3.2" + +webpack-merge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" + integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== + dependencies: + lodash "^4.17.15" + +webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: + version "1.4.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@^4.0.0: + version "4.44.2" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.44.2.tgz#6bfe2b0af055c8b2d1e90ed2cd9363f841266b72" + integrity sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/wasm-edit" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + acorn "^6.4.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.3.0" + eslint-scope "^4.0.3" + json-parse-better-errors "^1.0.2" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.3" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" + schema-utils "^1.0.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.3" + watchpack "^1.7.4" + webpack-sources "^1.4.1" + +websocket-driver@0.6.5: + version "0.6.5" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36" + integrity sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY= + dependencies: + websocket-extensions ">=0.1.1" + +websocket-driver@>=0.5.1: + version "0.7.4" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== + dependencies: + errno "~0.1.7" + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +ws@^6.0.0, ws@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" + integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== + dependencies: + async-limiter "~1.0.0" + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^20.2.3: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs@^13.3.2: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" + +yargs@^15.0.0: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yorkie@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yorkie/-/yorkie-2.0.0.tgz#92411912d435214e12c51c2ae1093e54b6bb83d9" + integrity sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw== + dependencies: + execa "^0.8.0" + is-ci "^1.0.10" + normalize-path "^1.0.0" + strip-indent "^2.0.0" diff --git a/plugins/shortcode-core/shortcode-core.php b/plugins/shortcode-core/shortcode-core.php new file mode 100644 index 0000000..abcf24b --- /dev/null +++ b/plugins/shortcode-core/shortcode-core.php @@ -0,0 +1,293 @@ + [ + ['autoload', 100001], + ['onPluginsInitialized', 10] + ], + 'registerNextGenEditorPlugin' => [ + ['registerNextGenEditorPlugin', 0], + ['registerNextGenEditorPluginShortcodes', 0], + ] + ]; + } + + /** + * [onPluginsInitialized:100000] Composer autoload. + * + * @return ClassLoader + */ + public function autoload() + { + return require __DIR__ . '/vendor/autoload.php'; + } + + /** + * Initialize configuration + */ + public function onPluginsInitialized() + { + $this->config = $this->grav['config']; + + // don't continue if this is admin and plugin is disabled for admin + if (!$this->config->get('plugins.shortcode-core.active_admin') && $this->isAdmin()) { + return; + } + + $this->enable([ + 'onThemeInitialized' => ['onThemeInitialized', 0], + 'onMarkdownInitialized' => ['onMarkdownInitialized', 0], + 'onShortcodeHandlers' => ['onShortcodeHandlers', 0], + 'onPageContentRaw' => ['onPageContentRaw', 0], + 'onPageContentProcessed' => ['onPageContentProcessed', -10], + 'onPageContent' => ['onPageContent', 0], + 'onTwigInitialized' => ['onTwigInitialized', 0], + 'onTwigTemplatePaths' => ['onTwigTemplatePaths', 0], + ]); + + $this->grav['shortcode'] = $this->shortcodes = new ShortcodeManager(); + } + + /** + * Theme initialization is best place to fire onShortcodeHandler event + * in order to support both plugins and themes + */ + public function onThemeInitialized() + { + $this->grav->fireEvent('onShortcodeHandlers'); + } + + /** + * Handle the markdown Initialized event by setting up shortcode block tags + * + * @param Event $event the event containing the markdown parser + */ + public function onMarkdownInitialized(Event $event) + { + $this->shortcodes->setupMarkdown($event['markdown']); + } + + /** + * Process shortcodes before Grav's processing + * + * @param Event $e + */ + public function onPageContentRaw(Event $e) + { + $this->processShortcodes($e['page'], 'processRawContent'); + } + + /** + * Process shortcodes after Grav's processing, but before caching + * + * @param Event $e + */ + public function onPageContentProcessed(Event $e) + { + $this->processShortcodes($e['page'], 'processContent'); + } + + /** + * @param PageInterface $page + * @param string $type + */ + protected function processShortcodes(PageInterface $page, $type = 'processContent') { + $meta = []; + $this->shortcodes->resetObjects(); // clear shortcodes that may have been processed in this execution thread before + $config = $this->mergeConfig($page); + + // Don't run in admin pages other than content + $admin_pages_only = $config['admin_pages_only'] ?? true; + if ($admin_pages_only && $this->isAdmin() && !Utils::startsWith($page->filePath(), $this->grav['locator']->findResource('page://'))) { + return; + } + + $this->active = $config->get('active', true); + + // if the plugin is not active (either global or on page) exit + if (!$this->active) { + return; + } + + // process the content for shortcodes + $page->setRawContent($this->shortcodes->$type($page, $config)); + + // if objects found set them as page content meta + $shortcode_objects = $this->shortcodes->getObjects(); + if (!empty($shortcode_objects)) { + $meta['shortcode'] = $shortcode_objects; + } + + // if assets founds set them as page content meta + $shortcode_assets = $this->shortcodes->getAssets(); + if (!empty($shortcode_assets)) { + $meta['shortcodeAssets'] = $shortcode_assets; + } + + // if we have meta set, let's add it to the content meta + if (!empty($meta)) { + $page->addContentMeta('shortcodeMeta', $meta); + } + } + + /** + * @param PageInterface $page + * @return \Grav\Common\Data\Data + */ + protected function getConfig(PageInterface $page) + { + $config = $this->mergeConfig($page); + $this->active = false; + + // Don't run in admin pages other than content + $admin_pages_only = isset($config['admin_pages_only']) ? $config['admin_pages_only'] : true; + if ($admin_pages_only && + $this->isAdmin() && + !Utils::startsWith($page->filePath(), $this->grav['locator']->findResource('page://'))) { + + } else { + $this->active = $config->get('active', true); + } + + return $config; + } + + /** + * Handle the assets that might be associated with this page + */ + public function onPageContent(Event $event) + { + if (!$this->active) { + return; + } + + $page = $event['page']; + + // get the meta and check for assets + $page_meta = $page->getContentMeta('shortcodeMeta'); + + if (is_array($page_meta)) { + if (isset($page_meta['shortcodeAssets'])) { + + $page_assets = (array) $page_meta['shortcodeAssets']; + + /** @var Assets $assets */ + $assets = $this->grav['assets']; + // if we actually have data now, add it to asset manager + foreach ($page_assets as $type => $asset) { + foreach ($asset as $item) { + $method = 'add'.ucfirst($type); + if (is_array($item)) { + $assets->$method($item[0], $item[1]); + } else { + $assets->$method($item); + } + } + } + } + } + } + + /** + * Event that handles registering handler for shortcodes + */ + public function onShortcodeHandlers() + { + $include_default_shortcodes = $this->config->get('plugins.shortcode-core.include_default_shortcodes', true); + if ($include_default_shortcodes) { + $this->shortcodes->registerAllShortcodes(__DIR__ . '/classes/shortcodes', ['ignore' => ['Shortcode', 'ShortcodeObject']]); + } + + // Add custom shortcodes directory if provided + $custom_shortcodes = $this->config->get('plugins.shortcode-core.custom_shortcodes'); + if (isset($custom_shortcodes)) { + $this->shortcodes->registerAllShortcodes(GRAV_ROOT . $custom_shortcodes); + } + } + + /** + * Add a twig filter for processing shortcodes in templates + */ + public function onTwigInitialized() + { + $this->grav['twig']->twig()->addFilter(new TwigFilter('shortcodes', [$this->shortcodes, 'processShortcodes'])); + $this->grav['twig']->twig_vars['shortcode'] = new ShortcodeTwigVar(); + } + + public function onTwigTemplatePaths() + { + $this->grav['twig']->twig_paths[] = __DIR__ . '/templates'; + } + + public function registerNextGenEditorPlugin($event) { + $config = $this->config->get('plugins.shortcode-core.nextgen-editor'); + $plugins = $event['plugins']; + + if ($config['env'] !== 'development') { + $plugins['css'][] = 'plugin://shortcode-core/nextgen-editor/dist/css/app.css'; + $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/dist/js/app.js'; + } else { + $plugins['js'][] = 'http://' . $config['dev_host'] . ':' . $config['dev_port'] . '/js/app.js'; + } + + $event['plugins'] = $plugins; + return $event; + } + + public function registerNextGenEditorPluginShortcodes($event) { + $include_default_shortcodes = $this->config->get('plugins.shortcode-core.include_default_shortcodes', true); + if ($include_default_shortcodes) { + $plugins = $event['plugins']; + + $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/shortcode-core.js'; + $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/align/align.js'; + $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/color/color.js'; + $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/columns/columns.js'; + $plugins['css'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/details/details.css'; + $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/details/details.js'; + $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/div/div.js'; + $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/figure/figure.js'; + $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/fontawesome/fontawesome.js'; + $plugins['css'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/headers/headers.css'; + $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/headers/headers.js'; + $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/language/language.js'; + $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/lorem/lorem.js'; + $plugins['css'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/mark/mark.css'; + $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/mark/mark.js'; + $plugins['css'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/notice/notice.css'; + $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/notice/notice.js'; + $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/raw/raw.js'; + $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/safe-email/safe-email.js'; + $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/section/section.js'; + $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/size/size.js'; + $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/span/span.js'; + $plugins['js'][] = 'plugin://shortcode-core/nextgen-editor/shortcodes/u/u.js'; + + $event['plugins'] = $plugins; + } + return $event; + } + +} diff --git a/plugins/shortcode-core/shortcode-core.yaml b/plugins/shortcode-core/shortcode-core.yaml new file mode 100644 index 0000000..de76f84 --- /dev/null +++ b/plugins/shortcode-core/shortcode-core.yaml @@ -0,0 +1,17 @@ +enabled: true +active: true +active_admin: true +admin_pages_only: true +parser: regular +include_default_shortcodes: true +css: + notice_enabled: true +custom_shortcodes: +fontawesome: + load: true + url: '//maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css' + v5: false +nextgen-editor: + env: production + dev_host: localhost + dev_port: 2001 diff --git a/plugins/shortcode-core/templates/shortcodes/notice.html.twig b/plugins/shortcode-core/templates/shortcodes/notice.html.twig new file mode 100644 index 0000000..e2bdc35 --- /dev/null +++ b/plugins/shortcode-core/templates/shortcodes/notice.html.twig @@ -0,0 +1,3 @@ +
+
{{ content|raw }}
+
\ No newline at end of file diff --git a/plugins/shortcode-core/vendor/autoload.php b/plugins/shortcode-core/vendor/autoload.php new file mode 100644 index 0000000..d7a4ef3 --- /dev/null +++ b/plugins/shortcode-core/vendor/autoload.php @@ -0,0 +1,12 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer\Autoload; + +/** + * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. + * + * $loader = new \Composer\Autoload\ClassLoader(); + * + * // register classes with namespaces + * $loader->add('Symfony\Component', __DIR__.'/component'); + * $loader->add('Symfony', __DIR__.'/framework'); + * + * // activate the autoloader + * $loader->register(); + * + * // to enable searching the include path (eg. for PEAR packages) + * $loader->setUseIncludePath(true); + * + * In this example, if you try to use a class in the Symfony\Component + * namespace or one of its children (Symfony\Component\Console for instance), + * the autoloader will first look for the class under the component/ + * directory, and it will then fallback to the framework/ directory if not + * found before giving up. + * + * This class is loosely based on the Symfony UniversalClassLoader. + * + * @author Fabien Potencier + * @author Jordi Boggiano + * @see https://www.php-fig.org/psr/psr-0/ + * @see https://www.php-fig.org/psr/psr-4/ + */ +class ClassLoader +{ + /** @var ?string */ + private $vendorDir; + + // PSR-4 + /** + * @var array[] + * @psalm-var array> + */ + private $prefixLengthsPsr4 = array(); + /** + * @var array[] + * @psalm-var array> + */ + private $prefixDirsPsr4 = array(); + /** + * @var array[] + * @psalm-var array + */ + private $fallbackDirsPsr4 = array(); + + // PSR-0 + /** + * @var array[] + * @psalm-var array> + */ + private $prefixesPsr0 = array(); + /** + * @var array[] + * @psalm-var array + */ + private $fallbackDirsPsr0 = array(); + + /** @var bool */ + private $useIncludePath = false; + + /** + * @var string[] + * @psalm-var array + */ + private $classMap = array(); + + /** @var bool */ + private $classMapAuthoritative = false; + + /** + * @var bool[] + * @psalm-var array + */ + private $missingClasses = array(); + + /** @var ?string */ + private $apcuPrefix; + + /** + * @var self[] + */ + private static $registeredLoaders = array(); + + /** + * @param ?string $vendorDir + */ + public function __construct($vendorDir = null) + { + $this->vendorDir = $vendorDir; + } + + /** + * @return string[] + */ + public function getPrefixes() + { + if (!empty($this->prefixesPsr0)) { + return call_user_func_array('array_merge', array_values($this->prefixesPsr0)); + } + + return array(); + } + + /** + * @return array[] + * @psalm-return array> + */ + public function getPrefixesPsr4() + { + return $this->prefixDirsPsr4; + } + + /** + * @return array[] + * @psalm-return array + */ + public function getFallbackDirs() + { + return $this->fallbackDirsPsr0; + } + + /** + * @return array[] + * @psalm-return array + */ + public function getFallbackDirsPsr4() + { + return $this->fallbackDirsPsr4; + } + + /** + * @return string[] Array of classname => path + * @psalm-return array + */ + public function getClassMap() + { + return $this->classMap; + } + + /** + * @param string[] $classMap Class to filename map + * @psalm-param array $classMap + * + * @return void + */ + public function addClassMap(array $classMap) + { + if ($this->classMap) { + $this->classMap = array_merge($this->classMap, $classMap); + } else { + $this->classMap = $classMap; + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, either + * appending or prepending to the ones previously set for this prefix. + * + * @param string $prefix The prefix + * @param string[]|string $paths The PSR-0 root directories + * @param bool $prepend Whether to prepend the directories + * + * @return void + */ + public function add($prefix, $paths, $prepend = false) + { + if (!$prefix) { + if ($prepend) { + $this->fallbackDirsPsr0 = array_merge( + (array) $paths, + $this->fallbackDirsPsr0 + ); + } else { + $this->fallbackDirsPsr0 = array_merge( + $this->fallbackDirsPsr0, + (array) $paths + ); + } + + return; + } + + $first = $prefix[0]; + if (!isset($this->prefixesPsr0[$first][$prefix])) { + $this->prefixesPsr0[$first][$prefix] = (array) $paths; + + return; + } + if ($prepend) { + $this->prefixesPsr0[$first][$prefix] = array_merge( + (array) $paths, + $this->prefixesPsr0[$first][$prefix] + ); + } else { + $this->prefixesPsr0[$first][$prefix] = array_merge( + $this->prefixesPsr0[$first][$prefix], + (array) $paths + ); + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, either + * appending or prepending to the ones previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param string[]|string $paths The PSR-4 base directories + * @param bool $prepend Whether to prepend the directories + * + * @throws \InvalidArgumentException + * + * @return void + */ + public function addPsr4($prefix, $paths, $prepend = false) + { + if (!$prefix) { + // Register directories for the root namespace. + if ($prepend) { + $this->fallbackDirsPsr4 = array_merge( + (array) $paths, + $this->fallbackDirsPsr4 + ); + } else { + $this->fallbackDirsPsr4 = array_merge( + $this->fallbackDirsPsr4, + (array) $paths + ); + } + } elseif (!isset($this->prefixDirsPsr4[$prefix])) { + // Register directories for a new namespace. + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } elseif ($prepend) { + // Prepend directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + (array) $paths, + $this->prefixDirsPsr4[$prefix] + ); + } else { + // Append directories for an already registered namespace. + $this->prefixDirsPsr4[$prefix] = array_merge( + $this->prefixDirsPsr4[$prefix], + (array) $paths + ); + } + } + + /** + * Registers a set of PSR-0 directories for a given prefix, + * replacing any others previously set for this prefix. + * + * @param string $prefix The prefix + * @param string[]|string $paths The PSR-0 base directories + * + * @return void + */ + public function set($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr0 = (array) $paths; + } else { + $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; + } + } + + /** + * Registers a set of PSR-4 directories for a given namespace, + * replacing any others previously set for this namespace. + * + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param string[]|string $paths The PSR-4 base directories + * + * @throws \InvalidArgumentException + * + * @return void + */ + public function setPsr4($prefix, $paths) + { + if (!$prefix) { + $this->fallbackDirsPsr4 = (array) $paths; + } else { + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { + throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); + } + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->prefixDirsPsr4[$prefix] = (array) $paths; + } + } + + /** + * Turns on searching the include path for class files. + * + * @param bool $useIncludePath + * + * @return void + */ + public function setUseIncludePath($useIncludePath) + { + $this->useIncludePath = $useIncludePath; + } + + /** + * Can be used to check if the autoloader uses the include path to check + * for classes. + * + * @return bool + */ + public function getUseIncludePath() + { + return $this->useIncludePath; + } + + /** + * Turns off searching the prefix and fallback directories for classes + * that have not been registered with the class map. + * + * @param bool $classMapAuthoritative + * + * @return void + */ + public function setClassMapAuthoritative($classMapAuthoritative) + { + $this->classMapAuthoritative = $classMapAuthoritative; + } + + /** + * Should class lookup fail if not found in the current class map? + * + * @return bool + */ + public function isClassMapAuthoritative() + { + return $this->classMapAuthoritative; + } + + /** + * APCu prefix to use to cache found/not-found classes, if the extension is enabled. + * + * @param string|null $apcuPrefix + * + * @return void + */ + public function setApcuPrefix($apcuPrefix) + { + $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null; + } + + /** + * The APCu prefix in use, or null if APCu caching is not enabled. + * + * @return string|null + */ + public function getApcuPrefix() + { + return $this->apcuPrefix; + } + + /** + * Registers this instance as an autoloader. + * + * @param bool $prepend Whether to prepend the autoloader or not + * + * @return void + */ + public function register($prepend = false) + { + spl_autoload_register(array($this, 'loadClass'), true, $prepend); + + if (null === $this->vendorDir) { + return; + } + + if ($prepend) { + self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders; + } else { + unset(self::$registeredLoaders[$this->vendorDir]); + self::$registeredLoaders[$this->vendorDir] = $this; + } + } + + /** + * Unregisters this instance as an autoloader. + * + * @return void + */ + public function unregister() + { + spl_autoload_unregister(array($this, 'loadClass')); + + if (null !== $this->vendorDir) { + unset(self::$registeredLoaders[$this->vendorDir]); + } + } + + /** + * Loads the given class or interface. + * + * @param string $class The name of the class + * @return true|null True if loaded, null otherwise + */ + public function loadClass($class) + { + if ($file = $this->findFile($class)) { + includeFile($file); + + return true; + } + + return null; + } + + /** + * Finds the path to the file where the class is defined. + * + * @param string $class The name of the class + * + * @return string|false The path if found, false otherwise + */ + public function findFile($class) + { + // class map lookup + if (isset($this->classMap[$class])) { + return $this->classMap[$class]; + } + if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { + return false; + } + if (null !== $this->apcuPrefix) { + $file = apcu_fetch($this->apcuPrefix.$class, $hit); + if ($hit) { + return $file; + } + } + + $file = $this->findFileWithExtension($class, '.php'); + + // Search for Hack files if we are running on HHVM + if (false === $file && defined('HHVM_VERSION')) { + $file = $this->findFileWithExtension($class, '.hh'); + } + + if (null !== $this->apcuPrefix) { + apcu_add($this->apcuPrefix.$class, $file); + } + + if (false === $file) { + // Remember that this class does not exist. + $this->missingClasses[$class] = true; + } + + return $file; + } + + /** + * Returns the currently registered loaders indexed by their corresponding vendor directories. + * + * @return self[] + */ + public static function getRegisteredLoaders() + { + return self::$registeredLoaders; + } + + /** + * @param string $class + * @param string $ext + * @return string|false + */ + private function findFileWithExtension($class, $ext) + { + // PSR-4 lookup + $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; + + $first = $class[0]; + if (isset($this->prefixLengthsPsr4[$first])) { + $subPath = $class; + while (false !== $lastPos = strrpos($subPath, '\\')) { + $subPath = substr($subPath, 0, $lastPos); + $search = $subPath . '\\'; + if (isset($this->prefixDirsPsr4[$search])) { + $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); + foreach ($this->prefixDirsPsr4[$search] as $dir) { + if (file_exists($file = $dir . $pathEnd)) { + return $file; + } + } + } + } + } + + // PSR-4 fallback dirs + foreach ($this->fallbackDirsPsr4 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { + return $file; + } + } + + // PSR-0 lookup + if (false !== $pos = strrpos($class, '\\')) { + // namespaced class name + $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) + . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); + } else { + // PEAR-like class name + $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; + } + + if (isset($this->prefixesPsr0[$first])) { + foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { + if (0 === strpos($class, $prefix)) { + foreach ($dirs as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + } + } + } + + // PSR-0 fallback dirs + foreach ($this->fallbackDirsPsr0 as $dir) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { + return $file; + } + } + + // PSR-0 include paths. + if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { + return $file; + } + + return false; + } +} + +/** + * Scope isolated include. + * + * Prevents access to $this/self from included files. + * + * @param string $file + * @return void + * @private + */ +function includeFile($file) +{ + include $file; +} diff --git a/plugins/shortcode-core/vendor/composer/InstalledVersions.php b/plugins/shortcode-core/vendor/composer/InstalledVersions.php new file mode 100644 index 0000000..41bc143 --- /dev/null +++ b/plugins/shortcode-core/vendor/composer/InstalledVersions.php @@ -0,0 +1,352 @@ + + * Jordi Boggiano + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Composer; + +use Composer\Autoload\ClassLoader; +use Composer\Semver\VersionParser; + +/** + * This class is copied in every Composer installed project and available to all + * + * See also https://getcomposer.org/doc/07-runtime.md#installed-versions + * + * To require its presence, you can require `composer-runtime-api ^2.0` + * + * @final + */ +class InstalledVersions +{ + /** + * @var mixed[]|null + * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array}|array{}|null + */ + private static $installed; + + /** + * @var bool|null + */ + private static $canGetVendors; + + /** + * @var array[] + * @psalm-var array}> + */ + private static $installedByVendor = array(); + + /** + * Returns a list of all package names which are present, either by being installed, replaced or provided + * + * @return string[] + * @psalm-return list + */ + public static function getInstalledPackages() + { + $packages = array(); + foreach (self::getInstalled() as $installed) { + $packages[] = array_keys($installed['versions']); + } + + if (1 === \count($packages)) { + return $packages[0]; + } + + return array_keys(array_flip(\call_user_func_array('array_merge', $packages))); + } + + /** + * Returns a list of all package names with a specific type e.g. 'library' + * + * @param string $type + * @return string[] + * @psalm-return list + */ + public static function getInstalledPackagesByType($type) + { + $packagesByType = array(); + + foreach (self::getInstalled() as $installed) { + foreach ($installed['versions'] as $name => $package) { + if (isset($package['type']) && $package['type'] === $type) { + $packagesByType[] = $name; + } + } + } + + return $packagesByType; + } + + /** + * Checks whether the given package is installed + * + * This also returns true if the package name is provided or replaced by another package + * + * @param string $packageName + * @param bool $includeDevRequirements + * @return bool + */ + public static function isInstalled($packageName, $includeDevRequirements = true) + { + foreach (self::getInstalled() as $installed) { + if (isset($installed['versions'][$packageName])) { + return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']); + } + } + + return false; + } + + /** + * Checks whether the given package satisfies a version constraint + * + * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call: + * + * Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3') + * + * @param VersionParser $parser Install composer/semver to have access to this class and functionality + * @param string $packageName + * @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package + * @return bool + */ + public static function satisfies(VersionParser $parser, $packageName, $constraint) + { + $constraint = $parser->parseConstraints($constraint); + $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); + + return $provided->matches($constraint); + } + + /** + * Returns a version constraint representing all the range(s) which are installed for a given package + * + * It is easier to use this via isInstalled() with the $constraint argument if you need to check + * whether a given version of a package is installed, and not just whether it exists + * + * @param string $packageName + * @return string Version constraint usable with composer/semver + */ + public static function getVersionRanges($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + $ranges = array(); + if (isset($installed['versions'][$packageName]['pretty_version'])) { + $ranges[] = $installed['versions'][$packageName]['pretty_version']; + } + if (array_key_exists('aliases', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']); + } + if (array_key_exists('replaced', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']); + } + if (array_key_exists('provided', $installed['versions'][$packageName])) { + $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']); + } + + return implode(' || ', $ranges); + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present + */ + public static function getVersion($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['version'])) { + return null; + } + + return $installed['versions'][$packageName]['version']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present + */ + public static function getPrettyVersion($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['pretty_version'])) { + return null; + } + + return $installed['versions'][$packageName]['pretty_version']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference + */ + public static function getReference($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + if (!isset($installed['versions'][$packageName]['reference'])) { + return null; + } + + return $installed['versions'][$packageName]['reference']; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @param string $packageName + * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path. + */ + public static function getInstallPath($packageName) + { + foreach (self::getInstalled() as $installed) { + if (!isset($installed['versions'][$packageName])) { + continue; + } + + return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null; + } + + throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed'); + } + + /** + * @return array + * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string} + */ + public static function getRootPackage() + { + $installed = self::getInstalled(); + + return $installed[0]['root']; + } + + /** + * Returns the raw installed.php data for custom implementations + * + * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect. + * @return array[] + * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} + */ + public static function getRawData() + { + @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED); + + if (null === self::$installed) { + // only require the installed.php file if this file is loaded from its dumped location, + // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 + if (substr(__DIR__, -8, 1) !== 'C') { + self::$installed = include __DIR__ . '/installed.php'; + } else { + self::$installed = array(); + } + } + + return self::$installed; + } + + /** + * Returns the raw data of all installed.php which are currently loaded for custom implementations + * + * @return array[] + * @psalm-return list}> + */ + public static function getAllRawData() + { + return self::getInstalled(); + } + + /** + * Lets you reload the static array from another file + * + * This is only useful for complex integrations in which a project needs to use + * this class but then also needs to execute another project's autoloader in process, + * and wants to ensure both projects have access to their version of installed.php. + * + * A typical case would be PHPUnit, where it would need to make sure it reads all + * the data it needs from this class, then call reload() with + * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure + * the project in which it runs can then also use this class safely, without + * interference between PHPUnit's dependencies and the project's dependencies. + * + * @param array[] $data A vendor/composer/installed.php data set + * @return void + * + * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} $data + */ + public static function reload($data) + { + self::$installed = $data; + self::$installedByVendor = array(); + } + + /** + * @return array[] + * @psalm-return list}> + */ + private static function getInstalled() + { + if (null === self::$canGetVendors) { + self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders'); + } + + $installed = array(); + + if (self::$canGetVendors) { + foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) { + if (isset(self::$installedByVendor[$vendorDir])) { + $installed[] = self::$installedByVendor[$vendorDir]; + } elseif (is_file($vendorDir.'/composer/installed.php')) { + $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php'; + if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { + self::$installed = $installed[count($installed) - 1]; + } + } + } + } + + if (null === self::$installed) { + // only require the installed.php file if this file is loaded from its dumped location, + // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 + if (substr(__DIR__, -8, 1) !== 'C') { + self::$installed = require __DIR__ . '/installed.php'; + } else { + self::$installed = array(); + } + } + $installed[] = self::$installed; + + return $installed; + } +} diff --git a/plugins/shortcode-core/vendor/composer/LICENSE b/plugins/shortcode-core/vendor/composer/LICENSE new file mode 100644 index 0000000..f27399a --- /dev/null +++ b/plugins/shortcode-core/vendor/composer/LICENSE @@ -0,0 +1,21 @@ + +Copyright (c) Nils Adermann, Jordi Boggiano + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/plugins/shortcode-core/vendor/composer/autoload_classmap.php b/plugins/shortcode-core/vendor/composer/autoload_classmap.php new file mode 100644 index 0000000..84beac3 --- /dev/null +++ b/plugins/shortcode-core/vendor/composer/autoload_classmap.php @@ -0,0 +1,11 @@ + $vendorDir . '/composer/InstalledVersions.php', + 'Grav\\Plugin\\ShortcodeCorePlugin' => $baseDir . '/shortcode-core.php', +); diff --git a/plugins/shortcode-core/vendor/composer/autoload_namespaces.php b/plugins/shortcode-core/vendor/composer/autoload_namespaces.php new file mode 100644 index 0000000..15a2ff3 --- /dev/null +++ b/plugins/shortcode-core/vendor/composer/autoload_namespaces.php @@ -0,0 +1,9 @@ + array($vendorDir . '/thunderer/shortcode/src'), + 'Grav\\Plugin\\Shortcodes\\' => array($baseDir . '/classes/shortcodes'), + 'Grav\\Plugin\\ShortcodeCore\\' => array($baseDir . '/classes/plugin'), +); diff --git a/plugins/shortcode-core/vendor/composer/autoload_real.php b/plugins/shortcode-core/vendor/composer/autoload_real.php new file mode 100644 index 0000000..856afc5 --- /dev/null +++ b/plugins/shortcode-core/vendor/composer/autoload_real.php @@ -0,0 +1,38 @@ +register(true); + + return $loader; + } +} diff --git a/plugins/shortcode-core/vendor/composer/autoload_static.php b/plugins/shortcode-core/vendor/composer/autoload_static.php new file mode 100644 index 0000000..26843d1 --- /dev/null +++ b/plugins/shortcode-core/vendor/composer/autoload_static.php @@ -0,0 +1,50 @@ + + array ( + 'Thunder\\Shortcode\\' => 18, + ), + 'G' => + array ( + 'Grav\\Plugin\\Shortcodes\\' => 23, + 'Grav\\Plugin\\ShortcodeCore\\' => 26, + ), + ); + + public static $prefixDirsPsr4 = array ( + 'Thunder\\Shortcode\\' => + array ( + 0 => __DIR__ . '/..' . '/thunderer/shortcode/src', + ), + 'Grav\\Plugin\\Shortcodes\\' => + array ( + 0 => __DIR__ . '/../..' . '/classes/shortcodes', + ), + 'Grav\\Plugin\\ShortcodeCore\\' => + array ( + 0 => __DIR__ . '/../..' . '/classes/plugin', + ), + ); + + public static $classMap = array ( + 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', + 'Grav\\Plugin\\ShortcodeCorePlugin' => __DIR__ . '/../..' . '/shortcode-core.php', + ); + + public static function getInitializer(ClassLoader $loader) + { + return \Closure::bind(function () use ($loader) { + $loader->prefixLengthsPsr4 = ComposerStaticInit20dff4ef15e2090e54c04a9aa83321b9::$prefixLengthsPsr4; + $loader->prefixDirsPsr4 = ComposerStaticInit20dff4ef15e2090e54c04a9aa83321b9::$prefixDirsPsr4; + $loader->classMap = ComposerStaticInit20dff4ef15e2090e54c04a9aa83321b9::$classMap; + + }, null, ClassLoader::class); + } +} diff --git a/plugins/shortcode-core/vendor/composer/installed.json b/plugins/shortcode-core/vendor/composer/installed.json new file mode 100644 index 0000000..a2b30f1 --- /dev/null +++ b/plugins/shortcode-core/vendor/composer/installed.json @@ -0,0 +1,65 @@ +{ + "packages": [ + { + "name": "thunderer/shortcode", + "version": "v0.7.5", + "version_normalized": "0.7.5.0", + "source": { + "type": "git", + "url": "https://github.com/thunderer/Shortcode.git", + "reference": "a4fee30613bd46efb421f8305aff0466a3268a99" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thunderer/Shortcode/zipball/a4fee30613bd46efb421f8305aff0466a3268a99", + "reference": "a4fee30613bd46efb421f8305aff0466a3268a99", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": ">=4.1", + "symfony/yaml": ">=2.0" + }, + "suggest": { + "ext-dom": "if you want to use XML serializer", + "ext-json": "if you want to use JSON serializer", + "symfony/yaml": "if you want to use YAML serializer" + }, + "time": "2022-01-13T18:53:33+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Thunder\\Shortcode\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tomasz Kowalczyk", + "email": "tomasz@kowalczyk.cc" + } + ], + "description": "Advanced shortcode (BBCode) parser and engine for PHP", + "keywords": [ + "bbcode", + "engine", + "library", + "parser", + "shortcode" + ], + "support": { + "issues": "https://github.com/thunderer/Shortcode/issues", + "source": "https://github.com/thunderer/Shortcode/tree/v0.7.5" + }, + "install-path": "../thunderer/shortcode" + } + ], + "dev": false, + "dev-package-names": [] +} diff --git a/plugins/shortcode-core/vendor/composer/installed.php b/plugins/shortcode-core/vendor/composer/installed.php new file mode 100644 index 0000000..864b723 --- /dev/null +++ b/plugins/shortcode-core/vendor/composer/installed.php @@ -0,0 +1,32 @@ + array( + 'pretty_version' => 'dev-develop', + 'version' => 'dev-develop', + 'type' => 'grav-plugin', + 'install_path' => __DIR__ . '/../../', + 'aliases' => array(), + 'reference' => 'd351265e0de9dfd18dcc842977d80b97c9524e81', + 'name' => 'getgrav/shortcode-core', + 'dev' => false, + ), + 'versions' => array( + 'getgrav/shortcode-core' => array( + 'pretty_version' => 'dev-develop', + 'version' => 'dev-develop', + 'type' => 'grav-plugin', + 'install_path' => __DIR__ . '/../../', + 'aliases' => array(), + 'reference' => 'd351265e0de9dfd18dcc842977d80b97c9524e81', + 'dev_requirement' => false, + ), + 'thunderer/shortcode' => array( + 'pretty_version' => 'v0.7.5', + 'version' => '0.7.5.0', + 'type' => 'library', + 'install_path' => __DIR__ . '/../thunderer/shortcode', + 'aliases' => array(), + 'reference' => 'a4fee30613bd46efb421f8305aff0466a3268a99', + 'dev_requirement' => false, + ), + ), +); diff --git a/plugins/shortcode-core/vendor/composer/platform_check.php b/plugins/shortcode-core/vendor/composer/platform_check.php new file mode 100644 index 0000000..cd1bd2c --- /dev/null +++ b/plugins/shortcode-core/vendor/composer/platform_check.php @@ -0,0 +1,26 @@ += 70103)) { + $issues[] = 'Your Composer dependencies require a PHP version ">= 7.1.3". You are running ' . PHP_VERSION . '.'; +} + +if ($issues) { + if (!headers_sent()) { + header('HTTP/1.1 500 Internal Server Error'); + } + if (!ini_get('display_errors')) { + if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { + fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL); + } elseif (!headers_sent()) { + echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL; + } + } + trigger_error( + 'Composer detected issues in your platform: ' . implode(' ', $issues), + E_USER_ERROR + ); +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/.github/workflows/test.yaml b/plugins/shortcode-core/vendor/thunderer/shortcode/.github/workflows/test.yaml new file mode 100644 index 0000000..befc1ee --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/.github/workflows/test.yaml @@ -0,0 +1,47 @@ +name: Test + +on: + push: + branches: ['master'] + pull_request: ~ + +jobs: + test: + runs-on: '${{ matrix.os }}' + strategy: + matrix: + php: ['5.3', '5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1'] + os: ['ubuntu-latest'] + failure: [false] + include: + - { php: '8.2', os: 'ubuntu-latest', failure: true } # '8.2' means 'nightly' + steps: + - name: 'Checkout' + uses: 'actions/checkout@v2' + - name: 'Install PHP' + uses: 'shivammathur/setup-php@v2' + with: + php-version: '${{ matrix.php }}' + tools: 'composer:v2' + coverage: 'xdebug' + - name: 'PHP' + run: 'php -v' + + - name: 'Composer' + run: 'composer install' + continue-on-error: '${{ matrix.failure }}' + - name: 'PHPUnit' + run: 'php vendor/bin/phpunit --coverage-text' + continue-on-error: '${{ matrix.failure }}' + - name: 'Psalm' + run: | + composer require --dev vimeo/psalm + php vendor/bin/psalm --shepherd --php-version=${{ matrix.php }} + if: '${{ matrix.php >= 7.1 }}' + continue-on-error: '${{ matrix.failure }}' + - name: 'Infection' + run: | + composer require --dev --with-all-dependencies infection/infection + php vendor/bin/infection + if: '${{ matrix.php >= 7.1 }}' + continue-on-error: '${{ matrix.failure }}' diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/.gitignore b/plugins/shortcode-core/vendor/thunderer/shortcode/.gitignore new file mode 100644 index 0000000..34e595c --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/.gitignore @@ -0,0 +1,6 @@ +.phpunit.result.cache +infection.log +vendor +composer.lock +coverage +coverage.xml diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/CHANGELOG.md b/plugins/shortcode-core/vendor/thunderer/shortcode/CHANGELOG.md new file mode 100644 index 0000000..040d0c1 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/CHANGELOG.md @@ -0,0 +1,139 @@ +# Changelog + +## Version 0.* + +* v0.6.2 (25.04.2016) + + * fixed issue with parsing shortcode tokens inside shortcode content. + +* v0.6.1 (25.02.2016) + + * fixed bug with not recalculating new text length after applying shortcode replacement which caused the replacements to be applied only up to the length of source text. + +* v0.6.0 (13.02.2016) + + * README was completely rewritten to take into account newest additions, + * introduced `FilterShortcodesEvent` for modifying set of parsed shortcodes before processing them, + * introduced `ReplaceShortcodesEvent` to alter the way shortcode replacements are applied to source text at each processing level, + * introduced `EventContainerInterface` with default implementation `EventContainer` to store event handlers, + * introduced events handling in `Processor` with events above, + * added `Processor::withEventContainer()` to configure event handlers, + * added `ProcessedShortcode::hasAncestor()` to detect if shortcode has any parent with given name, + * introduced `ReplacedShortcode` which represents parsed shortcode data with replacement returned from its handler, + * introduced ready to use event handlers classes: + * `FilterRawEventHandler` allows to automatically configure shortcodes that should not have their content processed, + * `ReplaceJoinEventHandler` discards the parent shortcode content and returns only concatenated replacements, + * fixed `HandlerContainer::addAlias()` bug that may have silently added aliases for default handler, + * added possibility to create `WordpressParser` with names from array or `HandlerContainer` to catch only those like WordPress does, + * fixed differences between parsers and standardized validating allowed characters in their names in `RegexBuilderUtility::buildNameRegex()` + * introduced several ready to use shortcode handlers described in dedicated section of README, + * refactored `ShortcodeFacade` for better developer experience. + +* v0.5.3 (26.01.2016) + * massive performance improvements in RegularParser, + * fixed problem with multibyte characters in parsed texts, + * fixed matching shortcodes with invalid names. + +* v0.5.2 (20.01.2016) + * fixed bug with subsequent string tokens in RegularParser. + +* v0.5.1 (12.11.2015) + + * fixed bug leaving part of shortcode text when it contained multibyte characters. + +* v0.5.0 (28.10.2015) + + * fixed bug with parent shortcode not being correctly set when there was more than one shortcode at given recursion level, + * fixed bug which caused shortcode content to be returned without modification when auto processing was enabled, there was no handler for that shortcode, but there were handlers for inner shortcodes, + * added example demonstrating how to remove content outside shortcodes, + * added `ProcessedShortcode::getTextContent()` to allow returning unprocessed content regardless of auto processing setting value, + * added XML and YAML serializers, + * AbstractShortcode::getParameter() does not throw exception for missing parameter without default value, + * removed `create*()` methods from `ShortcodeFacade`, now all dependencies construction is inside the constructor, + * removed classes and methods deprecated in previous releases, + * removed `RegexExtractor` and `ExtractorInterface`, its functionality was moved to `Parser` - now it returns instances of `ParsedShortcodeInterface`, + * removed `Match` and `MatchInterface`, + * removed `HandlerInterface`, from now on handlers can be only closures and classes with `__invoke()` (`callable` typehint), + * removed all handler-related methods from `Processor` (extracted to `HandlerContainer`): + * `addHandler()`, + * `addHandlerAlias()`, + * `setDefaultHandler()`. + * refactored `ShortcodeFacade` to also use `HandlerContainer`, also `SyntaxInterface` parameter is now required, + * `Processor` is now immutable, options setters were refactored to return reconfigured clones: + * `setRecursionDepth()` » `withRecursionDepth()`, + * `setMaxIterations()` » `withMaxIterations()`, + * `setAutoProcessContent()` » `withAutoProcessContent()`, + * extracted `HandlerContainerInterface` and its default implementation `HandlerContainer` from `Processor`, + * `Processor` now requires instance of `HandlerContainer`, + * introduced `RegularParser` with dedicated parser implementation that correctly handles nested shortcodes, + * introduced `WordpressParser` with slightly refactored implementation of WordPress' regex-based shortcodes in case anyone would like full compatibility, + * introduced `ImmutableHandlerContainer` as an alternative implementation, + * introduced `ProcessorContext` to store internal state when processing text, + * introduced `AbstractShortcode`, restored `final` on regular `Shortcode`, + * `ProcessedShortcode` can be now created with static method `createFromContext()` using instance of `ProcessorContext`, + * introduced `ParsedShortcode` and `ParsedShortcodeInterface` that extends `ShortcodeInterface` with position and exact text match. + +* v0.4.0 (15.07.2015) + + * classes and interfaces were moved to their own namespaces, update your `use` clauses and use new names. Backward compatibility was fully maintained, but note that previous class files will be removed in the next release. Old class files contain call to `class_alias()` and empty implementation for IDE autocompletion, interfaces extend those from new locations. All modified elements are listed below: + * `Extractor` » `Parser\RegexExtractor`, + * `ExtractorInterface` » `Extractor\ExtractorInterface`, + * `HandlerInterface` » `Extractor\HandlerInterface`, + * `Parser` » `Parser\RegexParser`, + * `ParserInterface` » `Parser\ParserInterface`, + * `Processor` » `Processor\Processor`, + * `ProcessorInterface` » `Processor\ProcessorInterface`, + * `SerializerInterface` » `Serializer\SerializerInterface`, + * `Shortcode` » `Shortcode\Shortcode`, + * `Syntax` » `Syntax\Syntax`, + * `SyntaxBuilder` » `Syntax\SyntaxBuilder`, + * next version of this library will remove all files marked as deprecated (listed above) and will introduce backward incompatible changes to allow finishing refactorings for version 1.0. Sneak peek: + * `Extractor` abstraction will be removed and its functionality will be merged with `Parser`, + * processing shortcode content will be moved to its handler, + * `ProcessedShortcode` will be aware of `ProcessorInterface` instance that is processing it, + * `HandlerContainer` will be refactored outside `Processor` to remove SRP violation, + * various methods will lose their ability to accept nullable parameters to enforce visibility of dependencies, + * `ProcessedShortcode` will not extend `Shortcode` and `Shortcode` will be `final` again, + * `Match` class will be removed and `ParsedShortcode` will be introduced in its place, + * introduced `ShortcodeInterface` for reusable shortcode implementation, handlers should typehint it, + * nearly all classes and interfaces were renamed and moved to their own namespaces, see UPGRADE, + * introduced `ProcessedShortcode` to provide more runtime information about context in handlers, + * strict syntax capabilities were removed (will be reimplemented in the future), + * introduced `CommonSyntax` with default values, + * introduced `RegexBuilderUtility` to separate regex building from `Syntax` class, + * improved regular expressions which now offer more flexibility, + * `HandlerInterface` was deprecated, please use classes with __invoke() method. + +* v0.3.0 (08.05.2015) + + * added support for `[self-closing /]` shortcodes, + * added library facade for easier usage, + * `Syntax` regular expressions are now built once in constructor, + * added support for whitespace between shortcode fragments, ie. `[ code arg = val ] [ / code ]`, + * `Syntax` and `SyntaxBuilder` support whitespaced and strict syntaxes. + +* v0.2.2 (26.04.2015) + + * fixed support for PHP 5.3. + +* v0.2.1 (23.04.2015) + + * fixed matching simple parameter values enclosed by delimiters, + * fixed missing support for escaping characters inside parameter values. + +* v0.2.0 (17.04.2015) + + * added HandlerInterface to enable shortcode handlers with basic validation capabilities, + * added default handler for processing shortcodes without registered name handlers, + * added handler aliasing to reuse name handlers without manually registering them, + * added recursive processing with ability to control recursion depth, + * added iterative processing with ability to control maximum number of iterations, + * added configurable syntax to enable different shortcode formats without modifying library code, + * added syntax builder to ease building `Syntax` object, + * added dash `-` to allowed characters in shortcode names, + * deprecated `Processor::setRecursion()`, use `Processor::setRecursionDepth()` instead, + * removed regular expressions constants from classes. + +* v0.1.0 (06.04.2015) + + * first library version. diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/LICENSE b/plugins/shortcode-core/vendor/thunderer/shortcode/LICENSE new file mode 100644 index 0000000..7410a25 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2015-2022 Tomasz Kowalczyk + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/Makefile b/plugins/shortcode-core/vendor/thunderer/shortcode/Makefile new file mode 100644 index 0000000..23bdc28 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/Makefile @@ -0,0 +1,60 @@ +PHP_VERSION ?= 8.0 +PHP := docker-compose run --rm php-${PHP_VERSION} + +php-version: + ${PHP} php -v +cache-clear: + sudo rm -rfv coverage .phpunit.result.cache infection.log + +docker-build: + docker-compose build + +composer-install: + ${PHP} composer install +composer-self-update: + ${PHP} composer self-update +composer-update: + ${PHP} composer update +composer-require: + ${PHP} composer require ${PACKAGE} +composer-require-dev: + ${PHP} composer require --dev ${PACKAGE} + +test: test-phpunit test-infection qa-psalm +test-phpunit: + ${PHP} php -v + ${PHP} php vendor/bin/phpunit --coverage-text +test-phpunit-local: + php -v + php vendor/bin/phpunit --coverage-text + php vendor/bin/psalm --no-cache + php vendor/bin/infection +test-infection: + ${PHP} php vendor/bin/infection -j2 --min-msi=80 + +travis: + # PHP_VERSION=5.3 make travis-job + PHP_VERSION=5.4 make travis-job + PHP_VERSION=5.5 make travis-job + PHP_VERSION=5.6 make travis-job + PHP_VERSION=7.0 make travis-job + PHP_VERSION=7.1 make travis-job + PHP_VERSION=7.2 make travis-job + PHP_VERSION=7.3 make travis-job + PHP_VERSION=7.4 make travis-job + PHP_VERSION=8.0 make travis-job +travis-job: + ${PHP} composer update --no-plugins + ${PHP} php -v + ${PHP} php vendor/bin/phpunit + if ${PHP} php -r 'exit((int)(version_compare(PHP_VERSION, "7.1", ">=") === false));'; then \ + ${PHP} composer require --dev vimeo/psalm infection/infection; \ + ${PHP} vendor/bin/psalm --threads=1 --no-cache --shepherd --find-unused-psalm-suppress; \ + ${PHP} vendor/bin/infection; \ + ${PHP} composer remove --dev vimeo/psalm infection/infection; \ + fi; + +qa-psalm: + ${PHP} php vendor/bin/psalm --no-cache +qa-psalm-suppressed: + grep -rn psalm-suppress src diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/README.md b/plugins/shortcode-core/vendor/thunderer/shortcode/README.md new file mode 100644 index 0000000..071a377 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/README.md @@ -0,0 +1,396 @@ +# Shortcode + +[![Build Status](https://github.com/thunderer/Shortcode/actions/workflows/test.yaml/badge.svg)](https://github.com/thunderer/Shortcode) +[![Latest Stable Version](https://poser.pugx.org/thunderer/shortcode/v/stable.svg)](https://packagist.org/packages/thunderer/shortcode) +[![Total Downloads](https://poser.pugx.org/thunderer/shortcode/downloads)](https://packagist.org/packages/thunderer/shortcode) +[![License](https://poser.pugx.org/thunderer/shortcode/license.svg)](https://packagist.org/packages/thunderer/shortcode) +[![Psalm coverage](https://shepherd.dev/github/thunderer/Shortcode/coverage.svg)](https://shepherd.dev/github/thunderer/Shortcode) +[![Code Coverage](https://scrutinizer-ci.com/g/thunderer/Shortcode/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/thunderer/Shortcode/?branch=master) +[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/thunderer/Shortcode/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/thunderer/Shortcode/?branch=master) + +Shortcode is a framework agnostic PHP library allowing to find, extract and process text fragments called "shortcodes" or "BBCodes". Examples of their usual syntax and usage are shown below: + +``` +[user-profile /] +[image width=600] +[link href="http://google.pl" color=red] +[quote="Thunderer"]This is a quote.[/quote] +[text color="red"]This is a text.[/text] +``` + +The library is divided into several parts, each of them containing logic responsible for different stages and ways of processing data: + +- **parsers** extract shortcodes from text and transform them to objects, +- **handlers** transform shortcodes into desired replacements, +- **processors** use parsers and handlers to extract shortcodes, compute replacements, and apply them in text, +- **events** alter the way processors work to provide better control over the whole process, +- **serializers** convert shortcodes from and to different formats like Text, XML, JSON, and YAML. + +Each part is described in the dedicated section in this document. + + +## Installation + +There are no required dependencies and all PHP versions from 5.3 up to latest 8.1 [are tested](https://github.com/thunderer/Shortcode/actions/workflows/test.yaml) and supported. This library is available on Composer/Packagist as `thunderer/shortcode`, to install it execute: + +``` +composer require thunderer/shortcode=^0.7 +``` + +or manually update your `composer.json` with: + +``` +(...) +"require": { + "thunderer/shortcode": "^0.7" +} +(...) +``` + +and run `composer install` or `composer update` afterwards. If you're not using Composer, download sources from GitHub and load them as required. But really, please use Composer. + +## Usage + +### Facade + +To ease usage of this library there is a class `ShortcodeFacade` configured for most common needs. It contains shortcut methods for all features described in the sections below: + +- `addHandler()`: adds shortcode handlers, +- `addHandlerAlias()`: adds shortcode handler alias, +- `process()`: processes text and replaces shortcodes, +- `parse()`: parses text into shortcodes, +- `setParser()`: changes processor's parser, +- `addEventHandler()`: adds event handler, +- `serialize()`: serializes shortcode object to given format, +- `unserialize()`: creates shortcode object from serialized input. + +### Processing + +Shortcodes are processed using `Processor` which requires a parser and handlers. The example below shows how to implement an example that greets the person with name passed as an argument: + +```php +use Thunder\Shortcode\HandlerContainer\HandlerContainer; +use Thunder\Shortcode\Parser\RegularParser; +use Thunder\Shortcode\Processor\Processor; +use Thunder\Shortcode\Shortcode\ShortcodeInterface; + +$handlers = new HandlerContainer(); +$handlers->add('hello', function(ShortcodeInterface $s) { + return sprintf('Hello, %s!', $s->getParameter('name')); +}); +$processor = new Processor(new RegularParser(), $handlers); + +$text = ' +
[hello name="Thomas"]
+

Your shortcodes are very good, keep it up!

+
[hello name="Peter"]
+'; +echo $processor->process($text); +``` + +Facade example: + +```php +use Thunder\Shortcode\ShortcodeFacade; +use Thunder\Shortcode\Shortcode\ShortcodeInterface; + +$facade = new ShortcodeFacade(); +$facade->addHandler('hello', function(ShortcodeInterface $s) { + return sprintf('Hello, %s!', $s->getParameter('name')); +}); + +$text = ' +
[hello name="Thomas"]
+

Your shortcodes are very good, keep it up!

+
[hello name="Peter"]
+'; +echo $facade->process($text); +``` + +Both result in: + +``` +
Hello, Thomas!
+

Your shortcodes are very good, keep it up!

+
Hello, Peter!
+``` + +### Configuration + +`Processor` has several configuration options available as `with*()` methods which return the new, changed instance to keep the object immutable. + +- `withRecursionDepth($depth)` controls the nesting level - how many levels of shortcodes are actually processed. If this limit is reached, all shortcodes deeper than level are ignored. If the `$depth` value is null (default value), nesting level is not checked, if it's zero then nesting is disabled (only topmost shortcodes are processed). Any integer greater than zero sets the nesting level limit, +- `withMaxIterations($iterations)` controls the number of iterations that the source text is processed in. This means that source text is processed internally that number of times until the limit was reached or there are no shortcodes left. If the `$iterations` parameter value is null, there is no iterations limit, any integer greater than zero sets the limit. Defaults to one iteration, +- `withAutoProcessContent($flag)` controls automatic processing of shortcode's content before calling its handler. If the `$flag` parameter is `true` then handler receives shortcode with already processed content, if `false` then handler must process nested shortcodes itself (or leave them for the remaining iterations). This is turned on by default, +- `withEventContainer($events)` registers event container which provides handlers for all the events fired at various stages of processing text. Read more about events in the section dedicated to them. + +### Events + +If processor was configured with events container there are several possibilities to alter the way shortcodes are processed: + +- `Events::FILTER_SHORTCODES` uses `FilterShortcodesEvent` class. It receives current parent shortcode and array of shortcodes from parser. Its purpose is to allow modifying that array before processing them, +- `Events::REPLACE_SHORTCODES` uses `ReplaceShortcodesEvent` class and receives the parent shortcode, currently processed text, and array of replacements. It can alter the way shortcodes handlers results are applied to the source text. If none of the listeners set the result, the default method is used. + +There are several ready to use event handlers in the `Thunder\Shortcode\EventHandler` namespace: + +- `FilterRawEventHandler` implements `FilterShortcodesEvent` and allows to implement any number of "raw" shortcodes whose content is not processed, +- `ReplaceJoinEventHandler` implements `ReplaceShortcodesEvent` and provides the mechanism to apply shortcode replacements by discarding text and returning just replacements. + +The example below shows how to manually implement a `[raw]` shortcode that returns its verbatim content without calling any handler for nested shortcodes: + +```php +use Thunder\Shortcode\Event\FilterShortcodesEvent; +use Thunder\Shortcode\EventContainer\EventContainer; +use Thunder\Shortcode\Events; +use Thunder\Shortcode\HandlerContainer\HandlerContainer; +use Thunder\Shortcode\Parser\RegularParser; +use Thunder\Shortcode\Processor\Processor; +use Thunder\Shortcode\Shortcode\ShortcodeInterface; + +$handlers = new HandlerContainer(); +$handlers->add('raw', function(ShortcodeInterface $s) { return $s->getContent(); }); +$handlers->add('n', function(ShortcodeInterface $s) { return $s->getName(); }); +$handlers->add('c', function(ShortcodeInterface $s) { return $s->getContent(); }); + +$events = new EventContainer(); +$events->addListener(Events::FILTER_SHORTCODES, function(FilterShortcodesEvent $event) { + $parent = $event->getParent(); + if($parent && ($parent->getName() === 'raw' || $parent->hasAncestor('raw'))) { + $event->setShortcodes(array()); + } +}); + +$processor = new Processor(new RegularParser(), $handlers); +$processor = $processor->withEventContainer($events); + +assert(' [n /] [c]cnt[/c] ' === $processor->process('[raw] [n /] [c]cnt[/c] [/raw]')); +assert('n true [n /] ' === $processor->process('[n /] [c]true[/c] [raw] [n /] [/raw]')); +``` + +Facade example: + +```php +use Thunder\Shortcode\Event\FilterShortcodesEvent; +use Thunder\Shortcode\Events; +use Thunder\Shortcode\Shortcode\ShortcodeInterface; +use Thunder\Shortcode\ShortcodeFacade; + +$facade = new ShortcodeFacade(); +$facade->addHandler('raw', function(ShortcodeInterface $s) { return $s->getContent(); }); +$facade->addHandler('n', function(ShortcodeInterface $s) { return $s->getName(); }); +$facade->addHandler('c', function(ShortcodeInterface $s) { return $s->getContent(); }); + +$facade->addEventHandler(Events::FILTER_SHORTCODES, function(FilterShortcodesEvent $event) { + $parent = $event->getParent(); + if($parent && ($parent->getName() === 'raw' || $parent->hasAncestor('raw'))) { + $event->setShortcodes(array()); + } +}); + +assert(' [n /] [c]cnt[/c] ' === $facade->process('[raw] [n /] [c]cnt[/c] [/raw]')); +assert('n true [n /] ' === $facade->process('[n /] [c]true[/c] [raw] [n /] [/raw]')); +``` + +## Parsing + +This section discusses available shortcode parsers. Regardless of the parser that you will choose, remember that: + +- shortcode names can be only aplhanumeric characters and dash `-`, basically must conform to the `[a-zA-Z0-9-]+` regular expression, +- unsupported shortcodes (no registered handler or default handler) will be ignored and left as they are, +- mismatching closing shortcode (`[code]content[/codex]`) will be ignored, opening tag will be interpreted as self-closing shortcode, eg. `[code /]`, +- overlapping shortcodes (`[code]content[inner][/code]content[/inner]`) will be interpreted as self-closing, eg. `[code]content[inner /][/code]`, second closing tag will be ignored, + +There are three included parsers in this library: + +- `RegularParser` is the most powerful and correct parser available in this library. It contains the actual parser designed to handle all the issues with shortcodes like proper nesting or detecting invalid shortcode syntax. It is slightly slower than regex-based parser described below, +- `RegexParser` uses a handcrafted regular expression dedicated to handle shortcode syntax as much as regex engine allows. It is fastest among the parsers included in this library, but it can't handle nesting properly, which means that nested shortcodes with the same name are also considered overlapping - (assume that shortcode `[c]` returns its content) string `[c]x[c]y[/c]z[/c]` will be interpreted as `xyz[/c]` (first closing tag was matched to first opening tag). This can be solved by aliasing handler name, because for example `[c]x[d]y[/d]z[/c]` will be processed correctly, +- `WordpressParser` contains code copied from the latest currently available WordPress (4.3.1). It is also a regex-based parser, but the included regular expression is quite weak, it for example won't support BBCode syntax (`[name="param" /]`). This parser by default supports the shortcode name rule, but can break it when created with one of the named constructors (`createFromHandlers()` or `createFromNames()`) that change its behavior to catch only configured names. All of it is intentional to keep the compatibility with what WordPress is capable of if you need that compatibility. + +### Syntax + +All parsers (except `WordpressParser`) support configurable shortcode syntax which can be configured by passing `SyntaxInterface` object as the first parameter. There is a convenience class `CommonSyntax` that contains default syntax. Usage is shown in the examples below: + +```php +use Thunder\Shortcode\HandlerContainer\HandlerContainer; +use Thunder\Shortcode\Parser\RegexParser; +use Thunder\Shortcode\Parser\RegularParser; +use Thunder\Shortcode\Processor\Processor; +use Thunder\Shortcode\Shortcode\ShortcodeInterface; +use Thunder\Shortcode\Syntax\CommonSyntax; +use Thunder\Shortcode\Syntax\Syntax; +use Thunder\Shortcode\Syntax\SyntaxBuilder; + +$builder = new SyntaxBuilder(); +``` + +Default syntax (called "common" in this library): + +``` +$defaultSyntax = new Syntax(); // without any arguments it defaults to common syntax +$defaultSyntax = new CommonSyntax(); // convenience class +$defaultSyntax = new Syntax('[', ']', '/', '=', '"'); // created explicitly +$defaultSyntax = $builder->getSyntax(); // builder defaults to common syntax +``` + +Syntax with doubled tokens: + +```php +$doubleSyntax = new Syntax('[[', ']]', '//', '==', '""'); +$doubleSyntax = $builder // actually using builder + ->setOpeningTag('[[') + ->setClosingTag(']]') + ->setClosingTagMarker('//') + ->setParameterValueSeparator('==') + ->setParameterValueDelimiter('""') + ->getSyntax(); +``` + +Something entirely different just to show the possibilities: + +```php +$differentSyntax = new Syntax('@', '#', '!', '&', '~'); +``` + +Verify that each syntax works properly: + +``` +$handlers = new HandlerContainer(); +$handlers->add('up', function(ShortcodeInterface $s) { + return strtoupper($s->getContent()); +}); + +$defaultRegex = new Processor(new RegexParser($defaultSyntax), $handlers); +$doubleRegex = new Processor(new RegexParser($doubleSyntax), $handlers); +$differentRegular = new Processor(new RegularParser($differentSyntax), $handlers); + +assert('a STRING z' === $defaultRegex->process('a [up]string[/up] z')); +assert('a STRING z' === $doubleRegex->process('a [[up]]string[[//up]] z')); +assert('a STRING z' === $differentRegular->process('a @up#string@!up# z')); +``` + +## Serialization + +This library supports several (un)serialization formats - XML, YAML, JSON and Text. Examples below shows how to both serialize and unserialize the same shortcode in each format: + +```php +use Thunder\Shortcode\Serializer\JsonSerializer; +use Thunder\Shortcode\Serializer\TextSerializer; +use Thunder\Shortcode\Serializer\XmlSerializer; +use Thunder\Shortcode\Serializer\YamlSerializer; +use Thunder\Shortcode\Shortcode\Shortcode; + +$shortcode = new Shortcode('quote', array('name' => 'Thomas'), 'This is a quote!'); +``` + +Text: + +```php +$text = '[quote name=Thomas]This is a quote![/quote]'; +$textSerializer = new TextSerializer(); + +$serializedText = $textSerializer->serialize($shortcode); +assert($text === $serializedText); +$unserializedFromText = $textSerializer->unserialize($serializedText); +assert($unserializedFromText->getName() === $shortcode->getName()); +``` + +JSON: + +```php +$json = '{"name":"quote","parameters":{"name":"Thomas"},"content":"This is a quote!","bbCode":null}'; +$jsonSerializer = new JsonSerializer(); +$serializedJson = $jsonSerializer->serialize($shortcode); +assert($json === $serializedJson); +$unserializedFromJson = $jsonSerializer->unserialize($serializedJson); +assert($unserializedFromJson->getName() === $shortcode->getName()); +``` + +YAML: + +``` +$yaml = "name: quote +parameters: + name: Thomas +content: 'This is a quote!' +bbCode: null +"; +$yamlSerializer = new YamlSerializer(); +$serializedYaml = $yamlSerializer->serialize($shortcode); +assert($yaml === $serializedYaml); +$unserializedFromYaml = $yamlSerializer->unserialize($serializedYaml); +assert($unserializedFromYaml->getName() === $shortcode->getName()); +``` + +XML: + +``` +$xml = ' + + + + + + + +'; +$xmlSerializer = new XmlSerializer(); +$serializedXml = $xmlSerializer->serialize($shortcode); +assert($xml === $serializedXml); +$unserializedFromXml = $xmlSerializer->unserialize($serializedXml); +assert($unserializedFromXml->getName() === $shortcode->getName()); +``` + +Facade also supports serialization in all available formats: + +```php +use Thunder\Shortcode\Shortcode\Shortcode; +use Thunder\Shortcode\ShortcodeFacade; + +$facade = new ShortcodeFacade(); + +$shortcode = new Shortcode('name', array('arg' => 'val'), 'content', 'bbCode'); + +$text = $facade->serialize($shortcode, 'text'); +$textShortcode = $facade->unserialize($text, 'text'); +assert($shortcode->getName() === $textShortcode->getName()); + +$json = $facade->serialize($shortcode, 'json'); +$jsonShortcode = $facade->unserialize($json, 'json'); +assert($shortcode->getName() === $jsonShortcode->getName()); + +$yaml = $facade->serialize($shortcode, 'yaml'); +$yamlShortcode = $facade->unserialize($yaml, 'yaml'); +assert($shortcode->getName() === $yamlShortcode->getName()); + +$xml = $facade->serialize($shortcode, 'xml'); +$xmlShortcode = $facade->unserialize($xml, 'xml'); +assert($shortcode->getName() === $xmlShortcode->getName()); +``` + +## Handlers + +There are several builtin shortcode handlers available in `Thunder\Shortcode\Handler` namespace. Description below assumes that given handler was registered with `xyz` name: + +- `NameHandler` always returns shortcode's name. `[xyz arg=val]content[/xyz]` becomes `xyz`, +- `ContentHandler` always returns shortcode's content. It discards its opening and closing tag. `[xyz]code[/xyz]` becomes `code`, +- `RawHandler` returns unprocessed shortcode content. Its behavior is different than `FilterRawEventHandler` because if content auto processing is turned on, then nested shortcodes handlers were called, just their result was discarded, +- `NullHandler` completely removes shortcode with all nested shortcodes, +- `DeclareHandler` allows to dynamically create shortcode handler with name as first parameter that will also replace all placeholders in text passed as arguments. Example: `[declare xyz]Your age is %age%.[/declare]` created handler for shortcode `xyz` and when used like `[xyz age=18]` the result is `Your age is 18.`, +- `EmailHandler` replaces the email address or shortcode content as clickable `mailto:` link: + - `[xyz="email@example.com" /]` becomes `
email@example.com`, + - `[xyz]email@example.com[/xyz]` becomes `email@example.com`, + - `[xyz="email@example.com"]Contact me![/xyz]` becomes `Contact me!`, +- `PlaceholderHandler` replaces all placeholders in shortcode's content with values of passed arguments. `[xyz year=1970]News from year %year%.[/xyz]` becomes `News from year 1970.`, +- `SerializerHandler` replaces shortcode with its serialized value using serializer passed as an argument in class' constructor. If configured with `JsonSerializer`, `[xyz /]` becomes `{"name":"json", "arguments": [], "content": null, "bbCode": null}`. This could be useful for debugging your shortcodes, +- `UrlHandler` replaces its content with a clickable link: + - `[xyz]http://example.com[/xyz]` becomes `http://example.com`, + - `[xyz="http://example.com"]Visit my site![/xyz]` becomes `Visit my site!`, +- `WrapHandler` allows to specify the value that should be placed before and after shortcode content. If configured with `` and ``, the text `[xyz]Bold text.[/xyz]` becomes `Bold text.`. + +## Contributing + +Want to contribute? Perfect! Submit an issue or Pull Request and explain what would you like to see in this library. + +## License + +See LICENSE file in the main directory of this library. diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/composer.json b/plugins/shortcode-core/vendor/thunderer/shortcode/composer.json new file mode 100644 index 0000000..b89f05a --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/composer.json @@ -0,0 +1,34 @@ +{ + "name": "thunderer/shortcode", + "description": "Advanced shortcode (BBCode) parser and engine for PHP", + "keywords": ["shortcode", "bbcode", "parser", "engine", "library"], + "license": "MIT", + "authors": [ + { + "name": "Tomasz Kowalczyk", + "email": "tomasz@kowalczyk.cc" + } + ], + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": ">=4.1", + "symfony/yaml": ">=2.0" + }, + "autoload": { + "psr-4": { + "Thunder\\Shortcode\\": "src/" + } + }, + "autoload-dev": { + "psr-4": { + "Thunder\\Shortcode\\Tests\\": "tests/" + } + }, + "suggest": { + "symfony/yaml": "if you want to use YAML serializer", + "ext-dom": "if you want to use XML serializer", + "ext-json": "if you want to use JSON serializer" + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/docker-compose.yaml b/plugins/shortcode-core/vendor/thunderer/shortcode/docker-compose.yaml new file mode 100644 index 0000000..5d6d75f --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/docker-compose.yaml @@ -0,0 +1,20 @@ +version: '3.4' + +x-php: &php + volumes: ['.:/app', './docker/php/php.ini:/usr/local/etc/php/conf.d/php.ini'] + working_dir: '/app' + +services: + # PHP 5.3 contains neither mbstring extension nor docker-php-ext-install script + # Original Dockerfile can be found here https://github.com/docker-library/php/pull/20/files + # Unfortunately it fails to build now because GPG signatures do not exist anymore + # php-5.3: { build: { context: docker/php-5.x, args: { PHP_VERSION: 5.3 } } } + php-5.4: { <<: *php, build: { context: docker/php-5.x, args: { PHP_VERSION: 5.4 } } } + php-5.5: { <<: *php, build: { context: docker/php-5.x, args: { PHP_VERSION: 5.5 } } } + php-5.6: { <<: *php, build: { context: docker/php-5.x, args: { PHP_VERSION: 5.6 } } } + php-7.0: { <<: *php, build: { context: docker/php, args: { PHP_VERSION: 7.0 } } } + php-7.1: { <<: *php, build: { context: docker/php, args: { PHP_VERSION: 7.1.3 } } } + php-7.2: { <<: *php, build: { context: docker/php, args: { PHP_VERSION: 7.2 } } } + php-7.3: { <<: *php, build: { context: docker/php, args: { PHP_VERSION: 7.3 } } } + php-7.4: { <<: *php, build: { context: docker/php, args: { PHP_VERSION: 7.4 } } } + php-8.0: { <<: *php, build: { context: docker/php, args: { PHP_VERSION: 8.0 } } } diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/docker/php-5.x/Dockerfile b/plugins/shortcode-core/vendor/thunderer/shortcode/docker/php-5.x/Dockerfile new file mode 100644 index 0000000..d3bf11b --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/docker/php-5.x/Dockerfile @@ -0,0 +1,11 @@ +ARG PHP_VERSION=7.4 +FROM php:$PHP_VERSION + +RUN apt update && apt install -y --force-yes libonig-dev libzip-dev +RUN docker-php-ext-install mbstring zip + +RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \ + && php -r "if (hash_file('sha384', 'composer-setup.php') === 'c31c1e292ad7be5f49291169c0ac8f683499edddcfd4e42232982d0fd193004208a58ff6f353fde0012d35fdd72bc394') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" \ + && php composer-setup.php \ + && php -r "unlink('composer-setup.php');" \ + && mv composer.phar /usr/local/bin/composer diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/docker/php/Dockerfile b/plugins/shortcode-core/vendor/thunderer/shortcode/docker/php/Dockerfile new file mode 100644 index 0000000..1cc6625 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/docker/php/Dockerfile @@ -0,0 +1,12 @@ +ARG PHP_VERSION=8.0 +FROM php:$PHP_VERSION + +RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \ + && php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" \ + && php composer-setup.php \ + && php -r "unlink('composer-setup.php');" \ + && mv composer.phar /usr/local/bin/composer + +RUN apt update && apt install -y libonig-dev libzip-dev +RUN docker-php-ext-install mbstring zip +RUN pecl install xdebug && docker-php-ext-enable xdebug diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/docker/php/php.ini b/plugins/shortcode-core/vendor/thunderer/shortcode/docker/php/php.ini new file mode 100644 index 0000000..cea362e --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/docker/php/php.ini @@ -0,0 +1 @@ +xdebug.mode=coverage diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/infection.json b/plugins/shortcode-core/vendor/thunderer/shortcode/infection.json new file mode 100644 index 0000000..ba36c9a --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/infection.json @@ -0,0 +1,12 @@ +{ + "source": { + "directories": ["src"] + }, + "logs": { + "text": "infection.log" + }, + "timeout": 2, + "mutators": { + "@default": true + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/phpunit.xml.dist b/plugins/shortcode-core/vendor/thunderer/shortcode/phpunit.xml.dist new file mode 100644 index 0000000..f7c807d --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/phpunit.xml.dist @@ -0,0 +1,30 @@ + + + + + + tests + + + + + + src + + + + + + + diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/psalm.xml b/plugins/shortcode-core/vendor/thunderer/shortcode/psalm.xml new file mode 100644 index 0000000..e35b9ed --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/psalm.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Event/FilterShortcodesEvent.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Event/FilterShortcodesEvent.php new file mode 100644 index 0000000..dc554e3 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Event/FilterShortcodesEvent.php @@ -0,0 +1,62 @@ + + */ +class FilterShortcodesEvent +{ + /** @var ProcessedShortcode|null */ + private $parent; + /** @var ParsedShortcodeInterface[] */ + private $shortcodes = array(); + + /** @param ParsedShortcodeInterface[] $shortcodes */ + public function __construct(array $shortcodes, ProcessedShortcode $parent = null) + { + $this->parent = $parent; + $this->setShortcodes($shortcodes); + } + + /** @return ParsedShortcodeInterface[] */ + public function getShortcodes() + { + return $this->shortcodes; + } + + /** @return ProcessedShortcode|null */ + public function getParent() + { + return $this->parent; + } + + /** + * @param ParsedShortcodeInterface[] $shortcodes + * + * @return void + */ + public function setShortcodes(array $shortcodes) + { + $this->shortcodes = array(); + foreach($shortcodes as $shortcode) { + $this->addShortcode($shortcode); + } + } + + /** + * @param ParsedShortcodeInterface $shortcode + * + * @return void + */ + private function addShortcode(ParsedShortcodeInterface $shortcode) + { + $this->shortcodes[] = $shortcode; + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Event/ReplaceShortcodesEvent.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Event/ReplaceShortcodesEvent.php new file mode 100644 index 0000000..39e1827 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Event/ReplaceShortcodesEvent.php @@ -0,0 +1,94 @@ + + */ +class ReplaceShortcodesEvent +{ + /** @var ShortcodeInterface|null */ + private $shortcode; + /** @var string */ + private $text; + /** @var ReplacedShortcode[] */ + private $replacements = array(); + /** @var string|null */ + private $result; + + /** + * @param string $text + * @param ReplacedShortcode[] $replacements + */ + public function __construct($text, array $replacements, ShortcodeInterface $shortcode = null) + { + $this->shortcode = $shortcode; + $this->text = $text; + + $this->setReplacements($replacements); + } + + /** + * @param ReplacedShortcode[] $replacements + * + * @return void + */ + private function setReplacements(array $replacements) + { + foreach($replacements as $replacement) { + $this->addReplacement($replacement); + } + } + + /** @return void */ + private function addReplacement(ReplacedShortcode $replacement) + { + $this->replacements[] = $replacement; + } + + /** @return string */ + public function getText() + { + return $this->text; + } + + /** @return ReplacedShortcode[] */ + public function getReplacements() + { + return $this->replacements; + } + + /** @return ShortcodeInterface|null */ + public function getShortcode() + { + return $this->shortcode; + } + + /** + * @param string $result + * + * @return void + */ + public function setResult($result) + { + $this->result = $result; + } + + /** @return string|null */ + public function getResult() + { + return $this->result; + } + + /** @return bool */ + public function hasResult() + { + return null !== $this->result; + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventContainer/EventContainer.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventContainer/EventContainer.php new file mode 100644 index 0000000..01b0d29 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventContainer/EventContainer.php @@ -0,0 +1,56 @@ + + */ +final class EventContainer implements EventContainerInterface +{ + /** @psalm-var array> */ + private $listeners = array(); + + public function __construct() + { + } + + /** + * @param string $event + * @param callable $handler + * + * @return void + */ + public function addListener($event, $handler) + { + if(!\in_array($event, Events::getEvents(), true)) { + throw new \InvalidArgumentException(sprintf('Unsupported event %s!', $event)); + } + + if(!array_key_exists($event, $this->listeners)) { + $this->listeners[$event] = array(); + } + + $this->listeners[$event][] = $handler; + } + + /** + * @param string $event + * + * @psalm-return list + */ + public function getListeners($event) + { + return $this->hasEvent($event) ? $this->listeners[$event] : array(); + } + + /** + * @param string $name + * + * @return bool + */ + private function hasEvent($name) + { + return array_key_exists($name, $this->listeners); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventContainer/EventContainerInterface.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventContainer/EventContainerInterface.php new file mode 100644 index 0000000..ea358ef --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventContainer/EventContainerInterface.php @@ -0,0 +1,15 @@ + + */ +interface EventContainerInterface +{ + /** + * @param string $event + * + * @return callable[] + */ + public function getListeners($event); +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventHandler/FilterRawEventHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventHandler/FilterRawEventHandler.php new file mode 100644 index 0000000..ca5da3e --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventHandler/FilterRawEventHandler.php @@ -0,0 +1,34 @@ + + */ +final class FilterRawEventHandler +{ + /** @var string[] */ + private $names = array(); + + public function __construct(array $names) + { + foreach($names as $name) { + if(false === is_string($name)) { + throw new \InvalidArgumentException('Expected array of strings!'); + } + + $this->names[] = $name; + } + } + + public function __invoke(FilterShortcodesEvent $event) + { + $parent = $event->getParent(); + if($parent && \in_array($parent->getName(), $this->names, true)) { + $event->setShortcodes(array()); + + return; + } + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventHandler/ReplaceJoinEventHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventHandler/ReplaceJoinEventHandler.php new file mode 100644 index 0000000..96710b2 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/EventHandler/ReplaceJoinEventHandler.php @@ -0,0 +1,37 @@ + + */ +final class ReplaceJoinEventHandler +{ + /** @var string[] */ + private $names = array(); + + public function __construct(array $names) + { + foreach($names as $name) { + if(false === is_string($name)) { + throw new \InvalidArgumentException('Expected array of strings!'); + } + + $this->names[] = $name; + } + } + + public function __invoke(ReplaceShortcodesEvent $event) + { + $shortcode = $event->getShortcode(); + if($shortcode && in_array($shortcode->getName(), $this->names)) { + $replaces = array(); + foreach($event->getReplacements() as $r) { + $replaces[] = $r->getReplacement(); + } + + $event->setResult(implode('', $replaces)); + } + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Events.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Events.php new file mode 100644 index 0000000..7d7bafb --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Events.php @@ -0,0 +1,17 @@ + + */ +final class Events +{ + const FILTER_SHORTCODES = 'event.filter-shortcodes'; + const REPLACE_SHORTCODES = 'event.replace-shortcodes'; + + /** @return string[] */ + public static function getEvents() + { + return array(static::FILTER_SHORTCODES, static::REPLACE_SHORTCODES); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/ContentHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/ContentHandler.php new file mode 100644 index 0000000..13483a6 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/ContentHandler.php @@ -0,0 +1,22 @@ + + */ +final class ContentHandler +{ + /** + * [content]text to display[/content] + * + * @param ShortcodeInterface $shortcode + * + * @return null|string + */ + public function __invoke(ShortcodeInterface $shortcode) + { + return $shortcode->getContent(); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/DeclareHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/DeclareHandler.php new file mode 100644 index 0000000..f0c4314 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/DeclareHandler.php @@ -0,0 +1,50 @@ + + */ +final class DeclareHandler +{ + /** @var HandlerContainer */ + private $handlers; + /** @var string */ + private $delimiter; + + /** @param string $delimiter */ + public function __construct(HandlerContainer $container, $delimiter = '%') + { + $this->handlers = $container; + $this->delimiter = $delimiter; + } + + /** + * [declare name]Your name is %value%[/declare] + * [name value="Thomas" /] + * + * @param ShortcodeInterface $shortcode + */ + public function __invoke(ShortcodeInterface $shortcode) + { + $args = $shortcode->getParameters(); + if(empty($args)) { + return; + } + $keys = array_keys($args); + $name = array_shift($keys); + $content = (string)$shortcode->getContent(); + $delimiter = $this->delimiter; + + $this->handlers->add($name, function(ShortcodeInterface $shortcode) use($content, $delimiter) { + $args = $shortcode->getParameters(); + $keys = array_map(function($key) use($delimiter) { return $delimiter.$key.$delimiter; }, array_keys($args)); + /** @var string[] $values */ + $values = array_values($args); + + return str_replace($keys, $values, $content); + }); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/EmailHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/EmailHandler.php new file mode 100644 index 0000000..0312e9b --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/EmailHandler.php @@ -0,0 +1,27 @@ + + */ +final class EmailHandler +{ + /** + * [email="example@example.org"]Contact me![/email] + * [email="example@example.org" /] + * [email]example@example.org[/email] + * + * @param ShortcodeInterface $shortcode + * + * @return string + */ + public function __invoke(ShortcodeInterface $shortcode) + { + $email = $shortcode->getBbCode() ?: $shortcode->getContent(); + $content = $shortcode->getContent() === null ? $email : $shortcode->getContent(); + + return ''.(string)$content.''; + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/NameHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/NameHandler.php new file mode 100644 index 0000000..feaa159 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/NameHandler.php @@ -0,0 +1,23 @@ + + */ +final class NameHandler +{ + /** + * [name /] + * [name]content is ignored[/name] + * + * @param ShortcodeInterface $shortcode + * + * @return string + */ + public function __invoke(ShortcodeInterface $shortcode) + { + return $shortcode->getName(); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/NullHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/NullHandler.php new file mode 100644 index 0000000..d411f41 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/NullHandler.php @@ -0,0 +1,22 @@ + + */ +final class NullHandler +{ + /** + * Special shortcode to discard any input and return empty text + * + * @param ShortcodeInterface $shortcode + * + * @return null + */ + public function __invoke(ShortcodeInterface $shortcode) + { + return null; + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/PlaceholderHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/PlaceholderHandler.php new file mode 100644 index 0000000..4906f5e --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/PlaceholderHandler.php @@ -0,0 +1,37 @@ + + */ +final class PlaceholderHandler +{ + /** @var string */ + private $delimiter; + + /** @param string $delimiter */ + public function __construct($delimiter = '%') + { + $this->delimiter = $delimiter; + } + + /** + * [placeholder value=18]You age is %value%[/placeholder] + * + * @param ShortcodeInterface $shortcode + * + * @return mixed + */ + public function __invoke(ShortcodeInterface $shortcode) + { + $args = $shortcode->getParameters(); + $delimiter = $this->delimiter; + $keys = array_map(function($key) use($delimiter) { return $delimiter.$key.$delimiter; }, array_keys($args)); + /** @var string[] $values */ + $values = array_values($args); + + return str_replace($keys, $values, (string)$shortcode->getContent()); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/RawHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/RawHandler.php new file mode 100644 index 0000000..585bf26 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/RawHandler.php @@ -0,0 +1,26 @@ + + */ +final class RawHandler +{ + public function __construct() + { + } + + /** + * [raw]any content [with] or [without /] shortcodes[/raw] + * + * @param ProcessedShortcode $shortcode + * + * @return string + */ + public function __invoke(ProcessedShortcode $shortcode) + { + return $shortcode->getTextContent(); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/SerializerHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/SerializerHandler.php new file mode 100644 index 0000000..cf20a19 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/SerializerHandler.php @@ -0,0 +1,38 @@ + + */ +final class SerializerHandler +{ + /** @var SerializerInterface */ + private $serializer; + + public function __construct(SerializerInterface $serializer) + { + $this->serializer = $serializer; + } + + /** + * [text arg=val /] + * [text arg=val]content[/text] + * [json arg=val /] + * [json arg=val]content[/json] + * [xml arg=val /] + * [xml arg=val]content[/xml] + * [yaml arg=val /] + * [yaml arg=val]content[/yaml] + * + * @param ShortcodeInterface $shortcode + * + * @return string + */ + public function __invoke(ShortcodeInterface $shortcode) + { + return $this->serializer->serialize($shortcode); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/UrlHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/UrlHandler.php new file mode 100644 index 0000000..27d02ce --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/UrlHandler.php @@ -0,0 +1,26 @@ + + */ +final class UrlHandler +{ + /** + * [url="http://example.org"]Click![/url] + * [url="http://example.org" /] + * [url]http://example.org[/url] + * + * @param ShortcodeInterface $shortcode + * + * @return string + */ + public function __invoke(ShortcodeInterface $shortcode) + { + $url = $shortcode->getBbCode() ?: $shortcode->getContent(); + + return ''.(string)$shortcode->getContent().''; + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/WrapHandler.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/WrapHandler.php new file mode 100644 index 0000000..1185156 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Handler/WrapHandler.php @@ -0,0 +1,44 @@ + + */ +final class WrapHandler +{ + /** @var string */ + private $before; + /** @var string */ + private $after; + + /** + * @param string $before + * @param string $after + */ + public function __construct($before, $after) + { + $this->before = $before; + $this->after = $after; + } + + /** @return self */ + public static function createBold() + { + return new self('', ''); + } + + /** + * [b]content[b] + * [strong]content[/strong] + * + * @param ShortcodeInterface $shortcode + * + * @return string + */ + public function __invoke(ShortcodeInterface $shortcode) + { + return $this->before.(string)$shortcode->getContent().$this->after; + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/HandlerContainer.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/HandlerContainer.php new file mode 100644 index 0000000..881ee06 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/HandlerContainer.php @@ -0,0 +1,122 @@ + + */ +final class HandlerContainer implements HandlerContainerInterface +{ + /** @psalm-var array */ + private $handlers = array(); + /** @psalm-var (callable(ShortcodeInterface):string)|null */ + private $default = null; + + /** + * @param string $name + * @param callable $handler + * @psalm-param callable(ShortcodeInterface):string $handler + * + * @return $this + */ + public function add($name, $handler) + { + $this->guardHandler($handler); + + if (empty($name) || $this->has($name)) { + $msg = 'Invalid name or duplicate shortcode handler for %s!'; + throw new \RuntimeException(sprintf($msg, $name)); + } + + $this->handlers[$name] = $handler; + + return $this; + } + + /** + * @param string $alias + * @param string $name + * + * @return $this + */ + public function addAlias($alias, $name) + { + if (false === $this->has($name)) { + $msg = 'Failed to add an alias %s to non existent handler %s!'; + throw new \RuntimeException(sprintf($msg, $alias, $name)); + } + + /** @psalm-suppress PossiblyNullArgument */ + return $this->add($alias, $this->get($name)); + } + + /** + * @param string $name + * + * @return void + */ + public function remove($name) + { + if (false === $this->has($name)) { + $msg = 'Failed to remove non existent handler %s!'; + throw new \RuntimeException(sprintf($msg, $name)); + } + + unset($this->handlers[$name]); + } + + /** + * @param callable $handler + * @psalm-param callable(ShortcodeInterface):string $handler + * + * @return $this + */ + public function setDefault($handler) + { + $this->guardHandler($handler); + + $this->default = $handler; + + return $this; + } + + /** @return string[] */ + public function getNames() + { + return array_keys($this->handlers); + } + + /** + * @param string $name + * + * @return callable|null + * @psalm-return (callable(ShortcodeInterface):string)|null + */ + public function get($name) + { + return $this->has($name) ? $this->handlers[$name] : $this->default; + } + + /** + * @param string $name + * + * @return bool + */ + public function has($name) + { + return array_key_exists($name, $this->handlers); + } + + /** + * @param callable $handler + * + * @return void + */ + private function guardHandler($handler) + { + if (!is_callable($handler)) { + throw new \RuntimeException('Shortcode handler must be callable!'); + } + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/HandlerContainerInterface.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/HandlerContainerInterface.php new file mode 100644 index 0000000..80b11ec --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/HandlerContainerInterface.php @@ -0,0 +1,21 @@ + + */ +interface HandlerContainerInterface +{ + /** + * Returns handler for given shortcode name or default if it was set before. + * If no handler is found, returns null. + * + * @param string $name Shortcode name + * + * @return callable|null + * @psalm-return (callable(ShortcodeInterface):string)|null + */ + public function get($name); +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/ImmutableHandlerContainer.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/ImmutableHandlerContainer.php new file mode 100644 index 0000000..cf1c4cd --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/HandlerContainer/ImmutableHandlerContainer.php @@ -0,0 +1,29 @@ + + */ +final class ImmutableHandlerContainer implements HandlerContainerInterface +{ + /** @var HandlerContainer */ + private $handlers; + + public function __construct(HandlerContainer $handlers) + { + $this->handlers = clone $handlers; + } + + /** + * @param string $name + * + * @return callable|null + * @psalm-return (callable(ShortcodeInterface):string)|null + */ + public function get($name) + { + return $this->handlers->get($name); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/ParserInterface.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/ParserInterface.php new file mode 100644 index 0000000..dc324ae --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/ParserInterface.php @@ -0,0 +1,19 @@ + + */ +interface ParserInterface +{ + /** + * Parse single shortcode match into object + * + * @param string $text + * + * @return ParsedShortcodeInterface[] + */ + public function parse($text); +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/RegexParser.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/RegexParser.php new file mode 100644 index 0000000..4a83b39 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/RegexParser.php @@ -0,0 +1,124 @@ + + */ +final class RegexParser implements ParserInterface +{ + /** @var SyntaxInterface */ + private $syntax; + /** @var string */ + private $shortcodeRegex; + /** @var string */ + private $singleShortcodeRegex; + /** @var string */ + private $parametersRegex; + + public function __construct(SyntaxInterface $syntax = null) + { + $this->syntax = $syntax ?: new Syntax(); + $this->shortcodeRegex = RegexBuilderUtility::buildShortcodeRegex($this->syntax); + $this->singleShortcodeRegex = RegexBuilderUtility::buildSingleShortcodeRegex($this->syntax); + $this->parametersRegex = RegexBuilderUtility::buildParametersRegex($this->syntax); + } + + /** + * @param string $text + * + * @return ParsedShortcode[] + */ + public function parse($text) + { + preg_match_all($this->shortcodeRegex, $text, $matches, PREG_OFFSET_CAPTURE); + + // loop instead of array_map to pass the arguments explicitly + $shortcodes = array(); + foreach($matches[0] as $match) { + $offset = mb_strlen(substr($text, 0, $match[1]), 'utf-8'); + $shortcodes[] = $this->parseSingle($match[0], $offset); + } + + return array_filter($shortcodes); + } + + /** + * @param string $text + * @param int $offset + * + * @return ParsedShortcode + */ + private function parseSingle($text, $offset) + { + preg_match($this->singleShortcodeRegex, $text, $matches, PREG_OFFSET_CAPTURE); + + /** @psalm-var array $matches */ + $name = $matches['name'][0]; + $parameters = isset($matches['parameters'][0]) ? $this->parseParameters($matches['parameters'][0]) : array(); + $bbCode = isset($matches['bbCode'][0]) && $matches['bbCode'][1] !== -1 + ? $this->extractValue($matches['bbCode'][0]) + : null; + $content = isset($matches['content'][0]) && $matches['content'][1] !== -1 ? $matches['content'][0] : null; + + return new ParsedShortcode(new Shortcode($name, $parameters, $content, $bbCode), $text, $offset); + } + + /** + * @param string $text + * + * @psalm-return array + */ + private function parseParameters($text) + { + preg_match_all($this->parametersRegex, $text, $argsMatches); + + // loop because PHP 5.3 can't handle $this properly and I want separate methods + $return = array(); + foreach ($argsMatches[1] as $item) { + /** @psalm-var array{0:string,1:string} $parts */ + $parts = explode($this->syntax->getParameterValueSeparator(), $item, 2); + $return[trim($parts[0])] = $this->parseValue(isset($parts[1]) ? $parts[1] : null); + } + + return $return; + } + + /** + * @param string|null $value + * + * @return string|null + */ + private function parseValue($value) + { + return null === $value ? null : $this->extractValue(trim($value)); + } + + /** + * @param string $value + * + * @return string + */ + private function extractValue($value) + { + $length = strlen($this->syntax->getParameterValueDelimiter()); + + return $this->isDelimitedValue($value) ? substr($value, $length, -1 * $length) : $value; + } + + /** + * @param string $value + * + * @return bool + */ + private function isDelimitedValue($value) + { + return preg_match('/^'.$this->syntax->getParameterValueDelimiter().'/us', $value) + && preg_match('/'.$this->syntax->getParameterValueDelimiter().'$/us', $value); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/RegularParser.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/RegularParser.php new file mode 100644 index 0000000..d46a36a --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/RegularParser.php @@ -0,0 +1,397 @@ + + */ +final class RegularParser implements ParserInterface +{ + /** @var string */ + private $lexerRegex; + /** @var string */ + private $nameRegex; + /** @psalm-var list */ + private $tokens = array(); + /** @var int */ + private $tokensCount = 0; + /** @var int */ + private $position = 0; + /** @var int[] */ + private $backtracks = array(); + /** @var int */ + private $lastBacktrack = 0; + + const TOKEN_OPEN = 1; + const TOKEN_CLOSE = 2; + const TOKEN_MARKER = 3; + const TOKEN_SEPARATOR = 4; + const TOKEN_DELIMITER = 5; + const TOKEN_STRING = 6; + const TOKEN_WS = 7; + + public function __construct(SyntaxInterface $syntax = null) + { + $this->lexerRegex = $this->prepareLexer($syntax ?: new CommonSyntax()); + $this->nameRegex = '~^'.RegexBuilderUtility::buildNameRegex().'$~us'; + } + + /** + * @param string $text + * + * @return ParsedShortcode[] + */ + public function parse($text) + { + $nestingLevel = ini_set('xdebug.max_nesting_level', '-1'); + $this->tokens = $this->tokenize($text); + $this->backtracks = array(); + $this->lastBacktrack = 0; + $this->position = 0; + $this->tokensCount = \count($this->tokens); + + $shortcodes = array(); + while($this->position < $this->tokensCount) { + while($this->position < $this->tokensCount && false === $this->lookahead(self::TOKEN_OPEN)) { + $this->position++; + } + $names = array(); + $this->beginBacktrack(); + $matches = $this->shortcode($names); + if(false === $matches) { + $this->backtrack(); + $this->match(null, true); + continue; + } + if(\is_array($matches)) { + foreach($matches as $shortcode) { + $shortcodes[] = $shortcode; + } + } + } + ini_set('xdebug.max_nesting_level', $nestingLevel); + + return $shortcodes; + } + + /** + * @param string $name + * @psalm-param array $parameters + * @param string|null $bbCode + * @param int $offset + * @param string|null $content + * @param string $text + * + * @return ParsedShortcode + */ + private function getObject($name, $parameters, $bbCode, $offset, $content, $text) + { + return new ParsedShortcode(new Shortcode($name, $parameters, $content, $bbCode), $text, $offset); + } + + /* --- RULES ----------------------------------------------------------- */ + + /** + * @param string[] $names + * @psalm-param list $names + * FIXME: investigate the reason Psalm complains about references + * @psalm-suppress ReferenceConstraintViolation + * + * @return ParsedShortcode[]|string|false + */ + private function shortcode(array &$names) + { + if(!$this->match(self::TOKEN_OPEN, false)) { return false; } + $offset = $this->tokens[$this->position - 1][2]; + $this->match(self::TOKEN_WS, false); + if('' === $name = $this->match(self::TOKEN_STRING, false)) { return false; } + if($this->lookahead(self::TOKEN_STRING)) { return false; } + if(1 !== preg_match($this->nameRegex, $name, $matches)) { return false; } + $this->match(self::TOKEN_WS, false); + // bbCode + $bbCode = $this->match(self::TOKEN_SEPARATOR, true) ? $this->value() : null; + if(false === $bbCode) { return false; } + // parameters + if(false === ($parameters = $this->parameters())) { return false; } + + // self-closing + if($this->match(self::TOKEN_MARKER, true)) { + if(!$this->match(self::TOKEN_CLOSE, false)) { return false; } + + return array($this->getObject($name, $parameters, $bbCode, $offset, null, $this->getBacktrack())); + } + + // just-closed or with-content + if(!$this->match(self::TOKEN_CLOSE, false)) { return false; } + $this->beginBacktrack(); + $names[] = $name; + + // begin inlined content() + $content = ''; + $shortcodes = array(); + $closingName = null; + + while($this->position < $this->tokensCount) { + while($this->position < $this->tokensCount && false === $this->lookahead(self::TOKEN_OPEN)) { + $content .= $this->match(null, true); + } + + $this->beginBacktrack(); + /** @psalm-suppress MixedArgumentTypeCoercion */ + $contentMatchedShortcodes = $this->shortcode($names); + if(\is_string($contentMatchedShortcodes)) { + $closingName = $contentMatchedShortcodes; + break; + } + if(\is_array($contentMatchedShortcodes)) { + foreach($contentMatchedShortcodes as $matchedShortcode) { + $shortcodes[] = $matchedShortcode; + } + continue; + } + $this->backtrack(); + + $this->beginBacktrack(); + if(false !== ($closingName = $this->close($names))) { + $this->backtrack(); + $shortcodes = array(); + break; + } + $closingName = null; + $this->backtrack(); + + $content .= $this->match(null, false); + } + $content = $this->position < $this->tokensCount ? $content : false; + // end inlined content() + + if(null !== $closingName && $closingName !== $name) { + array_pop($names); + array_pop($this->backtracks); + array_pop($this->backtracks); + + return $closingName; + } + if(false === $content || $closingName !== $name) { + $this->backtrack(false); + $text = $this->backtrack(false); + array_pop($names); + + return array_merge(array($this->getObject($name, $parameters, $bbCode, $offset, null, $text)), $shortcodes); + } + $content = $this->getBacktrack(); + if(!$this->close($names)) { return false; } + array_pop($names); + + return array($this->getObject($name, $parameters, $bbCode, $offset, $content, $this->getBacktrack())); + } + + /** + * @param string[] $names + * + * @return string|false + */ + private function close(array &$names) + { + if(!$this->match(self::TOKEN_OPEN, true)) { return false; } + if(!$this->match(self::TOKEN_MARKER, true)) { return false; } + if(!$closingName = $this->match(self::TOKEN_STRING, true)) { return false; } + if(!$this->match(self::TOKEN_CLOSE, false)) { return false; } + + return \in_array($closingName, $names, true) ? $closingName : false; + } + + /** @psalm-return array|false */ + private function parameters() + { + $parameters = array(); + + while(true) { + $this->match(self::TOKEN_WS, false); + if($this->lookahead(self::TOKEN_MARKER) || $this->lookahead(self::TOKEN_CLOSE)) { break; } + if(!$name = $this->match(self::TOKEN_STRING, true)) { return false; } + if(!$this->match(self::TOKEN_SEPARATOR, true)) { $parameters[$name] = null; continue; } + if(false === ($value = $this->value())) { return false; } + $this->match(self::TOKEN_WS, false); + + $parameters[$name] = $value; + } + + return $parameters; + } + + /** @return false|string */ + private function value() + { + $value = ''; + + if($this->match(self::TOKEN_DELIMITER, false)) { + while($this->position < $this->tokensCount && false === $this->lookahead(self::TOKEN_DELIMITER)) { + $value .= $this->match(null, false); + } + + return $this->match(self::TOKEN_DELIMITER, false) ? $value : false; + } + + if('' !== $tmp = $this->match(self::TOKEN_STRING, false)) { + $value .= $tmp; + while('' !== $tmp = $this->match(self::TOKEN_STRING, false)) { + $value .= $tmp; + } + + return $value; + } + + return false; + } + + /* --- PARSER ---------------------------------------------------------- */ + + /** @return void */ + private function beginBacktrack() + { + $this->backtracks[] = $this->position; + $this->lastBacktrack = $this->position; + } + + /** @return string */ + private function getBacktrack() + { + $position = array_pop($this->backtracks); + $backtrack = ''; + for($i = $position; $i < $this->position; $i++) { + $backtrack .= $this->tokens[$i][1]; + } + + return $backtrack; + } + + /** + * @param bool $modifyPosition + * + * @return string + */ + private function backtrack($modifyPosition = true) + { + $position = array_pop($this->backtracks); + if($modifyPosition) { + $this->position = $position; + } + + $backtrack = ''; + for($i = $position; $i < $this->lastBacktrack; $i++) { + $backtrack .= $this->tokens[$i][1]; + } + $this->lastBacktrack = $position; + + return $backtrack; + } + + /** + * @param int $type + * + * @return bool + */ + private function lookahead($type) + { + return $this->position < $this->tokensCount && $this->tokens[$this->position][0] === $type; + } + + /** + * @param int|null $type + * @param bool $ws + * + * @return string + */ + private function match($type, $ws) + { + if($this->position >= $this->tokensCount) { + return ''; + } + + $token = $this->tokens[$this->position]; + if(!empty($type) && $token[0] !== $type) { + return ''; + } + + $this->position++; + if($ws && $this->position < $this->tokensCount && $this->tokens[$this->position][0] === self::TOKEN_WS) { + $this->position++; + } + + return $token[1]; + } + + /* --- LEXER ----------------------------------------------------------- */ + + /** + * @param string $text + * + * @psalm-return list + */ + private function tokenize($text) + { + $count = preg_match_all($this->lexerRegex, $text, $matches, PREG_SET_ORDER | PREG_OFFSET_CAPTURE); + if(false === $count || preg_last_error() !== PREG_NO_ERROR) { + throw new \RuntimeException(sprintf('PCRE failure `%s`.', preg_last_error())); + } + + $tokens = array(); + $position = 0; + + foreach($matches as $match) { + switch(true) { + case -1 !== $match['string'][1]: { $token = $match['string'][0]; $type = self::TOKEN_STRING; break; } + case -1 !== $match['ws'][1]: { $token = $match['ws'][0]; $type = self::TOKEN_WS; break; } + case -1 !== $match['marker'][1]: { $token = $match['marker'][0]; $type = self::TOKEN_MARKER; break; } + case -1 !== $match['delimiter'][1]: { $token = $match['delimiter'][0]; $type = self::TOKEN_DELIMITER; break; } + case -1 !== $match['separator'][1]: { $token = $match['separator'][0]; $type = self::TOKEN_SEPARATOR; break; } + case -1 !== $match['open'][1]: { $token = $match['open'][0]; $type = self::TOKEN_OPEN; break; } + case -1 !== $match['close'][1]: { $token = $match['close'][0]; $type = self::TOKEN_CLOSE; break; } + default: { throw new \RuntimeException(sprintf('Invalid token.')); } + } + $tokens[] = array($type, $token, $position); + $position += mb_strlen($token, 'utf-8'); + } + + return $tokens; + } + + /** @return string */ + private function prepareLexer(SyntaxInterface $syntax) + { + // FIXME: for some reason Psalm does not understand the `@psalm-var callable() $var` annotation + /** @psalm-suppress MissingClosureParamType, MissingClosureReturnType */ + $group = function($text, $group) { + return '(?<'.(string)$group.'>'.preg_replace('/(.)/us', '\\\\$0', (string)$text).')'; + }; + /** @psalm-suppress MissingClosureParamType, MissingClosureReturnType */ + $quote = function($text) { + return preg_replace('/(.)/us', '\\\\$0', (string)$text); + }; + + $rules = array( + '(?\\\\.|(?:(?!'.implode('|', array( + $quote($syntax->getOpeningTag()), + $quote($syntax->getClosingTag()), + $quote($syntax->getClosingTagMarker()), + $quote($syntax->getParameterValueSeparator()), + $quote($syntax->getParameterValueDelimiter()), + '\s+', + )).').)+)', + '(?\s+)', + $group($syntax->getClosingTagMarker(), 'marker'), + $group($syntax->getParameterValueDelimiter(), 'delimiter'), + $group($syntax->getParameterValueSeparator(), 'separator'), + $group($syntax->getOpeningTag(), 'open'), + $group($syntax->getClosingTag(), 'close'), + ); + + return '~('.implode('|', $rules).')~us'; + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/WordpressParser.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/WordpressParser.php new file mode 100644 index 0000000..03a4611 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Parser/WordpressParser.php @@ -0,0 +1,134 @@ + + */ +final class WordpressParser implements ParserInterface +{ + /** @var string */ + private static $shortcodeRegex = '/\\[(\\[?)()(?![\\w-])([^\\]\\/]*(?:\\/(?!\\])[^\\]\\/]*)*?)(?:(\\/)\\]|\\](?:([^\\[]*+(?:\\[(?!\\/\\2\\])[^\\[]*+)*+)\\[\\/\\2\\])?)(\\]?)/s'; + /** @var string */ + private static $argumentsRegex = '/([\w-]+)\s*=\s*"([^"]*)"(?:\s|$)|([\w-]+)\s*=\s*\'([^\']*)\'(?:\s|$)|([\w-]+)\s*=\s*([^\s\'"]+)(?:\s|$)|"([^"]*)"(?:\s|$)|(\S+)(?:\s|$)/'; + + /** @var string[] */ + private $names = array(); + + public function __construct() + { + } + + /** @return self */ + public static function createFromHandlers(HandlerContainer $handlers) + { + return static::createFromNames($handlers->getNames()); + } + + /** + * @param string[] $names + * + * @return self + */ + public static function createFromNames(array $names) + { + foreach($names as $name) { + /** @psalm-suppress DocblockTypeContradiction, RedundantConditionGivenDocblockType */ + if(false === is_string($name)) { + throw new \InvalidArgumentException('Shortcode name must be a string!'); + } + } + + $self = new self(); + $self->names = $names; + + return $self; + } + + /** + * @param string $text + * + * @return ParsedShortcode[] + */ + public function parse($text) + { + $names = $this->names + ? implode('|', array_map(function($name) { return preg_quote($name, '/'); }, $this->names)) + : RegexBuilderUtility::buildNameRegex(); + $regex = str_replace('', $names, static::$shortcodeRegex); + preg_match_all($regex, $text, $matches, PREG_OFFSET_CAPTURE); + + $shortcodes = array(); + $count = count($matches[0]); + for($i = 0; $i < $count; $i++) { + $name = $matches[2][$i][0]; + $parameters = static::parseParameters($matches[3][$i][0]); + $content = $matches[5][$i][1] !== -1 ? $matches[5][$i][0] : null; + $match = $matches[0][$i][0]; + $offset = mb_strlen(substr($text, 0, $matches[0][$i][1]), 'utf-8'); + + $shortcode = new Shortcode($name, $parameters, $content, null); + $shortcodes[] = new ParsedShortcode($shortcode, $match, $offset); + } + + return $shortcodes; + } + + /** + * @param string $text + * + * @psalm-return array + */ + private static function parseParameters($text) + { + $text = preg_replace('/[\x{00a0}\x{200b}]+/u', ' ', $text); + + if(!preg_match_all(static::$argumentsRegex, $text, $matches, PREG_SET_ORDER)) { + return ltrim($text) ? array(ltrim($text) => null) : array(); + } + + $parameters = array(); + foreach($matches as $match) { + if(!empty($match[1])) { + $parameters[strtolower($match[1])] = stripcslashes($match[2]); + } elseif(!empty($match[3])) { + $parameters[strtolower($match[3])] = stripcslashes($match[4]); + } elseif(!empty($match[5])) { + $parameters[strtolower($match[5])] = stripcslashes($match[6]); + } elseif(isset($match[7]) && $match[7] !== '') { + $parameters[stripcslashes($match[7])] = null; + } elseif(isset($match[8])) { + $parameters[stripcslashes($match[8])] = null; + } + } + + foreach($parameters as $key => $value) { + // NOTE: the `?: ''` fallback is the only change from the way WordPress parses shortcodes to satisfy Psalm's PossiblyNullArgument + $value = $value ?: ''; + if(false !== strpos($value, '<') && 1 !== preg_match('/^[^<]*+(?:<[^>]*+>[^<]*+)*+$/', $value)) { + $parameters[$key] = ''; + } + } + + return $parameters; + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/Processor.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/Processor.php new file mode 100644 index 0000000..e3e5745 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/Processor.php @@ -0,0 +1,272 @@ + + */ +final class Processor implements ProcessorInterface +{ + /** @var Handlers */ + private $handlers; + /** @var ParserInterface */ + private $parser; + /** @var EventContainerInterface|null */ + private $eventContainer; + + /** @var int|null */ + private $recursionDepth; // infinite recursion + /** @var int|null */ + private $maxIterations = 1; // one iteration + /** @var bool */ + private $autoProcessContent = true; // automatically process shortcode content + + public function __construct(ParserInterface $parser, Handlers $handlers) + { + $this->parser = $parser; + $this->handlers = $handlers; + } + + /** + * Entry point for shortcode processing. Implements iterative algorithm for + * both limited and unlimited number of iterations. + * + * @param string $text Text to process + * + * @return string + */ + public function process($text) + { + $iterations = $this->maxIterations === null ? 1 : $this->maxIterations; + $context = new ProcessorContext(); + $context->processor = $this; + + while ($iterations--) { + $context->iterationNumber++; + $newText = $this->processIteration($text, $context, null); + if ($newText === $text) { + break; + } + $text = $newText; + $iterations += $this->maxIterations === null ? 1 : 0; + } + + return $text; + } + + /** + * @param string $name + * @param object $event + * + * @return object + */ + private function dispatchEvent($name, $event) + { + if(null === $this->eventContainer) { + return $event; + } + + $handlers = $this->eventContainer->getListeners($name); + foreach($handlers as $handler) { + $handler($event); + } + + return $event; + } + + /** + * @param string $text + * + * @return string + */ + private function processIteration($text, ProcessorContext $context, ProcessedShortcode $parent = null) + { + if (null !== $this->recursionDepth && $context->recursionLevel > $this->recursionDepth) { + return $text; + } + + $context->parent = $parent; + $context->text = $text; + $filterEvent = new FilterShortcodesEvent($this->parser->parse($text), $parent); + $this->dispatchEvent(Events::FILTER_SHORTCODES, $filterEvent); + $shortcodes = $filterEvent->getShortcodes(); + $replaces = array(); + $baseOffset = $parent && $shortcodes + ? (int)mb_strpos($parent->getShortcodeText(), $shortcodes[0]->getText(), 0, 'utf-8') - $shortcodes[0]->getOffset() + $parent->getOffset() + : 0; + foreach ($shortcodes as $shortcode) { + $name = $shortcode->getName(); + $hasNamePosition = array_key_exists($name, $context->namePosition); + + $context->baseOffset = $baseOffset + $shortcode->getOffset(); + $context->position++; + $context->namePosition[$name] = $hasNamePosition ? $context->namePosition[$name] + 1 : 1; + $context->shortcodeText = $shortcode->getText(); + $context->offset = $shortcode->getOffset(); + $context->shortcode = $shortcode; + $context->textContent = (string)$shortcode->getContent(); + + $handler = $this->handlers->get($name); + $replace = $this->processHandler($shortcode, $context, $handler); + + $replaces[] = new ReplacedShortcode($shortcode, $replace); + } + + $applyEvent = new ReplaceShortcodesEvent($text, $replaces, $parent); + $this->dispatchEvent(Events::REPLACE_SHORTCODES, $applyEvent); + + return $applyEvent->hasResult() ? (string)$applyEvent->getResult() : $this->applyReplaces($text, $replaces); + } + + /** + * @param string $text + * @param ReplacedShortcode[] $replaces + * + * @return string + */ + private function applyReplaces($text, array $replaces) + { + foreach(array_reverse($replaces) as $s) { + $offset = $s->getOffset(); + $length = mb_strlen($s->getText(), 'utf-8'); + $textLength = mb_strlen($text, 'utf-8'); + + $text = mb_substr($text, 0, $offset, 'utf-8').$s->getReplacement().mb_substr($text, $offset + $length, $textLength, 'utf-8'); + } + + return $text; + } + + /** + * @psalm-param (callable(ShortcodeInterface):string)|null $handler + * @return string + */ + private function processHandler(ParsedShortcodeInterface $parsed, ProcessorContext $context, $handler) + { + $processed = ProcessedShortcode::createFromContext(clone $context); + $content = $this->processRecursion($processed, $context); + $processed = $processed->withContent($content); + + if($handler) { + return $handler($processed); + } + + $state = $parsed->getText(); + /** @psalm-suppress RedundantCast */ + $length = (int)mb_strlen($processed->getTextContent(), 'utf-8'); + $offset = (int)mb_strrpos($state, $processed->getTextContent(), 0, 'utf-8'); + + return mb_substr($state, 0, $offset, 'utf-8').(string)$processed->getContent().mb_substr($state, $offset + $length, mb_strlen($state, 'utf-8'), 'utf-8'); + } + + /** @return string|null */ + private function processRecursion(ProcessedShortcode $shortcode, ProcessorContext $context) + { + $content = $shortcode->getContent(); + if ($this->autoProcessContent && null !== $content) { + $context->recursionLevel++; + // this is safe from using max iterations value because it's manipulated in process() method + $content = $this->processIteration($content, clone $context, $shortcode); + $context->recursionLevel--; + + return $content; + } + + return $content; + } + + /** + * Container for event handlers used in this processor. + * + * @param EventContainerInterface $eventContainer + * + * @return self + */ + public function withEventContainer(EventContainerInterface $eventContainer) + { + $self = clone $this; + $self->eventContainer = $eventContainer; + + return $self; + } + + /** + * Recursion depth level, null means infinite, any integer greater than or + * equal to zero sets value (number of recursion levels). Zero disables + * recursion. Defaults to null. + * + * @param int|null $depth + * + * @return self + */ + public function withRecursionDepth($depth) + { + /** @psalm-suppress DocblockTypeContradiction */ + if (null !== $depth && !(is_int($depth) && $depth >= 0)) { + $msg = 'Recursion depth must be null (infinite) or integer >= 0!'; + throw new \InvalidArgumentException($msg); + } + + $self = clone $this; + $self->recursionDepth = $depth; + + return $self; + } + + /** + * Maximum number of iterations, null means infinite, any integer greater + * than zero sets value. Zero is invalid because there must be at least one + * iteration. Defaults to 1. Loop breaks if result of two consequent + * iterations shows no change in processed text. + * + * @param int|null $iterations + * + * @return self + */ + public function withMaxIterations($iterations) + { + /** @psalm-suppress DocblockTypeContradiction */ + if (null !== $iterations && !(is_int($iterations) && $iterations > 0)) { + $msg = 'Maximum number of iterations must be null (infinite) or integer > 0!'; + throw new \InvalidArgumentException($msg); + } + + $self = clone $this; + $self->maxIterations = $iterations; + + return $self; + } + + /** + * Whether shortcode content will be automatically processed and handler + * already receives shortcode with processed content. If false, every + * shortcode handler needs to process content on its own. Default true. + * + * @param bool $flag True if enabled (default), false otherwise + * + * @return self + */ + public function withAutoProcessContent($flag) + { + /** @psalm-suppress DocblockTypeContradiction */ + if (!is_bool($flag)) { + $msg = 'Auto processing flag must be a boolean value!'; + throw new \InvalidArgumentException($msg); + } + + $self = clone $this; + $self->autoProcessContent = $flag; + + return $self; + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/ProcessorContext.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/ProcessorContext.php new file mode 100644 index 0000000..f9e8c6c --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/ProcessorContext.php @@ -0,0 +1,58 @@ + + */ +final class ProcessorContext +{ + /** + * @var ShortcodeInterface + * @psalm-suppress PropertyNotSetInConstructor + */ + public $shortcode; + + /** @var ProcessedShortcode|null */ + public $parent = null; + + /** + * @var ProcessorInterface + * @psalm-suppress PropertyNotSetInConstructor + */ + public $processor; + + /** + * @var string + * @psalm-suppress PropertyNotSetInConstructor + */ + public $textContent; + /** @var int */ + public $position = 0; + /** @psalm-var array */ + public $namePosition = array(); + /** @var string */ + public $text = ''; + /** @var string */ + public $shortcodeText = ''; + /** @var int */ + public $iterationNumber = 0; + /** @var int */ + public $recursionLevel = 0; + /** + * @var int + * @psalm-suppress PropertyNotSetInConstructor + */ + public $offset; + /** + * @var int + * @psalm-suppress PropertyNotSetInConstructor + */ + public $baseOffset; + + public function __construct() + { + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/ProcessorInterface.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/ProcessorInterface.php new file mode 100644 index 0000000..51375bf --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Processor/ProcessorInterface.php @@ -0,0 +1,17 @@ + + */ +interface ProcessorInterface +{ + /** + * Process text using registered shortcode handlers + * + * @param string $text Text containing shortcodes + * + * @return string Text with replaced shortcodes + */ + public function process($text); +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/JsonSerializer.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/JsonSerializer.php new file mode 100644 index 0000000..6ee6447 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/JsonSerializer.php @@ -0,0 +1,52 @@ + + */ +final class JsonSerializer implements SerializerInterface +{ + public function serialize(ShortcodeInterface $shortcode) + { + return json_encode(array( + 'name' => $shortcode->getName(), + 'parameters' => $shortcode->getParameters(), + 'content' => $shortcode->getContent(), + 'bbCode' => $shortcode->getBbCode(), + )); + } + + /** + * @param string $text + * + * @return Shortcode + */ + public function unserialize($text) + { + /** @psalm-var array{name:string,parameters:array,bbCode:string|null,content:string|null}|null $data */ + $data = json_decode($text, true); + + if (!is_array($data)) { + throw new \InvalidArgumentException('Invalid JSON, cannot unserialize Shortcode!'); + } + if (!array_diff_key($data, array('name', 'parameters', 'content'))) { + throw new \InvalidArgumentException('Malformed Shortcode JSON, expected name, parameters, and content!'); + } + + /** @var string $name */ + $name = array_key_exists('name', $data) ? $data['name'] : null; + $parameters = array_key_exists('parameters', $data) ? $data['parameters'] : array(); + $content = array_key_exists('content', $data) ? $data['content'] : null; + $bbCode = array_key_exists('bbCode', $data) ? $data['bbCode'] : null; + + /** @psalm-suppress DocblockTypeContradiction */ + if(!is_array($parameters)) { + throw new \InvalidArgumentException('Parameters must be an array!'); + } + + return new Shortcode($name, $parameters, $content, $bbCode); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/SerializerInterface.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/SerializerInterface.php new file mode 100644 index 0000000..7f50f9e --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/SerializerInterface.php @@ -0,0 +1,28 @@ + + */ +interface SerializerInterface +{ + /** + * Serializes Shortcode class instance into given format + * + * @param ShortcodeInterface $shortcode Instance to serialize + * + * @return string + */ + public function serialize(ShortcodeInterface $shortcode); + + /** + * Loads back Shortcode instance from serialized format + * + * @param string $text + * + * @return ShortcodeInterface + */ + public function unserialize($text); +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/TextSerializer.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/TextSerializer.php new file mode 100644 index 0000000..7d93acf --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/TextSerializer.php @@ -0,0 +1,101 @@ + + */ +final class TextSerializer implements SerializerInterface +{ + /** @var SyntaxInterface */ + private $syntax; + + public function __construct(SyntaxInterface $syntax = null) + { + $this->syntax = $syntax ?: new Syntax(); + } + + /** @inheritDoc */ + public function serialize(ShortcodeInterface $shortcode) + { + $open = $this->syntax->getOpeningTag(); + $close = $this->syntax->getClosingTag(); + $marker = $this->syntax->getClosingTagMarker(); + + $parameters = $this->serializeParameters($shortcode->getParameters()); + $bbCode = null !== $shortcode->getBbCode() + ? $this->serializeValue($shortcode->getBbCode()) + : ''; + $return = $open.$shortcode->getName().$bbCode.$parameters; + + return null === $shortcode->getContent() + ? $return.' '.$marker.$close + : $return.$close.(string)$shortcode->getContent().$open.$marker.$shortcode->getName().$close; + } + + /** + * @psalm-param array $parameters + * + * @return string + */ + private function serializeParameters(array $parameters) + { + // unfortunately array_reduce() does not support keys + $return = ''; + foreach ($parameters as $key => $value) { + $return .= ' '.$key.$this->serializeValue($value); + } + + return $return; + } + + /** + * @param string|null $value + * + * @return string + */ + private function serializeValue($value) + { + if (null === $value) { + return ''; + } + + $delimiter = $this->syntax->getParameterValueDelimiter(); + $separator = $this->syntax->getParameterValueSeparator(); + + return $separator.(preg_match('/^\w+$/u', $value) + ? $value + : $delimiter.$value.$delimiter); + } + + public function unserialize($text) + { + $parser = new RegexParser(); + + $shortcodes = $parser->parse($text); + + if (empty($shortcodes)) { + $msg = 'Failed to unserialize shortcode from text %s!'; + throw new \InvalidArgumentException(sprintf($msg, $text)); + } + if (count($shortcodes) > 1) { + $msg = 'Provided text %s contains more than one shortcode!'; + throw new \InvalidArgumentException(sprintf($msg, $text)); + } + + /** @var ShortcodeInterface $parsed */ + $parsed = array_shift($shortcodes); + + $name = $parsed->getName(); + $parameters = $parsed->getParameters(); + $content = $parsed->getContent(); + $bbCode = $parsed->getBbCode(); + + return new Shortcode($name, $parameters, $content, $bbCode); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/XmlSerializer.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/XmlSerializer.php new file mode 100644 index 0000000..a2af59e --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/XmlSerializer.php @@ -0,0 +1,141 @@ + + */ +final class XmlSerializer implements SerializerInterface +{ + /** + * + * BBCODE + * + * VALUE + * VALUE + * + * CONTENT> + * + * + * @param ShortcodeInterface $shortcode + * + * @return string + */ + public function serialize(ShortcodeInterface $shortcode) + { + $doc = new \DOMDocument('1.0', 'UTF-8'); + $doc->preserveWhiteSpace = false; + $doc->formatOutput = true; + + $code = $doc->createElement('shortcode'); + $code->setAttribute('name', $shortcode->getName()); + $xml = $doc->appendChild($code); + $xml->appendChild($this->createCDataNode($doc, 'bbCode', $shortcode->getBbCode())); + + $parameters = $xml->appendChild($doc->createElement('parameters')); + foreach($shortcode->getParameters() as $key => $value) { + $parameter = $doc->createElement('parameter'); + $parameter->setAttribute('name', $key); + if(null !== $value) { + $parameter->appendChild($doc->createCDATASection($value)); + } + + $parameters->appendChild($parameter); + } + + $xml->appendChild($this->createCDataNode($doc, 'content', $shortcode->getContent())); + + return $doc->saveXML(); + } + + /** + * @param \DOMDocument $doc + * @param string $name + * @param string|null $content + * + * @return \DOMElement + */ + private function createCDataNode(\DOMDocument $doc, $name, $content) + { + $node = $doc->createElement($name); + + if(null !== $content) { + $node->appendChild($doc->createCDATASection($content)); + } + + return $node; + } + + /** + * @param string $text + * + * @return Shortcode + */ + public function unserialize($text) + { + $xml = new \DOMDocument(); + $internalErrors = libxml_use_internal_errors(true); + if(!$text || !$xml->loadXML($text)) { + libxml_use_internal_errors($internalErrors); + throw new \InvalidArgumentException('Failed to parse provided XML!'); + } + libxml_use_internal_errors($internalErrors); + + $xpath = new \DOMXPath($xml); + $shortcode = $xpath->query('/shortcode'); + if($shortcode->length !== 1) { + throw new \InvalidArgumentException('Invalid shortcode XML!'); + } + $name = $this->getAttribute($shortcode->item(0), 'name'); + + $bbCode = $this->getValue($xpath->query('/shortcode/bbCode')); + $content = $this->getValue($xpath->query('/shortcode/content')); + + $parameters = array(); + $elements = $xpath->query('/shortcode/parameters/parameter'); + for($i = 0; $i < $elements->length; $i++) { + $node = $elements->item($i); + + $parameters[$this->getAttribute($node, 'name')] = $node->hasChildNodes() ? $node->nodeValue : null; + } + + return new Shortcode($name, $parameters, $content, $bbCode); + } + + /** + * @param \DOMNodeList $node + * + * @return string|null + */ + private function getValue(\DOMNodeList $node) + { + return $node->length === 1 && $node->item(0)->hasChildNodes() + ? $node->item(0)->nodeValue + : null; + } + + /** + * @param \DOMNode $node + * @param string $name + * @psalm-suppress UnusedParam + * + * @return string + */ + private function getAttribute(\DOMNode $node, $name) + { + /** + * @var \DOMNode $attribute + * @psalm-suppress NullReference + */ + $attribute = $node->attributes->getNamedItem($name); + + /** @psalm-suppress DocblockTypeContradiction */ + if(!$attribute || !$attribute->nodeValue) { + throw new \InvalidArgumentException('Invalid shortcode XML!'); + } + + return $attribute->nodeValue; + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/YamlSerializer.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/YamlSerializer.php new file mode 100644 index 0000000..b890af1 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Serializer/YamlSerializer.php @@ -0,0 +1,53 @@ + + */ +final class YamlSerializer implements SerializerInterface +{ + public function serialize(ShortcodeInterface $shortcode) + { + return Yaml::dump(array( + 'name' => $shortcode->getName(), + 'parameters' => $shortcode->getParameters(), + 'content' => $shortcode->getContent(), + 'bbCode' => $shortcode->getBbCode(), + )); + } + + /** + * @param string $text + * + * @return Shortcode + */ + public function unserialize($text) + { + /** @psalm-var array{name:string,parameters:array,bbCode:string|null,content:string|null}|null $data */ + $data = Yaml::parse($text); + + if(!is_array($data)) { + throw new \InvalidArgumentException('Invalid YAML, cannot unserialize Shortcode!'); + } + if (!array_intersect(array_keys($data), array('name', 'parameters', 'content'))) { + throw new \InvalidArgumentException('Malformed shortcode YAML, expected name, parameters, and content!'); + } + + /** @var string $name */ + $name = array_key_exists('name', $data) ? $data['name'] : null; + $parameters = array_key_exists('parameters', $data) ? $data['parameters'] : array(); + $content = array_key_exists('content', $data) ? $data['content'] : null; + $bbCode = array_key_exists('bbCode', $data) ? $data['bbCode'] : null; + + /** @psalm-suppress DocblockTypeContradiction */ + if(!is_array($parameters)) { + throw new \InvalidArgumentException('Parameters must be an array!'); + } + + return new Shortcode($name, $parameters, $content, $bbCode); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/AbstractShortcode.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/AbstractShortcode.php new file mode 100644 index 0000000..a09ed8f --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/AbstractShortcode.php @@ -0,0 +1,86 @@ + + */ +abstract class AbstractShortcode +{ + /** @var string */ + protected $name; + /** @psalm-var array */ + protected $parameters = array(); + /** @var string|null */ + protected $content; + /** @var string|null */ + protected $bbCode; + + /** @return bool */ + public function hasContent() + { + return $this->content !== null; + } + + /** @return string */ + public function getName() + { + return $this->name; + } + + /** @psalm-return array */ + public function getParameters() + { + return $this->parameters; + } + + /** + * @param string $name + * + * @return bool + */ + public function hasParameter($name) + { + return array_key_exists($name, $this->parameters); + } + + /** @return bool */ + public function hasParameters() + { + return (bool)$this->parameters; + } + + /** + * @param string $name + * @param string|null $default + * + * @psalm-return string|null + */ + public function getParameter($name, $default = null) + { + return $this->hasParameter($name) ? $this->parameters[$name] : $default; + } + + /** + * @param int $index + * + * @return string|null + */ + public function getParameterAt($index) + { + $keys = array_keys($this->parameters); + + return array_key_exists($index, $keys) ? $keys[$index] : null; + } + + /** @return string|null */ + public function getContent() + { + return $this->content; + } + + /** @return string|null */ + public function getBbCode() + { + return $this->bbCode; + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ParsedShortcode.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ParsedShortcode.php new file mode 100644 index 0000000..ba1ebe6 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ParsedShortcode.php @@ -0,0 +1,47 @@ + + */ +final class ParsedShortcode extends AbstractShortcode implements ParsedShortcodeInterface +{ + /** @var string */ + private $text; + /** @var int */ + private $offset; + + /** + * @param string $text + * @param int $offset + */ + public function __construct(ShortcodeInterface $shortcode, $text, $offset) + { + $this->name = $shortcode->getName(); + $this->parameters = $shortcode->getParameters(); + $this->content = $shortcode->getContent(); + $this->bbCode = $shortcode->getBbCode(); + $this->text = $text; + $this->offset = $offset; + } + + public function withContent($content) + { + $self = clone $this; + $self->content = $content; + + return $self; + } + + /** @return string */ + public function getText() + { + return $this->text; + } + + /** @return int */ + public function getOffset() + { + return $this->offset; + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ParsedShortcodeInterface.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ParsedShortcodeInterface.php new file mode 100644 index 0000000..c80d5e1 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ParsedShortcodeInterface.php @@ -0,0 +1,22 @@ + + */ +interface ParsedShortcodeInterface extends ShortcodeInterface +{ + /** + * Returns exact shortcode text + * + * @return string + */ + public function getText(); + + /** + * Returns string position in the parent text + * + * @return int + */ + public function getOffset(); +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ProcessedShortcode.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ProcessedShortcode.php new file mode 100644 index 0000000..e6c212d --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ProcessedShortcode.php @@ -0,0 +1,163 @@ + + */ +final class ProcessedShortcode extends AbstractShortcode implements ParsedShortcodeInterface +{ + /** @var ProcessedShortcode|null */ + private $parent; + /** @var int */ + private $position; + /** @var int */ + private $namePosition; + /** @var string */ + private $text; + /** @var string */ + private $textContent; + /** @var int */ + private $offset; + /** @var int */ + private $baseOffset; + /** @var string */ + private $shortcodeText; + /** @var int */ + private $iterationNumber; + /** @var int */ + private $recursionLevel; + /** @var ProcessorInterface */ + private $processor; + + private function __construct(ProcessorContext $context) + { + // basic properties + $this->name = $context->shortcode->getName(); + $this->parameters = $context->shortcode->getParameters(); + $this->content = $context->shortcode->getContent(); + $this->bbCode = $context->shortcode->getBbCode(); + $this->textContent = $context->textContent; + + // runtime context + $this->parent = $context->parent; + $this->position = $context->position; + $this->namePosition = $context->namePosition[$this->name]; + $this->text = $context->text; + $this->shortcodeText = $context->shortcodeText; + + // processor state + $this->iterationNumber = $context->iterationNumber; + $this->recursionLevel = $context->recursionLevel; + $this->processor = $context->processor; + + // text context + $this->offset = $context->offset; + $this->baseOffset = $context->baseOffset; + } + + /** @return self */ + public static function createFromContext(ProcessorContext $context) + { + return new self($context); + } + + /** + * @param string|null $content + * + * @return self + */ + public function withContent($content) + { + $self = clone $this; + $self->content = $content; + + return $self; + } + + /** + * @param string $name + * + * @return bool + */ + public function hasAncestor($name) + { + $self = $this; + + while($self = $self->getParent()) { + if($self->getName() === $name) { + return true; + } + } + + return false; + } + + /** @return ProcessedShortcode|null */ + public function getParent() + { + return $this->parent; + } + + /** @return string */ + public function getTextContent() + { + return $this->textContent; + } + + /** @return int */ + public function getPosition() + { + return $this->position; + } + + /** @return int */ + public function getNamePosition() + { + return $this->namePosition; + } + + /** @return string */ + public function getText() + { + return $this->text; + } + + /** @return string */ + public function getShortcodeText() + { + return $this->shortcodeText; + } + + /** @return int */ + public function getOffset() + { + return $this->offset; + } + + /** @return int */ + public function getBaseOffset() + { + return $this->baseOffset; + } + + /** @return int */ + public function getIterationNumber() + { + return $this->iterationNumber; + } + + /** @return int */ + public function getRecursionLevel() + { + return $this->recursionLevel; + } + + /** @return ProcessorInterface */ + public function getProcessor() + { + return $this->processor; + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ReplacedShortcode.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ReplacedShortcode.php new file mode 100644 index 0000000..6fa89cb --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ReplacedShortcode.php @@ -0,0 +1,46 @@ + + */ +final class ReplacedShortcode extends AbstractShortcode +{ + /** @var string */ + private $replacement; + /** @var string */ + private $text; + /** @var int */ + private $offset; + + /** @param string $replacement */ + public function __construct(ParsedShortcodeInterface $shortcode, $replacement) + { + $this->name = $shortcode->getName(); + $this->parameters = $shortcode->getParameters(); + $this->content = $shortcode->getContent(); + $this->bbCode = $shortcode->getBbCode(); + $this->text = $shortcode->getText(); + $this->offset = $shortcode->getOffset(); + + $this->replacement = $replacement; + } + + /** @return string */ + public function getReplacement() + { + return $this->replacement; + } + + /** @return string */ + public function getText() + { + return $this->text; + } + + /** @return int */ + public function getOffset() + { + return $this->offset; + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/Shortcode.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/Shortcode.php new file mode 100644 index 0000000..abda34c --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/Shortcode.php @@ -0,0 +1,39 @@ + + */ +final class Shortcode extends AbstractShortcode implements ShortcodeInterface +{ + /** + * @param string $name + * @param array $parameters + * @psalm-param array $parameters + * @param string|null $content + * @param string|null $bbCode + */ + public function __construct($name, array $parameters, $content, $bbCode = null) + { + /** @psalm-suppress RedundantConditionGivenDocblockType, DocblockTypeContradiction */ + if(false === is_string($name) || '' === $name) { + throw new \InvalidArgumentException('Shortcode name must be a non-empty string!'); + } + + /** @psalm-suppress MissingClosureParamType, MissingClosureReturnType */ + $isStringOrNull = function($value) { return is_string($value) || null === $value; }; + if(count(array_filter($parameters, $isStringOrNull)) !== count($parameters)) { + throw new \InvalidArgumentException('Parameter values must be either string or empty (null)!'); + } + + $this->name = $name; + $this->parameters = $parameters; + $this->content = $content; + $this->bbCode = $bbCode; + } + + public function withContent($content) + { + return new self($this->name, $this->parameters, $content, $this->bbCode); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ShortcodeInterface.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ShortcodeInterface.php new file mode 100644 index 0000000..377942a --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Shortcode/ShortcodeInterface.php @@ -0,0 +1,60 @@ + + */ +interface ShortcodeInterface +{ + /** + * Returns new instance of given shortcode with changed content + * + * @param string $content + * + * @return self + */ + public function withContent($content); + + /** + * Returns shortcode name + * + * @return string + */ + public function getName(); + + /** + * Returns associative array(name => value) of shortcode parameters + * + * @return array + * @psalm-return array + */ + public function getParameters(); + + /** + * Returns parameter value using its name, will return null for parameter + * without value + * + * @param string $name Parameter name + * @param string|null $default Value returned if there is no parameter with given name + * + * @return string|null + */ + public function getParameter($name, $default = null); + + /** + * Returns shortcode content (data between opening and closing tag). Null + * means that shortcode had no content (was self closing), do not confuse + * that with empty string (hint: use strict comparison operator ===). + * + * @return string|null + */ + public function getContent(); + + /** + * Returns the so-called "BBCode" fragment when shortcode name is treated + * like a parameter, eg.: [name="value" /] + * + * @return string|null + */ + public function getBbCode(); +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/ShortcodeFacade.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/ShortcodeFacade.php new file mode 100644 index 0000000..32cf1ce --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/ShortcodeFacade.php @@ -0,0 +1,215 @@ + + */ +class ShortcodeFacade +{ + /** @var ProcessorInterface */ + private $processor; + /** @var ParserInterface */ + private $parser; + /** @var SyntaxInterface */ + private $syntax; + + /** @var HandlerContainer */ + private $handlers; + /** @var EventContainer */ + private $events; + + /** @var SerializerInterface */ + private $textSerializer; + /** @var SerializerInterface */ + private $jsonSerializer; + /** @var SerializerInterface */ + private $xmlSerializer; + /** @var SerializerInterface */ + private $yamlSerializer; + + public function __construct() + { + $this->syntax = new CommonSyntax(); + $this->handlers = new HandlerContainer(); + $this->events = new EventContainer(); + + $this->parser = new RegularParser($this->syntax); + $this->rebuildProcessor(); + + $this->textSerializer = new TextSerializer(); + $this->jsonSerializer = new JsonSerializer(); + $this->yamlSerializer = new YamlSerializer(); + $this->xmlSerializer = new XmlSerializer(); + } + + /** + * @deprecated use constructor and customize using exposed methods + * @return self + */ + public static function create(HandlerContainerInterface $handlers, SyntaxInterface $syntax) + { + $self = new self(); + + /** @psalm-suppress PropertyTypeCoercion */ + $self->handlers = $handlers; + $self->syntax = $syntax; + $self->rebuildProcessor(); + + return $self; + } + + /** @return void */ + private function rebuildProcessor() + { + $this->processor = new Processor($this->parser, $this->handlers); + $this->processor = $this->processor->withEventContainer($this->events); + } + + /** + * @param string $text + * + * @return string + */ + public function process($text) + { + return $this->processor->process($text); + } + + /** + * @param string $text + * + * @return ParsedShortcodeInterface[] + */ + public function parse($text) + { + return $this->parser->parse($text); + } + + /** @return $this */ + public function setParser(ParserInterface $parser) + { + $this->parser = $parser; + $this->rebuildProcessor(); + + return $this; + } + + /** + * @param string $name + * @psalm-param callable(ShortcodeInterface):string $handler + * + * @return $this + */ + public function addHandler($name, $handler) + { + $this->handlers->add($name, $handler); + + return $this; + } + + /** + * @param string $alias + * @param string $name + * + * @return $this + */ + public function addHandlerAlias($alias, $name) + { + $this->handlers->addAlias($alias, $name); + + return $this; + } + + /** + * @param string $name + * @param callable $handler + * + * @return $this + */ + public function addEventHandler($name, $handler) + { + $this->events->addListener($name, $handler); + + return $this; + } + + /* --- SERIALIZATION --------------------------------------------------- */ + + /** + * @param string $format + * + * @return string + */ + public function serialize(ShortcodeInterface $shortcode, $format) + { + switch($format) { + case 'text': return $this->textSerializer->serialize($shortcode); + case 'json': return $this->jsonSerializer->serialize($shortcode); + case 'yaml': return $this->yamlSerializer->serialize($shortcode); + case 'xml': return $this->xmlSerializer->serialize($shortcode); + default: throw new \InvalidArgumentException(sprintf('Invalid serialization format %s!', $format)); + } + } + + /** + * @param string $text + * @param string $format + * + * @return ShortcodeInterface + */ + public function unserialize($text, $format) + { + switch($format) { + case 'text': return $this->textSerializer->unserialize($text); + case 'json': return $this->jsonSerializer->unserialize($text); + case 'yaml': return $this->yamlSerializer->unserialize($text); + case 'xml': return $this->xmlSerializer->unserialize($text); + default: throw new \InvalidArgumentException(sprintf('Invalid unserialization format %s!', $format)); + } + } + + /** + * @deprecated use serialize($shortcode, $format) + * @return string + */ + public function serializeToText(ShortcodeInterface $s) { return $this->serialize($s, 'text'); } + + /** + * @deprecated use serialize($shortcode, $format) + * @return string + */ + public function serializeToJson(ShortcodeInterface $s) { return $this->serialize($s, 'json'); } + + /** + * @deprecated use serialize($shortcode, $format) + * @param string $text + * + * @return ShortcodeInterface + */ + public function unserializeFromText($text) { return $this->unserialize($text, 'text'); } + + /** + * @deprecated use serialize($shortcode, $format) + * @param string $text + * + * @return ShortcodeInterface + */ + public function unserializeFromJson($text) { return $this->unserialize($text, 'json'); } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/CommonSyntax.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/CommonSyntax.php new file mode 100644 index 0000000..f3bb64b --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/CommonSyntax.php @@ -0,0 +1,38 @@ + + */ +final class CommonSyntax implements SyntaxInterface +{ + /** @return string */ + public function getOpeningTag() + { + return '['; + } + + /** @return string */ + public function getClosingTag() + { + return ']'; + } + + /** @return string */ + public function getClosingTagMarker() + { + return '/'; + } + + /** @return string */ + public function getParameterValueSeparator() + { + return '='; + } + + /** @return string */ + public function getParameterValueDelimiter() + { + return '"'; + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/Syntax.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/Syntax.php new file mode 100644 index 0000000..0b8b6cd --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/Syntax.php @@ -0,0 +1,70 @@ + + */ +final class Syntax implements SyntaxInterface +{ + /** @var string|null */ + private $openingTag; + /** @var string|null */ + private $closingTag; + /** @var string|null */ + private $closingTagMarker; + /** @var string|null */ + private $parameterValueSeparator; + /** @var string|null */ + private $parameterValueDelimiter; + + /** + * @param string|null $openingTag + * @param string|null $closingTag + * @param string|null $closingTagMarker + * @param string|null $parameterValueSeparator + * @param string|null $parameterValueDelimiter + */ + public function __construct( + $openingTag = null, + $closingTag = null, + $closingTagMarker = null, + $parameterValueSeparator = null, + $parameterValueDelimiter = null + ) { + $this->openingTag = $openingTag; + $this->closingTag = $closingTag; + $this->closingTagMarker = $closingTagMarker; + $this->parameterValueSeparator = $parameterValueSeparator; + $this->parameterValueDelimiter = $parameterValueDelimiter; + } + + /** @return string */ + public function getOpeningTag() + { + return $this->openingTag ?: '['; + } + + /** @return string */ + public function getClosingTag() + { + return $this->closingTag ?: ']'; + } + + /** @return string */ + public function getClosingTagMarker() + { + return $this->closingTagMarker ?: '/'; + } + + /** @return string */ + public function getParameterValueSeparator() + { + return $this->parameterValueSeparator ?: '='; + } + + /** @return string */ + public function getParameterValueDelimiter() + { + return $this->parameterValueDelimiter ?: '"'; + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/SyntaxBuilder.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/SyntaxBuilder.php new file mode 100644 index 0000000..15437fb --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/SyntaxBuilder.php @@ -0,0 +1,95 @@ + + */ +final class SyntaxBuilder +{ + /** @var string|null */ + private $openingTag; + /** @var string|null */ + private $closingTag; + /** @var string|null */ + private $closingTagMarker; + /** @var string|null */ + private $parameterValueSeparator; + /** @var string|null */ + private $parameterValueDelimiter; + + public function __construct() + { + } + + /** @return Syntax */ + public function getSyntax() + { + return new Syntax( + $this->openingTag, + $this->closingTag, + $this->closingTagMarker, + $this->parameterValueSeparator, + $this->parameterValueDelimiter + ); + } + + /** + * @param string $tag + * + * @return $this + */ + public function setOpeningTag($tag) + { + $this->openingTag = $tag; + + return $this; + } + + /** + * @param string $tag + * + * @return $this + */ + public function setClosingTag($tag) + { + $this->closingTag = $tag; + + return $this; + } + + /** + * @param string $marker + * + * @return $this + */ + public function setClosingTagMarker($marker) + { + $this->closingTagMarker = $marker; + + return $this; + } + + /** + * @param string $separator + * + * @return $this + */ + public function setParameterValueSeparator($separator) + { + $this->parameterValueSeparator = $separator; + + return $this; + } + + /** + * @param string $delimiter + * + * @return $this + */ + public function setParameterValueDelimiter($delimiter) + { + $this->parameterValueDelimiter = $delimiter; + + return $this; + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/SyntaxInterface.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/SyntaxInterface.php new file mode 100644 index 0000000..3f352c6 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Syntax/SyntaxInterface.php @@ -0,0 +1,23 @@ + + */ +interface SyntaxInterface +{ + /** @return string */ + public function getOpeningTag(); + + /** @return string */ + public function getClosingTag(); + + /** @return string */ + public function getClosingTagMarker(); + + /** @return string */ + public function getParameterValueSeparator(); + + /** @return string */ + public function getParameterValueDelimiter(); +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/src/Utility/RegexBuilderUtility.php b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Utility/RegexBuilderUtility.php new file mode 100644 index 0000000..847ff38 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/src/Utility/RegexBuilderUtility.php @@ -0,0 +1,95 @@ + + */ +final class RegexBuilderUtility +{ + /** @return string */ + public static function buildNameRegex() + { + return '[a-zA-Z0-9-_\\*]+'; + } + + /** @return string */ + public static function buildShortcodeRegex(SyntaxInterface $syntax) + { + return '~('.self::createShortcodeRegexContent($syntax).')~us'; + } + + /** @return string */ + public static function buildSingleShortcodeRegex(SyntaxInterface $syntax) + { + return '~(\A'.self::createShortcodeRegexContent($syntax).'\Z)~us'; + } + + /** @return string */ + public static function buildParametersRegex(SyntaxInterface $syntax) + { + $equals = self::quote($syntax->getParameterValueSeparator()); + $string = self::quote($syntax->getParameterValueDelimiter()); + + $space = '\s*'; + // lookahead test for either space or end of string + $empty = '(?=\s|$)'; + // equals sign and alphanumeric value + $simple = $space.$equals.$space.'[^\s]+'; + // equals sign and value without unescaped string delimiters enclosed in them + $complex = $space.$equals.$space.$string.'([^'.$string.'\\\\]*(?:\\\\.[^'.$string.'\\\\]*)*?)'.$string; + + return '~(?:\s*(\w+(?:'.$complex.'|'.$simple.'|'.$empty.')))~us'; + } + + /** @return string */ + private static function createShortcodeRegexContent(SyntaxInterface $syntax) + { + $open = self::quote($syntax->getOpeningTag()); + $slash = self::quote($syntax->getClosingTagMarker()); + $close = self::quote($syntax->getClosingTag()); + $equals = self::quote($syntax->getParameterValueSeparator()); + $string = self::quote($syntax->getParameterValueDelimiter()); + + $space = '\s*'; + + // parameter and value separator can have any number of spaces around itself + $equalsSpaced = $space.$equals.$space; + // lookahead test for space, closing tag, self-closing tag or end of string + $empty = '(?=\s|'.$close.'|'.$slash.$space.$close.'|$)'; + // equals sign and alphanumeric value + $simple = '((?:(?!=\s*|'.$close.'|'.$slash.$close.')[^\s])+)'; + // equals sign and value without unescaped string delimiters enclosed in them + $complex = $string.'(?:[^'.$string.'\\\\]*(?:\\\\.[^'.$string.'\\\\]*)*)'.$string; + // complete parameters matching regex + $parameters = '(?(?:\s*(?:\w+(?:'.$equalsSpaced.$complex.'|'.$equalsSpaced.$simple.'|'.$empty.')))*)'; + // BBCode is the part after name that makes it behave like a non-empty parameter value + $bbCode = '(?:'.$equals.$space.'(?'.$complex.'|'.$simple.'))?'; + + // alphanumeric characters and dash + $name = '(?'.static::buildNameRegex().')'; + // non-greedy match for any characters + $content = '(?.*?)'; + + // equal beginning for each variant: open tag, name and parameters + $common = $open.$space.$name.$space.$bbCode.$space.$parameters.$space; + // closing tag variants: just closing tag, self closing tag or content + // and closing block with backreference name validation + $justClosed = $close; + $selfClosed = '(?'.$slash.')'.$space.$close; + $withContent = $close.$content.$open.$space.'(?'.$slash.')'.$space.'(\k)'.$space.$close; + + return '(?:'.$common.'(?:'.$withContent.'|'.$justClosed.'|'.$selfClosed.'))'; + } + + /** + * @param string $text + * + * @return string + */ + private static function quote($text) + { + return preg_replace('/(.)/us', '\\\\$0', $text); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/AbstractTestCase.php b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/AbstractTestCase.php new file mode 100644 index 0000000..9ab9a3c --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/AbstractTestCase.php @@ -0,0 +1,17 @@ + + */ +abstract class AbstractTestCase extends TestCase +{ + public function willThrowException($exception) + { + version_compare(phpversion(), '7.0.0') > 0 + ? $this->expectException($exception) + : $this->setExpectedException($exception); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/EventsTest.php b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/EventsTest.php new file mode 100644 index 0000000..a6e0cbc --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/EventsTest.php @@ -0,0 +1,97 @@ + + */ +final class EventsTest extends AbstractTestCase +{ + public function testRaw() + { + $times = 0; + $handlers = new HandlerContainer(); + $handlers->add('raw', function(ShortcodeInterface $s) { return $s->getContent(); }); + $handlers->add('n', function(ShortcodeInterface $s) use(&$times) { ++$times; return $s->getName(); }); + $handlers->add('c', function(ShortcodeInterface $s) use(&$times) { ++$times; return $s->getContent(); }); + + $events = new EventContainer(); + $events->addListener(Events::FILTER_SHORTCODES, new FilterRawEventHandler(array('raw'))); + + $processor = new Processor(new RegularParser(), $handlers); + $processor = $processor->withEventContainer($events); + + $this->assertSame(' [n] [c]cnt[/c] [/n] ', $processor->process('[raw] [n] [c]cnt[/c] [/n] [/raw]')); + $this->assertSame('x un [n] [c]cnt[/c] [/n] y', $processor->process('x [c]u[n][/c][raw] [n] [c]cnt[/c] [/n] [/raw] y')); + $this->assertEquals(2, $times); + } + + public function testStripContentOutsideShortcodes() + { + $handlers = new HandlerContainer(); + $handlers->add('name', function(ShortcodeInterface $s) { return $s->getName(); }); + $handlers->add('content', function(ShortcodeInterface $s) { return $s->getContent(); }); + $handlers->add('root', function(ProcessedShortcode $s) { return 'root['.$s->getContent().']'; }); + + $events = new EventContainer(); + $events->addListener(Events::REPLACE_SHORTCODES, new ReplaceJoinEventHandler(array('root'))); + + $processor = new Processor(new RegularParser(), $handlers); + $processor = $processor->withEventContainer($events); + + $this->assertSame('a root[name name name] b', $processor->process('a [root]x [name] c[content] [name /] [/content] y[name/][/root] b')); + } + + public function testDefaultApplier() + { + $handlers = new HandlerContainer(); + $handlers->add('name', function(ShortcodeInterface $s) { return $s->getName(); }); + $handlers->add('content', function(ShortcodeInterface $s) { return $s->getContent(); }); + $handlers->add('root', function(ProcessedShortcode $s) { return 'root['.$s->getContent().']'; }); + + $events = new EventContainer(); + $events->addListener(Events::REPLACE_SHORTCODES, function(ReplaceShortcodesEvent $event) { + $event->setResult(array_reduce(array_reverse($event->getReplacements()), function($state, ReplacedShortcode $r) { + $offset = $r->getOffset(); + $length = mb_strlen($r->getText()); + + return mb_substr($state, 0, $offset).$r->getReplacement().mb_substr($state, $offset + $length); + }, $event->getText())); + }); + + $processor = new Processor(new RegularParser(), $handlers); + $processor = $processor->withEventContainer($events); + + $this->assertSame('a root[x name c name y] b', $processor->process('a [root]x [name] c[content] [name /] [/content] y[/root] b')); + } + + public function testExceptionOnHandlerForUnknownEvent() + { + $events = new EventContainer(); + $this->willThrowException('InvalidArgumentException'); + $events->addListener('invalid', function() {}); + } + + public function testInvalidFilterRawShortcodesNames() + { + $this->willThrowException('InvalidArgumentException'); + new FilterRawEventHandler(array(new \stdClass())); + } + + public function testInvalidReplaceJoinNames() + { + $this->willThrowException('InvalidArgumentException'); + new ReplaceJoinEventHandler(array(new \stdClass())); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/FacadeTest.php b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/FacadeTest.php new file mode 100644 index 0000000..de2ccc9 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/FacadeTest.php @@ -0,0 +1,98 @@ + + */ +final class FacadeTest extends AbstractTestCase +{ + public function testFacade() + { + $handlers = new HandlerContainer(); + $handlers + ->add('name', function (ShortcodeInterface $s) { return $s->getName(); }) + ->addAlias('n', 'name'); + + $facade = ShortcodeFacade::create($handlers, new CommonSyntax()); + $facade->addHandler('content', function (ShortcodeInterface $s) { return $s->getContent(); }); + $facade->addHandlerAlias('c', 'content'); + $facade->setParser(new RegexParser()); + + $this->assertSame('n', $facade->process('[n]')); + $this->assertSame('c', $facade->process('[c]c[/c]')); + + $shortcodes = $facade->parse('[b]'); + $this->assertInstanceOf('Thunder\\Shortcode\\Shortcode\\ParsedShortcodeInterface', $shortcodes[0]); + } + + public function testFacadeEvents() + { + $facade = new ShortcodeFacade(); + $facade->addHandler('n', function (ShortcodeInterface $s) { return $s->getName(); }); + $facade->addEventHandler(Events::FILTER_SHORTCODES, new FilterRawEventHandler(array('raw'))); + + $this->assertSame('[raw] [n] [/raw]', $facade->process('[raw] [n] [/raw]')); + } + + public function testSerialization() + { + $facade = new ShortcodeFacade(); + + $s = new Shortcode('c', array(), null); + $this->assertSame('[c /]', $facade->serializeToText($s)); + $this->assertSame('c', $facade->unserializeFromText('[c]')->getName()); + $this->assertSame('[c /]', $facade->serialize($s, 'text')); + $this->assertSame('c', $facade->unserialize('[c]', 'text')->getName()); + + $json = '{"name":"c","parameters":[],"content":null,"bbCode":null}'; + $this->assertSame($json, $facade->serializeToJson($s)); + $this->assertSame('c', $facade->unserializeFromJson($json)->getName()); + $this->assertSame($json, $facade->serialize($s, 'json')); + $this->assertSame('c', $facade->unserialize($json, 'json')->getName()); + + $yaml = <<assertSame($yaml, $facade->serialize($s, 'yaml')); + $this->assertSame('c', $facade->unserialize($yaml, 'yaml')->getName()); + + $xml = << + + + + + + +EOF; + $this->assertSame($xml, $facade->serialize($s, 'xml')); + $this->assertSame('c', $facade->unserialize($xml, 'xml')->getName()); + } + + public function testInvalidSerializationFormatException() + { + $this->willThrowException('InvalidArgumentException'); + $facade = new ShortcodeFacade(); + $facade->serialize(new Shortcode('name', array(), null), 'invalid'); + } + + public function testInvalidUnserializationFormatException() + { + $this->willThrowException('InvalidArgumentException'); + $facade = new ShortcodeFacade(); + $facade->unserialize('[c]', 'invalid'); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/Fake/ReverseShortcode.php b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/Fake/ReverseShortcode.php new file mode 100644 index 0000000..e28745d --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/Fake/ReverseShortcode.php @@ -0,0 +1,12 @@ +getContent()); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/HandlerContainerTest.php b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/HandlerContainerTest.php new file mode 100644 index 0000000..07066c1 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/HandlerContainerTest.php @@ -0,0 +1,100 @@ + + */ +final class HandlerContainerTest extends AbstractTestCase +{ + public function testExceptionOnDuplicateHandler() + { + $handlers = new HandlerContainer(); + $handlers->add('name', function () {}); + $this->willThrowException('RuntimeException'); + $handlers->add('name', function () {}); + } + + public function testRemove() + { + $handlers = new HandlerContainer(); + static::assertFalse($handlers->has('code')); + $handlers->add('code', function(ShortcodeInterface $s) {}); + static::assertTrue($handlers->has('code')); + $handlers->remove('code'); + static::assertFalse($handlers->has('code')); + } + + public function testRemoveException() + { + $handlers = new HandlerContainer(); + $this->willThrowException('RuntimeException'); + $handlers->remove('code'); + } + + public function testNames() + { + $handlers = new HandlerContainer(); + static::assertEmpty($handlers->getNames()); + $handlers->add('code', function(ShortcodeInterface $s) {}); + static::assertSame(array('code'), $handlers->getNames()); + $handlers->addAlias('c', 'code'); + static::assertSame(array('code', 'c'), $handlers->getNames()); + } + + public function testHandlerContainer() + { + $x = function () {}; + + $handler = new HandlerContainer(); + $handler->add('x', $x); + $handler->addAlias('y', 'x'); + + static::assertSame($x, $handler->get('x')); + } + + public function testInvalidHandler() + { + $handlers = new HandlerContainer(); + $this->willThrowException('RuntimeException'); + $handlers->add('invalid', new \stdClass()); + } + + public function testDefaultHandler() + { + $handlers = new HandlerContainer(); + static::assertNull($handlers->get('missing')); + + $handlers->setDefault(function () {}); + static::assertNotNull($handlers->get('missing')); + } + + public function testExceptionIfAliasingNonExistentHandler() + { + $handlers = new HandlerContainer(); + $this->willThrowException('RuntimeException'); + $handlers->addAlias('m', 'missing'); + } + + public function testImmutableHandlerContainer() + { + $handlers = new HandlerContainer(); + $handlers->add('code', function () {}); + $handlers->addAlias('c', 'code'); + $imHandlers = new ImmutableHandlerContainer($handlers); + $handlers->add('not', function() {}); + + static::assertNull($imHandlers->get('missing')); + static::assertNotNull($imHandlers->get('code')); + static::assertNotNull($imHandlers->get('c')); + static::assertNull($imHandlers->get('not')); + + $defaultHandlers = new HandlerContainer(); + $defaultHandlers->setDefault(function () {}); + $imDefaultHandlers = new ImmutableHandlerContainer($defaultHandlers); + static::assertNotNull($imDefaultHandlers->get('missing')); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/ParserTest.php b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/ParserTest.php new file mode 100644 index 0000000..a4b5df9 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/ParserTest.php @@ -0,0 +1,321 @@ + + */ +final class ParserTest extends AbstractTestCase +{ + /** + * @param ParserInterface $parser + * @param string $code + * @param ParsedShortcode[] $expected + * + * @dataProvider provideShortcodes + */ + public function testParser(ParserInterface $parser, $code, array $expected) + { + $this->assertShortcodes($parser->parse($code), $expected); + } + + private function assertShortcodes(array $actual, array $expected) + { + $count = count($actual); + static::assertCount($count, $expected, 'counts'); + for ($i = 0; $i < $count; $i++) { + static::assertSame($actual[$i]->getName(), $expected[$i]->getName(), 'name'); + static::assertSame($actual[$i]->getParameters(), $expected[$i]->getParameters(), 'parameters'); + static::assertSame($actual[$i]->getContent(), $expected[$i]->getContent(), 'content'); + static::assertSame($actual[$i]->getText(), $expected[$i]->getText(), 'text'); + static::assertSame($actual[$i]->getOffset(), $expected[$i]->getOffset(), 'offset'); + static::assertSame($actual[$i]->getBbCode(), $expected[$i]->getBbCode(), 'bbCode'); + } + } + + public function provideShortcodes() + { + $s = new CommonSyntax(); + + $tests = array( + // invalid + array($s, '', array()), + array($s, '[]', array()), + array($s, '![](image.jpg)', array()), + array($s, 'x html([a. title][, alt][, classes]) x', array()), + array($s, '[/y]', array()), + array($s, '[sc', array()), + array($s, '[sc / [/sc]', array()), + array($s, '[sc arg="val', array()), + + // single shortcodes + array($s, '[sc]', array( + new ParsedShortcode(new Shortcode('sc', array(), null), '[sc]', 0), + )), + array($s, '[sc arg=val]', array( + new ParsedShortcode(new Shortcode('sc', array('arg' => 'val'), null), '[sc arg=val]', 0), + )), + array($s, '[sc novalue arg="complex value"]', array( + new ParsedShortcode(new Shortcode('sc', array('novalue' => null, 'arg' => 'complex value'), null), '[sc novalue arg="complex value"]', 0), + )), + array($s, '[sc x="ąćęłńóśżź ĄĆĘŁŃÓŚŻŹ"]', array( + new ParsedShortcode(new Shortcode('sc', array('x' => 'ąćęłńóśżź ĄĆĘŁŃÓŚŻŹ'), null), '[sc x="ąćęłńóśżź ĄĆĘŁŃÓŚŻŹ"]', 0), + )), + array($s, '[sc x="multi'."\n".'line"]', array( + new ParsedShortcode(new Shortcode('sc', array('x' => 'multi'."\n".'line'), null), '[sc x="multi'."\n".'line"]', 0), + )), + array($s, '[sc noval x="val" y]content[/sc]', array( + new ParsedShortcode(new Shortcode('sc', array('noval' => null, 'x' => 'val', 'y' => null), 'content'), '[sc noval x="val" y]content[/sc]', 0), + )), + array($s, '[sc x="{..}"]', array( + new ParsedShortcode(new Shortcode('sc', array('x' => '{..}'), null), '[sc x="{..}"]', 0), + )), + array($s, '[sc a="x y" b="x" c=""]', array( + new ParsedShortcode(new Shortcode('sc', array('a' => 'x y', 'b' => 'x', 'c' => ''), null), '[sc a="x y" b="x" c=""]', 0), + )), + array($s, '[sc a="a \"\" b"]', array( + new ParsedShortcode(new Shortcode('sc', array('a' => 'a \"\" b'), null), '[sc a="a \"\" b"]', 0), + )), + array($s, '[sc/]', array( + new ParsedShortcode(new Shortcode('sc', array(), null), '[sc/]', 0), + )), + array($s, '[sc /]', array( + new ParsedShortcode(new Shortcode('sc', array(), null), '[sc /]', 0), + )), + array($s, '[sc arg=val cmp="a b"/]', array( + new ParsedShortcode(new Shortcode('sc', array('arg' => 'val', 'cmp' => 'a b'), null), '[sc arg=val cmp="a b"/]', 0), + )), + array($s, '[sc x y /]', array( + new ParsedShortcode(new Shortcode('sc', array('x' => null, 'y' => null), null), '[sc x y /]', 0), + )), + array($s, '[sc x="\ " /]', array( + new ParsedShortcode(new Shortcode('sc', array('x' => '\ '), null), '[sc x="\ " /]', 0), + )), + array($s, '[ sc x = "\ " y = value z / ]', array( + new ParsedShortcode(new Shortcode('sc', array('x' => '\ ', 'y' => 'value', 'z' => null), null), '[ sc x = "\ " y = value z / ]', 0), + )), + array($s, '[ sc x= "\ " y =value ] vv [ / sc ]', array( + new ParsedShortcode(new Shortcode('sc', array('x' => '\ ', 'y' => 'value'), ' vv '), '[ sc x= "\ " y =value ] vv [ / sc ]', 0), + )), + array($s, '[sc url="http://giggle.com/search" /]', array( + new ParsedShortcode(new Shortcode('sc', array('url' => 'http://giggle.com/search'), null), '[sc url="http://giggle.com/search" /]', 0), + )), + + // bbcode + array($s, '[sc = "http://giggle.com/search" /]', array( + new ParsedShortcode(new Shortcode('sc', array(), null, 'http://giggle.com/search'), '[sc = "http://giggle.com/search" /]', 0), + )), + + // multiple shortcodes + array($s, 'Lorem [ipsum] random [code-code arg=val] which is here', array( + new ParsedShortcode(new Shortcode('ipsum', array(), null), '[ipsum]', 6), + new ParsedShortcode(new Shortcode('code-code', array('arg' => 'val'), null), '[code-code arg=val]', 21), + )), + array($s, 'x [aa] x [aa] x', array( + new ParsedShortcode(new Shortcode('aa', array(), null), '[aa]', 2), + new ParsedShortcode(new Shortcode('aa', array(), null), '[aa]', 9), + )), + array($s, 'x [x]a[/x] x [x]a[/x] x', array( + new ParsedShortcode(new Shortcode('x', array(), 'a'), '[x]a[/x]', 2), + new ParsedShortcode(new Shortcode('x', array(), 'a'), '[x]a[/x]', 13), + )), + array($s, 'x [x x y=z a="b c"]a[/x] x [x x y=z a="b c"]a[/x] x', array( + new ParsedShortcode(new Shortcode('x', array('x' => null, 'y' => 'z', 'a' => 'b c'), 'a'), '[x x y=z a="b c"]a[/x]', 2), + new ParsedShortcode(new Shortcode('x', array('x' => null, 'y' => 'z', 'a' => 'b c'), 'a'), '[x x y=z a="b c"]a[/x]', 27), + )), + array($s, 'x [code /] y [code]z[/code] x [code] y [code/] a', array( + new ParsedShortcode(new Shortcode('code', array(), null), '[code /]', 2), + new ParsedShortcode(new Shortcode('code', array(), 'z'), '[code]z[/code]', 13), + new ParsedShortcode(new Shortcode('code', array(), null), '[code]', 30), + new ParsedShortcode(new Shortcode('code', array(), null), '[code/]', 39), + )), + array($s, 'x [code arg=val /] y [code cmp="xx"/] x [code x=y/] a', array( + new ParsedShortcode(new Shortcode('code', array('arg' => 'val'), null), '[code arg=val /]', 2), + new ParsedShortcode(new Shortcode('code', array('cmp' => 'xx'), null), '[code cmp="xx"/]', 21), + new ParsedShortcode(new Shortcode('code', array('x' => 'y'), null), '[code x=y/]', 40), + )), + array($s, 'x [ code arg=val /]a[ code/]c[x / ] m [ y ] c [ / y]', array( + new ParsedShortcode(new Shortcode('code', array('arg' => 'val'), null), '[ code arg=val /]', 2), + new ParsedShortcode(new Shortcode('code', array(), null), '[ code/]', 23), + new ParsedShortcode(new Shortcode('x', array(), null), '[x / ]', 32), + new ParsedShortcode(new Shortcode('y', array(), ' c '), '[ y ] c [ / y]', 47), + )), + + // other syntax + array(new Syntax('[[', ']]', '//', '==', '""'), '[[code arg==""val oth""]]cont[[//code]]', array( + new ParsedShortcode(new Shortcode('code', array('arg' => 'val oth'), 'cont'), '[[code arg==""val oth""]]cont[[//code]]', 0), + )), + array(new Syntax('^', '$', '&', '!!!', '@@'), '^code a!!!@@\"\"@@ b!!!@@x\"y@@ c$cnt^&code$', array( + new ParsedShortcode(new Shortcode('code', array('a' => '\"\"', 'b' => 'x\"y', 'c' => null), 'cnt'), '^code a!!!@@\"\"@@ b!!!@@x\"y@@ c$cnt^&code$', 0), + )), + + // UTF-8 sequences + array($s, '’’’’[sc]’’[sc]', array( + new ParsedShortcode(new Shortcode('sc', array(), null), '[sc]', 4), + new ParsedShortcode(new Shortcode('sc', array(), null), '[sc]', 10), + )), + + // performance +// array($s, 'x [[aa]] y', array()), + array($s, str_repeat('[a]', 20), array_map(function($offset) { // 20 + return new ParsedShortcode(new Shortcode('a', array(), null), '[a]', $offset); + }, range(0, 57, 3))), + array($s, '[b][a]x[a][/a][/a][/b] [b][a][a][/a]y[/a][/b]', array( + new ParsedShortcode(new Shortcode('b', array(), '[a]x[a][/a][/a]'), '[b][a]x[a][/a][/a][/b]', 0), + new ParsedShortcode(new Shortcode('b', array(), '[a][a][/a]y[/a]'), '[b][a][a][/a]y[/a][/b]', 23), + )), + array($s, '[b] [a][a][a] [/b] [b] [a][a][a] [/b]', array( + new ParsedShortcode(new Shortcode('b', array(), ' [a][a][a] '), '[b] [a][a][a] [/b]', 0), + new ParsedShortcode(new Shortcode('b', array(), ' [a][a][a] '), '[b] [a][a][a] [/b]', 19), + )), + array($s, '[name]random[/other]', array( + new ParsedShortcode(new Shortcode('name', array(), null), '[name]', 0), + )), + array($s, '[0][1][2][3]', array( + new ParsedShortcode(new Shortcode('0', array(), null), '[0]', 0), + new ParsedShortcode(new Shortcode('1', array(), null), '[1]', 3), + new ParsedShortcode(new Shortcode('2', array(), null), '[2]', 6), + new ParsedShortcode(new Shortcode('3', array(), null), '[3]', 9), + )), + array($s, '[_][na_me][_name][name_][n_am_e][_n_]', array( + new ParsedShortcode(new Shortcode('_', array(), null), '[_]', 0), + new ParsedShortcode(new Shortcode('na_me', array(), null), '[na_me]', 3), + new ParsedShortcode(new Shortcode('_name', array(), null), '[_name]', 10), + new ParsedShortcode(new Shortcode('name_', array(), null), '[name_]', 17), + new ParsedShortcode(new Shortcode('n_am_e', array(), null), '[n_am_e]', 24), + new ParsedShortcode(new Shortcode('_n_', array(), null), '[_n_]', 32), + )), + array($s, '[x]/[/x] [x]"[/x] [x]=[/x] [x]][/x] [x] [/x] [x]x[/x]', array( + new ParsedShortcode(new Shortcode('x', array(), '/'), '[x]/[/x]', 0), + new ParsedShortcode(new Shortcode('x', array(), '"'), '[x]"[/x]', 9), + new ParsedShortcode(new Shortcode('x', array(), '='), '[x]=[/x]', 18), + new ParsedShortcode(new Shortcode('x', array(), ']'), '[x]][/x]', 27), + new ParsedShortcode(new Shortcode('x', array(), ' '), '[x] [/x]', 36), + new ParsedShortcode(new Shortcode('x', array(), 'x'), '[x]x[/x]', 45), + )), + array($s, '[a]0[/a]', array( + new ParsedShortcode(new Shortcode('a', array(), '0'), '[a]0[/a]', 0), + )), + array($s, '[fa icon=fa-camera /] [fa icon=fa-camera extras=fa-4x /]', array( + new ParsedShortcode(new Shortcode('fa', array('icon' => 'fa-camera'), null), '[fa icon=fa-camera /]', 0), + new ParsedShortcode(new Shortcode('fa', array('icon' => 'fa-camera', 'extras' => 'fa-4x'), null), '[fa icon=fa-camera extras=fa-4x /]', 22), + )), + array($s, '[fa icon=fa-circle-o-notch extras=fa-spin,fa-3x /]', array( + new ParsedShortcode(new Shortcode('fa', array('icon' => 'fa-circle-o-notch', 'extras' => 'fa-spin,fa-3x'), null), '[fa icon=fa-circle-o-notch extras=fa-spin,fa-3x /]', 0), + )), + array($s, '[z =]', array()), + array($s, '[x=#F00 one=#F00 two="#F00"]', array( + new ParsedShortcode(new Shortcode('x', array('one' => '#F00', 'two' => '#F00'), null, '#F00'), '[x=#F00 one=#F00 two="#F00"]', 0), + )), + array($s, '[*] [* xyz arg=val]', array( + new ParsedShortcode(new Shortcode('*', array(), null, null), '[*]', 0), + new ParsedShortcode(new Shortcode('*', array('xyz' => null, 'arg' => 'val'), null, null), '[* xyz arg=val]', 4), + )), + array($s, '[*=bb x=y]cnt[/*]', array( + new ParsedShortcode(new Shortcode('*', array('x' => 'y'), 'cnt', 'bb'), '[*=bb x=y]cnt[/*]', 0), + )), + array($s, '[ [] ] [x] [ ] [/x] ] [] [ [y] ] [] [ [z] [/#] [/z] [ [] ] [/] [/y] ] [z] [ [/ [/] /] ] [/z]', array( + new ParsedShortcode(new Shortcode('x', array(), ' [ ] ', null), '[x] [ ] [/x]', 7), + new ParsedShortcode(new Shortcode('y', array(), ' ] [] [ [z] [/#] [/z] [ [] ] [/] ', null), '[y] ] [] [ [z] [/#] [/z] [ [] ] [/] [/y]', 27), + new ParsedShortcode(new Shortcode('z', array(), ' [ [/ [/] /] ] ', null), '[z] [ [/ [/] /] ] [/z]', 70), + )), + // falsy string values + array($s, '[a=0 b=0]0[/a]', array( + new ParsedShortcode(new Shortcode('a', array('b' => '0'), '0', '0'), '[a=0 b=0]0[/a]', 0), + )), + ); + + /** + * WordPress can't handle: + * - incorrect shortcode opening tag (blindly matches everything + * between opening token and closing token) + * - spaces between shortcode open tag and its name ([ name]), + * - spaces around BBCode part ([name = "bbcode"]), + * - escaped tokens anywhere in the arguments ([x arg=" \" "]), + * - configurable syntax (that's intended), + * - numbers in shortcode name. + * + * Tests cases from array above with identifiers in the array below must be skipped. + */ + $wordpressSkip = array(3, 6, 16, 21, 22, 23, 25, 32, 33, 34, 46, 47, 49, 51); + $result = array(); + foreach($tests as $key => $test) { + $syntax = array_shift($test); + + $result[] = array_merge(array(new RegexParser($syntax)), $test); + $result[] = array_merge(array(new RegularParser($syntax)), $test); + if(!in_array($key, $wordpressSkip, true)) { + $result[] = array_merge(array(new WordpressParser()), $test); + } + } + + return $result; + } + + public function testIssue77() + { + $parser = new RegularParser(); + + $this->assertShortcodes($parser->parse('[a][x][/x][x k="v][/x][y]x[/y]'), array( + new ParsedShortcode(new Shortcode('a', array(), null, null), '[a]', 0), + new ParsedShortcode(new Shortcode('x', array(), '', null), '[x][/x]', 3), + new ParsedShortcode(new Shortcode('y', array(), 'x', null), '[y]x[/y]', 22), + )); + + $this->assertShortcodes($parser->parse('[a k="v][x][/x]'), array( + new ParsedShortcode(new Shortcode('x', array(), '', null), '[x][/x]', 8), + )); + } + + public function testWordPress() + { + $parser = new WordpressParser(); + + $this->testParser($parser, '[code arg=" '', 'oth' => 'val'), null), '[code arg="testParser($parser, '[code "xxx"]', array( + new ParsedShortcode(new Shortcode('code', array('xxx' => null), null, null), '[code "xxx"]', 0) + )); + $this->testParser($parser, '[code="xxx"] [code=yyy-aaa]', array( + new ParsedShortcode(new Shortcode('code', array('="xxx"' => null), null), '[code="xxx"]', 0), + new ParsedShortcode(new Shortcode('code', array('=yyy-aaa' => null), null), '[code=yyy-aaa]', 13) + )); + + $handlers = new HandlerContainer(); + $handlers->add('_', function() {}); + $handlers->add('na_me', function() {}); + $handlers->add('_n_', function() {}); + $this->testParser(WordpressParser::createFromHandlers($handlers), '[_][na_me][_name][name_][n_am_e][_n_]', array( + new ParsedShortcode(new Shortcode('_', array(), null), '[_]', 0), + new ParsedShortcode(new Shortcode('na_me', array(), null), '[na_me]', 3), + new ParsedShortcode(new Shortcode('_n_', array(), null), '[_n_]', 32), + )); + $this->testParser(WordpressParser::createFromNames(array('_', 'na_me', '_n_')), '[_][na_me][_name][name_][n_am_e][_n_]', array( + new ParsedShortcode(new Shortcode('_', array(), null), '[_]', 0), + new ParsedShortcode(new Shortcode('na_me', array(), null), '[na_me]', 3), + new ParsedShortcode(new Shortcode('_n_', array(), null), '[_n_]', 32), + )); + } + + public function testWordpressInvalidNamesException() + { + $this->willThrowException('InvalidArgumentException'); + WordpressParser::createFromNames(array('string', new \stdClass())); + } + + public function testInstances() + { + static::assertInstanceOf('Thunder\Shortcode\Parser\WordPressParser', new WordpressParser()); + static::assertInstanceOf('Thunder\Shortcode\Parser\RegularParser', new RegularParser()); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/ProcessorTest.php b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/ProcessorTest.php new file mode 100644 index 0000000..ca116d1 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/ProcessorTest.php @@ -0,0 +1,367 @@ + + */ +final class ProcessorTest extends AbstractTestCase +{ + private function getHandlers() + { + $handlers = new HandlerContainer(); + $handlers + ->add('name', function (ShortcodeInterface $s) { return $s->getName(); }) + ->add('content', function (ShortcodeInterface $s) { return $s->getContent(); }) + ->add('reverse', new ReverseShortcode()) + ->add('url', function(ShortcodeInterface $s) { + $url = $s->getParameter('url', $s->getBbCode()); + + return ''.$url.''; + }) + ->addAlias('c', 'content') + ->addAlias('n', 'name'); + + return $handlers; + } + + public function testReplaceWithoutContentOffset() + { + $text = ' [x value=" [name]yyy[/name] "] [name]yyy[/name] [/x] '; + $result = ' [x value=" [name]yyy[/name] "] name [/x] '; + + $processor = new Processor(new RegexParser(), $this->getHandlers()); + + static::assertSame($result, $processor->process($text)); + } + + /** + * @param string $text + * @param string $result + * + * @dataProvider provideTexts + */ + public function testProcessorProcess($text, $result) + { + $processor = new Processor(new RegexParser(), $this->getHandlers()); + + static::assertSame($result, $processor->process($text)); + } + + public function provideTexts() + { + return array( + array('[name]', 'name'), + array('[content]random[/content]', 'random'), + array('[content]象形字[/content]', '象形字'), + array('xxx [content]象形字[/content] yyy', 'xxx 象形字 yyy'), + array('xxx [content]ąćęłńóśżź ąćęłńóśżź[/content] yyy', 'xxx ąćęłńóśżź ąćęłńóśżź yyy'), + array('[name]random[/other]', 'namerandom[/other]'), + array('[name][other]random[/other]', 'name[other]random[/other]'), + array('[content]random-[name]-random[/content]', 'random-name-random'), + array('random [content]other[/content] various', 'random other various'), + array('x [content]a-[name]-b[/content] y', 'x a-name-b y'), + array('x [c]a-[n][/n]-b[/c] y', 'x a-n-b y'), + array('x [content]a-[c]v[/c]-b[/content] y', 'x a-v-b y'), + array('x [html]bold[/html] z', 'x [html]bold[/html] z'), + array('x [reverse]abc xyz[/reverse] z', 'x zyx cba z'), + array('x [i /][i]i[/i][i /][i]i[/i][i /] z', 'x [i /][i]i[/i][i /][i]i[/i][i /] z'), + array('x [url url="http://giggle.com/search" /] z', 'x http://giggle.com/search z'), + array('x [url="http://giggle.com/search"] z', 'x http://giggle.com/search z'), + ); + } + + public function testProcessorParentContext() + { + $handlers = new HandlerContainer(); + $handlers->add('outer', function (ProcessedShortcode $s) { + $name = $s->getParent() ? $s->getParent()->getName() : 'root'; + + return $name.'['.$s->getContent().']'; + }); + $handlers->addAlias('inner', 'outer'); + $handlers->addAlias('level', 'outer'); + + $processor = new Processor(new RegexParser(), $handlers); + + $text = 'x [outer]a [inner]c [level]x[/level] d[/inner] b[/outer] y'; + $result = 'x root[a outer[c inner[x] d] b] y'; + static::assertSame($result, $processor->process($text)); + static::assertSame($result.$result, $processor->process($text.$text)); + } + + public function testReplacesLongerThanInputText() + { + $handlers = new HandlerContainer(); + $handlers->add('x', function() { return ''; }); + $processor = new Processor(new RegularParser(), $handlers); + + static::assertSame('', $processor->process('[x][x][x]')); + } + + public function testProcessorWithoutRecursion() + { + $processor = new Processor(new RegexParser(), $this->getHandlers()); + $text = 'x [content]a-[name][/name]-b[/content] y'; + + static::assertSame('x a-[name][/name]-b y', $processor->withRecursionDepth(0)->process($text)); + } + + public function testProcessContentIfHasChildHandlerButNotParent() + { + $handlers = new HandlerContainer(); + $handlers->add('valid', function (ShortcodeInterface $s) { return $s->getName(); }); + + $text = 'x [invalid ] [valid /] [/invalid] y'; + $processor = new Processor(new RegexParser(), $handlers); + + static::assertSame('x [invalid ] valid [/invalid] y', $processor->withAutoProcessContent(true)->process($text)); + static::assertSame('x [invalid ] [valid /] [/invalid] y', $processor->withAutoProcessContent(false)->process($text)); + } + + public function testProcessorWithoutContentAutoProcessing() + { + $processor = new Processor(new RegexParser(), $this->getHandlers()); + $text = 'x [content]a-[name][/name]-b[/content] y'; + + static::assertSame('x a-[name][/name]-b y', $processor->withAutoProcessContent(false)->process($text)); + } + + public function testProcessorShortcodePositions() + { + $handlers = new HandlerContainer(); + $handlers->add('p', function (ProcessedShortcode $s) { return $s->getPosition(); }); + $handlers->add('n', function (ProcessedShortcode $s) { return $s->getNamePosition(); }); + $processor = new Processor(new RegexParser(), $handlers); + + static::assertSame('123', $processor->process('[n][n][n]'), '3n'); + static::assertSame('123', $processor->process('[p][p][p]'), '3p'); + static::assertSame('113253', $processor->process('[p][n][p][n][p][n]'), 'pnpnpn'); + static::assertSame('1231567', $processor->process('[p][p][p][n][p][p][p]'), 'pppnppp'); + } + + /** + * @dataProvider provideBuiltInTests + */ + public function testBuiltInHandlers($text, $result) + { + $handlers = new HandlerContainer(); + $handlers + ->add('content', new ContentHandler()) + ->add('name', new NameHandler()) + ->add('null', new NullHandler()) + ->add('json', new SerializerHandler(new JsonSerializer())) + ->add('text', new SerializerHandler(new TextSerializer())) + ->add('placeholder', new PlaceholderHandler()) + ->add('b', new WrapHandler('', '')) + ->add('bb', WrapHandler::createBold()) + ->add('declare', new DeclareHandler($handlers)) + ->add('url', new UrlHandler()) + ->add('email', new EmailHandler()) + ->add('raw', new RawHandler()); + $processor = new Processor(new RegexParser(), $handlers); + + static::assertSame($result, $processor->process($text)); + } + + public function provideBuiltInTests() + { + return array( + array('[declare date]%year%.%month%.%day%[/declare][date year=2015 month=08 day=26]', '2015.08.26'), + array('[declare sample]%param%[/declare][invalid param=value]', '[invalid param=value]'), + array('[declare]%param%[/declare][invalid param=value]', '[invalid param=value]'), + array('[url]http://kowalczyk.cc[/url]', 'http://kowalczyk.cc'), + array('[url="http://kowalczyk.cc"]Visit![/url]', 'Visit!'), + array('[email]tomasz@kowalczyk.cc[/email]', 'tomasz@kowalczyk.cc'), + array('[email="tomasz@kowalczyk.cc"]Send![/email]', 'Send!'), + array('[email="tomasz@kowalczyk.cc" /]', 'tomasz@kowalczyk.cc'), + array('[b]text[/b]', 'text'), + array('[bb]text[/bb]', 'text'), + array('[json arg=val]value[/json]', '{"name":"json","parameters":{"arg":"val"},"content":"value","bbCode":null}'), + array('[text arg=val]value[/text]', '[text arg=val]value[/text]'), + array('[null arg=val]value[/null]', ''), + array('[name /]', 'name'), + array('[content]cnt[/content]', 'cnt'), + array('[placeholder param=val]%param%[/placeholder]', 'val'), + array('[placeholder param=val]%param%[/placeholder]', 'val'), + array('[raw][null][content]cnt[/content][name /][/raw]', '[null][content]cnt[/content][name /]'), + array('[listing-link id="12345"]Holá[/listing-link]', '[listing-link id="12345"]Holá[/listing-link]'), + ); + } + + public function testProcessorDeclare() + { + $handlers = new HandlerContainer(); + $handlers->add('declare', function (ProcessedShortcode $s) use ($handlers) { + $handlers->add($s->getParameterAt(0), function (ShortcodeInterface $x) use ($s) { + $keys = array_map(function ($item) { + return '%'.$item.'%'; + }, array_keys($x->getParameters())); + $values = array_values($x->getParameters()); + + return str_replace($keys, $values, $s->getContent()); + }); + }); + $processor = new Processor(new RegexParser(), $handlers); + + static::assertSame('You are 18 years old.', trim($processor->process(' + [declare age]You are %age% years old.[/declare] + [age age=18] + '))); + } + + public function testBaseOffset() + { + $handlers = new HandlerContainer(); + $handlers->setDefault(function(ProcessedShortcode $s) { + return '['.$s->getBaseOffset().']'.$s->getContent(); + }); + $processor = new Processor(new RegularParser(new CommonSyntax()), $handlers); + + static::assertSame('[0][3] ’[8][11]’ [20]', $processor->process('[a][b] ’[c][d]’ [/b][e]')); + } + + public function testProcessorIterative() + { + $handlers = new HandlerContainer(); + $handlers + ->add('name', function (ShortcodeInterface $s) { return $s->getName(); }) + ->add('content', function (ShortcodeInterface $s) { return $s->getContent(); }) + ->addAlias('c', 'content') + ->addAlias('n', 'name') + ->addAlias('d', 'c') + ->addAlias('e', 'c'); + $processor = new Processor(new RegexParser(), $handlers); + + /** @var $processor Processor */ + $processor = $processor->withRecursionDepth(0)->withMaxIterations(2); + static::assertSame('x a y', $processor->process('x [c]a[/c] y')); + static::assertSame('x abc y', $processor->process('x [c]a[d]b[/d]c[/c] y')); + static::assertSame('x ab[e]c[/e]de y', $processor->process('x [c]a[d]b[e]c[/e]d[/d]e[/c] y')); + + $processor = $processor->withMaxIterations(null); + static::assertSame('x abcde y', $processor->process('x [c]a[d]b[e]c[/e]d[/d]e[/c] y')); + } + + public function testExceptionOnInvalidRecursionDepth() + { + $processor = new Processor(new RegularParser(), new HandlerContainer()); + $this->willThrowException('InvalidArgumentException'); + $processor->withRecursionDepth(new \stdClass()); + } + + public function testExceptionOnInvalidMaxIterations() + { + $processor = new Processor(new RegularParser(), new HandlerContainer()); + $this->willThrowException('InvalidArgumentException'); + $processor->withMaxIterations(new \stdClass()); + } + + public function testExceptionOnInvalidAutoProcessFlag() + { + $processor = new Processor(new RegularParser(), new HandlerContainer()); + $this->willThrowException('InvalidArgumentException'); + $processor->withAutoProcessContent(new \stdClass()); + } + + public function testDefaultHandler() + { + $handlers = new HandlerContainer(); + $handlers->setDefault(function (ShortcodeInterface $s) { return $s->getName(); }); + $processor = new Processor(new RegexParser(), $handlers); + + static::assertSame('namerandom', $processor->process('[name][other][/name][random]')); + } + + public function testStripOuter() + { + $handlers = new HandlerContainer(); + $handlers->add('q', function(ShortcodeInterface $s) { + return $s->getContent(); + }); + $handlers->add('p', function(ProcessedShortcode $s) use(&$handlers) { + $parser = new RegexParser(); + $processor = new Processor($parser, $handlers); + $shortcodes = $parser->parse($s->getTextContent()); + + return array_reduce($shortcodes, function($result, ParsedShortcodeInterface $s) use($processor) { + return $result.$processor->process($s->getText()); + }, ''); + }); + $processor = new Processor(new RegexParser(), $handlers); + + static::assertSame('x ab y', $processor->process('x [p] [q]a[/q] [q]b[/q] [/p] y')); + static::assertSame('x ab c y', $processor->process('x [p] [q]a[/q] [q]b [q]c[/q][/q] [/p] y')); + } + + public function testOriginalContent() + { + $handlers = new HandlerContainer(); + $handlers->add('p', function(ProcessedShortcode $s) { return $s->getTextContent(); }); + $handlers->addAlias('q', 'p'); + $processor = new Processor(new RegexParser(), $handlers); + + static::assertSame('x [q]a[/q] [q]b[/q] y', $processor->process('x [p] [q]a[/q] [q]b[/q] [/p] y')); + } + + public function testMultipleParent() + { + $parents = 0; + $handlers = new HandlerContainer(); + $handlers->add('p', function(ProcessedShortcode $s) use(&$parents) { $parents += $s->getParent() ? 1 : 0; }); + $handlers->addAlias('q', 'p'); + $processor = new Processor(new RegexParser(), $handlers); + $processor->process('x [p] [q]a[/q] [q]b[/q] [q]c[/q] [/p] y'); + + static::assertSame(3, $parents); + } + + public function testPreventInfiniteLoop() + { + $handlers = new HandlerContainer(); + $handlers + ->add('self', function () { return '[self]'; }) + ->add('other', function () { return '[self]'; }) + ->add('random', function () { return '[other]'; }); + $processor = new Processor(new RegexParser(), $handlers); + $processor->withMaxIterations(null); + + static::assertSame('[self]', $processor->process('[self]')); + static::assertSame('[self]', $processor->process('[other]')); + static::assertSame('[other]', $processor->process('[random]')); + } + + public function testValidProcessAfterHandlerRemoval() + { + $handlers = new HandlerContainer(); + $handlers->add('name', function(ShortcodeInterface $s) { return $s->getName(); }); + $handlers->addAlias('n', 'name'); + $processor = new Processor(new RegexParser(), $handlers); + static::assertSame('n', $processor->process('[n]')); + static::assertSame('name', $processor->process('[name]')); + $handlers->remove('name'); + static::assertSame('n', $processor->process('[n]')); + static::assertSame('[name]', $processor->process('[name]')); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/SerializerTest.php b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/SerializerTest.php new file mode 100644 index 0000000..a25006e --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/SerializerTest.php @@ -0,0 +1,124 @@ + + */ +final class SerializerTest extends AbstractTestCase +{ + /** + * @dataProvider provideShortcodes + */ + public function testSerializer(SerializerInterface $serializer, ShortcodeInterface $test) + { + $result = $serializer->serialize($test); + $tested = $serializer->unserialize($result); + + static::assertSame($test->getName(), $tested->getName(), 'name: '.$result); + static::assertSame($test->getParameters(), $tested->getParameters(), 'parameters: '.$result); + static::assertSame($test->getContent(), $tested->getContent(), 'content: '.$result); + static::assertSame($test->getBbCode(), $tested->getBbCode(), 'bbCode: '.$result); + } + + public function provideShortcodes() + { + $shortcodes = array( + new Shortcode('x', array(), null), + new Shortcode('x', array('arg' => 'val'), null), + new Shortcode('x', array('arg' => null), null), + new Shortcode('x', array('arg' => ''), null), + new Shortcode('x', array('arg' => 'val'), 'cnt'), + new ParsedShortcode(new Shortcode('self-closed', array(), null), '[self-closed /]', 0), + new Shortcode('self-closed', array(), null, 'bb code'."\n".' value'), + ); + + $serializers = array( + new TextSerializer(), + new JsonSerializer(), + new XmlSerializer(), + new YamlSerializer(), + ); + + $tests = array(); + foreach($shortcodes as $shortcode) { + foreach($serializers as $serializer) { + $tests[] = array($serializer, $shortcode); + } + } + + return $tests; + } + + /** + * @dataProvider provideUnserialized + */ + public function testUnserialize(SerializerInterface $serializer, ShortcodeInterface $test, $text) + { + $tested = $serializer->unserialize($text); + + static::assertSame($test->getName(), $tested->getName(), 'name: '.$text); + static::assertSame($test->getParameters(), $tested->getParameters(), 'parameters: '.$text); + static::assertSame($test->getContent(), $tested->getContent(), 'content: '.$text); + static::assertSame($test->getBbCode(), $tested->getBbCode(), 'bbCode: '.$text); + } + + public function provideUnserialized() + { + return array( + array(new JsonSerializer(), new Shortcode('x', array(), null), '{"name":"x"}'), + array(new JsonSerializer(), new Shortcode('x', array('arg' => 'val'), null), '{"name":"x","parameters":{"arg":"val"}}'), + array(new JsonSerializer(), new Shortcode('x', array(), 'cnt'), '{"name":"x","content":"cnt"}'), + array(new YamlSerializer(), new Shortcode('x', array(), null), 'name: x'), + array(new YamlSerializer(), new Shortcode('x', array('arg' => 'val'), null), 'name: x'."\n".'parameters:'."\n".' arg: val'), + array(new YamlSerializer(), new Shortcode('x', array(), 'cnt'), 'name: x'."\n".'content: cnt'), + array(new XmlSerializer(), new Shortcode('x', array(), null), ''), + array(new XmlSerializer(), new Shortcode('x', array('arg' => 'val'), null), 'val'), + array(new XmlSerializer(), new Shortcode('x', array(), 'cnt'), 'cnt'), + ); + } + + /** + * @dataProvider provideExceptions + */ + public function testSerializerExceptions(SerializerInterface $serializer, $value, $exceptionClass) + { + $this->willThrowException($exceptionClass); + $serializer->unserialize($value); + } + + public function provideExceptions() + { + $xml = new XmlSerializer(); + $yaml = new YamlSerializer(); + $text = new TextSerializer(); + $json = new JsonSerializer(); + + return array( + array($text, '[sc /] c [xx]', 'InvalidArgumentException'), + array($text, '[/sc]', 'InvalidArgumentException'), + array($json, '{}', 'InvalidArgumentException'), + array($json, '', 'InvalidArgumentException'), + array($json, '{"name":"x","parameters":null}', 'InvalidArgumentException'), + array($json, '{"name":"x","parameters":{"key":[]}}', 'InvalidArgumentException'), + array($yaml, 'shortcode: ', 'InvalidArgumentException'), + array($yaml, '', 'InvalidArgumentException'), + array($yaml, 'name: x'."\n".'parameters: string', 'InvalidArgumentException'), + array($xml, '', 'InvalidArgumentException'), + array($xml, 'sss', 'InvalidArgumentException'), + array($xml, 'xxsss', 'InvalidArgumentException'), + array($xml, 'xxsss', 'InvalidArgumentException'), + array($xml, 'xxsss', 'InvalidArgumentException'), + array($xml, '', 'InvalidArgumentException'), + array($xml, '', 'InvalidArgumentException'), + ); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/ShortcodeTest.php b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/ShortcodeTest.php new file mode 100644 index 0000000..05f1b50 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/ShortcodeTest.php @@ -0,0 +1,137 @@ + + */ +final class ShortcodeTest extends AbstractTestCase +{ + /** + * @dataProvider provideShortcodes + */ + public function testShortcode($expected, $name, array $args, $content) + { + $s = new Shortcode($name, $args, $content); + $textSerializer = new TextSerializer(); + + static::assertSame($name, $s->getName()); + static::assertSame($args, $s->getParameters()); + static::assertSame($content, $s->getContent()); + static::assertSame($expected, $textSerializer->serialize($s)); + static::assertSame('arg', $s->getParameterAt(0)); + static::assertTrue($s->hasParameters()); + } + + public function provideShortcodes() + { + return array( + array('[x arg=val /]', 'x', array('arg' => 'val'), null), + array('[x arg=val][/x]', 'x', array('arg' => 'val'), ''), + array('[x arg=val]inner[/x]', 'x', array('arg' => 'val'), 'inner'), + array('[x arg="val val"]inner[/x]', 'x', array('arg' => 'val val'), 'inner'), + ); + } + + public function testObject() + { + $shortcode = new Shortcode('random', array('arg' => 'value', 'none' => null), 'something'); + + static::assertTrue($shortcode->hasParameter('arg')); + static::assertFalse($shortcode->hasParameter('invalid')); + static::assertNull($shortcode->getParameter('none')); + static::assertSame('value', $shortcode->getParameter('arg')); + static::assertSame('', $shortcode->getParameter('invalid', '')); + static::assertSame(42, $shortcode->getParameter('invalid', 42)); + + static::assertNotSame($shortcode, $shortcode->withContent('x')); + } + + public function testProcessedShortcode() + { + $processor = new Processor(new RegexParser(), new HandlerContainer()); + + $context = new ProcessorContext(); + $context->shortcode = new Shortcode('code', array('arg' => 'val'), 'content'); + $context->processor = $processor; + $context->position = 20; + $context->namePosition = array('code' => 10); + $context->text = ' [code] '; + $context->shortcodeText = '[code]'; + $context->offset = 1; + $context->iterationNumber = 1; + $context->recursionLevel = 0; + $context->parent = null; + + $processed = ProcessedShortcode::createFromContext($context); + + static::assertSame('code', $processed->getName()); + static::assertSame(array('arg' => 'val'), $processed->getParameters()); + static::assertSame('content', $processed->getContent()); + + static::assertSame(20, $processed->getPosition()); + static::assertSame(10, $processed->getNamePosition()); + static::assertSame(' [code] ', $processed->getText()); + static::assertSame(1, $processed->getOffset()); + static::assertSame('[code]', $processed->getShortcodeText()); + static::assertSame(1, $processed->getIterationNumber()); + static::assertSame(0, $processed->getRecursionLevel()); + static::assertSame(null, $processed->getParent()); + static::assertSame($processor, $processed->getProcessor()); + } + + public function testProcessedShortcodeParents() + { + $context = new ProcessorContext(); + $context->shortcode = new Shortcode('p1', array(), null); + $context->parent = null; + $context->namePosition = array('p1' => 0, 'p2' => 0, 'p3' => 0); + $p1 = ProcessedShortcode::createFromContext($context); + $context->shortcode = new Shortcode('p2', array(), null); + $context->parent = $p1; + $p2 = ProcessedShortcode::createFromContext($context); + $context->shortcode = new Shortcode('p3', array(), null); + $context->parent = $p2; + $p3 = ProcessedShortcode::createFromContext($context); + + static::assertSame('p3', $p3->getName()); + static::assertSame('p2', $p3->getParent()->getName()); + static::assertSame('p1', $p3->getParent()->getParent()->getName()); + static::assertFalse($p1->hasAncestor('p3')); + static::assertFalse($p1->hasAncestor('p1')); + static::assertTrue($p2->hasAncestor('p1')); + static::assertFalse($p2->hasAncestor('p3')); + static::assertTrue($p3->hasAncestor('p1')); + static::assertTrue($p3->hasAncestor('p2')); + static::assertFalse($p3->hasAncestor('p4')); + } + + public function testParsedShortcode() + { + $shortcode = new ParsedShortcode(new Shortcode('name', array('arg' => 'val'), 'content'), 'text', 12); + + static::assertSame('name', $shortcode->getName()); + static::assertSame(array('arg' => 'val'), $shortcode->getParameters()); + static::assertSame('content', $shortcode->getContent()); + static::assertSame('text', $shortcode->getText()); + static::assertSame(12, $shortcode->getOffset()); + static::assertTrue($shortcode->hasContent()); + + static::assertFalse($shortcode->withContent(null)->hasContent()); + static::assertSame('another', $shortcode->withContent('another')->getContent()); + } + + public function testShortcodeEmptyNameException() + { + $this->willThrowException('InvalidArgumentException'); + new Shortcode('', array(), null); + } +} diff --git a/plugins/shortcode-core/vendor/thunderer/shortcode/tests/SyntaxTest.php b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/SyntaxTest.php new file mode 100644 index 0000000..9228d46 --- /dev/null +++ b/plugins/shortcode-core/vendor/thunderer/shortcode/tests/SyntaxTest.php @@ -0,0 +1,54 @@ + + */ +final class SyntaxTest extends AbstractTestCase +{ + /** + * @dataProvider provideSyntaxes + */ + public function testSyntax(SyntaxInterface $syntax, $open, $close, $slash, $parameter, $value) + { + static::assertSame($open, $syntax->getOpeningTag()); + static::assertSame($close, $syntax->getClosingTag()); + static::assertSame($slash, $syntax->getClosingTagMarker()); + static::assertSame($parameter, $syntax->getParameterValueSeparator()); + static::assertSame($value, $syntax->getParameterValueDelimiter()); + } + + public function provideSyntaxes() + { + return array( + array(new Syntax(), '[', ']', '/', '=', '"'), + array(new Syntax('[[', ']]', '//', '==', '""'), '[[', ']]', '//', '==', '""'), + array(new CommonSyntax(), '[', ']', '/', '=', '"'), + ); + } + + /** + * Note: do not merge this test with data provider above, code coverage + * does not understand this and marks builder class as untested. + */ + public function testBuilder() + { + $builder = new SyntaxBuilder(); + $this->testSyntax($builder->getSyntax(), '[', ']', '/', '=', '"'); + + $builder = new SyntaxBuilder(); + $doubleBuiltSyntax = $builder + ->setOpeningTag('[[') + ->setClosingTag(']]') + ->setClosingTagMarker('//') + ->setParameterValueSeparator('==') + ->setParameterValueDelimiter('""') + ->getSyntax(); + $this->testSyntax($doubleBuiltSyntax, '[[', ']]', '//', '==', '""'); + } +} diff --git a/themes/learn2-git-sync/.dependencies b/themes/learn2-git-sync/.dependencies new file mode 100644 index 0000000..71ea86e --- /dev/null +++ b/themes/learn2-git-sync/.dependencies @@ -0,0 +1,5 @@ +git: + learn2: + url: https://github.com/getgrav/grav-theme-learn2 + path: user/themes/learn2 + branch: master diff --git a/themes/learn2-git-sync/.gitignore b/themes/learn2-git-sync/.gitignore new file mode 100644 index 0000000..fd18632 --- /dev/null +++ b/themes/learn2-git-sync/.gitignore @@ -0,0 +1,6 @@ +# OS Generated +.DS_Store* +thumbs.db +Icon? +Thumbs.db +*.swp diff --git a/themes/learn2-git-sync/CHANGELOG.md b/themes/learn2-git-sync/CHANGELOG.md new file mode 100644 index 0000000..69f4517 --- /dev/null +++ b/themes/learn2-git-sync/CHANGELOG.md @@ -0,0 +1,321 @@ +# v1.6.6 +## 03/08/2022 + +1. [](#bugfix) + * Fixed getgrav.org link at the bottom of the sidebar (thanks @timinator2020) + +# v1.6.5 +## 03/21/2021 + +1. [](#improved) + * Updated demo pages in theme '_demo' folder + +# v1.6.4 +## 02/28/2021 + +1. [](#improved) + * Reduced plugin dependencies, thanks to the new Grav Skeleton build process + +# v1.6.3 +## 02/15/2021 + +1. [](#bugfix) + * Removed tab characters from comment indent (thanks @holehan) + +# v1.6.2 +## 01/26/2021 + +1. [](#improved) + * Updated theme blueprints for Grav 1.7 + +# v1.6.1 +## 01/15/2021 + +1. [](#new) + * GoogleSlides shortcode updated to handle double `_` characters in URL (thanks @GeorgesPapas) + +# v1.6.0 +## 01/05/2021 + +1. [](#new) + * Initial NextGen Editor support for GoogleSlides, H5P and PDF shortcodes + +# v1.5.9 +## 05/19/2020 + +1. [](#improved) + * Updated inherited theme file paths for multisite compatibility (thanks to @tituspijean for the PR and @mahagr for the debugging!) + +# v1.5.8 +## 12/05/2019 + +1. [](#bugfix) + * Do not display the SimpleSearch field when the SimpleSearch plugin is disabled + +# v1.5.7 +## 11/25/2019 + +1. [](#improved) + * 'Top Level Version' theme option now only displays visible pages (thanks @awrog for reporting this issue) + +# v1.5.6 +## 08/16/2019 + +1. [](#improved) + * Twig 2.0 compatibility + +# v1.5.5 +## 06/03/2019 + +1. [](#improved) + * Updated demo pages in theme '_demo' folder + +# v1.5.4 +## 05/05/2019 + +1. [](#improved) + * Updated demo pages in theme '_demo' folder + +# v1.5.3 +## 05/04/2019 + +1. [](#improved) + * Updated demo pages in theme '_demo' folder + +# v1.5.2 +## 05/01/2019 + +1. [](#bugfix) + * Added missing images folder with clippy.svg and default favicons + +# v1.5.1 +## 04/12/2019 + +1. [](#new) + * Added insert Presentation Shortcode button into Editor toolbar + +# v1.5.0 +## 04/11/2019 + +1. [](#new) + * Set Grav dependency to 1.6+ + * Twig 2.0 compatibility + * Added scripts.html.twig file to hold global JavaScript code + * Added support for document versioning using Grav's multi-language feature (thanks @rhuk) + * Added 'version' alias to 'language' shortcode, for example `[version=20]...[/version]` (thanks @rhuk) + * Added taxonomy 'tag' to default TNTSearch index + * Added Presentation Plugin as dependency + * Added insert Presentation Shortcode button into Editor toolbar + * Added example pages in theme '_demo' folder to include use of the Presentation Plugin + * Implement assets rendering using **Deferred Block** Twig extension +1. [](#improved) + * Improved appearance of versions dropdown menu with custom themes + +# v1.3.3 +## 04/02/2019 + +1. [](#new) + * Added scripts.html.twig file to hold global JavaScript code + +# v1.3.2 +## 03/22/2019 + +1. [](#new) + * Set Dependency of Grav 1.5.10+ which has support for new **Deferred Block** Twig extension + * Implement assets rendering using **Deferred Block** Twig extension + +# v1.3.1 +## 03/10/2019 + +1. [](#bugfix) + * Restored needed 'RocketTheme\Toolbox\Event\Event;' instance + +# v1.3.0 +## 03/10/2019 + +1. [](#new) + * Added taxonomy 'tag' to default TNTSearch index + +# v1.2.3 +## 11/23/2018 + +1. [](#new) + * Added custom styles 'Spitsbergen' and 'Longyearbyen' (thanks @olevik) + +# v1.2.2 +## 10/17/2018 + +1. [](#improved) + * Updated ReadMe, theme description and screenshots + +# v1.2.1 +## 10/16/2018 + +1. [](#bugfix) + * Restored CSS styling for display of site title + +# v1.2.0 +## 10/16/2018 + +1. [](#new) + * Added custom styles (thanks @olevik) + * Added option to show or hide site title +1. [](#bugfix) + * Fixed issue with default taxonomy categories + +# v1.1.0 +## 08/25/2018 + +1. [](#improved) + * Initial multi-language support for Advanced Full-text Search + +# v1.0.9 +## 08/23/2018 + +1. [](#bugfix) + * Restored missing Error and Problems Plugin dependencies + +# v1.0.8 +## 08/22/2018 + +1. [](#improved) + * Updated screenshots + +# v1.0.7 +## 08/21/2018 + +1. [](#improved) + * Added SimpleSearch plugin to theme dependencies + +# v1.0.6 +## 08/21/2018 + +1. [](#bugfix) + * Updated URL for Advanced Full-text Search link + +# v1.0.5 +## 08/21/2018 + +1. [](#improved) + * Updated TNTSearch box label +1. [](#new) + * Added TNTSearch (full-text search engine) plugin to theme dependencies + +# v1.0.4 +## 08/21/2018 + +1. [](#improved) + * Updated theme dependencies + +# v1.0.3 +## 08/20/2018 + +1. [](#bugfix) + * Fixed URL for Advanced Full-text Search link + +# v1.0.2 +## 08/20/2018 + +1. [](#new) + * Added experimental support for TNTSearch plugin + +# v1.0.1 +## 08/20/2018 + +1. [](#new) + * Added configuration for default taxonomy category in theme setting +1. [](#improved) + * Updated theme blueprints + +# v1.0.0 +## 03/15/2018 + +1. [](#improved) + * Changed theme author information to Hibbitts Design + +# v0.9.84 +## 03/01/2018 + +1. [](#improved) + * Better aligned Git Sync Link Twig code with other Git Sync themes + +# v0.9.83 +## 02/13/2018 + +1. [](#bugfix) + * Fixed trailing slash issue with "Edit this page" link (thanks Amiram Korach) + +# v0.9.82 +## 01/23/2018 + +1. [](#new) + * Added default content for pages created using Admin Panel button bar + +# v0.9.81 +## 01/14/2018 + +1. [](#improved) + * Changed default size of site title to h5 (from h4) to reduce vertical space + +# v0.9.8 +## 10/23/2017 + +1. [](#improved) + * Added Highlight plugin as a dependency +1. [](#bugfix) + * Removed unneeded theme default for custom icon in Git Sync link + +# v0.9.7 +## 10/22/2017 + +1. [](#new) + * Further streamlined Git Sync setup step by automating 'Edit in Git' tree URL calculation + +# v0.9.6 +## 07/12/2017 + +1. [](#bugfix) + * Removed Author field within Page Options (Author taxonomy tag added to Learn2 with Git Sync Skeleton) + +# v0.9.5 +## 07/11/2017 + +1. [](#new) + * Added support for RSS feed + * Added Author field within Page Options +1. [](#improved) + * Improved accessibility of sidebar and body link appearance +1. [](#bugfix) + * Removed problematic CSS class for Git Sync note area + +# v0.9.4 +## 05/30/2017 + +1. [](#improved) + * Improved wording for 'Git Repository Tree URL' theme config option + +# v0.9.3 +## 04/18/2017 + +1. [](#bugfix) + * Fixed theme setup link to work with an inherited theme + +# v0.9.2 +## 04/10/2017 + +1. [](#bugfix) + * Fixed Git Sync setup link + +# v0.9.1 +## 04/10/2017 + +1. [](#improved) + * Updated dependencies +1. [](#bugfix) + * Fixed twig template URL + +# v0.9.0 +## 04/03/2017 + +1. [](#new) + * ChangeLog started... diff --git a/themes/learn2-git-sync/LICENSE b/themes/learn2-git-sync/LICENSE new file mode 100644 index 0000000..484793a --- /dev/null +++ b/themes/learn2-git-sync/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Grav + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/themes/learn2-git-sync/README.md b/themes/learn2-git-sync/README.md new file mode 100644 index 0000000..9fb2a76 --- /dev/null +++ b/themes/learn2-git-sync/README.md @@ -0,0 +1,90 @@ +# Learn2 with Git Sync + +Learn2 with Git Sync is a customized version of the default [Grav Learn](http://learn.getgrav.org) theme. Includes selectable visual styles. + +Want to quickly try out this theme? The [Learn2 with Git Sync Skeleton](https://getgrav.org/downloads/skeletons) is a ready-to-run site with the Learn2 with Git Sync Theme, which also includes the Admin Panel and example content already installed. + +![Learn2 with Git Sync](screenshot.jpg) + +# Installation + +Installing the Learn2 with Git Sync theme can be done in one of two ways. Our GPM (Grav Package Manager) installation method enables you to quickly and easily install the theme with a simple terminal command, while the manual method enables you to do so via a zip file. + +The theme is designed to be used to provide a documentation site. You can see this in action at [learn.hibbittsdesign.org](http://learn.hibbittsdesign.org) + +## GPM Installation (Preferred) + +The simplest way to install this theme is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm) through your system's Terminal (also called the command line). From the root of your Grav install type: + + bin/gpm install learn2-git-sync + +This will install the Learn2 with Git Sync theme into your `/user/themes` directory within Grav. Its files can be found under `/your/site/grav/user/themes/learn2-git-sync`. + +## Manual Installation + +To install this theme, just download the zip version of this repository and unzip it under `/your/site/grav/user/themes`. Then, rename the folder to `learn2-git-sync`. + +You should now have all the theme files under + + /your/site/grav/user/themes/learn2-git-sync + +>> NOTE: This theme is a modular component for Grav which requires the [Grav](http://github.com/getgrav/grav), [Error](https://github.com/getgrav/grav-theme-error) and [Problems](https://github.com/getgrav/grav-plugin-problems) plugins. + +# Updating + +As development for the Learn2 with Git Sync theme continues, new versions may become available that add additional features and functionality, improve compatibility with newer Grav releases, and generally provide a better user experience. Updating Learn2 with Git Sync is easy, and can be done through Grav's GPM system, as well as manually. + +## GPM Update (Preferred) + +The simplest way to update this theme is via the [Grav Package Manager (GPM)](http://learn.getgrav.org/advanced/grav-gpm). You can do this with this by navigating to the root directory of your Grav install using your system's Terminal (also called command line) and typing the following: + + bin/gpm update learn2-git-sync + +This command will check your Grav install to see if your Learn2 with Git Sync theme is due for an update. If a newer release is found, you will be asked whether or not you wish to update. To continue, type `y` and hit enter. The theme will automatically update and clear Grav's cache. + +## Manual Update + +Manually updating Learn2 with Git Sync is pretty simple. Here is what you will need to do to get this done: + +* Delete the `your/site/user/themes/learn2-git-sync` directory. +* Download the new version of the Learn2 with Git Sync theme from either [GitHub](https://github.com/hibbitts-design/grav-theme-learn2-git-sync) or [GetGrav.org](http://getgrav.org/downloads/themes#extras). +* Unzip the zip file in `your/site/user/themes` and rename the resulting folder to `learn2-git-sync`. +* Clear the Grav cache. The simplest way to do this is by going to the root Grav directory in terminal and typing `bin/grav clear-cache`. + +> Note: Any changes you have made to any of the files listed under this directory will also be removed and replaced by the new set. Any files located elsewhere (for example a YAML settings file placed in `user/config/themes`) will remain intact. + +### Recompile CSS from SCSS + +To recompile default style using a Sass-compiler, run it on /scss/theme.scss and output to /css-compiled/theme.css, like `node-sass --watch --source-map true scss/theme.scss css-compiled/theme.css`. To do the same for custom styles, run it on /scss/custom and output to /css-compiled/custom, like `node-sass --watch --source-map true scss/custom/ css-compiled/custom`. + +## Features + +* Lightweight and minimal for optimal performance +* Fully responsive with off-page mobile navigation +* SCSS based CSS source files for easy customization +* Built specifically for providing easy to read documentation +* Fontawesome icon support + +### Supported Page Templates + +* "Docs" template +* "Chapter" template +* Error view template + +## Setup + +🚨Before setting up Git Sync, please make sure to remove the `ReadMe.md` file in your Grav site `user` folder (if one exists). This will prevent a possible sync issue when creating a default `ReadMe.md` file in your new Git repository.🚨 + +If you want to set Learn2 with Git Sync as the default theme, you can do so by following these steps: + +* Navigate to `/your/site/grav/user/config`. +* Open the **system.yaml** file. +* Change the `theme:` setting to `theme: learn2-git-sync`. +* Save your changes. +* Clear the Grav cache. The simplest way to do this is by going to the root Grav directory in Terminal and typing `bin/grav clear-cache`. + +Once this is done, you should be able to see the new theme on the frontend. Keep in mind any customizations made to the previous theme will not be reflected as all of the theme and templating information is now being pulled from the **learn2-git-sync** folder. + +### TNTSearch Configuration + +The default search route for the TNTSearch plugin (used for the 'Advanced Search' feature) is set to `/tntsearch` diff --git a/themes/learn2-git-sync/_demo/pages/01.basics/01.overview/docs.md b/themes/learn2-git-sync/_demo/pages/01.basics/01.overview/docs.md new file mode 100644 index 0000000..59a39d1 --- /dev/null +++ b/themes/learn2-git-sync/_demo/pages/01.basics/01.overview/docs.md @@ -0,0 +1,716 @@ +--- +title: Overview +taxonomy: + category: docs +--- + + +Let's face it: Writing content for the Web is tiresome. WYSIWYG editors help alleviate this task, but they generally result in horrible code, or worse yet, ugly web pages. + +**Markdown** is a better way to write **HTML**, without all the complexities and ugliness that usually accompanies it. + +Some of the key benefits are: + +1. Markdown is simple to learn, with minimal extra characters so it's also quicker to write content. +2. Less chance of errors when writing in markdown. +3. Produces valid XHTML output. +4. Keeps the content and the visual display separate, so you cannot mess up the look of your site. +5. Write in any text editor or Markdown application you like. +6. Markdown is a joy to use! + +John Gruber, the author of Markdown, puts it like this: + +> The overriding design goal for Markdown’s formatting syntax is to make it as readable as possible. The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions. While Markdown’s syntax has been influenced by several existing text-to-HTML filters, the single biggest source of inspiration for Markdown’s syntax is the format of plain text email. +> -- John Gruber + + +Grav ships with built-in support for [Markdown](http://daringfireball.net/projects/markdown/) and [Markdown Extra](https://michelf.ca/projects/php-markdown/extra/). You must enable **Markdown Extra** in your `system.yaml` configuration file + +Without further delay, let us go over the main elements of Markdown and what the resulting HTML looks like: + +>>> Bookmark this page for easy future reference! + +## Headings + +Headings from `h1` through `h6` are constructed with a `#` for each level: + +```markdown +# h1 Heading +## h2 Heading +### h3 Heading +#### h4 Heading +##### h5 Heading +###### h6 Heading +``` + +Renders to: + +# h1 Heading +## h2 Heading +### h3 Heading +#### h4 Heading +##### h5 Heading +###### h6 Heading + +HTML: + +```html +

h1 Heading

+

h2 Heading

+

h3 Heading

+

h4 Heading

+
h5 Heading
+
h6 Heading
+``` + +
+
+
+ +## Comments + +Comments should be HTML compatible + +```html + +``` +Comment below should **NOT** be seen: + + + +
+
+
+ +## Horizontal Rules + +The HTML `
` element is for creating a "thematic break" between paragraph-level elements. In markdown, you can create a `
` with any of the following: + +* `___`: three consecutive underscores +* `---`: three consecutive dashes +* `***`: three consecutive asterisks + +renders to: + +___ + +--- + +*** + + +
+
+
+ + +## Body Copy + +Body copy written as normal, plain text will be wrapped with `

` tags in the rendered HTML. + +So this body copy: + +```markdown +Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus. Et legere ocurreret pri, animal tacimates complectitur ad cum. Cu eum inermis inimicus efficiendi. Labore officiis his ex, soluta officiis concludaturque ei qui, vide sensibus vim ad. +``` +renders to this HTML: + +```html +

Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus. Et legere ocurreret pri, animal tacimates complectitur ad cum. Cu eum inermis inimicus efficiendi. Labore officiis his ex, soluta officiis concludaturque ei qui, vide sensibus vim ad.

+``` + + +
+
+
+ + +## Emphasis + +### Bold +For emphasizing a snippet of text with a heavier font-weight. + +The following snippet of text is **rendered as bold text**. + +```markdown +**rendered as bold text** +``` +renders to: + +**rendered as bold text** + +and this HTML + +```html +rendered as bold text +``` + +### Italics +For emphasizing a snippet of text with italics. + +The following snippet of text is _rendered as italicized text_. + +```markdown +_rendered as italicized text_ +``` + +renders to: + +_rendered as italicized text_ + +and this HTML: + +```html +rendered as italicized text +``` + + +### strikethrough +In GFM (GitHub flavored Markdown) you can do strikethroughs. + +```markdown +~~Strike through this text.~~ +``` +Which renders to: + +~~Strike through this text.~~ + +HTML: + +```html +Strike through this text. +``` + +
+
+
+ + +## Blockquotes +For quoting blocks of content from another source within your document. + +Add `>` before any text you want to quote. + +```markdown +> **Fusion Drive** combines a hard drive with a flash storage (solid-state drive) and presents it as a single logical volume with the space of both drives combined. +``` + +Renders to: + +> **Fusion Drive** combines a hard drive with a flash storage (solid-state drive) and presents it as a single logical volume with the space of both drives combined. + +and this HTML: + +```html +
+

Fusion Drive combines a hard drive with a flash storage (solid-state drive) and presents it as a single logical volume with the space of both drives combined.

+
+``` + +Blockquotes can also be nested: + +```markdown +> Donec massa lacus, ultricies a ullamcorper in, fermentum sed augue. +Nunc augue augue, aliquam non hendrerit ac, commodo vel nisi. +>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor +odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam. +``` + +Renders to: + +> Donec massa lacus, ultricies a ullamcorper in, fermentum sed augue. +Nunc augue augue, aliquam non hendrerit ac, commodo vel nisi. +>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor +odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam. + + +
+
+
+ +## Notices + +We have four notice styles and they extend the standard markdown syntax for block quotes. Basically levels of 3 block quote or greater produce notices in 4 colors: + +### Yellow + +```markdown +>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor +odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam. +``` + +Renders to: + +>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor +odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam. + +### Red + +```markdown +>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor +odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam. +``` + +Renders to: + +>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor +odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam. + +### Blue + +```markdown +>>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor +odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam. +``` + +Renders to: + +>>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor +odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam. + +### Green + +```markdown +>>>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor +odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam. +``` + +Renders to: + +>>>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor +odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam. + +
+
+
+ + +## Lists + +### Unordered +A list of items in which the order of the items does not explicitly matter. + +You may use any of the following symbols to denote bullets for each list item: + +```markdown +* valid bullet +- valid bullet ++ valid bullet +``` + +For example + +```markdown ++ Lorem ipsum dolor sit amet ++ Consectetur adipiscing elit ++ Integer molestie lorem at massa ++ Facilisis in pretium nisl aliquet ++ Nulla volutpat aliquam velit + - Phasellus iaculis neque + - Purus sodales ultricies + - Vestibulum laoreet porttitor sem + - Ac tristique libero volutpat at ++ Faucibus porta lacus fringilla vel ++ Aenean sit amet erat nunc ++ Eget porttitor lorem +``` +Renders to: + ++ Lorem ipsum dolor sit amet ++ Consectetur adipiscing elit ++ Integer molestie lorem at massa ++ Facilisis in pretium nisl aliquet ++ Nulla volutpat aliquam velit + - Phasellus iaculis neque + - Purus sodales ultricies + - Vestibulum laoreet porttitor sem + - Ac tristique libero volutpat at ++ Faucibus porta lacus fringilla vel ++ Aenean sit amet erat nunc ++ Eget porttitor lorem + +And this HTML + +```html +
    +
  • Lorem ipsum dolor sit amet
  • +
  • Consectetur adipiscing elit
  • +
  • Integer molestie lorem at massa
  • +
  • Facilisis in pretium nisl aliquet
  • +
  • Nulla volutpat aliquam velit +
      +
    • Phasellus iaculis neque
    • +
    • Purus sodales ultricies
    • +
    • Vestibulum laoreet porttitor sem
    • +
    • Ac tristique libero volutpat at
    • +
    +
  • +
  • Faucibus porta lacus fringilla vel
  • +
  • Aenean sit amet erat nunc
  • +
  • Eget porttitor lorem
  • +
+``` + +### Ordered + +A list of items in which the order of items does explicitly matter. + +```markdown +1. Lorem ipsum dolor sit amet +2. Consectetur adipiscing elit +3. Integer molestie lorem at massa +4. Facilisis in pretium nisl aliquet +5. Nulla volutpat aliquam velit +6. Faucibus porta lacus fringilla vel +7. Aenean sit amet erat nunc +8. Eget porttitor lorem +``` +Renders to: + +1. Lorem ipsum dolor sit amet +2. Consectetur adipiscing elit +3. Integer molestie lorem at massa +4. Facilisis in pretium nisl aliquet +5. Nulla volutpat aliquam velit +6. Faucibus porta lacus fringilla vel +7. Aenean sit amet erat nunc +8. Eget porttitor lorem + +And this HTML: + +```html +
    +
  1. Lorem ipsum dolor sit amet
  2. +
  3. Consectetur adipiscing elit
  4. +
  5. Integer molestie lorem at massa
  6. +
  7. Facilisis in pretium nisl aliquet
  8. +
  9. Nulla volutpat aliquam velit
  10. +
  11. Faucibus porta lacus fringilla vel
  12. +
  13. Aenean sit amet erat nunc
  14. +
  15. Eget porttitor lorem
  16. +
+``` + +**TIP**: If you just use `1.` for each number, Markdown will automatically number each item. For example: + +```markdown +1. Lorem ipsum dolor sit amet +1. Consectetur adipiscing elit +1. Integer molestie lorem at massa +1. Facilisis in pretium nisl aliquet +1. Nulla volutpat aliquam velit +1. Faucibus porta lacus fringilla vel +1. Aenean sit amet erat nunc +1. Eget porttitor lorem +``` + +Renders to: + +1. Lorem ipsum dolor sit amet +2. Consectetur adipiscing elit +3. Integer molestie lorem at massa +4. Facilisis in pretium nisl aliquet +5. Nulla volutpat aliquam velit +6. Faucibus porta lacus fringilla vel +7. Aenean sit amet erat nunc +8. Eget porttitor lorem + + +
+
+
+ + +## Code + +### Inline code +Wrap inline snippets of code with `` ` ``. + +```markdown +In this example, `
` should be wrapped as **code**. +``` + +Renders to: + +In this example, `
` should be wrapped with **code**. + +HTML: + +```html +

In this example, <section></section> should be wrapped with code.

+``` + +### Indented code + +Or indent several lines of code by at least four spaces, as in: + +
+  // Some comments
+  line 1 of code
+  line 2 of code
+  line 3 of code
+
+ +Renders to: + + // Some comments + line 1 of code + line 2 of code + line 3 of code + +HTML: + +```html +
+  
+    // Some comments
+    line 1 of code
+    line 2 of code
+    line 3 of code
+  
+
+``` + + +### Block code "fences" + +Use "fences" ```` ``` ```` to block in multiple lines of code. + +
+``` markup
+Sample text here...
+```
+
+ + +``` +Sample text here... +``` + +HTML: + +```html +
+  Sample text here...
+
+``` + +### Syntax highlighting + +GFM, or "GitHub Flavored Markdown" also supports syntax highlighting. To activate it, simply add the file extension of the language you want to use directly after the first code "fence", ` ```js `, and syntax highlighting will automatically be applied in the rendered HTML. For example, to apply syntax highlighting to JavaScript code: + +
+```js
+grunt.initConfig({
+  assemble: {
+    options: {
+      assets: 'docs/assets',
+      data: 'src/data/*.{json,yml}',
+      helpers: 'src/custom-helpers.js',
+      partials: ['src/partials/**/*.{hbs,md}']
+    },
+    pages: {
+      options: {
+        layout: 'default.hbs'
+      },
+      files: {
+        './': ['src/templates/pages/index.hbs']
+      }
+    }
+  }
+};
+```
+
+ +Renders to: + +```js +grunt.initConfig({ + assemble: { + options: { + assets: 'docs/assets', + data: 'src/data/*.{json,yml}', + helpers: 'src/custom-helpers.js', + partials: ['src/partials/**/*.{hbs,md}'] + }, + pages: { + options: { + layout: 'default.hbs' + }, + files: { + './': ['src/templates/pages/index.hbs'] + } + } + } +}; +``` + +
+
+
+ + + +## Tables +Tables are created by adding pipes as dividers between each cell, and by adding a line of dashes (also separated by bars) beneath the header. Note that the pipes do not need to be vertically aligned. + + +```markdown +| Option | Description | +| ------ | ----------- | +| data | path to data files to supply the data that will be passed into templates. | +| engine | engine to be used for processing templates. Handlebars is the default. | +| ext | extension to be used for dest files. | +``` + +Renders to: + +| Option | Description | +| ------ | ----------- | +| data | path to data files to supply the data that will be passed into templates. | +| engine | engine to be used for processing templates. Handlebars is the default. | +| ext | extension to be used for dest files. | + +And this HTML: + +```html + + + + + + + + + + + + + + + + + +
OptionDescription
datapath to data files to supply the data that will be passed into templates.
engineengine to be used for processing templates. Handlebars is the default.
extextension to be used for dest files.
+``` + +### Right aligned text + +Adding a colon on the right side of the dashes below any heading will right align text for that column. + +```markdown +| Option | Description | +| ------:| -----------:| +| data | path to data files to supply the data that will be passed into templates. | +| engine | engine to be used for processing templates. Handlebars is the default. | +| ext | extension to be used for dest files. | +``` + +| Option | Description | +| ------:| -----------:| +| data | path to data files to supply the data that will be passed into templates. | +| engine | engine to be used for processing templates. Handlebars is the default. | +| ext | extension to be used for dest files. | + + +
+
+
+ + +## Links + +### Basic link + +```markdown +[Assemble](http://assemble.io) +``` + +Renders to (hover over the link, there is no tooltip): + +[Assemble](http://assemble.io) + +HTML: + +```html +Assemble +``` + + +### Add a title + +```markdown +[Upstage](https://github.com/upstage/ "Visit Upstage!") +``` + +Renders to (hover over the link, there should be a tooltip): + +[Upstage](https://github.com/upstage/ "Visit Upstage!") + +HTML: + +```html +Upstage +``` + +### Named Anchors + +Named anchors enable you to jump to the specified anchor point on the same page. For example, each of these chapters: + +```markdown +# Table of Contents + * [Chapter 1](#chapter-1) + * [Chapter 2](#chapter-2) + * [Chapter 3](#chapter-3) +``` +will jump to these sections: + +```markdown +## Chapter 1 +Content for chapter one. + +## Chapter 2 +Content for chapter one. + +## Chapter 3 +Content for chapter one. +``` +**NOTE** that specific placement of the anchor tag seems to be arbitrary. They are placed inline here since it seems to be unobtrusive, and it works. + + +
+
+
+ + +## Images +Images have a similar syntax to links but include a preceding exclamation point. + +```markdown +![Minion](http://octodex.github.com/images/minion.png) +``` +![Minion](http://octodex.github.com/images/minion.png) + +or +```markdown +![Alt text](http://octodex.github.com/images/stormtroopocat.jpg "The Stormtroopocat") +``` +![Alt text](http://octodex.github.com/images/stormtroopocat.jpg "The Stormtroopocat") + +Like links, Images also have a footnote style syntax + +```markdown +![Alt text][id] +``` +![Alt text][id] + +With a reference later in the document defining the URL location: + +[id]: http://octodex.github.com/images/dojocat.jpg "The Dojocat" + + + [id]: http://octodex.github.com/images/dojocat.jpg "The Dojocat" diff --git a/themes/learn2-git-sync/_demo/pages/01.basics/02.requirements/01.sub-topic/01.sub-sub-topic/docs.md b/themes/learn2-git-sync/_demo/pages/01.basics/02.requirements/01.sub-topic/01.sub-sub-topic/docs.md new file mode 100644 index 0000000..9e60d2f --- /dev/null +++ b/themes/learn2-git-sync/_demo/pages/01.basics/02.requirements/01.sub-topic/01.sub-sub-topic/docs.md @@ -0,0 +1,58 @@ +--- +title: Sub-Sub-Topic +taxonomy: + category: docs +--- + +Lorem markdownum profundo et [bellum sonarent](http://omfgdogs.com/), est cum +Circes nisi quoque pulchra demersit et! Habebas manuque tamen, innumeras solis +successurumque Horis superare Cepheusque pars pericula [vultus +hanc](http://html9responsiveboilerstrapjs.com/), dextera esse fronti. Sedes +lumina! + + host_icmp_dfs = hostMysqlIt(port_portal_boolean, -1 / rateXml, dvd); + vleCrossplatformWins = barUddi + keystroke_im + adc + kilobyte_cdma(99, + fpuDiskDynamic); + signature_dns_aix -= cpu_scalable_web(memorySpyware); + +Corpus nam sensit onerataque crinem imitatus nostris, adsternunturque retro nec +consumpta inponit. Fessa dubium longi. Cuncta visis caput ultra quantaque +incursant cupressus secundo posses. Nudumque bracchia canamus: ingratus dabitur +ligari dixerat tempora; **iuppiter est enim**. Ostendunt ab genitor profectu +pestiferos sed, [nondum frugilegas Libycas](http://heeeeeeeey.com/). + + var malware_qwerty = ram + backlinkNewbieCard + formula + management(25); + publishing(softwareAssociationSaas, integer_row_sequence + linkLog); + var menu = autoresponder_servlet; + file_personal_proxy(fileImpression / rdfKilobitManet(task_multi_desktop, + file, 2)); + domain_big.rdram(rom); + +## Laniata iam Saturnia + +Antium tela, matris deam, postquam et [gnatae](http://www.uselessaccount.com/) +metuit felix maestis! Esse et mente clamavit *sive fuit*? Ego et sitim. + + metal = multiSubnet(disk_recycle.piracySwipeHome(core_expansion, + inboxSdk.staticPop(controlCps)), cellWheel + css( + coreAutoresponderCyberspace), + officeDatabaseProgram.bespokeHypermediaNamespace(homeTutorial, + windows, fiber_dlc_host - mmsTag)); + apple_oop += vaporware_trash_wireless + d_syn(cable_memory - on, + phreaking_hypertext(arraySdkHorse, shellGigabyte)); + java_blacklist_reader(screenshot_meta_crm); + var clobRepeater = memory_runtime_gui; + if (515890 - slashdot_rj * powerCybersquatter) { + sourceBoxSkyscraper(ssid_ethics / seoChip); + defragment -= configurationFileNoc(2); + real_digital.unmountNullBare += 5; + } + +Summo qui deum, **referunt renascitur contra**, fortibus venabula temptat +contigit columnae sacra terga membra naides soporis **meus** corpus. Munere et +una matre arbore potest tabulas, loca tamen cuncta at locum, sua aut Pentheus, +*penates*. Puellae altera simulac, gaudia dum officium truncoque pruinae +contigit ambos Maera esset virga se, vertunt requiemque etenim, in. + +Ne Priamus temptemus silvarum. Opem Pittheus monitae amplexumque rogis, inter +aut convulso videt in Cypro his Tisiphone geminae, foret! diff --git a/themes/learn2-git-sync/_demo/pages/01.basics/02.requirements/01.sub-topic/docs.md b/themes/learn2-git-sync/_demo/pages/01.basics/02.requirements/01.sub-topic/docs.md new file mode 100644 index 0000000..a3ca9fd --- /dev/null +++ b/themes/learn2-git-sync/_demo/pages/01.basics/02.requirements/01.sub-topic/docs.md @@ -0,0 +1,63 @@ +--- +title: Sub-Topic +taxonomy: + category: docs +--- + +Lorem markdownum penna; aras cetera revocatus quidem frigus in. Ut natum +surdaeque *quid*. Volandi viam iter fugae et hic quod quid, opus pete Phaethusa. + +- Laevum ritusque +- Ponat dea fuit mollitaque +- Saepe tempora miserrima late duxerat quoque coniugialia +- Corpore sua iam reversurum agros visa peregrina + +## Praesentia duobus si inplicuit sternebat aguntur urbes + +Invisi sororum honorque: recursus corpore est flammaque corporeasque magno, dis. +Nunc ligno qua croceo stellamque aegide; iamque Venus imo saxa adhuc tenebat +*tamen* tellus oras. Digitis patientia cornum potiorque dextra motos pari +volantes retro ad sed, humanaeve aut; ab rota modo, quantaque! Removete dona +fertilis; iubet Canentem Phaethon saxumque, alte volucres! + + rw_horizontal.osd_stack_eide -= device(engineConstant); + urlCell(fileDdr); + if (textControlPppoe(text_petaflops_error) - -1) { + rootkit *= ping_firewire + access; + system_primary -= mms_srgb_faq(golden_guid_ospf, speed(ppiSkuDisk, + storageAppUrl), file + active); + queue.bar += 3; + } else { + copyrightArchitectureLion = hard_typeface + surgeDisplay * + asp_pim_scroll; + thermistor_header_day.mirror_uml = blogTSpeed.json_address_honeypot(ttl, + hubIcq(1)); + dragFloppy += botMacWavelength.protector_wavelength(d_youtube); + } + var number = key.png_uat.systemFirmware(fpuModemPerl + -4) - + promptDriveDrive.hardDomain(cardVariableMini); + +## Pelagi illa est et et quod + +Hic lacrimis [caput](http://jaspervdj.be/) est consilii, sanguine luctus +gemitusque blandis. Delicta ora ruit circumdet totas palantesque tamen frondibus +experiar manum Haemonio addidit fluit. Ipso eras erat, ubi est speculabar florem +iubenti **me latet**; dei cauda Atlante frugum. + +1. Viso cum +2. Manant diris +3. Enim adverso Talia et interea iurares +4. Hoc iussit meruisse suum e gerit sub +5. Sicelidas ait + +Flectat fatorum nusquam spernimur cumulum alis flaventibus modo mater felix +induruit feri et *postes*, velle! Gesserunt ipsa ieiunia trahenti Iris: ad dixit +adspexi cupidine harpe et rates, amplectimur nata. Spargit te laedere nec; +remisit pars reppulit. Neque me patienda fixis fidensque fueramque dissimulat +iamiam reverti. Sed hic aut Phorbantis +[optas](http://www.thesecretofinvisibility.com/), luctus nunc glandes miremur +qui sumpto, subit. + +Ab adesse dixit data habet altera rotae et stirpes vivacem. Natalis quam? Nunc +eunt [Venusque](http://twitter.com/search?q=haskell) facit Teucri, nec vestes, +nova percutiens confertque Minyis? diff --git a/themes/learn2-git-sync/_demo/pages/01.basics/02.requirements/docs.md b/themes/learn2-git-sync/_demo/pages/01.basics/02.requirements/docs.md new file mode 100644 index 0000000..af273d1 --- /dev/null +++ b/themes/learn2-git-sync/_demo/pages/01.basics/02.requirements/docs.md @@ -0,0 +1,42 @@ +--- +title: Requirements +taxonomy: + category: docs +--- + +Lorem markdownum pius. Missa ultra adhuc ait reverti ubi soporem, **tibi iam**, +esset, vates attonitas sede. Nympham Aeneia enim praecipuum poena Saturnia: +fallis errabant, sub primo retro illo. Caesariem tincta natam contineat demens. +*Si sed* ardescunt Delphice quasque alteraque servant. + +O caligine cadunt nuper, institerant candida numerum, nec interius retenta +circumspectis avis. Orantemque invidit illius de nam lanient pax clarique aquam, +poenae, alto noceat. + +## Percussae oculos + +Defendentia **flammas mundi salutem** fraudate, non munus revirescere tamen, +imago? Ad sit festumque [super](http://hipstermerkel.tumblr.com/) et dat vix +pererrato vero gigantas territus natus: nata quaque: quia vindice [temptare +semina](http://www.lipsum.com/)! Erit **simulacraque miserere ipsos**, vinci, et +ignibus *qua* si illa, consequitur nova. Constitit habet coniugis; coegit nostri +in fuissem! + +Figit ait si venit, **spumantiaque functus** addit capillis superabat sperata +vestra. In nymphas cervus eram feret lingua, hunc, nulla quae. Gens *artisque* +ad peregit nitido cursu pondere. Petitur ex virtus, terrae infesto Circen: voce +roganti latet. Exit hydrae, expellitur onerosa gratissima iniustum Clytii +crimen. + +## Pactique in quibus pariterque praebebat mare dapes + +Sonat timeam furori non Sigei furiali os ut, orbe! Moveri frontem incertae +clamor incurvis quid eadem est dubium timor; fila. Suos *trepidaeque* cornua +sparsus. + +Mihi [aut palustribus](http://www.billmays.net/), natus semilacerque audito +Enaesimus, fuerat refert. Aevi et evadere potentior Pergama sis. + +Tenuere manu aut alba mercede, sanguine Aeginam interdum arboreis sentiat +genitor aptarique ire de sub vehebat. Aspera sedesque, et tempus deseruere +contenta, rex interea nisi arma. diff --git a/themes/learn2-git-sync/_demo/pages/01.basics/03.installation/docs.md b/themes/learn2-git-sync/_demo/pages/01.basics/03.installation/docs.md new file mode 100644 index 0000000..e56f26b --- /dev/null +++ b/themes/learn2-git-sync/_demo/pages/01.basics/03.installation/docs.md @@ -0,0 +1,64 @@ +--- +title: Installation +taxonomy: + category: docs +--- + +Lorem markdownum fama iusserat **sit trunca**, isto et quid dolens Aeetias. +Indice [pater in](http://www.mozilla.org/) constitit *munus* voces bidentum +officium te utrique animaeque multum dedit. Coimus premens? Flet hospes ad +nequeunt uti; sacerdotis gestit. Dis comas meum texerat frustra, saniemque +restituit ullus, vox. + +Atque et [quoque](http://www.youtube.com/watch?v=MghiBW3r65M): nec **ales +aspicis** ille honorem! Et novissima facinus cursum, futura acutis. Funereum cur +guttura servati. Aberat [mersa acta](http://www.wedrinkwater.com/) primi, sed +superum. + +## Agros aut + +Tum limen malo tibi, corporeusque sine *Caphereus dissimiles* tecta demittit +fletus: duritia prior, amici! Terrae furibunda vini stetit illius temptamina +virtus sagacior et nunc vidi. Telae morata nulla. Quid femina Iovi bella, *in* +memorante sublimis. + +## Dubita qui messoris pudet spectat inbutam est + +Quoque quantum manebat huc fuerim dabimus socium in, illi fibris ore error +murmure primis, natis nunc dixi occupat. Dea rogantem fugit audet, quantoque +praeteriti illis, quamlibet teneo, ora agmen desinite, deum, desistere. Frustra +ferunt fiunt, pellem, qua saepe variarum. *Non quam* quae monte, addita +hominumque hic tenentes [praelate](http://www.metafilter.com/) venturi florentis +videtur. Est Caucason nostros *iubent serpentibus* posuit Mnemonidas ducere +cecidit flumina. + +1. Sit bis ipse in ossa vocavit status +2. Et defendere +3. Quod Pallas ilia Amphrisia caecus procubuisse dixit +4. Lumina qua negaverit vaga facit gelidae forma +5. Sic decepto recordor arboris ducentem poena +6. Dea patre lacrimas quamquam + +## Sed ut Nape quid coniunx oscula + +Ratus quoque nostrae invenies adspiciam data Eurytidae et mora ense +[cognitus](http://landyachtz.com/): meae pariterque, **fraude pro**. In illi +aetherias quarum. Habendus medioque exponit cornua, clarum nuncupat inquit! Tuum +denique: undis pete vitamque montes, vertitur, est tibi pectus [volenti +amorem](http://news.ycombinator.com/), indicat mirum. Gangetica pennas suaque +quo vultus iter miratus conubio heros est extrahit. + +> Moras hospitio, et fugit macies, locorum? A ira requievit inmani coronatis +> quis mensis: rite quater per; esse timor Pittheus traiecit colebas, nervis +> longam. Est [corpora enim ponit](http://www.billmays.net/), capillos esses. +> Anum fortis tremulis nunc infracto frontem nec. Draconum iamque *alto*, his +> ubique mox matrum demisit suo optet ad! + +## Sensit multis + +Ipse hic nutritaque etiam pedibus formae cernes. Nunc bibes sed pro +[ipse](http://haskell.org/), et operum et victus maneas, distincta. + +Eo doluit obliquantem Phoebus amat iam fumantiaque et sidera cadet captatam +marmoris. Conantem cursuque crudelibus velut, penitusque est sinu sola fuerat +est. diff --git a/themes/learn2-git-sync/_demo/pages/01.basics/chapter.md b/themes/learn2-git-sync/_demo/pages/01.basics/chapter.md new file mode 100644 index 0000000..04df5b5 --- /dev/null +++ b/themes/learn2-git-sync/_demo/pages/01.basics/chapter.md @@ -0,0 +1,12 @@ +--- +title: Basics +taxonomy: + category: docs +child_type: docs +--- + +### Chapter 1 + +# Basics + +Discover the **basic** principles diff --git a/themes/learn2-git-sync/_demo/pages/02.intermediate/01.topic-1/docs.md b/themes/learn2-git-sync/_demo/pages/02.intermediate/01.topic-1/docs.md new file mode 100644 index 0000000..66258e5 --- /dev/null +++ b/themes/learn2-git-sync/_demo/pages/02.intermediate/01.topic-1/docs.md @@ -0,0 +1,51 @@ +--- +title: Topic 1 +taxonomy: + category: docs +process: + twig: true +--- + +Lorem markdownum murmure fidissime suumque. Nivea agris, duarum longaeque Ide +rugis Bacchum patria tuus dea, sum Thyneius liquor, undique. **Nimium** nostri +vidisset fluctibus **mansit** limite rigebant; enim satis exaudi attulit tot +lanificae [indice](http://www.mozilla.org/) Tridentifer laesum. Movebo et fugit, +limenque per ferre graves causa neque credi epulasque isque celebravit pisces. + +- Iasone filum nam rogat +- Effugere modo esse +- Comminus ecce nec manibus verba Persephonen taxo +- Viribus Mater +- Bello coeperunt viribus ultima fodiebant volentem spectat +- Pallae tempora + +## Fuit tela Caesareos tamen per balatum + +De obstruat, cautes captare Iovem dixit gloria barba statque. Purpureum quid +puerum dolosae excute, debere prodest **ignes**, per Zanclen pedes! *Ipsa ea +tepebat*, fiunt, Actoridaeque super perterrita pulverulenta. Quem ira gemit +hastarum sucoque, idem invidet qui possim mactatur insidiosa recentis, **res +te** totumque [Capysque](http://tumblr.com/)! Modo suos, cum parvo coniuge, iam +sceleris inquit operatus, abundet **excipit has**. + +In locumque *perque* infelix hospite parente adducto aequora Ismarios, +feritatis. Nomine amantem nexibus te *secum*, genitor est nervo! Putes +similisque festumque. Dira custodia nec antro inornatos nota aris, ducere nam +genero, virtus rite. + +- Citius chlamydis saepe colorem paludosa territaque amoris +- Hippolytus interdum +- Ego uterque tibi canis +- Tamen arbore trepidosque + +## Colit potiora ungues plumeus de glomerari num + +Conlapsa tamen innectens spes, in Tydides studio in puerili quod. Ab natis non +**est aevi** esse riget agmenque nutrit fugacis. + +- Coortis vox Pylius namque herbosas tuae excedere +- Tellus terribilem saetae Echinadas arbore digna +- Erraverit lectusque teste fecerat + +Suoque descenderat illi; quaeritur ingens cum periclo quondam flaventibus onus +caelum fecit bello naides ceciderunt cladis, enim. Sunt aliquis. diff --git a/themes/learn2-git-sync/_demo/pages/02.intermediate/02.topic-2/docs.md b/themes/learn2-git-sync/_demo/pages/02.intermediate/02.topic-2/docs.md new file mode 100644 index 0000000..31250be --- /dev/null +++ b/themes/learn2-git-sync/_demo/pages/02.intermediate/02.topic-2/docs.md @@ -0,0 +1,49 @@ +--- +title: Topic 2 +taxonomy: + category: docs +--- + +Lorem *markdownum saxum et* telum revellere in victus vultus cogamque ut quoque +spectat pestiferaque siquid me molibus, mihi. Terret hinc quem Phoebus? Modo se +cunctatus sidera. Erat avidas tamen antiquam; ignes igne Pelates +[morte](http://www.youtube.com/watch?v=MghiBW3r65M) non caecaque canam Ancaeo +contingat militis concitus, ad! + +## Et omnis blanda fetum ortum levatus altoque + +Totos utinamque nutricis. Lycaona cum non sine vocatur tellus campus insignia et +absumere pennas Cythereiadasque pericula meritumque Martem longius ait moras +aspiciunt fatorum. Famulumque volvitur vultu terrae ut querellas hosti deponere +et dixit est; in pondus fonte desertum. Condidit moras, Carpathius viros, tuta +metum aethera occuluit merito mente tenebrosa et videtur ut Amor et una +sonantia. Fuit quoque victa et, dum ora rapinae nec ipsa avertere lata, profugum +*hectora candidus*! + +## Et hanc + +Quo sic duae oculorum indignos pater, vis non veni arma pericli! Ita illos +nitidique! Ignavo tibi in perdam, est tu precantia fuerat +[revelli](http://jaspervdj.be/). + +Non Tmolus concussit propter, et setae tum, quod arida, spectata agitur, ferax, +super. Lucemque adempto, et At tulit navem blandas, et quid rex, inducere? Plebe +plus *cum ignes nondum*, fata sum arcus lustraverat tantis! + +## Adulterium tamen instantiaque puniceum et formae patitur + +Sit paene [iactantem suos](http://www.metafilter.com/) turbineo Dorylas heros, +triumphos aquis pavit. Formatae res Aeolidae nomen. Nolet avum quique summa +cacumine dei malum solus. + +1. Mansit post ambrosiae terras +2. Est habet formidatis grandior promissa femur nympharum +3. Maestae flumina +4. Sit more Trinacris vitasset tergo domoque +5. Anxia tota tria +6. Est quo faece nostri in fretum gurgite + +Themis susurro tura collo: cunas setius *norat*, Calydon. Hyaenam terret credens +habenas communia causas vocat fugamque roganti Eleis illa ipsa id est madentis +loca: Ampyx si quis. Videri grates trifida letum talia pectus sequeretur erat +ignescere eburno e decolor terga. diff --git a/themes/learn2-git-sync/_demo/pages/02.intermediate/03.topic-3/docs.md b/themes/learn2-git-sync/_demo/pages/02.intermediate/03.topic-3/docs.md new file mode 100644 index 0000000..559ef42 --- /dev/null +++ b/themes/learn2-git-sync/_demo/pages/02.intermediate/03.topic-3/docs.md @@ -0,0 +1,46 @@ +--- +title: Topic 3 +taxonomy: + category: docs +--- + +Lorem markdownum in maior in corpore ingeniis: causa clivo est. Rogata Veneri +terrebant habentem et oculos fornace primusque et pomaria et videri putri, +levibus. Sati est novi tenens aut nitidum pars, spectabere favistis prima et +capillis in candida spicis; sub tempora, aliquo. + +- Esse sermone terram longe date nisi coniuge +- Revocamina lacrimas virginitate deae loquendi +- Parili me coma gestu opis trabes tu +- Deum vidi est voveas laurus magniloquo tuaque + +Nempe nec sonat Farfarus Charybdis elementa. Quam contemptaque vocis damnandus +corpore, merui, nata nititur. + +## Nubibus ferunt + +Una Minos. Opem saepe quodsi Peneia; tanto quas procul sanctis viribus. Secuta +et nisi **alii lanas**, post fila, *non et* viscere hausit orbe faciat vasta. + + var window = maximize_sample_youtube; + yobibyte *= point + dns; + if (sdkCloud(2) < agp(shareware)) { + www_eps_oasis.epsCcPayload = remote_jsf; + functionViewCard += filename_bin - tagPrimaryVeronica; + } else { + clickPageIsdn += virtual_hard; + smart_interlaced(docking); + matrix = northbridgeMatrixDegauss(deprecatedOnSidebar / left_cut); + } + +Nunc nec *huic digna forsitan* in iubent mens, muneris quoque? Comas in quasque +verba tota [Graiorum](http://www.thesecretofinvisibility.com/) fuerunt +[quatiatur Chrysenque oculis](http://omgcatsinspace.tumblr.com/) perque ea +quoque quae. Forent adspicit natam; staret fortissimus patre Cephenum armaque. +Dilapsa carminibus domitis, corpora sub huc strepitum montano hanc illa Hypseus +inposito do ignes intextum post arma. + +Superem venit turba sulcavitque morae. Suppositosque unam comitantibus Olympus +ille hostibus inmensum captis senectae exstinctum lunaria. Dura ille quoque, +maiora neu coniunx. **Successu foret lemnius** tamen illis **do concipit +deerat**! diff --git a/themes/learn2-git-sync/_demo/pages/02.intermediate/04.topic-4/docs.md b/themes/learn2-git-sync/_demo/pages/02.intermediate/04.topic-4/docs.md new file mode 100644 index 0000000..3ef670d --- /dev/null +++ b/themes/learn2-git-sync/_demo/pages/02.intermediate/04.topic-4/docs.md @@ -0,0 +1,61 @@ +--- +title: Topic 4 +taxonomy: + category: docs +--- + +Lorem markdownum scire deposito manumque facinus. Opprobria sic Iris vimque +filia Thaumantea supremis solet occupat peperit, mittit, ea *ille* tamen forma: +corpora. Quoniam adunci, sed Cragon potitus at voluere vallem Lyaeumque evehor +quaedam dixit vocis lacrimasque mundi possum. + +[Robustior carmine](http://www.youtube.com/watch?v=MghiBW3r65M). Uno pars simul +exhortanturque fletu; suas inquit paulum moriensque sumpserat totiens et sive. +Violenta stabat Dictaeaque hinc tophis rustica ora nitar tale divum, in versus +illam lacerta domito silvas memento est. Cinyrae edidicitque moram pectora et +quoque terrenae rubor populo peperit condebat in. Verum digestum referat cum, +dubitat collo sine candida flores pendentia, manes. + +## Nostrae confido + +Nec valle **natus puerum**, ora noverat solibus pinguesque non; Pisaeae in. +Adhuc se perque forsitan in haberent *gaudet* status portentificisque tristia +promissaque bove est ora locum. Subit etsi, et vatibus cumque? Et pudorem sim +fuit haec **nostras Caenis inploravere** quod; faciemque sanguis furentem +vivere, suaque. + +1. In iovis trahens est +2. Nexibus ludunt tinxit nudus adspergine fecit +3. Si corpus miracula oculos frater +4. Sed petunt proxima ad monitu erigitur Apollineos +5. Hunc laceri alvum et est fons fefellimus + +## Pater res tandem promissi collige + +Erubuit quod arcanis inquit succinctis tectae frenis canendo clausas, fletus +puellis proceres terrore in zona! Tenet quoque fortuna haud resuscitat +maledicere hostem. Imago ne fuit levi tertius ferro calamo velle talia fallit +gratia, Theron **aetas nolis** narrat meri in **fuga**. + + var cycleMainframe = 4; + bankruptcy += linuxMcaSsh(2, jquery_eps, monitor_add) - qwerty; + if (root - software + 4) { + snippet_mini_win *= ipv(dimm, protector_add, 3 + raid_matrix_smm); + python(95, 42); + } else { + window_soap += text_chip_screenshot; + } + +## Lucis onus dolet evehor vulnera gelidos + +Nec tauri illa cui hic contenta patuit, terras in et et suum [mutet +pater](http://www.mozilla.org/), alta, et a. Addit nec figuras terris Aeacus, +data comites cernit, et parte. Cumarum *expresso*. + +1. Ira deo unus ferrugine stant vulnere traharis +2. Vulnus fratribus modo quercus longa ego dederat +3. Versis Saturnia toros suberant +4. Decet tollere mea te insanis inponis exarsit + +Tenebat saltatibus, qua namque statuit dies ferre annum, sit summa in tamen +tabent populique. Pariter iterum sunt, inscius, verum. diff --git a/themes/learn2-git-sync/_demo/pages/02.intermediate/chapter.md b/themes/learn2-git-sync/_demo/pages/02.intermediate/chapter.md new file mode 100644 index 0000000..5c3dc7d --- /dev/null +++ b/themes/learn2-git-sync/_demo/pages/02.intermediate/chapter.md @@ -0,0 +1,12 @@ +--- +title: Intermediate +taxonomy: + category: docs +child_type: docs +--- + +### Chapter 2 + +# Intermediate + +Delve deeper into more **complex** topics diff --git a/themes/learn2-git-sync/_demo/pages/03.advanced/01.adv-topic-1/docs.md b/themes/learn2-git-sync/_demo/pages/03.advanced/01.adv-topic-1/docs.md new file mode 100644 index 0000000..f650e0e --- /dev/null +++ b/themes/learn2-git-sync/_demo/pages/03.advanced/01.adv-topic-1/docs.md @@ -0,0 +1,57 @@ +--- +title: Advanced Topic 1 +taxonomy: + category: docs +--- + +Lorem markdownum voces. Adire nant ingreditur quam evadere dixit caelestum +meliora. Induitur videndi Timoli videres et *quae*, niteant. + + if (cyberspace + superscalarBacklink) { + language_raw *= 78; + caps -= dot_vga; + } else { + nntpPingPoint(chip(ip_fsb, boxRepeater, art)); + manetRgbHeader /= backside; + } + if (dvd(16, ide_blacklist)) { + nodeTftpPpga = -5; + mips.aiffTCodec *= compiler_target_bus; + } + var eup = native_page_utility; + if (software) { + progressive *= superscalar_bot_script; + regularScroll = internetRayBlu; + } + progressive_compression_ipv = freewarePrebindingRoom(newsgroup); + +In *nubes pallor potuit* non, parenti auctorem urbis. Viderat at quicquam +piscator nunc prosunt ponit. + +## Fecere conplexa et utque et habetur iacentia + +Haud rotarum, et hospes et est, remittit tecta. Defecerat mille, perit *tale +Laomedonque* austri, scissaque incumbens prisci ferunt [ibi cumque +horror](http://example.com/) gravis. + +1. Accipit fraterno quantum dicit +2. Sparsit et tanget in coniunx putares oravit +3. Fuit et flumina +4. Inprudens coloque + +## Sentiet etiam + +In carmen, et quod, satiata, corpore semper mando; murum este *memores*. Si +felicia paratu voluit, nova illa tamen hanc et pressa caeli Hippolytus tinxit, +cunctis. + +Nitido arcisque nisi dedisse? Est atque ferasque Aeneas! Auro acui laedere, sed +vertit quoque, adde nec! + +Et qua quem, **verba** citus ero favorem, spectare tam, aureae Echionio facti +virginis nullo. Auras cura tantum, una ibat tecta, mihi erit. + +Igitur increpat ululavit capulo: inmenso [moriturae](http://seenly.com/) +artifices Sidonis loricamque regebat iustius: repetam more labores datae! +Praeterque truncus face: parte et vestram Aethiopum signum Pelasgi figurae +nostroque. diff --git a/themes/learn2-git-sync/_demo/pages/03.advanced/02.adv-topic-2/docs.md b/themes/learn2-git-sync/_demo/pages/03.advanced/02.adv-topic-2/docs.md new file mode 100644 index 0000000..de32679 --- /dev/null +++ b/themes/learn2-git-sync/_demo/pages/03.advanced/02.adv-topic-2/docs.md @@ -0,0 +1,71 @@ +--- +title: Advanced Topic 2 +taxonomy: + category: docs +--- + +Lorem markdownum vides aram est sui istis excipis Danai elusaque manu fores. +Illa hunc primo pinum pertulit conplevit portusque pace *tacuit* sincera. Iam +tamen licentia exsulta patruelibus quam, deorum capit; vultu. Est *Philomela +qua* sanguine fremit rigidos teneri cacumina anguis hospitio incidere sceptroque +telum spectatorem at aequor. + + if (cssDawP >= station) { + dllCdmaCpc += 919754; + } else { + superscalar += -3 + phishing; + } + pup_ram_bloatware(2 * network(linkedin)); + var vfatWhite = serpXmp + paperPitchPermalink(enterprise_and) - 5; + systemBandwidthAtm = 9 + station; + rw_menu_enterprise *= on_midi / interpreter.adPpp( + correctionIntegratedBalancing, bar, real) - user_remote_zebibyte( + desktop(lun_flops_wamp, technology_peripheral_dv, spriteHit)); + +Prochytenque ergo ait aequoreo causa ardere, ex vinaque est, accingere, abest +nunc sanguine. Est forma admissum adspexit pharetraque regat prece fremit clamat +memorantur evanuit foret ferinas, senserat infringat illa incumbere excipit +ulnas. Est undis soror animi diem continuo [videres +fratres](http://www.reddit.com/r/haskell)? [Meo iam +mihi](http://html9responsiveboilerstrapjs.com/) miserum fateor, in votum +iuvenis, aures? Qui labor nulla telluris valerem erat hoc, sedula. + + if (bus_overclocking_server > 891985) { + compression = textWep - gatePlatform; + } else { + fileTweak += file + so_mouse_sram; + pda_radcab_eup = tcp_opengl_refresh(network_phishing - realityDel, 5, + 5); + bounce_monitor_dns = 4; + } + fddi_virtualization_file *= drag_infringement(minicomputerServlet + -1 + + gif_white(utf, blog, cloud), dvdMacintosh - radcab_horizontal + + cpu_recycle_quicktime(ascii)); + ad += tableCapsTime - 5 + keyboard_card - -2 + cc; + if (raw_bloatware_compression < script_expression) { + fiBps(printer_php); + ipx = biometricsFullDvi(bootComponentAnsi, 929326, 38); + } + +## Dent et ignavus constant tamque + +Harenosi praenovimus illa homines, sumit levem et Minyeias genu finita ne quae +capi vidisse concipit. Fera carmine sinistro in licet? Quoque nam an pereat pro; +seu male mens favorem, illa! Longo tuas: [una medioque +caespite](http://www.lipsum.com/) nomen. Et amor artes Est tempore nupta +generumque olivae stabat. + +> Fuit vasto sit, *rite bellatricemque misceri*. Amore tauri qua laborum Iovique +> est terra sic et aut eminus pretiosior conveniant **possit**. Tyranni procos. +> Ipsa dracones carinam, ultima, pelagi Boreae quodque, teli dictu volucres: +> quaeratur ostendit debere validisne? Abdita cingere dixit amat pinguis vultus +> securim, venter in cognoscere prima *da*? + +**Cavis in pro** suspicere multis, moto neve vibrataque nitidum cessit +dignabitur pater similis exercet Procne, Anius, nec? Risit luserat meumque; ubi +et chlamydem inque: id mihi. + +Populi et emicat et pectora concussit precibus qui et Hector flammis. Pergama +tenebrisque certe arbiter superfusis genetrix fama; cornu conlato foedere +adspexisse **rivos quoque** nec profugos nunc, meritisne +[carbasa](http://reddit.com/r/thathappened). diff --git a/themes/learn2-git-sync/_demo/pages/03.advanced/chapter.md b/themes/learn2-git-sync/_demo/pages/03.advanced/chapter.md new file mode 100644 index 0000000..e37fc52 --- /dev/null +++ b/themes/learn2-git-sync/_demo/pages/03.advanced/chapter.md @@ -0,0 +1,12 @@ +--- +title: Advanced +taxonomy: + category: docs +child_type: docs +--- + +### Chapter 3 + +# Advanced + +Get into the **nitty gritty** with these advanced topics diff --git a/themes/learn2-git-sync/_demo/pages/feed/docs.md b/themes/learn2-git-sync/_demo/pages/feed/docs.md new file mode 100644 index 0000000..d46ca5d --- /dev/null +++ b/themes/learn2-git-sync/_demo/pages/feed/docs.md @@ -0,0 +1,11 @@ +--- +visible: false +content: + items: + '@taxonomy.category': 'docs' + order: + by: date + dir: desc +--- + +Non-visible page for RSS feed page collection. RSS feed URL is ../feed.rss diff --git a/themes/learn2-git-sync/_demo/versioned-docs/01.basics/01.overview/docs.md b/themes/learn2-git-sync/_demo/versioned-docs/01.basics/01.overview/docs.md new file mode 100644 index 0000000..976fccc --- /dev/null +++ b/themes/learn2-git-sync/_demo/versioned-docs/01.basics/01.overview/docs.md @@ -0,0 +1,721 @@ +--- +title: Overview +taxonomy: + category: + - docs +visible: true +--- + +Let's face it: Writing content for the Web is tiresome. WYSIWYG editors help alleviate this task, but they generally result in horrible code, or worse yet, ugly web pages. + +**Markdown** is a better way to write **HTML**, without all the complexities and ugliness that usually accompanies it. + +[version=20] +_Here is some text which is only displayed if version 2.0 is selected._ +[/version] + +Some of the key benefits are: + +1. Markdown is simple to learn, with minimal extra characters so it's also quicker to write content. +2. Less chance of errors when writing in markdown. +3. Produces valid XHTML output. +4. Keeps the content and the visual display separate, so you cannot mess up the look of your site. +5. Write in any text editor or Markdown application you like. +6. Markdown is a joy to use! + +John Gruber, the author of Markdown, puts it like this: + +> The overriding design goal for Markdown’s formatting syntax is to make it as readable as possible. The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions. While Markdown’s syntax has been influenced by several existing text-to-HTML filters, the single biggest source of inspiration for Markdown’s syntax is the format of plain text email. +> -- John Gruber + + +Grav ships with built-in support for [Markdown](http://daringfireball.net/projects/markdown/) and [Markdown Extra](https://michelf.ca/projects/php-markdown/extra/). You must enable **Markdown Extra** in your `system.yaml` configuration file + +Without further delay, let us go over the main elements of Markdown and what the resulting HTML looks like: + +>>> Bookmark this page for easy future reference! + +## Headings + +Headings from `h1` through `h6` are constructed with a `#` for each level: + +```markdown +# h1 Heading +## h2 Heading +### h3 Heading +#### h4 Heading +##### h5 Heading +###### h6 Heading +``` + +Renders to: + +# h1 Heading +## h2 Heading +### h3 Heading +#### h4 Heading +##### h5 Heading +###### h6 Heading + +HTML: + +```html +

h1 Heading

+

h2 Heading

+

h3 Heading

+

h4 Heading

+
h5 Heading
+
h6 Heading
+``` + +
+
+
+ +## Comments + +Comments should be HTML compatible + +```html + +``` +Comment below should **NOT** be seen: + + + +
+
+
+ +## Horizontal Rules + +The HTML `
` element is for creating a "thematic break" between paragraph-level elements. In markdown, you can create a `
` with any of the following: + +* `___`: three consecutive underscores +* `---`: three consecutive dashes +* `***`: three consecutive asterisks + +renders to: + +___ + +--- + +*** + + +
+
+
+ + +## Body Copy + +Body copy written as normal, plain text will be wrapped with `

` tags in the rendered HTML. + +So this body copy: + +```markdown +Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus. Et legere ocurreret pri, animal tacimates complectitur ad cum. Cu eum inermis inimicus efficiendi. Labore officiis his ex, soluta officiis concludaturque ei qui, vide sensibus vim ad. +``` +renders to this HTML: + +```html +

Lorem ipsum dolor sit amet, graecis denique ei vel, at duo primis mandamus. Et legere ocurreret pri, animal tacimates complectitur ad cum. Cu eum inermis inimicus efficiendi. Labore officiis his ex, soluta officiis concludaturque ei qui, vide sensibus vim ad.

+``` + + +
+
+
+ + +## Emphasis + +### Bold +For emphasizing a snippet of text with a heavier font-weight. + +The following snippet of text is **rendered as bold text**. + +```markdown +**rendered as bold text** +``` +renders to: + +**rendered as bold text** + +and this HTML + +```html +rendered as bold text +``` + +### Italics +For emphasizing a snippet of text with italics. + +The following snippet of text is _rendered as italicized text_. + +```markdown +_rendered as italicized text_ +``` + +renders to: + +_rendered as italicized text_ + +and this HTML: + +```html +rendered as italicized text +``` + + +### strikethrough +In GFM (GitHub flavored Markdown) you can do strikethroughs. + +```markdown +~~Strike through this text.~~ +``` +Which renders to: + +~~Strike through this text.~~ + +HTML: + +```html +Strike through this text. +``` + +
+
+
+ + +## Blockquotes +For quoting blocks of content from another source within your document. + +Add `>` before any text you want to quote. + +```markdown +> **Fusion Drive** combines a hard drive with a flash storage (solid-state drive) and presents it as a single logical volume with the space of both drives combined. +``` + +Renders to: + +> **Fusion Drive** combines a hard drive with a flash storage (solid-state drive) and presents it as a single logical volume with the space of both drives combined. + +and this HTML: + +```html +
+

Fusion Drive combines a hard drive with a flash storage (solid-state drive) and presents it as a single logical volume with the space of both drives combined.

+
+``` + +Blockquotes can also be nested: + +```markdown +> Donec massa lacus, ultricies a ullamcorper in, fermentum sed augue. +Nunc augue augue, aliquam non hendrerit ac, commodo vel nisi. +>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor +odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam. +``` + +Renders to: + +> Donec massa lacus, ultricies a ullamcorper in, fermentum sed augue. +Nunc augue augue, aliquam non hendrerit ac, commodo vel nisi. +>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor +odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam. + + +
+
+
+ +## Notices + +We have four notice styles and they extend the standard markdown syntax for block quotes. Basically levels of 3 block quote or greater produce notices in 4 colors: + +### Yellow + +```markdown +>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor +odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam. +``` + +Renders to: + +>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor +odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam. + +### Red + +```markdown +>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor +odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam. +``` + +Renders to: + +>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor +odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam. + +### Blue + +```markdown +>>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor +odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam. +``` + +Renders to: + +>>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor +odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam. + +### Green + +```markdown +>>>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor +odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam. +``` + +Renders to: + +>>>>>> Sed adipiscing elit vitae augue consectetur a gravida nunc vehicula. Donec auctor +odio non est accumsan facilisis. Aliquam id turpis in dolor tincidunt mollis ac eu diam. + +
+
+
+ + +## Lists + +### Unordered +A list of items in which the order of the items does not explicitly matter. + +You may use any of the following symbols to denote bullets for each list item: + +```markdown +* valid bullet +- valid bullet ++ valid bullet +``` + +For example + +```markdown ++ Lorem ipsum dolor sit amet ++ Consectetur adipiscing elit ++ Integer molestie lorem at massa ++ Facilisis in pretium nisl aliquet ++ Nulla volutpat aliquam velit + - Phasellus iaculis neque + - Purus sodales ultricies + - Vestibulum laoreet porttitor sem + - Ac tristique libero volutpat at ++ Faucibus porta lacus fringilla vel ++ Aenean sit amet erat nunc ++ Eget porttitor lorem +``` +Renders to: + ++ Lorem ipsum dolor sit amet ++ Consectetur adipiscing elit ++ Integer molestie lorem at massa ++ Facilisis in pretium nisl aliquet ++ Nulla volutpat aliquam velit + - Phasellus iaculis neque + - Purus sodales ultricies + - Vestibulum laoreet porttitor sem + - Ac tristique libero volutpat at ++ Faucibus porta lacus fringilla vel ++ Aenean sit amet erat nunc ++ Eget porttitor lorem + +And this HTML + +```html +
    +
  • Lorem ipsum dolor sit amet
  • +
  • Consectetur adipiscing elit
  • +
  • Integer molestie lorem at massa
  • +
  • Facilisis in pretium nisl aliquet
  • +
  • Nulla volutpat aliquam velit +
      +
    • Phasellus iaculis neque
    • +
    • Purus sodales ultricies
    • +
    • Vestibulum laoreet porttitor sem
    • +
    • Ac tristique libero volutpat at
    • +
    +
  • +
  • Faucibus porta lacus fringilla vel
  • +
  • Aenean sit amet erat nunc
  • +
  • Eget porttitor lorem
  • +
+``` + +### Ordered + +A list of items in which the order of items does explicitly matter. + +```markdown +1. Lorem ipsum dolor sit amet +2. Consectetur adipiscing elit +3. Integer molestie lorem at massa +4. Facilisis in pretium nisl aliquet +5. Nulla volutpat aliquam velit +6. Faucibus porta lacus fringilla vel +7. Aenean sit amet erat nunc +8. Eget porttitor lorem +``` +Renders to: + +1. Lorem ipsum dolor sit amet +2. Consectetur adipiscing elit +3. Integer molestie lorem at massa +4. Facilisis in pretium nisl aliquet +5. Nulla volutpat aliquam velit +6. Faucibus porta lacus fringilla vel +7. Aenean sit amet erat nunc +8. Eget porttitor lorem + +And this HTML: + +```html +
    +
  1. Lorem ipsum dolor sit amet
  2. +
  3. Consectetur adipiscing elit
  4. +
  5. Integer molestie lorem at massa
  6. +
  7. Facilisis in pretium nisl aliquet
  8. +
  9. Nulla volutpat aliquam velit
  10. +
  11. Faucibus porta lacus fringilla vel
  12. +
  13. Aenean sit amet erat nunc
  14. +
  15. Eget porttitor lorem
  16. +
+``` + +**TIP**: If you just use `1.` for each number, Markdown will automatically number each item. For example: + +```markdown +1. Lorem ipsum dolor sit amet +1. Consectetur adipiscing elit +1. Integer molestie lorem at massa +1. Facilisis in pretium nisl aliquet +1. Nulla volutpat aliquam velit +1. Faucibus porta lacus fringilla vel +1. Aenean sit amet erat nunc +1. Eget porttitor lorem +``` + +Renders to: + +1. Lorem ipsum dolor sit amet +2. Consectetur adipiscing elit +3. Integer molestie lorem at massa +4. Facilisis in pretium nisl aliquet +5. Nulla volutpat aliquam velit +6. Faucibus porta lacus fringilla vel +7. Aenean sit amet erat nunc +8. Eget porttitor lorem + + +
+
+
+ + +## Code + +### Inline code +Wrap inline snippets of code with `` ` ``. + +```markdown +In this example, `
` should be wrapped as **code**. +``` + +Renders to: + +In this example, `
` should be wrapped with **code**. + +HTML: + +```html +

In this example, <section></section> should be wrapped with code.

+``` + +### Indented code + +Or indent several lines of code by at least four spaces, as in: + +
+  // Some comments
+  line 1 of code
+  line 2 of code
+  line 3 of code
+
+ +Renders to: + + // Some comments + line 1 of code + line 2 of code + line 3 of code + +HTML: + +```html +
+  
+    // Some comments
+    line 1 of code
+    line 2 of code
+    line 3 of code
+  
+
+``` + + +### Block code "fences" + +Use "fences" ```` ``` ```` to block in multiple lines of code. + +
+``` markup
+Sample text here...
+```
+
+ + +``` +Sample text here... +``` + +HTML: + +```html +
+  Sample text here...
+
+``` + +### Syntax highlighting + +GFM, or "GitHub Flavored Markdown" also supports syntax highlighting. To activate it, simply add the file extension of the language you want to use directly after the first code "fence", ` ```js `, and syntax highlighting will automatically be applied in the rendered HTML. For example, to apply syntax highlighting to JavaScript code: + +
+```js
+grunt.initConfig({
+  assemble: {
+    options: {
+      assets: 'docs/assets',
+      data: 'src/data/*.{json,yml}',
+      helpers: 'src/custom-helpers.js',
+      partials: ['src/partials/**/*.{hbs,md}']
+    },
+    pages: {
+      options: {
+        layout: 'default.hbs'
+      },
+      files: {
+        './': ['src/templates/pages/index.hbs']
+      }
+    }
+  }
+};
+```
+
+ +Renders to: + +```js +grunt.initConfig({ + assemble: { + options: { + assets: 'docs/assets', + data: 'src/data/*.{json,yml}', + helpers: 'src/custom-helpers.js', + partials: ['src/partials/**/*.{hbs,md}'] + }, + pages: { + options: { + layout: 'default.hbs' + }, + files: { + './': ['src/templates/pages/index.hbs'] + } + } + } +}; +``` + +
+
+
+ + + +## Tables +Tables are created by adding pipes as dividers between each cell, and by adding a line of dashes (also separated by bars) beneath the header. Note that the pipes do not need to be vertically aligned. + + +```markdown +| Option | Description | +| ------ | ----------- | +| data | path to data files to supply the data that will be passed into templates. | +| engine | engine to be used for processing templates. Handlebars is the default. | +| ext | extension to be used for dest files. | +``` + +Renders to: + +| Option | Description | +| ------ | ----------- | +| data | path to data files to supply the data that will be passed into templates. | +| engine | engine to be used for processing templates. Handlebars is the default. | +| ext | extension to be used for dest files. | + +And this HTML: + +```html + + + + + + + + + + + + + + + + + +
OptionDescription
datapath to data files to supply the data that will be passed into templates.
engineengine to be used for processing templates. Handlebars is the default.
extextension to be used for dest files.
+``` + +### Right aligned text + +Adding a colon on the right side of the dashes below any heading will right align text for that column. + +```markdown +| Option | Description | +| ------:| -----------:| +| data | path to data files to supply the data that will be passed into templates. | +| engine | engine to be used for processing templates. Handlebars is the default. | +| ext | extension to be used for dest files. | +``` + +| Option | Description | +| ------:| -----------:| +| data | path to data files to supply the data that will be passed into templates. | +| engine | engine to be used for processing templates. Handlebars is the default. | +| ext | extension to be used for dest files. | + + +
+
+
+ + +## Links + +### Basic link + +```markdown +[Assemble](http://assemble.io) +``` + +Renders to (hover over the link, there is no tooltip): + +[Assemble](http://assemble.io) + +HTML: + +```html +Assemble +``` + + +### Add a title + +```markdown +[Upstage](https://github.com/upstage/ "Visit Upstage!") +``` + +Renders to (hover over the link, there should be a tooltip): + +[Upstage](https://github.com/upstage/ "Visit Upstage!") + +HTML: + +```html +Upstage +``` + +### Named Anchors + +Named anchors enable you to jump to the specified anchor point on the same page. For example, each of these chapters: + +```markdown +# Table of Contents + * [Chapter 1](#chapter-1) + * [Chapter 2](#chapter-2) + * [Chapter 3](#chapter-3) +``` +will jump to these sections: + +```markdown +## Chapter 1 +Content for chapter one. + +## Chapter 2 +Content for chapter one. + +## Chapter 3 +Content for chapter one. +``` +**NOTE** that specific placement of the anchor tag seems to be arbitrary. They are placed inline here since it seems to be unobtrusive, and it works. + + +
+
+
+ + +## Images +Images have a similar syntax to links but include a preceding exclamation point. + +```markdown +![Minion](http://octodex.github.com/images/minion.png) +``` +![Minion](http://octodex.github.com/images/minion.png) + +or +```markdown +![Alt text](http://octodex.github.com/images/stormtroopocat.jpg "The Stormtroopocat") +``` +![Alt text](http://octodex.github.com/images/stormtroopocat.jpg "The Stormtroopocat") + +Like links, Images also have a footnote style syntax + +```markdown +![Alt text][id] +``` +![Alt text][id] + +With a reference later in the document defining the URL location: + +[id]: http://octodex.github.com/images/dojocat.jpg "The Dojocat" + + + [id]: http://octodex.github.com/images/dojocat.jpg "The Dojocat" diff --git a/themes/learn2-git-sync/_demo/versioned-docs/01.basics/02.requirements/01.sub-topic/01.sub-sub-topic/docs.md b/themes/learn2-git-sync/_demo/versioned-docs/01.basics/02.requirements/01.sub-topic/01.sub-sub-topic/docs.md new file mode 100644 index 0000000..9e60d2f --- /dev/null +++ b/themes/learn2-git-sync/_demo/versioned-docs/01.basics/02.requirements/01.sub-topic/01.sub-sub-topic/docs.md @@ -0,0 +1,58 @@ +--- +title: Sub-Sub-Topic +taxonomy: + category: docs +--- + +Lorem markdownum profundo et [bellum sonarent](http://omfgdogs.com/), est cum +Circes nisi quoque pulchra demersit et! Habebas manuque tamen, innumeras solis +successurumque Horis superare Cepheusque pars pericula [vultus +hanc](http://html9responsiveboilerstrapjs.com/), dextera esse fronti. Sedes +lumina! + + host_icmp_dfs = hostMysqlIt(port_portal_boolean, -1 / rateXml, dvd); + vleCrossplatformWins = barUddi + keystroke_im + adc + kilobyte_cdma(99, + fpuDiskDynamic); + signature_dns_aix -= cpu_scalable_web(memorySpyware); + +Corpus nam sensit onerataque crinem imitatus nostris, adsternunturque retro nec +consumpta inponit. Fessa dubium longi. Cuncta visis caput ultra quantaque +incursant cupressus secundo posses. Nudumque bracchia canamus: ingratus dabitur +ligari dixerat tempora; **iuppiter est enim**. Ostendunt ab genitor profectu +pestiferos sed, [nondum frugilegas Libycas](http://heeeeeeeey.com/). + + var malware_qwerty = ram + backlinkNewbieCard + formula + management(25); + publishing(softwareAssociationSaas, integer_row_sequence + linkLog); + var menu = autoresponder_servlet; + file_personal_proxy(fileImpression / rdfKilobitManet(task_multi_desktop, + file, 2)); + domain_big.rdram(rom); + +## Laniata iam Saturnia + +Antium tela, matris deam, postquam et [gnatae](http://www.uselessaccount.com/) +metuit felix maestis! Esse et mente clamavit *sive fuit*? Ego et sitim. + + metal = multiSubnet(disk_recycle.piracySwipeHome(core_expansion, + inboxSdk.staticPop(controlCps)), cellWheel + css( + coreAutoresponderCyberspace), + officeDatabaseProgram.bespokeHypermediaNamespace(homeTutorial, + windows, fiber_dlc_host - mmsTag)); + apple_oop += vaporware_trash_wireless + d_syn(cable_memory - on, + phreaking_hypertext(arraySdkHorse, shellGigabyte)); + java_blacklist_reader(screenshot_meta_crm); + var clobRepeater = memory_runtime_gui; + if (515890 - slashdot_rj * powerCybersquatter) { + sourceBoxSkyscraper(ssid_ethics / seoChip); + defragment -= configurationFileNoc(2); + real_digital.unmountNullBare += 5; + } + +Summo qui deum, **referunt renascitur contra**, fortibus venabula temptat +contigit columnae sacra terga membra naides soporis **meus** corpus. Munere et +una matre arbore potest tabulas, loca tamen cuncta at locum, sua aut Pentheus, +*penates*. Puellae altera simulac, gaudia dum officium truncoque pruinae +contigit ambos Maera esset virga se, vertunt requiemque etenim, in. + +Ne Priamus temptemus silvarum. Opem Pittheus monitae amplexumque rogis, inter +aut convulso videt in Cypro his Tisiphone geminae, foret! diff --git a/themes/learn2-git-sync/_demo/versioned-docs/01.basics/02.requirements/01.sub-topic/docs.md b/themes/learn2-git-sync/_demo/versioned-docs/01.basics/02.requirements/01.sub-topic/docs.md new file mode 100644 index 0000000..a3ca9fd --- /dev/null +++ b/themes/learn2-git-sync/_demo/versioned-docs/01.basics/02.requirements/01.sub-topic/docs.md @@ -0,0 +1,63 @@ +--- +title: Sub-Topic +taxonomy: + category: docs +--- + +Lorem markdownum penna; aras cetera revocatus quidem frigus in. Ut natum +surdaeque *quid*. Volandi viam iter fugae et hic quod quid, opus pete Phaethusa. + +- Laevum ritusque +- Ponat dea fuit mollitaque +- Saepe tempora miserrima late duxerat quoque coniugialia +- Corpore sua iam reversurum agros visa peregrina + +## Praesentia duobus si inplicuit sternebat aguntur urbes + +Invisi sororum honorque: recursus corpore est flammaque corporeasque magno, dis. +Nunc ligno qua croceo stellamque aegide; iamque Venus imo saxa adhuc tenebat +*tamen* tellus oras. Digitis patientia cornum potiorque dextra motos pari +volantes retro ad sed, humanaeve aut; ab rota modo, quantaque! Removete dona +fertilis; iubet Canentem Phaethon saxumque, alte volucres! + + rw_horizontal.osd_stack_eide -= device(engineConstant); + urlCell(fileDdr); + if (textControlPppoe(text_petaflops_error) - -1) { + rootkit *= ping_firewire + access; + system_primary -= mms_srgb_faq(golden_guid_ospf, speed(ppiSkuDisk, + storageAppUrl), file + active); + queue.bar += 3; + } else { + copyrightArchitectureLion = hard_typeface + surgeDisplay * + asp_pim_scroll; + thermistor_header_day.mirror_uml = blogTSpeed.json_address_honeypot(ttl, + hubIcq(1)); + dragFloppy += botMacWavelength.protector_wavelength(d_youtube); + } + var number = key.png_uat.systemFirmware(fpuModemPerl + -4) - + promptDriveDrive.hardDomain(cardVariableMini); + +## Pelagi illa est et et quod + +Hic lacrimis [caput](http://jaspervdj.be/) est consilii, sanguine luctus +gemitusque blandis. Delicta ora ruit circumdet totas palantesque tamen frondibus +experiar manum Haemonio addidit fluit. Ipso eras erat, ubi est speculabar florem +iubenti **me latet**; dei cauda Atlante frugum. + +1. Viso cum +2. Manant diris +3. Enim adverso Talia et interea iurares +4. Hoc iussit meruisse suum e gerit sub +5. Sicelidas ait + +Flectat fatorum nusquam spernimur cumulum alis flaventibus modo mater felix +induruit feri et *postes*, velle! Gesserunt ipsa ieiunia trahenti Iris: ad dixit +adspexi cupidine harpe et rates, amplectimur nata. Spargit te laedere nec; +remisit pars reppulit. Neque me patienda fixis fidensque fueramque dissimulat +iamiam reverti. Sed hic aut Phorbantis +[optas](http://www.thesecretofinvisibility.com/), luctus nunc glandes miremur +qui sumpto, subit. + +Ab adesse dixit data habet altera rotae et stirpes vivacem. Natalis quam? Nunc +eunt [Venusque](http://twitter.com/search?q=haskell) facit Teucri, nec vestes, +nova percutiens confertque Minyis? diff --git a/themes/learn2-git-sync/_demo/versioned-docs/01.basics/02.requirements/02.sub-topic-v2-only/docs.20.md b/themes/learn2-git-sync/_demo/versioned-docs/01.basics/02.requirements/02.sub-topic-v2-only/docs.20.md new file mode 100644 index 0000000..577817f --- /dev/null +++ b/themes/learn2-git-sync/_demo/versioned-docs/01.basics/02.requirements/02.sub-topic-v2-only/docs.20.md @@ -0,0 +1,63 @@ +--- +title: Sub-Topic v2.0 Only +taxonomy: + category: docs +--- + +Lorem markdownum penna; aras cetera revocatus quidem frigus in. Ut natum +surdaeque *quid*. Volandi viam iter fugae et hic quod quid, opus pete Phaethusa. + +- Laevum ritusque +- Ponat dea fuit mollitaque +- Saepe tempora miserrima late duxerat quoque coniugialia +- Corpore sua iam reversurum agros visa peregrina + +## Praesentia duobus si inplicuit sternebat aguntur urbes + +Invisi sororum honorque: recursus corpore est flammaque corporeasque magno, dis. +Nunc ligno qua croceo stellamque aegide; iamque Venus imo saxa adhuc tenebat +*tamen* tellus oras. Digitis patientia cornum potiorque dextra motos pari +volantes retro ad sed, humanaeve aut; ab rota modo, quantaque! Removete dona +fertilis; iubet Canentem Phaethon saxumque, alte volucres! + + rw_horizontal.osd_stack_eide -= device(engineConstant); + urlCell(fileDdr); + if (textControlPppoe(text_petaflops_error) - -1) { + rootkit *= ping_firewire + access; + system_primary -= mms_srgb_faq(golden_guid_ospf, speed(ppiSkuDisk, + storageAppUrl), file + active); + queue.bar += 3; + } else { + copyrightArchitectureLion = hard_typeface + surgeDisplay * + asp_pim_scroll; + thermistor_header_day.mirror_uml = blogTSpeed.json_address_honeypot(ttl, + hubIcq(1)); + dragFloppy += botMacWavelength.protector_wavelength(d_youtube); + } + var number = key.png_uat.systemFirmware(fpuModemPerl + -4) - + promptDriveDrive.hardDomain(cardVariableMini); + +## Pelagi illa est et et quod + +Hic lacrimis [caput](http://jaspervdj.be/) est consilii, sanguine luctus +gemitusque blandis. Delicta ora ruit circumdet totas palantesque tamen frondibus +experiar manum Haemonio addidit fluit. Ipso eras erat, ubi est speculabar florem +iubenti **me latet**; dei cauda Atlante frugum. + +1. Viso cum +2. Manant diris +3. Enim adverso Talia et interea iurares +4. Hoc iussit meruisse suum e gerit sub +5. Sicelidas ait + +Flectat fatorum nusquam spernimur cumulum alis flaventibus modo mater felix +induruit feri et *postes*, velle! Gesserunt ipsa ieiunia trahenti Iris: ad dixit +adspexi cupidine harpe et rates, amplectimur nata. Spargit te laedere nec; +remisit pars reppulit. Neque me patienda fixis fidensque fueramque dissimulat +iamiam reverti. Sed hic aut Phorbantis +[optas](http://www.thesecretofinvisibility.com/), luctus nunc glandes miremur +qui sumpto, subit. + +Ab adesse dixit data habet altera rotae et stirpes vivacem. Natalis quam? Nunc +eunt [Venusque](http://twitter.com/search?q=haskell) facit Teucri, nec vestes, +nova percutiens confertque Minyis? diff --git a/themes/learn2-git-sync/_demo/versioned-docs/01.basics/02.requirements/docs.md b/themes/learn2-git-sync/_demo/versioned-docs/01.basics/02.requirements/docs.md new file mode 100644 index 0000000..af273d1 --- /dev/null +++ b/themes/learn2-git-sync/_demo/versioned-docs/01.basics/02.requirements/docs.md @@ -0,0 +1,42 @@ +--- +title: Requirements +taxonomy: + category: docs +--- + +Lorem markdownum pius. Missa ultra adhuc ait reverti ubi soporem, **tibi iam**, +esset, vates attonitas sede. Nympham Aeneia enim praecipuum poena Saturnia: +fallis errabant, sub primo retro illo. Caesariem tincta natam contineat demens. +*Si sed* ardescunt Delphice quasque alteraque servant. + +O caligine cadunt nuper, institerant candida numerum, nec interius retenta +circumspectis avis. Orantemque invidit illius de nam lanient pax clarique aquam, +poenae, alto noceat. + +## Percussae oculos + +Defendentia **flammas mundi salutem** fraudate, non munus revirescere tamen, +imago? Ad sit festumque [super](http://hipstermerkel.tumblr.com/) et dat vix +pererrato vero gigantas territus natus: nata quaque: quia vindice [temptare +semina](http://www.lipsum.com/)! Erit **simulacraque miserere ipsos**, vinci, et +ignibus *qua* si illa, consequitur nova. Constitit habet coniugis; coegit nostri +in fuissem! + +Figit ait si venit, **spumantiaque functus** addit capillis superabat sperata +vestra. In nymphas cervus eram feret lingua, hunc, nulla quae. Gens *artisque* +ad peregit nitido cursu pondere. Petitur ex virtus, terrae infesto Circen: voce +roganti latet. Exit hydrae, expellitur onerosa gratissima iniustum Clytii +crimen. + +## Pactique in quibus pariterque praebebat mare dapes + +Sonat timeam furori non Sigei furiali os ut, orbe! Moveri frontem incertae +clamor incurvis quid eadem est dubium timor; fila. Suos *trepidaeque* cornua +sparsus. + +Mihi [aut palustribus](http://www.billmays.net/), natus semilacerque audito +Enaesimus, fuerat refert. Aevi et evadere potentior Pergama sis. + +Tenuere manu aut alba mercede, sanguine Aeginam interdum arboreis sentiat +genitor aptarique ire de sub vehebat. Aspera sedesque, et tempus deseruere +contenta, rex interea nisi arma. diff --git a/themes/learn2-git-sync/_demo/versioned-docs/01.basics/03.installation/docs.md b/themes/learn2-git-sync/_demo/versioned-docs/01.basics/03.installation/docs.md new file mode 100644 index 0000000..e56f26b --- /dev/null +++ b/themes/learn2-git-sync/_demo/versioned-docs/01.basics/03.installation/docs.md @@ -0,0 +1,64 @@ +--- +title: Installation +taxonomy: + category: docs +--- + +Lorem markdownum fama iusserat **sit trunca**, isto et quid dolens Aeetias. +Indice [pater in](http://www.mozilla.org/) constitit *munus* voces bidentum +officium te utrique animaeque multum dedit. Coimus premens? Flet hospes ad +nequeunt uti; sacerdotis gestit. Dis comas meum texerat frustra, saniemque +restituit ullus, vox. + +Atque et [quoque](http://www.youtube.com/watch?v=MghiBW3r65M): nec **ales +aspicis** ille honorem! Et novissima facinus cursum, futura acutis. Funereum cur +guttura servati. Aberat [mersa acta](http://www.wedrinkwater.com/) primi, sed +superum. + +## Agros aut + +Tum limen malo tibi, corporeusque sine *Caphereus dissimiles* tecta demittit +fletus: duritia prior, amici! Terrae furibunda vini stetit illius temptamina +virtus sagacior et nunc vidi. Telae morata nulla. Quid femina Iovi bella, *in* +memorante sublimis. + +## Dubita qui messoris pudet spectat inbutam est + +Quoque quantum manebat huc fuerim dabimus socium in, illi fibris ore error +murmure primis, natis nunc dixi occupat. Dea rogantem fugit audet, quantoque +praeteriti illis, quamlibet teneo, ora agmen desinite, deum, desistere. Frustra +ferunt fiunt, pellem, qua saepe variarum. *Non quam* quae monte, addita +hominumque hic tenentes [praelate](http://www.metafilter.com/) venturi florentis +videtur. Est Caucason nostros *iubent serpentibus* posuit Mnemonidas ducere +cecidit flumina. + +1. Sit bis ipse in ossa vocavit status +2. Et defendere +3. Quod Pallas ilia Amphrisia caecus procubuisse dixit +4. Lumina qua negaverit vaga facit gelidae forma +5. Sic decepto recordor arboris ducentem poena +6. Dea patre lacrimas quamquam + +## Sed ut Nape quid coniunx oscula + +Ratus quoque nostrae invenies adspiciam data Eurytidae et mora ense +[cognitus](http://landyachtz.com/): meae pariterque, **fraude pro**. In illi +aetherias quarum. Habendus medioque exponit cornua, clarum nuncupat inquit! Tuum +denique: undis pete vitamque montes, vertitur, est tibi pectus [volenti +amorem](http://news.ycombinator.com/), indicat mirum. Gangetica pennas suaque +quo vultus iter miratus conubio heros est extrahit. + +> Moras hospitio, et fugit macies, locorum? A ira requievit inmani coronatis +> quis mensis: rite quater per; esse timor Pittheus traiecit colebas, nervis +> longam. Est [corpora enim ponit](http://www.billmays.net/), capillos esses. +> Anum fortis tremulis nunc infracto frontem nec. Draconum iamque *alto*, his +> ubique mox matrum demisit suo optet ad! + +## Sensit multis + +Ipse hic nutritaque etiam pedibus formae cernes. Nunc bibes sed pro +[ipse](http://haskell.org/), et operum et victus maneas, distincta. + +Eo doluit obliquantem Phoebus amat iam fumantiaque et sidera cadet captatam +marmoris. Conantem cursuque crudelibus velut, penitusque est sinu sola fuerat +est. diff --git a/themes/learn2-git-sync/_demo/versioned-docs/01.basics/chapter.md b/themes/learn2-git-sync/_demo/versioned-docs/01.basics/chapter.md new file mode 100644 index 0000000..04df5b5 --- /dev/null +++ b/themes/learn2-git-sync/_demo/versioned-docs/01.basics/chapter.md @@ -0,0 +1,12 @@ +--- +title: Basics +taxonomy: + category: docs +child_type: docs +--- + +### Chapter 1 + +# Basics + +Discover the **basic** principles diff --git a/themes/learn2-git-sync/_demo/versioned-docs/02.intermediate/01.topic-1/docs.md b/themes/learn2-git-sync/_demo/versioned-docs/02.intermediate/01.topic-1/docs.md new file mode 100644 index 0000000..66258e5 --- /dev/null +++ b/themes/learn2-git-sync/_demo/versioned-docs/02.intermediate/01.topic-1/docs.md @@ -0,0 +1,51 @@ +--- +title: Topic 1 +taxonomy: + category: docs +process: + twig: true +--- + +Lorem markdownum murmure fidissime suumque. Nivea agris, duarum longaeque Ide +rugis Bacchum patria tuus dea, sum Thyneius liquor, undique. **Nimium** nostri +vidisset fluctibus **mansit** limite rigebant; enim satis exaudi attulit tot +lanificae [indice](http://www.mozilla.org/) Tridentifer laesum. Movebo et fugit, +limenque per ferre graves causa neque credi epulasque isque celebravit pisces. + +- Iasone filum nam rogat +- Effugere modo esse +- Comminus ecce nec manibus verba Persephonen taxo +- Viribus Mater +- Bello coeperunt viribus ultima fodiebant volentem spectat +- Pallae tempora + +## Fuit tela Caesareos tamen per balatum + +De obstruat, cautes captare Iovem dixit gloria barba statque. Purpureum quid +puerum dolosae excute, debere prodest **ignes**, per Zanclen pedes! *Ipsa ea +tepebat*, fiunt, Actoridaeque super perterrita pulverulenta. Quem ira gemit +hastarum sucoque, idem invidet qui possim mactatur insidiosa recentis, **res +te** totumque [Capysque](http://tumblr.com/)! Modo suos, cum parvo coniuge, iam +sceleris inquit operatus, abundet **excipit has**. + +In locumque *perque* infelix hospite parente adducto aequora Ismarios, +feritatis. Nomine amantem nexibus te *secum*, genitor est nervo! Putes +similisque festumque. Dira custodia nec antro inornatos nota aris, ducere nam +genero, virtus rite. + +- Citius chlamydis saepe colorem paludosa territaque amoris +- Hippolytus interdum +- Ego uterque tibi canis +- Tamen arbore trepidosque + +## Colit potiora ungues plumeus de glomerari num + +Conlapsa tamen innectens spes, in Tydides studio in puerili quod. Ab natis non +**est aevi** esse riget agmenque nutrit fugacis. + +- Coortis vox Pylius namque herbosas tuae excedere +- Tellus terribilem saetae Echinadas arbore digna +- Erraverit lectusque teste fecerat + +Suoque descenderat illi; quaeritur ingens cum periclo quondam flaventibus onus +caelum fecit bello naides ceciderunt cladis, enim. Sunt aliquis. diff --git a/themes/learn2-git-sync/_demo/versioned-docs/02.intermediate/02.topic-2/docs.md b/themes/learn2-git-sync/_demo/versioned-docs/02.intermediate/02.topic-2/docs.md new file mode 100644 index 0000000..31250be --- /dev/null +++ b/themes/learn2-git-sync/_demo/versioned-docs/02.intermediate/02.topic-2/docs.md @@ -0,0 +1,49 @@ +--- +title: Topic 2 +taxonomy: + category: docs +--- + +Lorem *markdownum saxum et* telum revellere in victus vultus cogamque ut quoque +spectat pestiferaque siquid me molibus, mihi. Terret hinc quem Phoebus? Modo se +cunctatus sidera. Erat avidas tamen antiquam; ignes igne Pelates +[morte](http://www.youtube.com/watch?v=MghiBW3r65M) non caecaque canam Ancaeo +contingat militis concitus, ad! + +## Et omnis blanda fetum ortum levatus altoque + +Totos utinamque nutricis. Lycaona cum non sine vocatur tellus campus insignia et +absumere pennas Cythereiadasque pericula meritumque Martem longius ait moras +aspiciunt fatorum. Famulumque volvitur vultu terrae ut querellas hosti deponere +et dixit est; in pondus fonte desertum. Condidit moras, Carpathius viros, tuta +metum aethera occuluit merito mente tenebrosa et videtur ut Amor et una +sonantia. Fuit quoque victa et, dum ora rapinae nec ipsa avertere lata, profugum +*hectora candidus*! + +## Et hanc + +Quo sic duae oculorum indignos pater, vis non veni arma pericli! Ita illos +nitidique! Ignavo tibi in perdam, est tu precantia fuerat +[revelli](http://jaspervdj.be/). + +Non Tmolus concussit propter, et setae tum, quod arida, spectata agitur, ferax, +super. Lucemque adempto, et At tulit navem blandas, et quid rex, inducere? Plebe +plus *cum ignes nondum*, fata sum arcus lustraverat tantis! + +## Adulterium tamen instantiaque puniceum et formae patitur + +Sit paene [iactantem suos](http://www.metafilter.com/) turbineo Dorylas heros, +triumphos aquis pavit. Formatae res Aeolidae nomen. Nolet avum quique summa +cacumine dei malum solus. + +1. Mansit post ambrosiae terras +2. Est habet formidatis grandior promissa femur nympharum +3. Maestae flumina +4. Sit more Trinacris vitasset tergo domoque +5. Anxia tota tria +6. Est quo faece nostri in fretum gurgite + +Themis susurro tura collo: cunas setius *norat*, Calydon. Hyaenam terret credens +habenas communia causas vocat fugamque roganti Eleis illa ipsa id est madentis +loca: Ampyx si quis. Videri grates trifida letum talia pectus sequeretur erat +ignescere eburno e decolor terga. diff --git a/themes/learn2-git-sync/_demo/versioned-docs/02.intermediate/03.topic-3/docs.md b/themes/learn2-git-sync/_demo/versioned-docs/02.intermediate/03.topic-3/docs.md new file mode 100644 index 0000000..559ef42 --- /dev/null +++ b/themes/learn2-git-sync/_demo/versioned-docs/02.intermediate/03.topic-3/docs.md @@ -0,0 +1,46 @@ +--- +title: Topic 3 +taxonomy: + category: docs +--- + +Lorem markdownum in maior in corpore ingeniis: causa clivo est. Rogata Veneri +terrebant habentem et oculos fornace primusque et pomaria et videri putri, +levibus. Sati est novi tenens aut nitidum pars, spectabere favistis prima et +capillis in candida spicis; sub tempora, aliquo. + +- Esse sermone terram longe date nisi coniuge +- Revocamina lacrimas virginitate deae loquendi +- Parili me coma gestu opis trabes tu +- Deum vidi est voveas laurus magniloquo tuaque + +Nempe nec sonat Farfarus Charybdis elementa. Quam contemptaque vocis damnandus +corpore, merui, nata nititur. + +## Nubibus ferunt + +Una Minos. Opem saepe quodsi Peneia; tanto quas procul sanctis viribus. Secuta +et nisi **alii lanas**, post fila, *non et* viscere hausit orbe faciat vasta. + + var window = maximize_sample_youtube; + yobibyte *= point + dns; + if (sdkCloud(2) < agp(shareware)) { + www_eps_oasis.epsCcPayload = remote_jsf; + functionViewCard += filename_bin - tagPrimaryVeronica; + } else { + clickPageIsdn += virtual_hard; + smart_interlaced(docking); + matrix = northbridgeMatrixDegauss(deprecatedOnSidebar / left_cut); + } + +Nunc nec *huic digna forsitan* in iubent mens, muneris quoque? Comas in quasque +verba tota [Graiorum](http://www.thesecretofinvisibility.com/) fuerunt +[quatiatur Chrysenque oculis](http://omgcatsinspace.tumblr.com/) perque ea +quoque quae. Forent adspicit natam; staret fortissimus patre Cephenum armaque. +Dilapsa carminibus domitis, corpora sub huc strepitum montano hanc illa Hypseus +inposito do ignes intextum post arma. + +Superem venit turba sulcavitque morae. Suppositosque unam comitantibus Olympus +ille hostibus inmensum captis senectae exstinctum lunaria. Dura ille quoque, +maiora neu coniunx. **Successu foret lemnius** tamen illis **do concipit +deerat**! diff --git a/themes/learn2-git-sync/_demo/versioned-docs/02.intermediate/04.topic-4/docs.md b/themes/learn2-git-sync/_demo/versioned-docs/02.intermediate/04.topic-4/docs.md new file mode 100644 index 0000000..3ef670d --- /dev/null +++ b/themes/learn2-git-sync/_demo/versioned-docs/02.intermediate/04.topic-4/docs.md @@ -0,0 +1,61 @@ +--- +title: Topic 4 +taxonomy: + category: docs +--- + +Lorem markdownum scire deposito manumque facinus. Opprobria sic Iris vimque +filia Thaumantea supremis solet occupat peperit, mittit, ea *ille* tamen forma: +corpora. Quoniam adunci, sed Cragon potitus at voluere vallem Lyaeumque evehor +quaedam dixit vocis lacrimasque mundi possum. + +[Robustior carmine](http://www.youtube.com/watch?v=MghiBW3r65M). Uno pars simul +exhortanturque fletu; suas inquit paulum moriensque sumpserat totiens et sive. +Violenta stabat Dictaeaque hinc tophis rustica ora nitar tale divum, in versus +illam lacerta domito silvas memento est. Cinyrae edidicitque moram pectora et +quoque terrenae rubor populo peperit condebat in. Verum digestum referat cum, +dubitat collo sine candida flores pendentia, manes. + +## Nostrae confido + +Nec valle **natus puerum**, ora noverat solibus pinguesque non; Pisaeae in. +Adhuc se perque forsitan in haberent *gaudet* status portentificisque tristia +promissaque bove est ora locum. Subit etsi, et vatibus cumque? Et pudorem sim +fuit haec **nostras Caenis inploravere** quod; faciemque sanguis furentem +vivere, suaque. + +1. In iovis trahens est +2. Nexibus ludunt tinxit nudus adspergine fecit +3. Si corpus miracula oculos frater +4. Sed petunt proxima ad monitu erigitur Apollineos +5. Hunc laceri alvum et est fons fefellimus + +## Pater res tandem promissi collige + +Erubuit quod arcanis inquit succinctis tectae frenis canendo clausas, fletus +puellis proceres terrore in zona! Tenet quoque fortuna haud resuscitat +maledicere hostem. Imago ne fuit levi tertius ferro calamo velle talia fallit +gratia, Theron **aetas nolis** narrat meri in **fuga**. + + var cycleMainframe = 4; + bankruptcy += linuxMcaSsh(2, jquery_eps, monitor_add) - qwerty; + if (root - software + 4) { + snippet_mini_win *= ipv(dimm, protector_add, 3 + raid_matrix_smm); + python(95, 42); + } else { + window_soap += text_chip_screenshot; + } + +## Lucis onus dolet evehor vulnera gelidos + +Nec tauri illa cui hic contenta patuit, terras in et et suum [mutet +pater](http://www.mozilla.org/), alta, et a. Addit nec figuras terris Aeacus, +data comites cernit, et parte. Cumarum *expresso*. + +1. Ira deo unus ferrugine stant vulnere traharis +2. Vulnus fratribus modo quercus longa ego dederat +3. Versis Saturnia toros suberant +4. Decet tollere mea te insanis inponis exarsit + +Tenebat saltatibus, qua namque statuit dies ferre annum, sit summa in tamen +tabent populique. Pariter iterum sunt, inscius, verum. diff --git a/themes/learn2-git-sync/_demo/versioned-docs/02.intermediate/chapter.md b/themes/learn2-git-sync/_demo/versioned-docs/02.intermediate/chapter.md new file mode 100644 index 0000000..5c3dc7d --- /dev/null +++ b/themes/learn2-git-sync/_demo/versioned-docs/02.intermediate/chapter.md @@ -0,0 +1,12 @@ +--- +title: Intermediate +taxonomy: + category: docs +child_type: docs +--- + +### Chapter 2 + +# Intermediate + +Delve deeper into more **complex** topics diff --git a/themes/learn2-git-sync/_demo/versioned-docs/03.advanced/01.adv-topic-1/docs.md b/themes/learn2-git-sync/_demo/versioned-docs/03.advanced/01.adv-topic-1/docs.md new file mode 100644 index 0000000..f650e0e --- /dev/null +++ b/themes/learn2-git-sync/_demo/versioned-docs/03.advanced/01.adv-topic-1/docs.md @@ -0,0 +1,57 @@ +--- +title: Advanced Topic 1 +taxonomy: + category: docs +--- + +Lorem markdownum voces. Adire nant ingreditur quam evadere dixit caelestum +meliora. Induitur videndi Timoli videres et *quae*, niteant. + + if (cyberspace + superscalarBacklink) { + language_raw *= 78; + caps -= dot_vga; + } else { + nntpPingPoint(chip(ip_fsb, boxRepeater, art)); + manetRgbHeader /= backside; + } + if (dvd(16, ide_blacklist)) { + nodeTftpPpga = -5; + mips.aiffTCodec *= compiler_target_bus; + } + var eup = native_page_utility; + if (software) { + progressive *= superscalar_bot_script; + regularScroll = internetRayBlu; + } + progressive_compression_ipv = freewarePrebindingRoom(newsgroup); + +In *nubes pallor potuit* non, parenti auctorem urbis. Viderat at quicquam +piscator nunc prosunt ponit. + +## Fecere conplexa et utque et habetur iacentia + +Haud rotarum, et hospes et est, remittit tecta. Defecerat mille, perit *tale +Laomedonque* austri, scissaque incumbens prisci ferunt [ibi cumque +horror](http://example.com/) gravis. + +1. Accipit fraterno quantum dicit +2. Sparsit et tanget in coniunx putares oravit +3. Fuit et flumina +4. Inprudens coloque + +## Sentiet etiam + +In carmen, et quod, satiata, corpore semper mando; murum este *memores*. Si +felicia paratu voluit, nova illa tamen hanc et pressa caeli Hippolytus tinxit, +cunctis. + +Nitido arcisque nisi dedisse? Est atque ferasque Aeneas! Auro acui laedere, sed +vertit quoque, adde nec! + +Et qua quem, **verba** citus ero favorem, spectare tam, aureae Echionio facti +virginis nullo. Auras cura tantum, una ibat tecta, mihi erit. + +Igitur increpat ululavit capulo: inmenso [moriturae](http://seenly.com/) +artifices Sidonis loricamque regebat iustius: repetam more labores datae! +Praeterque truncus face: parte et vestram Aethiopum signum Pelasgi figurae +nostroque. diff --git a/themes/learn2-git-sync/_demo/versioned-docs/03.advanced/02.adv-topic-2/docs.md b/themes/learn2-git-sync/_demo/versioned-docs/03.advanced/02.adv-topic-2/docs.md new file mode 100644 index 0000000..de32679 --- /dev/null +++ b/themes/learn2-git-sync/_demo/versioned-docs/03.advanced/02.adv-topic-2/docs.md @@ -0,0 +1,71 @@ +--- +title: Advanced Topic 2 +taxonomy: + category: docs +--- + +Lorem markdownum vides aram est sui istis excipis Danai elusaque manu fores. +Illa hunc primo pinum pertulit conplevit portusque pace *tacuit* sincera. Iam +tamen licentia exsulta patruelibus quam, deorum capit; vultu. Est *Philomela +qua* sanguine fremit rigidos teneri cacumina anguis hospitio incidere sceptroque +telum spectatorem at aequor. + + if (cssDawP >= station) { + dllCdmaCpc += 919754; + } else { + superscalar += -3 + phishing; + } + pup_ram_bloatware(2 * network(linkedin)); + var vfatWhite = serpXmp + paperPitchPermalink(enterprise_and) - 5; + systemBandwidthAtm = 9 + station; + rw_menu_enterprise *= on_midi / interpreter.adPpp( + correctionIntegratedBalancing, bar, real) - user_remote_zebibyte( + desktop(lun_flops_wamp, technology_peripheral_dv, spriteHit)); + +Prochytenque ergo ait aequoreo causa ardere, ex vinaque est, accingere, abest +nunc sanguine. Est forma admissum adspexit pharetraque regat prece fremit clamat +memorantur evanuit foret ferinas, senserat infringat illa incumbere excipit +ulnas. Est undis soror animi diem continuo [videres +fratres](http://www.reddit.com/r/haskell)? [Meo iam +mihi](http://html9responsiveboilerstrapjs.com/) miserum fateor, in votum +iuvenis, aures? Qui labor nulla telluris valerem erat hoc, sedula. + + if (bus_overclocking_server > 891985) { + compression = textWep - gatePlatform; + } else { + fileTweak += file + so_mouse_sram; + pda_radcab_eup = tcp_opengl_refresh(network_phishing - realityDel, 5, + 5); + bounce_monitor_dns = 4; + } + fddi_virtualization_file *= drag_infringement(minicomputerServlet + -1 + + gif_white(utf, blog, cloud), dvdMacintosh - radcab_horizontal + + cpu_recycle_quicktime(ascii)); + ad += tableCapsTime - 5 + keyboard_card - -2 + cc; + if (raw_bloatware_compression < script_expression) { + fiBps(printer_php); + ipx = biometricsFullDvi(bootComponentAnsi, 929326, 38); + } + +## Dent et ignavus constant tamque + +Harenosi praenovimus illa homines, sumit levem et Minyeias genu finita ne quae +capi vidisse concipit. Fera carmine sinistro in licet? Quoque nam an pereat pro; +seu male mens favorem, illa! Longo tuas: [una medioque +caespite](http://www.lipsum.com/) nomen. Et amor artes Est tempore nupta +generumque olivae stabat. + +> Fuit vasto sit, *rite bellatricemque misceri*. Amore tauri qua laborum Iovique +> est terra sic et aut eminus pretiosior conveniant **possit**. Tyranni procos. +> Ipsa dracones carinam, ultima, pelagi Boreae quodque, teli dictu volucres: +> quaeratur ostendit debere validisne? Abdita cingere dixit amat pinguis vultus +> securim, venter in cognoscere prima *da*? + +**Cavis in pro** suspicere multis, moto neve vibrataque nitidum cessit +dignabitur pater similis exercet Procne, Anius, nec? Risit luserat meumque; ubi +et chlamydem inque: id mihi. + +Populi et emicat et pectora concussit precibus qui et Hector flammis. Pergama +tenebrisque certe arbiter superfusis genetrix fama; cornu conlato foedere +adspexisse **rivos quoque** nec profugos nunc, meritisne +[carbasa](http://reddit.com/r/thathappened). diff --git a/themes/learn2-git-sync/_demo/versioned-docs/03.advanced/chapter.md b/themes/learn2-git-sync/_demo/versioned-docs/03.advanced/chapter.md new file mode 100644 index 0000000..e37fc52 --- /dev/null +++ b/themes/learn2-git-sync/_demo/versioned-docs/03.advanced/chapter.md @@ -0,0 +1,12 @@ +--- +title: Advanced +taxonomy: + category: docs +child_type: docs +--- + +### Chapter 3 + +# Advanced + +Get into the **nitty gritty** with these advanced topics diff --git a/themes/learn2-git-sync/_demo/versioned-docs/feed/docs.md b/themes/learn2-git-sync/_demo/versioned-docs/feed/docs.md new file mode 100644 index 0000000..d46ca5d --- /dev/null +++ b/themes/learn2-git-sync/_demo/versioned-docs/feed/docs.md @@ -0,0 +1,11 @@ +--- +visible: false +content: + items: + '@taxonomy.category': 'docs' + order: + by: date + dir: desc +--- + +Non-visible page for RSS feed page collection. RSS feed URL is ../feed.rss diff --git a/themes/learn2-git-sync/blueprints.yaml b/themes/learn2-git-sync/blueprints.yaml new file mode 100644 index 0000000..740937f --- /dev/null +++ b/themes/learn2-git-sync/blueprints.yaml @@ -0,0 +1,133 @@ +name: Learn2 Git Sync +type: theme +slug: learn2-git-sync +version: 1.6.6 +description: "A customized version of the Learn2 theme for use with the Learn2 with Git Sync skeleton package. Includes selectable visual styles." +icon: git +author: + name: Hibbitts Design + email: hello@hibbittsdesign.org + url: http://hibbittsdesign.org +homepage: https://github.com/hibbitts-design/grav-theme-learn2-git-sync +demo: http://demo.hibbittsdesign.org/grav-learn2-git-sync/ +keywords: learn2, gitsync +bugs: https://github.com/hibbitts-design/grav-theme-learn2-git-sync/issues +license: MIT + +dependencies: + - { name: grav, version: '>=1.6.0' } + - anchors + - breadcrumbs + - external_links + - feed + - git-sync + - markdown-notices + - prism-highlight + - simplesearch + - shortcode-core + - learn2 + +form: + validation: loose + fields: + + gitsyncoptions: + type: section + title: 'Git Sync Link Options' + underline: true + + github.position: + type: select + size: medium + classes: fancy + label: Git Link Position + options: + top: Top + bottom: Bottom + off: Off + + github.icon: + type: input.text + size: small + label: Custom Git Link Font Awesome Icon + description: Icon short name. + help: Enter the short name of the Font Awesome icon for the link, for example 'gitlab'. + validate: + type: text + + github.tree: + type: text + label: Custom Git Repository Tree URL + help: Enter the URL that leads to the pages folder of your Git Repository. + description: "URL path to the pages folder, but with '/pages' and everything following it removed. For example, 'https://github.com/paulhibbitts/demo-grav-learn2-with-git-sync/tree/master'." + + siteandpageoptions: + type: section + title: 'Learn 2 Theme Options' + underline: true + + enable_doc_versioning: + type: toggle + label: 'Document Versioning' + description: Support display of version specific docs using the multi-language feature. + highlight: 1 + default: 0 + options: + 1: 'Yes' + 0: 'No' + validate: + type: bool + + hide_site_title: + type: toggle + label: 'Hide Site Title' + highlight: 1 + default: 0 + options: + 1: 'Yes' + 0: 'No' + validate: + type: bool + + style: + type: select + size: medium + label: Style + description: Custom style selection. + default: default + options: + default: Default + hoth: Hoth + longyearbyen: Longyearbyen + spitsbergen: Spitsbergen (Hoth v2) + + top_level_version: + type: toggle + label: Top Level Version + highlight: 1 + default: 0 + options: + 1: Enabled + 0: Disabled + validate: + type: bool + + home_url: + type: text + label: Home URL + placeholder: http://getgrav.org + validate: + type: text + + google_analytics_code: + type: text + label: Google Analytics Code + placeholder: UA-XXXXXXXX-X + validate: + type: text + + default_taxonomy_category: + type: text + label: Default Taxonomy Category + validate: + required: true diff --git a/themes/learn2-git-sync/blueprints/chapter.yaml b/themes/learn2-git-sync/blueprints/chapter.yaml new file mode 100644 index 0000000..a14e4ee --- /dev/null +++ b/themes/learn2-git-sync/blueprints/chapter.yaml @@ -0,0 +1,25 @@ +title: Chapter +'@extends': + type: default + context: blueprints://pages + +form: + fields: + tabs: + + fields: + content: + type: tab + + fields: + + content: + markdown: true + default: "### Chapter Number\n\n# Chapter Title\n\nChapter description." + + options: + fields: + header.taxonomy.category: + type: hidden + label: Default Taxonomy Category + data-default@: '\Grav\Theme\Learn2GitSync::getdefaulttaxonomycategory' diff --git a/themes/learn2-git-sync/blueprints/docs.yaml b/themes/learn2-git-sync/blueprints/docs.yaml new file mode 100644 index 0000000..b875523 --- /dev/null +++ b/themes/learn2-git-sync/blueprints/docs.yaml @@ -0,0 +1,47 @@ +title: Docs +'@extends': + type: default + context: blueprints://pages + +form: + fields: + tabs: + + fields: + content: + type: tab + + fields: + + content: + markdown: true + default: "Your page content goes here." + + options: + fields: + taxonomies: + fields: + header.taxonomy: + unset@: true + + header.taxonomy.category: + type: selectize + label: Category + classes: fancy + data-default@: '\Grav\Theme\Learn2GitSync::getdefaulttaxonomycategory' + validate: + type: commalist + + header.taxonomy.tag: + type: selectize + label: Tag + classes: fancy + validate: + type: commalist + + advanced: + fields: + overrides: + fields: + header.visible: + default: 1 diff --git a/themes/learn2-git-sync/blueprints/presentation.yaml b/themes/learn2-git-sync/blueprints/presentation.yaml new file mode 100644 index 0000000..87928c5 --- /dev/null +++ b/themes/learn2-git-sync/blueprints/presentation.yaml @@ -0,0 +1,252 @@ +title: Presentation Options +extends@: + type: default + context: blueprints://pages + +form: + fields: + tabs: + type: tabs + active: 1 + fields: + content: + type: tab + fields: + + content: + default: "# Your First Slide Title\n\n### Slide Subtitle\n\n---\n\n# Your Second Slide Title\n\nYour slide text goes here." + + links: + type: presentation_button_bar + ordering@: content + fields: + view: + type: presentation_dropdown + ordering@: links + fields: + view: + label: PLUGIN_PRESENTATION.ADMIN.LINKS.VIEW + mode: view + view_notes: + label: PLUGIN_PRESENTATION.ADMIN.LINKS.VIEW_NOTES + mode: view_notes + speaker: + type: presentation_dropdown + ordering@: view + fields: + speaker: + label: PLUGIN_PRESENTATION.ADMIN.LINKS.SPEAKER + mode: admin + speaker_notes: + label: PLUGIN_PRESENTATION.ADMIN.LINKS.SPEAKER_NOTES + mode: admin_notes + print: + type: presentation_dropdown + ordering@: speaker + fields: + print: + label: PLUGIN_PRESENTATION.ADMIN.LINKS.PRINT + mode: print + print_notes: + label: PLUGIN_PRESENTATION.ADMIN.LINKS.PRINT_NOTES + mode: print_notes + print_styled: + label: PLUGIN_PRESENTATION.ADMIN.LINKS.PRINT_STYLED + mode: print_styled + print_styled_notes: + label: PLUGIN_PRESENTATION.ADMIN.LINKS.PRINT_STYLED_NOTES + mode: print_styled_notes + save: + type: presentation_dropdown + ordering@: print + label: PLUGIN_PRESENTATION.ADMIN.ADVANCED.SAVE.ASYNC.LABEL + prefix: PLUGIN_PRESENTATION.ADMIN.ADVANCED.SAVE.PREFIX + textsize: + type: section + title: PLUGIN_PRESENTATION.ADMIN.OPTIONS.TEXTSIZE.TITLE + underline: true + fields: + header.textsize.scale: + type: select + label: PLUGIN_PRESENTATION.ADMIN.OPTIONS.TEXTSIZE.SCALE.LABEL + description: PLUGIN_PRESENTATION.ADMIN.OPTIONS.TEXTSIZE.SCALE.DESCRIPTION + data-options@: '\Grav\Plugin\PresentationPlugin::getModularScaleBlueprintOptions' + header.textsize.modifier: + type: number + label: PLUGIN_PRESENTATION.ADMIN.OPTIONS.TEXTSIZE.MODIFIER.LABEL + description: PLUGIN_PRESENTATION.ADMIN.OPTIONS.TEXTSIZE.MODIFIER.DESCRIPTION + validate: + type: int + min: 0 + max: 100 + step: 0.05 + style: + type: section + title: PLUGIN_PRESENTATION.ADMIN.STYLE.TITLE + underline: true + fields: + header.style.header-font-family: + type: text + label: PLUGIN_PRESENTATION.ADMIN.STYLE.FONT.HEADER.LABEL + description: PLUGIN_PRESENTATION.ADMIN.STYLE.FONT.HEADER.DESCRIPTION + header.style.header-color: + type: colorpicker + label: PLUGIN_PRESENTATION.ADMIN.STYLE.FONT.HEADER_COLOR.LABEL + description: PLUGIN_PRESENTATION.ADMIN.STYLE.FONT.HEADER_COLOR.DESCRIPTION + header.style.block-font-family: + type: text + label: PLUGIN_PRESENTATION.ADMIN.STYLE.FONT.BLOCK.LABEL + description: PLUGIN_PRESENTATION.ADMIN.STYLE.FONT.BLOCK.DESCRIPTION + header.style.block-color: + type: colorpicker + label: PLUGIN_PRESENTATION.ADMIN.STYLE.FONT.BLOCK_COLOR.LABEL + description: PLUGIN_PRESENTATION.ADMIN.STYLE.FONT.BLOCK_COLOR.DESCRIPTION + header.style.background-color: + type: colorpicker + label: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-COLOR.LABEL + header.style.background-image: + type: filepicker + folder: "@self" + preview_images: true + label: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-IMAGE.LABEL + accept: + - .png + - .jpg + - .gif + - "image/*" + header.style.background-size: + type: select + label: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-SIZE.LABEL + options: + "": PLUGIN_PRESENTATION.ADMIN.COMMON.NONE + auto: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-SIZE.OPTIONS.AUTO + cover: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-SIZE.OPTIONS.COVER + contain: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-SIZE.OPTIONS.CONTAIN + initial: PLUGIN_PRESENTATION.ADMIN.COMMON.INITIAL + inherit: PLUGIN_PRESENTATION.ADMIN.COMMON.INHERIT + header.style.background-repeat: + type: select + label: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-REPEAT.LABEL + options: + "": PLUGIN_PRESENTATION.ADMIN.COMMON.NONE + no-repeat: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-REPEAT.OPTIONS.NO-REPEAT + repeat: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-REPEAT.OPTIONS.REPEAT + repeat-x: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-REPEAT.OPTIONS.REPEAT-X + repeat-y: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-REPEAT.OPTIONS.REPEAT-Y + space: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-REPEAT.OPTIONS.SPACE + round: PLUGIN_PRESENTATION.ADMIN.STYLE.BACKGROUND-REPEAT.OPTIONS.ROUND + initial: PLUGIN_PRESENTATION.ADMIN.COMMON.INITIAL + inherit: PLUGIN_PRESENTATION.ADMIN.COMMON.INHERIT + header.style.justify-content: + type: select + label: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.LABEL + help: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.HELP + options: + "": PLUGIN_PRESENTATION.ADMIN.COMMON.NONE + center: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.CENTER + start: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.START + end: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.END + flex-start: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.FLEX-START + flex-end: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.FLEX-END + left: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.LEFT + right: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.RIGHT + normal: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.NORMAL + space-between: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.SPACE-BETWEEN + space-around: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.SPACE-AROUND + space-evenly: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.SPACE-EVENLY + stretch: PLUGIN_PRESENTATION.ADMIN.STYLE.JUSTIFY-CONTENT.OPTIONS.STRETCH + initial: PLUGIN_PRESENTATION.ADMIN.COMMON.INITIAL + inherit: PLUGIN_PRESENTATION.ADMIN.COMMON.INHERIT + header.style.align-items: + type: select + label: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.LABEL + help: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.HELP + options: + "": PLUGIN_PRESENTATION.ADMIN.COMMON.NONE + center: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.CENTER + start: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.START + end: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.END + flex-start: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.FLEX-START + flex-end: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.FLEX-END + self-start: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.SELF-START + self-end: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.SELF-END + normal: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.NORMAL + baseline: PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.BASELINE + 'first baseline': PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.FIRST-BASELINE + 'last baseline': PLUGIN_PRESENTATION.ADMIN.STYLE.ALIGN-ITEMS.OPTIONS.LAST-BASELINE + initial: PLUGIN_PRESENTATION.ADMIN.COMMON.INITIAL + inherit: PLUGIN_PRESENTATION.ADMIN.COMMON.INHERIT + header.horizontal: + type: toggle + label: PLUGIN_PRESENTATION.ADMIN.OPTIONS.HORIZONTAL.LABEL + help: PLUGIN_PRESENTATION.ADMIN.OPTIONS.HORIZONTAL.HELP + description: PLUGIN_PRESENTATION.ADMIN.OPTIONS.HORIZONTAL.DESCRIPTION + highlight: 0 + options: + 1: PLUGIN_PRESENTATION.ADMIN.OPTIONS.HORIZONTAL.OPTIONS.HORIZONTAL + 0: PLUGIN_PRESENTATION.ADMIN.OPTIONS.HORIZONTAL.OPTIONS.VERTICAL + validate: + type: bool + options: + type: tab + fields: + options: + type: section + title: PLUGIN_PRESENTATION.ADMIN.COMMON.TITLE + underline: true + fields: + header.class: + type: selectize + label: PLUGIN_PRESENTATION.ADMIN.OPTIONS.CLASS.LABEL + help: PLUGIN_PRESENTATION.ADMIN.OPTIONS.CLASS.HELP + validate: + type: commalist + header.footer: + type: text + label: PLUGIN_PRESENTATION.ADMIN.ADVANCED.FOOTER.LABEL + description: PLUGIN_PRESENTATION.ADMIN.ADVANCED.FOOTER.DESCRIPTION + header.shortcodes: + type: toggle + label: PLUGIN_PRESENTATION.ADMIN.ADVANCED.SHORTCODES.LABEL + description: PLUGIN_PRESENTATION.ADMIN.ADVANCED.SHORTCODES.DESCRIPTION + highlight: 1 + options: + 1: PLUGIN_ADMIN.ENABLED + 0: PLUGIN_ADMIN.DISABLED + validate: + type: bool + advanced: + type: tab + fields: + advanced: + type: section + title: PLUGIN_PRESENTATION.ADMIN.ADVANCED.TAB_TITLE + underline: true + fields: + header.presentation.content: + type: select + label: PLUGIN_PRESENTATION.ADMIN.ADVANCED.CONTENT.LABEL + description: PLUGIN_PRESENTATION.ADMIN.ADVANCED.CONTENT.DESCRIPTION + data-options@: + [ + '\Grav\Plugin\PresentationPlugin::getClassNamesBlueprintOptions', + "Content", + ] + header.presentation.parser: + type: select + label: PLUGIN_PRESENTATION.ADMIN.ADVANCED.PARSER.LABEL + description: PLUGIN_PRESENTATION.ADMIN.ADVANCED.PARSER.DESCRIPTION + data-options@: + [ + '\Grav\Plugin\PresentationPlugin::getClassNamesBlueprintOptions', + "Parser", + ] + header.presentation.styles: + type: select + label: PLUGIN_PRESENTATION.ADMIN.ADVANCED.STYLES.LABEL + description: PLUGIN_PRESENTATION.ADMIN.ADVANCED.STYLES.DESCRIPTION + data-options@: + [ + '\Grav\Plugin\PresentationPlugin::getClassNamesBlueprintOptions', + "Transport", + ] diff --git a/themes/learn2-git-sync/css/custom.css b/themes/learn2-git-sync/css/custom.css new file mode 100644 index 0000000..a18203a --- /dev/null +++ b/themes/learn2-git-sync/css/custom.css @@ -0,0 +1,5 @@ +/* +=============================================================================================================================== +Put your custom CSS in this file. +=============================================================================================================================== +*/ diff --git a/themes/learn2-git-sync/css/styles/arctic.css b/themes/learn2-git-sync/css/styles/arctic.css new file mode 100644 index 0000000..40f704f --- /dev/null +++ b/themes/learn2-git-sync/css/styles/arctic.css @@ -0,0 +1,1189 @@ +@charset "UTF-8"; +@import url(//fonts.googleapis.com/css?family=Montserrat:400|Muli:300,400|Inconsolata); +#top-github-link, #body #breadcrumbs { + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); } + +.button, .button-secondary { + display: inline-block; + padding: 7px 12px; } + .button:active, .button-secondary:active { + margin: 2px 0 -2px 0; } + +/* + The Ultimate Hover Color Function + @author Gray Gilmore - http://code.graygilmore.com + + The goal of this Sass function is provide a hover color that works + with any color on any background. No longer do we need to bundle + hover color options with our themes, let Sassy McSasserson take care + of that for you. + + The hover color, seen in this demo as "After" text, must be visible in + all situations and, hopefully, pass the WCAG 2.0 contrast ratio [1] + formula (4.5:1). + + [1] http://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast + + contrast-ratio() help from @davidkaneda + + + ## Usage ## + + a { + color: $link-color; + + &:hover { + color: hover($background-color, $link-color); + } + } + + button { + background: $button-background; + color: $button-color; + + &:hover { + background: hover($background-color, $button-background); + } + } + + ## End Usage ## + +*/ +/** + * Calculate the luminance for a color. + * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + */ +/** + * Calculate the contrast ratio between two colors. + * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + */ +/** + * Determine whether to use dark or light text on top of given color. + * Returns black for dark text and white for light text. + */ +/* + WCAG color contrast formula + https://www.w3.org/TR/2016/NOTE-WCAG20-TECHS-20161007/G18#G18-procedure + + @see https://codepen.io/giana/project/full/ZWbGzD + + This pen uses the non-standard Sass pow() function + https://css-tricks.com/snippets/sass/power-function/ + Using it outside of CodePen requires you provide your own pow() function with support for decimals + + To generate random colors, we're also using a two-variable random() function includded with compass. +*/ +.ratio::after { + content: "9"; } + +.balance::after { + content: "11"; } + +.color-block .color1 { + background: #032900; + color: #fff; } + .color-block .color1::after { + content: "#032900"; } + +.color-block .color2 { + background: #696962; + color: #fff; } + .color-block .color2::after { + content: "#696962"; } + +.fix-color .color:nth-child(2) { + background: #000; + color: #fff; } + .fix-color .color:nth-child(2)::after { + content: "#000"; } + +.fix-color .color:nth-child(3) { + background: #c6c6bb; + color: #000; } + .fix-color .color:nth-child(3)::after { + content: "#c6c6bb"; } + +.fix-contrast .color:nth-child(2) { + background: #032400; + color: #fff; } + .fix-contrast .color:nth-child(2)::after { + content: "#032400"; } + +.fix-contrast .color:nth-child(3) { + background: #c2c2b6; + color: #fff; } + .fix-contrast .color:nth-child(3)::after { + content: "#c2c2b6"; } + +.best-contrast .color:nth-child(2) { + background: #f5edea; + color: #000; } + .best-contrast .color:nth-child(2)::after { + content: "#f5edea"; } + +.best-contrast .color:nth-child(3) { + background: #ebe4e1; + color: #000; } + .best-contrast .color:nth-child(3)::after { + content: "#ebe4e1"; } + +.scale-luminance .color:nth-child(2) { + background: #467c03; + color: #fff; } + .scale-luminance .color:nth-child(2)::after { + content: "#467c03"; } + +.check-contrast .result::after { + content: "false"; } + +.luminance .result::after { + content: "0.01776, 0.13948"; } + +body #sidebar ul li.active > a { + color: #333333 !important; } + +body { + background: #E9E9E9; + color: #333333; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +a { + color: black; } + a:link, a:visited { + color: black; } + a:hover, a:active { + color: black; } + +#body-inner a { + text-decoration: underline; + text-decoration-style: dotted; } + #body-inner a:hover { + text-decoration-style: solid; } + +pre { + position: relative; } + +.bg { + background: #fff; + border: 1px solid #eaeaea; } + +b, +strong, +label, +th { + font-weight: 600; } + +.default-animation, #header #logo-svg, #header #logo-svg path, #sidebar, #sidebar ul, #body, #body .padding, #body .nav { + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; } + +fieldset { + border: 1px solid #ddd; } + +textarea, input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], select[multiple=multiple] { + background-color: white; + border: 1px solid #ddd; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); } + textarea:hover, input[type="email"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="url"]:hover, input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="month"]:hover, input[type="time"]:hover, input[type="week"]:hover, select[multiple=multiple]:hover { + border-color: #c4c4c4; } + textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus { + border-color: #1694CA; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(19, 131, 179, 0.7); } + +#header { + background: #99D3DF; + color: #ebf6f9; + text-align: center; + padding: 1rem; } + #header a { + display: inline-block; } + #header #logo-svg { + width: 8rem; + height: 2rem; } + #header #logo-svg path { + fill: #fff; } + +.searchbox { + margin-top: 0.5rem; + position: relative; + border: 1px solid #86cbd9; + background: #acdbe5; + border-radius: 4px; } + .searchbox label { + color: rgba(255, 255, 255, 0.8); + position: absolute; + left: 10px; + top: 3px; } + .searchbox span { + color: rgba(255, 255, 255, 0.6); + position: absolute; + right: 10px; + top: 3px; + cursor: pointer; } + .searchbox span:hover { + color: rgba(255, 255, 255, 0.9); } + .searchbox input { + display: inline-block; + color: #eef8fa; + width: 100%; + height: 30px; + background: transparent; + border: 0; + padding: 0 25px 0 30px; + margin: 0; + font-weight: 400; } + .searchbox input::-webkit-input-placeholder { + color: #e7f5f7; } + .searchbox input::-moz-placeholder { + color: #e7f5f7; } + .searchbox input:-moz-placeholder { + color: #e7f5f7; } + .searchbox input:-ms-input-placeholder { + color: #e7f5f7; } + +#sidebar-toggle { + display: none; } + @media only all and (max-width: 47.938em) { + #sidebar-toggle { + display: inline-block; } } + +#sidebar { + background-color: #4f96c2; + position: fixed; + top: 0; + width: 300px; + bottom: 0; + left: 0; + font-weight: 500; + font-size: 15px; + border-right: 1px solid #3d84b1; } + #sidebar a, + #sidebar i { + color: white; } + #sidebar a:hover, + #sidebar i:hover { + color: #eff5fa; } + #sidebar a.subtitle, + #sidebar i.subtitle { + color: rgba(255, 255, 255, 0.6); } + #sidebar hr { + border-bottom: 1px solid #5a9dc6; } + #sidebar a.padding { + padding: 0 1rem; } + #sidebar h5 { + margin: 2rem 0 0; + position: relative; + line-height: 2; } + #sidebar h5 a { + display: block; + margin-left: 0; + margin-right: 0; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar h5 i { + color: rgba(255, 255, 255, 0.6); + position: absolute; + right: 0.6rem; + top: 0.7rem; + font-size: 80%; } + #sidebar h5.parent a { + background: #6aa6cc; + color: white !important; } + #sidebar h5.active a { + background: #fff; + color: #333333 !important; } + #sidebar h5.active i { + color: #333333 !important; } + #sidebar h5 + ul.topics { + display: none; + margin-top: 0; } + #sidebar h5.parent + ul.topics, + #sidebar h5.active + ul.topics { + display: block; } + #sidebar ul { + list-style: none; + padding: 0; + margin: 0; } + #sidebar ul.searched a { + color: white; } + #sidebar ul.searched .search-match a { + color: white; } + #sidebar ul.searched .search-match a:hover { + color: white; } + #sidebar ul.topics { + margin: 0 1rem; } + #sidebar ul.topics.searched ul { + display: block; } + #sidebar ul.topics ul { + display: none; + padding-bottom: 1rem; } + #sidebar ul.topics ul ul { + padding-bottom: 0; } + #sidebar ul.topics li.parent ul, + #sidebar ul.topics > li.active ul { + display: block; } + #sidebar ul.topics > li > a { + line-height: 2rem; + font-size: 1.1rem; } + #sidebar ul.topics > li > a b { + color: white; + font-weight: normal; } + #sidebar ul.topics > li > a .fa { + margin-top: 9px; } + #sidebar ul.topics > li.parent, #sidebar ul.topics > li.active { + background: #62a1c9; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul.topics > li.parent > a b, #sidebar ul.topics > li.active > a b { + color: white; } + #sidebar ul li.active > a { + background: #fff; + color: #333333 !important; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul li.active > a b { + color: #333333 !important; } + #sidebar ul li { + padding: 0; } + #sidebar ul li.visited + span { + margin-right: 16px; } + #sidebar ul li a { + display: block; + padding: 2px 0; } + #sidebar ul li a span { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + display: block; } + #sidebar ul li > a { + padding: 4px 0; } + #sidebar ul li .fa { + display: none; + float: right; + font-size: 13px; + min-width: 16px; + margin: 4px 0 0 0; + text-align: right; } + #sidebar ul li.visited > a .read-icon { + display: inline; + color: white; } + #sidebar ul li.visited > a .read-icon:hover { + color: #eff5fa; } + #sidebar ul li.active > a .read-icon, #sidebar ul li.active.visited > a .read-icon { + display: inline; + color: #333333; } + #sidebar ul li.active > a .read-icon:hover, #sidebar ul li.active.visited > a .read-icon:hover { + color: black; } + #sidebar ul li li { + padding-left: 1rem; + text-indent: 0.2rem; } + +#body #navigation .nav .fa { + color: #183547; } + #body #navigation .nav .fa:active, #body #navigation .nav .fa:focus, #body #navigation .nav .fa:hover, #body #navigation .nav .fa:visited { + color: #2c5f80; } + +#main { + background: #f7f7f7; + margin: 0 0 1.563rem 0; } + +#body { + position: relative; + margin-left: 300px; + min-height: 100%; } + #body img, + #body .video-container { + margin: 3rem auto; + display: block; + text-align: center; } + #body img.border, + #body .video-container.border { + border: 2px solid #e6e6e6 !important; + padding: 2px; } + #body img.shadow, + #body .video-container.shadow { + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); } + #body .bordered { + border: 1px solid #ccc; } + #body .padding { + padding: 3rem 6rem; } + @media only all and (max-width: 59.938em) { + #body .padding { + position: static; + padding: 15px 3rem; } } + @media only all and (max-width: 47.938em) { + #body .padding { + padding: 5px 1rem; } } + #body h1 + hr { + margin-top: -1.7rem; + margin-bottom: 3rem; } + @media only all and (max-width: 59.938em) { + #body #navigation { + position: static; + margin-right: 0 !important; + width: 100%; + display: table; } } + #body .nav { + position: fixed; + top: 0; + bottom: 0; + width: 4rem; + font-size: 0; + height: 100%; + cursor: pointer; + display: table; + text-align: center; } + #body .nav > i { + display: table-cell; + vertical-align: middle; + text-align: center; } + @media only all and (max-width: 59.938em) { + #body .nav { + display: table-cell; + position: static; + top: auto; + width: 50%; + text-align: center; + height: 100px; + line-height: 100px; + padding-top: 0; } + #body .nav > i { + display: inline-block; } } + #body .nav i { + font-size: 50px; } + #body .nav:hover { + background: #d0d0d0; } + #body .nav.nav-pref { + left: 0; } + #body .nav.nav-next { + right: 0; } + +#body-inner { + margin-bottom: 5rem; } + +#chapter { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 2rem 0; } + #chapter #body-inner { + padding-bottom: 3rem; + max-width: 80%; } + #chapter h3 { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-align: center; } + #chapter h1 { + font-size: 5rem; + border-bottom: 4px solid #F0F2F4; } + #chapter p { + text-align: center; + font-size: 1.2rem; } + +#footer { + padding: 3rem 1rem; + color: #e6e6e6; + font-size: 13px; } + #footer p { + margin: 0; } + +body { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + letter-spacing: -0.03rem; + font-weight: 400; + font-size: 1.05rem; + line-height: 1.7; } + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Montserrat", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-rendering: optimizeLegibility; + line-height: 150%; + letter-spacing: -0px; + overflow-wrap: break-word; + overflow: visible; + word-break: break-word; + white-space: normal; + margin: 0.425rem 0 0.85rem 0; } + +h1 { + text-align: center; + letter-spacing: -3px; + font-size: 2.55rem; } + +h2 { + letter-spacing: -2px; + font-size: 2.15rem; } + +h3 { + letter-spacing: -1px; + font-size: 1.8rem; } + +h4 { + font-size: 1.4rem; } + +h5 { + font-size: 0.9rem; } + +h6 { + font-size: 0.7rem; } + +p { + margin: 1.7rem 0; } + +ul, +ol { + margin-top: 1.7rem; + margin-bottom: 1.7rem; } + ul ul, + ul ol, + ol ul, + ol ol { + margin-top: 0; + margin-bottom: 0; } + +blockquote { + border-left: 10px solid #F0F2F4; + margin: 1.7rem 0; + padding-left: 0.85rem; } + blockquote p { + font-size: 1.1rem; + color: #666666; } + blockquote cite { + display: block; + text-align: right; + color: #333333; + font-size: 0.925rem; } + blockquote cite:before { + content: "\2014 \0020"; } + +pre { + margin: 1.7rem 0; + padding: 0.938rem; } + +code { + vertical-align: bottom; } + +small { + font-size: 0.925rem; } + +hr { + border-left: none; + border-right: none; + border-top: none; + margin: 1.7rem 0; } + +blockquote { + position: relative; } + +blockquote blockquote { + position: static; } + +blockquote > blockquote > blockquote { + margin: 0; } + blockquote > blockquote > blockquote p { + padding: 15px; + display: block; + font-size: 1rem; + margin-top: 0rem; + margin-bottom: 0rem; + color: #666; } + blockquote > blockquote > blockquote p:first-child:before { + position: absolute; + top: 2px; + color: #fff; + font-family: FontAwesome; + content: ''; + left: 10px; } + blockquote > blockquote > blockquote p:first-child:after { + position: absolute; + top: 2px; + color: #fff; + left: 2rem; + font-weight: bold; + content: 'Info'; } + blockquote > blockquote > blockquote > p { + margin-left: -71px; + border-top: 30px solid #F0B37E; + background: #FFF2DB; } + blockquote > blockquote > blockquote > blockquote > p { + margin-left: -94px; + border-top: 30px solid rgba(217, 83, 79, 0.8); + background: #FAE2E2; } + blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Warning'; } + blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -118px; + border-top: 30px solid #6AB0DE; + background: #E7F2FA; } + blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Note'; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -142px; + border-top: 30px solid rgba(92, 184, 92, 0.8); + background: #E6F9E6; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Tip'; } + +code, +kbd, +pre, +samp { + font-family: "Inconsolata", monospace; } + +code { + background: #f9f2f4; + color: #9c1d3d; + padding: .2rem .4rem; + border-radius: 3px; } + +pre { + padding: 1rem; + margin: 2rem 0; + background: #f6f6f6; + border: 1px solid #ddd; + border-radius: 2px; + line-height: 1.15; + font-size: 1rem; } + pre code { + color: #237794; + background: inherit; + font-size: 1rem; } + +hr { + border-bottom: 4px solid #F0F2F4; } + +.page-title { + margin-top: -25px; + padding: 25px; + float: left; + clear: both; + background: #0a0a0a; + color: #fff; } + +#body a.anchor-link { + color: #ccc; } + +#body a.anchor-link:hover { + color: #0a0a0a; } + +.scrollbar-inner > .scroll-element .scroll-element_track { + background-color: rgba(255, 255, 255, 0.3); } + +.scrollbar-inner > .scroll-element .scroll-bar { + background-color: #b5d1eb; } + +.scrollbar-inner > .scroll-element:hover .scroll-bar { + background-color: #ccc; } + +.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar { + background-color: #ccc; } + +table { + border: 1px solid #eaeaea; + table-layout: auto; } + +th { + background: #f7f7f7; + padding: 0.5rem; } + +td { + padding: 0.5rem; + border: 1px solid #eaeaea; } + +.button { + background: #0a0a0a !important; + color: white !important; + box-shadow: 0 3px 0 black !important; } + .button:hover { + background: black !important; + box-shadow: 0 3px 0 black !important; + color: white !important; } + .button:active { + box-shadow: 0 1px 0 black !important; } + .button i { + color: white !important; } + +.button-secondary { + background: black !important; + color: white !important; + box-shadow: 0 3px 0 black !important; } + .button-secondary:hover { + background: black !important; + box-shadow: 0 3px 0 black !important; + color: white !important; } + .button-secondary:active { + box-shadow: 0 1px 0 black !important; } + .button-secondary i { + color: white !important; } + +.bullets { + margin: 1.7rem 0; + margin-left: -0.85rem; + margin-right: -0.85rem; + overflow: auto; } + +.bullet { + float: left; + padding: 0 0.85rem; } + +.two-column-bullet { + width: 50%; } + @media only all and (max-width: 47.938em) { + .two-column-bullet { + width: 100%; } } + +.three-column-bullet { + width: 33.33333%; } + @media only all and (max-width: 47.938em) { + .three-column-bullet { + width: 100%; } } + +.four-column-bullet { + width: 25%; } + @media only all and (max-width: 47.938em) { + .four-column-bullet { + width: 100%; } } + +.bullet-icon { + float: left; + background: #1694CA; + padding: 0.875rem; + width: 3.5rem; + height: 3.5rem; + border-radius: 50%; + color: #fff; + font-size: 1.75rem; + text-align: center; } + +.bullet-icon-1 { + background: #1694CA; } + +.bullet-icon-2 { + background: #16cac4; } + +.bullet-icon-3 { + background: #b2ca16; } + +.bullet-content { + margin-left: 4.55rem; } + +.tooltipped { + position: relative; } + +.tooltipped:after { + position: absolute; + z-index: 1000000; + display: none; + padding: 5px 8px; + font: normal normal 11px/1.5 "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + color: #fff; + text-align: center; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-wrap: break-word; + white-space: pre; + pointer-events: none; + content: attr(aria-label); + background: rgba(0, 0, 0, 0.8); + border-radius: 3px; + -webkit-font-smoothing: subpixel-antialiased; } + +.tooltipped:before { + position: absolute; + z-index: 1000001; + display: none; + width: 0; + height: 0; + color: rgba(0, 0, 0, 0.8); + pointer-events: none; + content: ""; + border: 5px solid transparent; } + +.tooltipped:hover:before, .tooltipped:hover:after, +.tooltipped:active:before, +.tooltipped:active:after, +.tooltipped:focus:before, +.tooltipped:focus:after { + display: inline-block; + text-decoration: none; } + +.tooltipped-s:after, +.tooltipped-se:after, +.tooltipped-sw:after { + top: 100%; + right: 50%; + margin-top: 5px; } + +.tooltipped-s:before, +.tooltipped-se:before, +.tooltipped-sw:before { + top: auto; + right: 50%; + bottom: -5px; + margin-right: -5px; + border-bottom-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-se:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-sw:after { + margin-right: -15px; } + +.tooltipped-n:after, +.tooltipped-ne:after, +.tooltipped-nw:after { + right: 50%; + bottom: 100%; + margin-bottom: 5px; } + +.tooltipped-n:before, +.tooltipped-ne:before, +.tooltipped-nw:before { + top: -5px; + right: 50%; + bottom: auto; + margin-right: -5px; + border-top-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-ne:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-nw:after { + margin-right: -15px; } + +.tooltipped-s:after, +.tooltipped-n:after { + transform: translateX(50%); } + +.tooltipped-w:after { + right: 100%; + bottom: 50%; + margin-right: 5px; + transform: translateY(50%); } + +.tooltipped-w:before { + top: 50%; + bottom: 50%; + left: -5px; + margin-top: -5px; + border-left-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-e:after { + bottom: 50%; + left: 100%; + margin-left: 5px; + transform: translateY(50%); } + +.tooltipped-e:before { + top: 50%; + right: -5px; + bottom: 50%; + margin-top: -5px; + border-right-color: rgba(0, 0, 0, 0.8); } + +/*************** SCROLLBAR BASE CSS ***************/ +.highlightable { + padding: 25px 0 15px; } + +.scroll-wrapper { + overflow: hidden !important; + padding: 0 !important; + position: relative; } + +.scroll-wrapper > .scroll-content { + border: none !important; + box-sizing: content-box !important; + height: auto; + left: 0; + margin: 0; + max-height: none; + max-width: none !important; + overflow: scroll !important; + padding: 0; + position: relative !important; + top: 0; + width: auto !important; } + +.scroll-wrapper > .scroll-content::-webkit-scrollbar { + height: 0; + width: 0; } + +.scroll-element { + display: none; } + +.scroll-element, .scroll-element div { + box-sizing: content-box; } + +.scroll-element.scroll-x.scroll-scrollx_visible, +.scroll-element.scroll-y.scroll-scrolly_visible { + display: block; } + +.scroll-element .scroll-bar, +.scroll-element .scroll-arrow { + cursor: default; } + +.scroll-textarea > .scroll-content { + overflow: hidden !important; } + +.scroll-textarea > .scroll-content > textarea { + border: none !important; + box-sizing: border-box; + height: 100% !important; + margin: 0; + max-height: none !important; + max-width: none !important; + overflow: scroll !important; + outline: none; + padding: 2px; + position: relative !important; + top: 0; + width: 100% !important; } + +.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar { + height: 0; + width: 0; } + +/*************** SIMPLE INNER SCROLLBAR ***************/ +.scrollbar-inner > .scroll-element, +.scrollbar-inner > .scroll-element div { + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; } + +.scrollbar-inner > .scroll-element div { + display: block; + height: 100%; + left: 0; + top: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-x { + bottom: 2px; + height: 8px; + left: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-y { + height: 100%; + right: 2px; + top: 0; + width: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_outer { + overflow: hidden; } + +.scrollbar-inner > .scroll-element .scroll-element_outer, +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; + filter: alpha(opacity=30); + opacity: 0.3; } + +/* update scrollbar offset if both scrolls are visible */ +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { + top: -12px; } + +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size { + top: -12px; } + +.lightbox-active #body { + overflow: visible; } + .lightbox-active #body .padding { + overflow: visible; } + +#github-contrib i { + vertical-align: middle; } + +.featherlight img { + margin: 0 !important; } + +.lifecycle #body-inner ul { + list-style: none; + margin: 0; + padding: 2rem 0 0; + position: relative; } + +.lifecycle #body-inner ol { + margin: 1rem 0 1rem 0; + padding: 2rem; + position: relative; } + .lifecycle #body-inner ol li { + margin-left: 1rem; } + .lifecycle #body-inner ol strong, .lifecycle #body-inner ol label, .lifecycle #body-inner ol th { + text-decoration: underline; } + .lifecycle #body-inner ol ol { + margin-left: -1rem; } + +.lifecycle #body-inner h3[class*='level'] { + font-size: 20px; + position: absolute; + margin: 0; + padding: 4px 10px; + right: 0; + z-index: 1000; + color: #fff; + background: #1ABC9C; } + +.lifecycle #body-inner ol h3 { + margin-top: 1rem !important; + right: 2rem !important; } + +.lifecycle #body-inner .level-1 + ol { + background: #f6fefc; + border: 4px solid #1ABC9C; + color: #16A085; } + .lifecycle #body-inner .level-1 + ol h3 { + background: #2ECC71; } + +.lifecycle #body-inner .level-2 + ol { + background: #f7fdf9; + border: 4px solid #2ECC71; + color: #27AE60; } + .lifecycle #body-inner .level-2 + ol h3 { + background: #3498DB; } + +.lifecycle #body-inner .level-3 + ol { + background: #f3f9fd; + border: 4px solid #3498DB; + color: #2980B9; } + .lifecycle #body-inner .level-3 + ol h3 { + background: #34495E; } + +.lifecycle #body-inner .level-4 + ol { + background: #e4eaf0; + border: 4px solid #34495E; + color: #2C3E50; } + .lifecycle #body-inner .level-4 + ol h3 { + background: #34495E; } + +#top-bar { + background: #E9E9E9; + border-radius: 2px; + margin: 0rem -1rem 2rem; + padding: 0 1rem; + height: 0; + min-height: 3rem; + color: #333333; } + #top-bar a { + color: #1a1a1a; } + #top-bar a:hover { + color: #0d0d0d; } + +#top-github-link { + position: relative; + z-index: 1; + float: right; + display: block; } + +#body #breadcrumbs { + height: auto; + display: block; + margin-bottom: 0; + padding-left: 0; + line-height: 1.4; } + #body #breadcrumbs span { + padding: 0 0.1rem; } + +@media only all and (max-width: 59.938em) { + #sidebar { + width: 230px; } + #body { + margin-left: 230px; } } + +@media only all and (max-width: 47.938em) { + #sidebar { + width: 230px; + left: -230px; } + #body { + margin-left: 0; + width: 100%; } + .sidebar-hidden { + overflow: hidden; } + .sidebar-hidden #sidebar { + left: 0; } + .sidebar-hidden #body { + margin-left: 230px; + overflow: hidden; } + .sidebar-hidden #overlay { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + z-index: 10; + background: rgba(255, 255, 255, 0.5); + cursor: pointer; } } + +.copy-to-clipboard { + background-image: url(../images/clippy.svg); + background-position: 50% 50%; + background-size: 16px 16px; + background-repeat: no-repeat; + width: 27px; + height: 1.45rem; + top: -1px; + display: inline-block; + vertical-align: middle; + position: relative; + color: #1a1a1a; + background-color: #f9f2f4; + margin-left: -.2rem; + cursor: pointer; + border-radius: 0 2px 2px 0; } + .copy-to-clipboard:hover { + background-color: #f1e1e5; } + pre .copy-to-clipboard { + position: absolute; + right: 4px; + top: 4px; + background-color: #eee; + border-color: #ddd; + border-radius: 2px; } + pre .copy-to-clipboard:hover { + background-color: #d9d9d9; } + +.parent-element { + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + transform-style: preserve-3d; } + +/*# sourceMappingURL=arctic.css.map */ \ No newline at end of file diff --git a/themes/learn2-git-sync/css/styles/arctic.css.map b/themes/learn2-git-sync/css/styles/arctic.css.map new file mode 100644 index 0000000..1d2f32d --- /dev/null +++ b/themes/learn2-git-sync/css/styles/arctic.css.map @@ -0,0 +1,111 @@ +{ + "version": 3, + "file": "arctic.css", + "sources": [ + "../../scss/styles/arctic.scss", + "../../scss/_prefix.scss", + "../../scss/vendor/bourbon/_bourbon.scss", + "../../scss/vendor/bourbon/settings/_prefixer.scss", + "../../scss/vendor/bourbon/settings/_px-to-em.scss", + "../../scss/vendor/bourbon/helpers/_convert-units.scss", + "../../scss/vendor/bourbon/helpers/_gradient-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_is-num.scss", + "../../scss/vendor/bourbon/helpers/_linear-angle-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-gradient-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-arg-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-gradient-parser.scss", + "../../scss/vendor/bourbon/helpers/_render-gradients.scss", + "../../scss/vendor/bourbon/helpers/_shape-size-stripper.scss", + "../../scss/vendor/bourbon/helpers/_str-to-num.scss", + "../../scss/vendor/bourbon/functions/_assign.scss", + "../../scss/vendor/bourbon/functions/_color-lightness.scss", + "../../scss/vendor/bourbon/functions/_flex-grid.scss", + "../../scss/vendor/bourbon/functions/_golden-ratio.scss", + "../../scss/vendor/bourbon/functions/_grid-width.scss", + "../../scss/vendor/bourbon/functions/_modular-scale.scss", + "../../scss/vendor/bourbon/functions/_px-to-em.scss", + "../../scss/vendor/bourbon/functions/_px-to-rem.scss", + "../../scss/vendor/bourbon/functions/_strip-units.scss", + "../../scss/vendor/bourbon/functions/_tint-shade.scss", + "../../scss/vendor/bourbon/functions/_transition-property-name.scss", + "../../scss/vendor/bourbon/functions/_unpack.scss", + "../../scss/vendor/bourbon/css3/_animation.scss", + "../../scss/vendor/bourbon/css3/_appearance.scss", + "../../scss/vendor/bourbon/css3/_backface-visibility.scss", + "../../scss/vendor/bourbon/css3/_background.scss", + "../../scss/vendor/bourbon/css3/_background-image.scss", + "../../scss/vendor/bourbon/css3/_border-image.scss", + "../../scss/vendor/bourbon/css3/_border-radius.scss", + "../../scss/vendor/bourbon/css3/_box-sizing.scss", + "../../scss/vendor/bourbon/css3/_calc.scss", + "../../scss/vendor/bourbon/css3/_columns.scss", + "../../scss/vendor/bourbon/css3/_filter.scss", + "../../scss/vendor/bourbon/css3/_flex-box.scss", + "../../scss/vendor/bourbon/css3/_font-face.scss", + "../../scss/vendor/bourbon/css3/_hyphens.scss", + "../../scss/vendor/bourbon/css3/_hidpi-media-query.scss", + "../../scss/vendor/bourbon/css3/_image-rendering.scss", + "../../scss/vendor/bourbon/css3/_keyframes.scss", + "../../scss/vendor/bourbon/css3/_linear-gradient.scss", + "../../scss/vendor/bourbon/css3/_perspective.scss", + "../../scss/vendor/bourbon/css3/_radial-gradient.scss", + "../../scss/vendor/bourbon/css3/_transform.scss", + "../../scss/vendor/bourbon/css3/_transition.scss", + "../../scss/vendor/bourbon/css3/_user-select.scss", + "../../scss/vendor/bourbon/css3/_placeholder.scss", + "../../scss/vendor/bourbon/addons/_button.scss", + "../../scss/vendor/bourbon/addons/_clearfix.scss", + "../../scss/vendor/bourbon/addons/_directional-values.scss", + "../../scss/vendor/bourbon/addons/_ellipsis.scss", + "../../scss/vendor/bourbon/addons/_font-family.scss", + "../../scss/vendor/bourbon/addons/_hide-text.scss", + "../../scss/vendor/bourbon/addons/_html5-input-types.scss", + "../../scss/vendor/bourbon/addons/_position.scss", + "../../scss/vendor/bourbon/addons/_prefixer.scss", + "../../scss/vendor/bourbon/addons/_retina-image.scss", + "../../scss/vendor/bourbon/addons/_size.scss", + "../../scss/vendor/bourbon/addons/_timing-functions.scss", + "../../scss/vendor/bourbon/addons/_triangle.scss", + "../../scss/vendor/bourbon/addons/_word-wrap.scss", + "../../scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss", + "../../scss/configuration/nucleus/_base.scss", + "../../scss/configuration/nucleus/_core.scss", + "../../scss/configuration/nucleus/_breakpoints.scss", + "../../scss/configuration/nucleus/_layout.scss", + "../../scss/configuration/nucleus/_typography.scss", + "../../scss/configuration/nucleus/_nav.scss", + "../../scss/configuration/theme/_base.scss", + "../../scss/configuration/theme/_colors.scss", + "../../scss/configuration/theme/_bullets.scss", + "../../scss/nucleus/functions/_base.scss", + "../../scss/nucleus/functions/_direction.scss", + "../../scss/nucleus/functions/_range.scss", + "../../scss/nucleus/mixins/_base.scss", + "../../scss/nucleus/mixins/_breakpoints.scss", + "../../scss/nucleus/mixins/_utilities.scss", + "../../scss/theme/modules/_base.scss", + "../../scss/theme/modules/_buttons.scss", + "../../scss/_hover-color.scss", + "../../scss/_contrast.scss", + "../../scss/_affix.scss", + "../../scss/theme/_core.scss", + "../../scss/theme/_fonts.scss", + "../../scss/theme/_forms.scss", + "../../scss/theme/_header.scss", + "../../scss/theme/_nav.scss", + "../../scss/theme/_main.scss", + "../../scss/_standard_colors.scss", + "../../scss/theme/_typography.scss", + "../../scss/theme/_tables.scss", + "../../scss/theme/_buttons.scss", + "../../scss/theme/_bullets.scss", + "../../scss/theme/_tooltips.scss", + "../../scss/theme/_scrollbar.scss", + "../../scss/theme/_custom.scss" + ], + "names": [], + "mappings": "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" +} \ No newline at end of file diff --git a/themes/learn2-git-sync/css/styles/dark_ocean.css b/themes/learn2-git-sync/css/styles/dark_ocean.css new file mode 100644 index 0000000..df16f21 --- /dev/null +++ b/themes/learn2-git-sync/css/styles/dark_ocean.css @@ -0,0 +1,1189 @@ +@charset "UTF-8"; +@import url(//fonts.googleapis.com/css?family=Montserrat:400|Muli:300,400|Inconsolata); +#top-github-link, #body #breadcrumbs { + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); } + +.button, .button-secondary { + display: inline-block; + padding: 7px 12px; } + .button:active, .button-secondary:active { + margin: 2px 0 -2px 0; } + +/* + The Ultimate Hover Color Function + @author Gray Gilmore - http://code.graygilmore.com + + The goal of this Sass function is provide a hover color that works + with any color on any background. No longer do we need to bundle + hover color options with our themes, let Sassy McSasserson take care + of that for you. + + The hover color, seen in this demo as "After" text, must be visible in + all situations and, hopefully, pass the WCAG 2.0 contrast ratio [1] + formula (4.5:1). + + [1] http://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast + + contrast-ratio() help from @davidkaneda + + + ## Usage ## + + a { + color: $link-color; + + &:hover { + color: hover($background-color, $link-color); + } + } + + button { + background: $button-background; + color: $button-color; + + &:hover { + background: hover($background-color, $button-background); + } + } + + ## End Usage ## + +*/ +/** + * Calculate the luminance for a color. + * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + */ +/** + * Calculate the contrast ratio between two colors. + * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + */ +/** + * Determine whether to use dark or light text on top of given color. + * Returns black for dark text and white for light text. + */ +/* + WCAG color contrast formula + https://www.w3.org/TR/2016/NOTE-WCAG20-TECHS-20161007/G18#G18-procedure + + @see https://codepen.io/giana/project/full/ZWbGzD + + This pen uses the non-standard Sass pow() function + https://css-tricks.com/snippets/sass/power-function/ + Using it outside of CodePen requires you provide your own pow() function with support for decimals + + To generate random colors, we're also using a two-variable random() function includded with compass. +*/ +.ratio::after { + content: "2"; } + +.balance::after { + content: "3"; } + +.color-block .color1 { + background: #2b1503; + color: #fff; } + .color-block .color1::after { + content: "#2b1503"; } + +.color-block .color2 { + background: #596787; + color: #fff; } + .color-block .color2::after { + content: "#596787"; } + +.fix-color .color:nth-child(2) { + background: #2b1503; + color: #fff; } + .fix-color .color:nth-child(2)::after { + content: "#2b1503"; } + +.fix-color .color:nth-child(3) { + background: #596787; + color: #fff; } + .fix-color .color:nth-child(3)::after { + content: "#596787"; } + +.fix-contrast .color:nth-child(2) { + background: #2b1503; + color: #fff; } + .fix-contrast .color:nth-child(2)::after { + content: "#2b1503"; } + +.fix-contrast .color:nth-child(3) { + background: #596787; + color: #fff; } + .fix-contrast .color:nth-child(3)::after { + content: "#596787"; } + +.best-contrast .color:nth-child(2) { + background: #96a2ed; + color: #fff; } + .best-contrast .color:nth-child(2)::after { + content: "#96a2ed"; } + +.best-contrast .color:nth-child(3) { + background: #96a2ed; + color: #fff; } + .best-contrast .color:nth-child(3)::after { + content: "#96a2ed"; } + +.scale-luminance .color:nth-child(2) { + background: #906547; + color: #fff; } + .scale-luminance .color:nth-child(2)::after { + content: "#906547"; } + +.check-contrast .result::after { + content: "true"; } + +.luminance .result::after { + content: "0.01307, 0.1367"; } + +body #sidebar ul li.active > a { + color: #2B303B !important; } + +body { + background: #2B303B; + color: #f0f2f4; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +a { + color: #b5bcc9; } + a:link, a:visited { + color: #b5bcc9; } + a:hover, a:active { + color: #c4c9d4; } + +#body-inner a { + text-decoration: underline; + text-decoration-style: dotted; } + #body-inner a:hover { + text-decoration-style: solid; } + +pre { + position: relative; } + +.bg { + background: #fff; + border: 1px solid #eaeaea; } + +b, +strong, +label, +th { + font-weight: 600; } + +.default-animation, #header #logo-svg, #header #logo-svg path, #sidebar, #sidebar ul, #body, #body .padding, #body .nav { + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; } + +fieldset { + border: 1px solid #ddd; } + +textarea, input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], select[multiple=multiple] { + background-color: white; + border: 1px solid #ddd; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); } + textarea:hover, input[type="email"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="url"]:hover, input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="month"]:hover, input[type="time"]:hover, input[type="week"]:hover, select[multiple=multiple]:hover { + border-color: #c4c4c4; } + textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus { + border-color: #1694CA; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(19, 131, 179, 0.7); } + +#header { + background: #96B5B4; + color: #eaf0f0; + text-align: center; + padding: 1rem; } + #header a { + display: inline-block; } + #header #logo-svg { + width: 8rem; + height: 2rem; } + #header #logo-svg path { + fill: #fff; } + +.searchbox { + margin-top: 0.5rem; + position: relative; + border: 1px solid #87aaa9; + background: #a5c0bf; + border-radius: 4px; } + .searchbox label { + color: rgba(255, 255, 255, 0.8); + position: absolute; + left: 10px; + top: 3px; } + .searchbox span { + color: rgba(255, 255, 255, 0.6); + position: absolute; + right: 10px; + top: 3px; + cursor: pointer; } + .searchbox span:hover { + color: rgba(255, 255, 255, 0.9); } + .searchbox input { + display: inline-block; + color: #edf2f2; + width: 100%; + height: 30px; + background: transparent; + border: 0; + padding: 0 25px 0 30px; + margin: 0; + font-weight: 400; } + .searchbox input::-webkit-input-placeholder { + color: #e7eeee; } + .searchbox input::-moz-placeholder { + color: #e7eeee; } + .searchbox input:-moz-placeholder { + color: #e7eeee; } + .searchbox input:-ms-input-placeholder { + color: #e7eeee; } + +#sidebar-toggle { + display: none; } + @media only all and (max-width: 47.938em) { + #sidebar-toggle { + display: inline-block; } } + +#sidebar { + background-color: #2B303B; + position: fixed; + top: 0; + width: 300px; + bottom: 0; + left: 0; + font-weight: 500; + font-size: 15px; + border-right: 1px solid #3a4150; } + #sidebar a, + #sidebar i { + color: #f0f2f4; } + #sidebar a:hover, + #sidebar i:hover { + color: #c4c9d4; } + #sidebar a.subtitle, + #sidebar i.subtitle { + color: rgba(240, 242, 244, 0.6); } + #sidebar hr { + border-bottom: 1px solid #252932; } + #sidebar a.padding { + padding: 0 1rem; } + #sidebar h5 { + margin: 2rem 0 0; + position: relative; + line-height: 2; } + #sidebar h5 a { + display: block; + margin-left: 0; + margin-right: 0; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar h5 i { + color: rgba(240, 242, 244, 0.6); + position: absolute; + right: 0.6rem; + top: 0.7rem; + font-size: 80%; } + #sidebar h5.parent a { + background: #1c1f26; + color: white !important; } + #sidebar h5.active a { + background: #fff; + color: #f0f2f4 !important; } + #sidebar h5.active i { + color: #f0f2f4 !important; } + #sidebar h5 + ul.topics { + display: none; + margin-top: 0; } + #sidebar h5.parent + ul.topics, + #sidebar h5.active + ul.topics { + display: block; } + #sidebar ul { + list-style: none; + padding: 0; + margin: 0; } + #sidebar ul.searched a { + color: white; } + #sidebar ul.searched .search-match a { + color: white; } + #sidebar ul.searched .search-match a:hover { + color: white; } + #sidebar ul.topics { + margin: 0 1rem; } + #sidebar ul.topics.searched ul { + display: block; } + #sidebar ul.topics ul { + display: none; + padding-bottom: 1rem; } + #sidebar ul.topics ul ul { + padding-bottom: 0; } + #sidebar ul.topics li.parent ul, + #sidebar ul.topics > li.active ul { + display: block; } + #sidebar ul.topics > li > a { + line-height: 2rem; + font-size: 1.1rem; } + #sidebar ul.topics > li > a b { + color: #f0f2f4; + font-weight: normal; } + #sidebar ul.topics > li > a .fa { + margin-top: 9px; } + #sidebar ul.topics > li.parent, #sidebar ul.topics > li.active { + background: #20242c; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul.topics > li.parent > a b, #sidebar ul.topics > li.active > a b { + color: #f0f2f4; } + #sidebar ul li.active > a { + background: #fff; + color: #f0f2f4 !important; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul li.active > a b { + color: #f0f2f4 !important; } + #sidebar ul li { + padding: 0; } + #sidebar ul li.visited + span { + margin-right: 16px; } + #sidebar ul li a { + display: block; + padding: 2px 0; } + #sidebar ul li a span { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + display: block; } + #sidebar ul li > a { + padding: 4px 0; } + #sidebar ul li .fa { + display: none; + float: right; + font-size: 13px; + min-width: 16px; + margin: 4px 0 0 0; + text-align: right; } + #sidebar ul li.visited > a .read-icon { + display: inline; + color: #f0f2f4; } + #sidebar ul li.visited > a .read-icon:hover { + color: #c4c9d4; } + #sidebar ul li.active > a .read-icon, #sidebar ul li.active.visited > a .read-icon { + display: inline; + color: #f0f2f4; } + #sidebar ul li.active > a .read-icon:hover, #sidebar ul li.active.visited > a .read-icon:hover { + color: #c4c9d4; } + #sidebar ul li li { + padding-left: 1rem; + text-indent: 0.2rem; } + +#body #navigation .nav .fa { + color: black; } + #body #navigation .nav .fa:active, #body #navigation .nav .fa:focus, #body #navigation .nav .fa:hover, #body #navigation .nav .fa:visited { + color: black; } + +#main { + background: #f7f7f7; + margin: 0 0 1.563rem 0; } + +#body { + position: relative; + margin-left: 300px; + min-height: 100%; } + #body img, + #body .video-container { + margin: 3rem auto; + display: block; + text-align: center; } + #body img.border, + #body .video-container.border { + border: 2px solid #e6e6e6 !important; + padding: 2px; } + #body img.shadow, + #body .video-container.shadow { + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); } + #body .bordered { + border: 1px solid #ccc; } + #body .padding { + padding: 3rem 6rem; } + @media only all and (max-width: 59.938em) { + #body .padding { + position: static; + padding: 15px 3rem; } } + @media only all and (max-width: 47.938em) { + #body .padding { + padding: 5px 1rem; } } + #body h1 + hr { + margin-top: -1.7rem; + margin-bottom: 3rem; } + @media only all and (max-width: 59.938em) { + #body #navigation { + position: static; + margin-right: 0 !important; + width: 100%; + display: table; } } + #body .nav { + position: fixed; + top: 0; + bottom: 0; + width: 4rem; + font-size: 0; + height: 100%; + cursor: pointer; + display: table; + text-align: center; } + #body .nav > i { + display: table-cell; + vertical-align: middle; + text-align: center; } + @media only all and (max-width: 59.938em) { + #body .nav { + display: table-cell; + position: static; + top: auto; + width: 50%; + text-align: center; + height: 100px; + line-height: 100px; + padding-top: 0; } + #body .nav > i { + display: inline-block; } } + #body .nav i { + font-size: 50px; } + #body .nav:hover { + background: #414859; } + #body .nav.nav-pref { + left: 0; } + #body .nav.nav-next { + right: 0; } + +#body-inner { + margin-bottom: 5rem; } + +#chapter { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 2rem 0; } + #chapter #body-inner { + padding-bottom: 3rem; + max-width: 80%; } + #chapter h3 { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-align: center; } + #chapter h1 { + font-size: 5rem; + border-bottom: 4px solid #F0F2F4; } + #chapter p { + text-align: center; + font-size: 1.2rem; } + +#footer { + padding: 3rem 1rem; + color: #d3d7df; + font-size: 13px; } + #footer p { + margin: 0; } + +body { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + letter-spacing: -0.03rem; + font-weight: 400; + font-size: 1.05rem; + line-height: 1.7; } + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Montserrat", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-rendering: optimizeLegibility; + line-height: 150%; + letter-spacing: -0px; + overflow-wrap: break-word; + overflow: visible; + word-break: break-word; + white-space: normal; + margin: 0.425rem 0 0.85rem 0; } + +h1 { + text-align: center; + letter-spacing: -3px; + font-size: 2.55rem; } + +h2 { + letter-spacing: -2px; + font-size: 2.15rem; } + +h3 { + letter-spacing: -1px; + font-size: 1.8rem; } + +h4 { + font-size: 1.4rem; } + +h5 { + font-size: 0.9rem; } + +h6 { + font-size: 0.7rem; } + +p { + margin: 1.7rem 0; } + +ul, +ol { + margin-top: 1.7rem; + margin-bottom: 1.7rem; } + ul ul, + ul ol, + ol ul, + ol ol { + margin-top: 0; + margin-bottom: 0; } + +blockquote { + border-left: 10px solid #F0F2F4; + margin: 1.7rem 0; + padding-left: 0.85rem; } + blockquote p { + font-size: 1.1rem; + color: #cccccc; } + blockquote cite { + display: block; + text-align: right; + color: #999999; + font-size: 0.925rem; } + blockquote cite:before { + content: "\2014 \0020"; } + +pre { + margin: 1.7rem 0; + padding: 0.938rem; } + +code { + vertical-align: bottom; } + +small { + font-size: 0.925rem; } + +hr { + border-left: none; + border-right: none; + border-top: none; + margin: 1.7rem 0; } + +blockquote { + position: relative; } + +blockquote blockquote { + position: static; } + +blockquote > blockquote > blockquote { + margin: 0; } + blockquote > blockquote > blockquote p { + padding: 15px; + display: block; + font-size: 1rem; + margin-top: 0rem; + margin-bottom: 0rem; + color: #666; } + blockquote > blockquote > blockquote p:first-child:before { + position: absolute; + top: 2px; + color: #fff; + font-family: FontAwesome; + content: ''; + left: 10px; } + blockquote > blockquote > blockquote p:first-child:after { + position: absolute; + top: 2px; + color: #fff; + left: 2rem; + font-weight: bold; + content: 'Info'; } + blockquote > blockquote > blockquote > p { + margin-left: -71px; + border-top: 30px solid #F0B37E; + background: #FFF2DB; } + blockquote > blockquote > blockquote > blockquote > p { + margin-left: -94px; + border-top: 30px solid rgba(217, 83, 79, 0.8); + background: #FAE2E2; } + blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Warning'; } + blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -118px; + border-top: 30px solid #6AB0DE; + background: #E7F2FA; } + blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Note'; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -142px; + border-top: 30px solid rgba(92, 184, 92, 0.8); + background: #E6F9E6; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Tip'; } + +code, +kbd, +pre, +samp { + font-family: "Inconsolata", monospace; } + +code { + background: #f9f2f4; + color: #9c1d3d; + padding: .2rem .4rem; + border-radius: 3px; } + +pre { + padding: 1rem; + margin: 2rem 0; + background: #f6f6f6; + border: 1px solid #ddd; + border-radius: 2px; + line-height: 1.15; + font-size: 1rem; } + pre code { + color: #237794; + background: inherit; + font-size: 1rem; } + +hr { + border-bottom: 4px solid #F0F2F4; } + +.page-title { + margin-top: -25px; + padding: 25px; + float: left; + clear: both; + background: #C0C5CE; + color: #fff; } + +#body a.anchor-link { + color: #ccc; } + +#body a.anchor-link:hover { + color: #C0C5CE; } + +.scrollbar-inner > .scroll-element .scroll-element_track { + background-color: rgba(255, 255, 255, 0.3); } + +.scrollbar-inner > .scroll-element .scroll-bar { + background-color: #b5d1eb; } + +.scrollbar-inner > .scroll-element:hover .scroll-bar { + background-color: #ccc; } + +.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar { + background-color: #ccc; } + +table { + border: 1px solid #eaeaea; + table-layout: auto; } + +th { + background: #f7f7f7; + padding: 0.5rem; } + +td { + padding: 0.5rem; + border: 1px solid #eaeaea; } + +.button { + background: #C0C5CE !important; + color: black !important; + box-shadow: 0 3px 0 #d1d5db !important; } + .button:hover { + background: #d1d5db !important; + box-shadow: 0 3px 0 #e2e5e9 !important; + color: black !important; } + .button:active { + box-shadow: 0 1px 0 #e2e5e9 !important; } + .button i { + color: black !important; } + +.button-secondary { + background: #959dad !important; + color: black !important; + box-shadow: 0 3px 0 #a6adba !important; } + .button-secondary:hover { + background: #a6adba !important; + box-shadow: 0 3px 0 #b7bdc7 !important; + color: black !important; } + .button-secondary:active { + box-shadow: 0 1px 0 #b7bdc7 !important; } + .button-secondary i { + color: black !important; } + +.bullets { + margin: 1.7rem 0; + margin-left: -0.85rem; + margin-right: -0.85rem; + overflow: auto; } + +.bullet { + float: left; + padding: 0 0.85rem; } + +.two-column-bullet { + width: 50%; } + @media only all and (max-width: 47.938em) { + .two-column-bullet { + width: 100%; } } + +.three-column-bullet { + width: 33.33333%; } + @media only all and (max-width: 47.938em) { + .three-column-bullet { + width: 100%; } } + +.four-column-bullet { + width: 25%; } + @media only all and (max-width: 47.938em) { + .four-column-bullet { + width: 100%; } } + +.bullet-icon { + float: left; + background: #1694CA; + padding: 0.875rem; + width: 3.5rem; + height: 3.5rem; + border-radius: 50%; + color: #fff; + font-size: 1.75rem; + text-align: center; } + +.bullet-icon-1 { + background: #1694CA; } + +.bullet-icon-2 { + background: #16cac4; } + +.bullet-icon-3 { + background: #b2ca16; } + +.bullet-content { + margin-left: 4.55rem; } + +.tooltipped { + position: relative; } + +.tooltipped:after { + position: absolute; + z-index: 1000000; + display: none; + padding: 5px 8px; + font: normal normal 11px/1.5 "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + color: #fff; + text-align: center; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-wrap: break-word; + white-space: pre; + pointer-events: none; + content: attr(aria-label); + background: rgba(0, 0, 0, 0.8); + border-radius: 3px; + -webkit-font-smoothing: subpixel-antialiased; } + +.tooltipped:before { + position: absolute; + z-index: 1000001; + display: none; + width: 0; + height: 0; + color: rgba(0, 0, 0, 0.8); + pointer-events: none; + content: ""; + border: 5px solid transparent; } + +.tooltipped:hover:before, .tooltipped:hover:after, +.tooltipped:active:before, +.tooltipped:active:after, +.tooltipped:focus:before, +.tooltipped:focus:after { + display: inline-block; + text-decoration: none; } + +.tooltipped-s:after, +.tooltipped-se:after, +.tooltipped-sw:after { + top: 100%; + right: 50%; + margin-top: 5px; } + +.tooltipped-s:before, +.tooltipped-se:before, +.tooltipped-sw:before { + top: auto; + right: 50%; + bottom: -5px; + margin-right: -5px; + border-bottom-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-se:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-sw:after { + margin-right: -15px; } + +.tooltipped-n:after, +.tooltipped-ne:after, +.tooltipped-nw:after { + right: 50%; + bottom: 100%; + margin-bottom: 5px; } + +.tooltipped-n:before, +.tooltipped-ne:before, +.tooltipped-nw:before { + top: -5px; + right: 50%; + bottom: auto; + margin-right: -5px; + border-top-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-ne:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-nw:after { + margin-right: -15px; } + +.tooltipped-s:after, +.tooltipped-n:after { + transform: translateX(50%); } + +.tooltipped-w:after { + right: 100%; + bottom: 50%; + margin-right: 5px; + transform: translateY(50%); } + +.tooltipped-w:before { + top: 50%; + bottom: 50%; + left: -5px; + margin-top: -5px; + border-left-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-e:after { + bottom: 50%; + left: 100%; + margin-left: 5px; + transform: translateY(50%); } + +.tooltipped-e:before { + top: 50%; + right: -5px; + bottom: 50%; + margin-top: -5px; + border-right-color: rgba(0, 0, 0, 0.8); } + +/*************** SCROLLBAR BASE CSS ***************/ +.highlightable { + padding: 25px 0 15px; } + +.scroll-wrapper { + overflow: hidden !important; + padding: 0 !important; + position: relative; } + +.scroll-wrapper > .scroll-content { + border: none !important; + box-sizing: content-box !important; + height: auto; + left: 0; + margin: 0; + max-height: none; + max-width: none !important; + overflow: scroll !important; + padding: 0; + position: relative !important; + top: 0; + width: auto !important; } + +.scroll-wrapper > .scroll-content::-webkit-scrollbar { + height: 0; + width: 0; } + +.scroll-element { + display: none; } + +.scroll-element, .scroll-element div { + box-sizing: content-box; } + +.scroll-element.scroll-x.scroll-scrollx_visible, +.scroll-element.scroll-y.scroll-scrolly_visible { + display: block; } + +.scroll-element .scroll-bar, +.scroll-element .scroll-arrow { + cursor: default; } + +.scroll-textarea > .scroll-content { + overflow: hidden !important; } + +.scroll-textarea > .scroll-content > textarea { + border: none !important; + box-sizing: border-box; + height: 100% !important; + margin: 0; + max-height: none !important; + max-width: none !important; + overflow: scroll !important; + outline: none; + padding: 2px; + position: relative !important; + top: 0; + width: 100% !important; } + +.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar { + height: 0; + width: 0; } + +/*************** SIMPLE INNER SCROLLBAR ***************/ +.scrollbar-inner > .scroll-element, +.scrollbar-inner > .scroll-element div { + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; } + +.scrollbar-inner > .scroll-element div { + display: block; + height: 100%; + left: 0; + top: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-x { + bottom: 2px; + height: 8px; + left: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-y { + height: 100%; + right: 2px; + top: 0; + width: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_outer { + overflow: hidden; } + +.scrollbar-inner > .scroll-element .scroll-element_outer, +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; + filter: alpha(opacity=30); + opacity: 0.3; } + +/* update scrollbar offset if both scrolls are visible */ +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { + top: -12px; } + +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size { + top: -12px; } + +.lightbox-active #body { + overflow: visible; } + .lightbox-active #body .padding { + overflow: visible; } + +#github-contrib i { + vertical-align: middle; } + +.featherlight img { + margin: 0 !important; } + +.lifecycle #body-inner ul { + list-style: none; + margin: 0; + padding: 2rem 0 0; + position: relative; } + +.lifecycle #body-inner ol { + margin: 1rem 0 1rem 0; + padding: 2rem; + position: relative; } + .lifecycle #body-inner ol li { + margin-left: 1rem; } + .lifecycle #body-inner ol strong, .lifecycle #body-inner ol label, .lifecycle #body-inner ol th { + text-decoration: underline; } + .lifecycle #body-inner ol ol { + margin-left: -1rem; } + +.lifecycle #body-inner h3[class*='level'] { + font-size: 20px; + position: absolute; + margin: 0; + padding: 4px 10px; + right: 0; + z-index: 1000; + color: #fff; + background: #1ABC9C; } + +.lifecycle #body-inner ol h3 { + margin-top: 1rem !important; + right: 2rem !important; } + +.lifecycle #body-inner .level-1 + ol { + background: #f6fefc; + border: 4px solid #1ABC9C; + color: #16A085; } + .lifecycle #body-inner .level-1 + ol h3 { + background: #2ECC71; } + +.lifecycle #body-inner .level-2 + ol { + background: #f7fdf9; + border: 4px solid #2ECC71; + color: #27AE60; } + .lifecycle #body-inner .level-2 + ol h3 { + background: #3498DB; } + +.lifecycle #body-inner .level-3 + ol { + background: #f3f9fd; + border: 4px solid #3498DB; + color: #2980B9; } + .lifecycle #body-inner .level-3 + ol h3 { + background: #34495E; } + +.lifecycle #body-inner .level-4 + ol { + background: #e4eaf0; + border: 4px solid #34495E; + color: #2C3E50; } + .lifecycle #body-inner .level-4 + ol h3 { + background: #34495E; } + +#top-bar { + background: #2B303B; + border-radius: 2px; + margin: 0rem -1rem 2rem; + padding: 0 1rem; + height: 0; + min-height: 3rem; + color: #cccccc; } + #top-bar a { + color: #e6e6e6; } + #top-bar a:hover { + color: #f2f2f2; } + +#top-github-link { + position: relative; + z-index: 1; + float: right; + display: block; } + +#body #breadcrumbs { + height: auto; + display: block; + margin-bottom: 0; + padding-left: 0; + line-height: 1.4; } + #body #breadcrumbs span { + padding: 0 0.1rem; } + +@media only all and (max-width: 59.938em) { + #sidebar { + width: 230px; } + #body { + margin-left: 230px; } } + +@media only all and (max-width: 47.938em) { + #sidebar { + width: 230px; + left: -230px; } + #body { + margin-left: 0; + width: 100%; } + .sidebar-hidden { + overflow: hidden; } + .sidebar-hidden #sidebar { + left: 0; } + .sidebar-hidden #body { + margin-left: 230px; + overflow: hidden; } + .sidebar-hidden #overlay { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + z-index: 10; + background: rgba(255, 255, 255, 0.5); + cursor: pointer; } } + +.copy-to-clipboard { + background-image: url(../images/clippy.svg); + background-position: 50% 50%; + background-size: 16px 16px; + background-repeat: no-repeat; + width: 27px; + height: 1.45rem; + top: -1px; + display: inline-block; + vertical-align: middle; + position: relative; + color: #d3d7df; + background-color: #f9f2f4; + margin-left: -.2rem; + cursor: pointer; + border-radius: 0 2px 2px 0; } + .copy-to-clipboard:hover { + background-color: #f1e1e5; } + pre .copy-to-clipboard { + position: absolute; + right: 4px; + top: 4px; + background-color: #eee; + border-color: #ddd; + border-radius: 2px; } + pre .copy-to-clipboard:hover { + background-color: #d9d9d9; } + +.parent-element { + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + transform-style: preserve-3d; } + +/*# sourceMappingURL=dark_ocean.css.map */ \ No newline at end of file diff --git a/themes/learn2-git-sync/css/styles/dark_ocean.css.map b/themes/learn2-git-sync/css/styles/dark_ocean.css.map new file mode 100644 index 0000000..abe2bb1 --- /dev/null +++ b/themes/learn2-git-sync/css/styles/dark_ocean.css.map @@ -0,0 +1,111 @@ +{ + "version": 3, + "file": "dark_ocean.css", + "sources": [ + "../../scss/styles/dark_ocean.scss", + "../../scss/_prefix.scss", + "../../scss/vendor/bourbon/_bourbon.scss", + "../../scss/vendor/bourbon/settings/_prefixer.scss", + "../../scss/vendor/bourbon/settings/_px-to-em.scss", + "../../scss/vendor/bourbon/helpers/_convert-units.scss", + "../../scss/vendor/bourbon/helpers/_gradient-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_is-num.scss", + "../../scss/vendor/bourbon/helpers/_linear-angle-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-gradient-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-arg-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-gradient-parser.scss", + "../../scss/vendor/bourbon/helpers/_render-gradients.scss", + "../../scss/vendor/bourbon/helpers/_shape-size-stripper.scss", + "../../scss/vendor/bourbon/helpers/_str-to-num.scss", + "../../scss/vendor/bourbon/functions/_assign.scss", + "../../scss/vendor/bourbon/functions/_color-lightness.scss", + "../../scss/vendor/bourbon/functions/_flex-grid.scss", + "../../scss/vendor/bourbon/functions/_golden-ratio.scss", + "../../scss/vendor/bourbon/functions/_grid-width.scss", + "../../scss/vendor/bourbon/functions/_modular-scale.scss", + "../../scss/vendor/bourbon/functions/_px-to-em.scss", + "../../scss/vendor/bourbon/functions/_px-to-rem.scss", + "../../scss/vendor/bourbon/functions/_strip-units.scss", + "../../scss/vendor/bourbon/functions/_tint-shade.scss", + "../../scss/vendor/bourbon/functions/_transition-property-name.scss", + "../../scss/vendor/bourbon/functions/_unpack.scss", + "../../scss/vendor/bourbon/css3/_animation.scss", + "../../scss/vendor/bourbon/css3/_appearance.scss", + "../../scss/vendor/bourbon/css3/_backface-visibility.scss", + "../../scss/vendor/bourbon/css3/_background.scss", + "../../scss/vendor/bourbon/css3/_background-image.scss", + "../../scss/vendor/bourbon/css3/_border-image.scss", + "../../scss/vendor/bourbon/css3/_border-radius.scss", + "../../scss/vendor/bourbon/css3/_box-sizing.scss", + "../../scss/vendor/bourbon/css3/_calc.scss", + "../../scss/vendor/bourbon/css3/_columns.scss", + "../../scss/vendor/bourbon/css3/_filter.scss", + "../../scss/vendor/bourbon/css3/_flex-box.scss", + "../../scss/vendor/bourbon/css3/_font-face.scss", + "../../scss/vendor/bourbon/css3/_hyphens.scss", + "../../scss/vendor/bourbon/css3/_hidpi-media-query.scss", + "../../scss/vendor/bourbon/css3/_image-rendering.scss", + "../../scss/vendor/bourbon/css3/_keyframes.scss", + "../../scss/vendor/bourbon/css3/_linear-gradient.scss", + "../../scss/vendor/bourbon/css3/_perspective.scss", + "../../scss/vendor/bourbon/css3/_radial-gradient.scss", + "../../scss/vendor/bourbon/css3/_transform.scss", + "../../scss/vendor/bourbon/css3/_transition.scss", + "../../scss/vendor/bourbon/css3/_user-select.scss", + "../../scss/vendor/bourbon/css3/_placeholder.scss", + "../../scss/vendor/bourbon/addons/_button.scss", + "../../scss/vendor/bourbon/addons/_clearfix.scss", + "../../scss/vendor/bourbon/addons/_directional-values.scss", + "../../scss/vendor/bourbon/addons/_ellipsis.scss", + "../../scss/vendor/bourbon/addons/_font-family.scss", + "../../scss/vendor/bourbon/addons/_hide-text.scss", + "../../scss/vendor/bourbon/addons/_html5-input-types.scss", + "../../scss/vendor/bourbon/addons/_position.scss", + "../../scss/vendor/bourbon/addons/_prefixer.scss", + "../../scss/vendor/bourbon/addons/_retina-image.scss", + "../../scss/vendor/bourbon/addons/_size.scss", + "../../scss/vendor/bourbon/addons/_timing-functions.scss", + "../../scss/vendor/bourbon/addons/_triangle.scss", + "../../scss/vendor/bourbon/addons/_word-wrap.scss", + "../../scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss", + "../../scss/configuration/nucleus/_base.scss", + "../../scss/configuration/nucleus/_core.scss", + "../../scss/configuration/nucleus/_breakpoints.scss", + "../../scss/configuration/nucleus/_layout.scss", + "../../scss/configuration/nucleus/_typography.scss", + "../../scss/configuration/nucleus/_nav.scss", + "../../scss/configuration/theme/_base.scss", + "../../scss/configuration/theme/_colors.scss", + "../../scss/configuration/theme/_bullets.scss", + "../../scss/nucleus/functions/_base.scss", + "../../scss/nucleus/functions/_direction.scss", + "../../scss/nucleus/functions/_range.scss", + "../../scss/nucleus/mixins/_base.scss", + "../../scss/nucleus/mixins/_breakpoints.scss", + "../../scss/nucleus/mixins/_utilities.scss", + "../../scss/theme/modules/_base.scss", + "../../scss/theme/modules/_buttons.scss", + "../../scss/_hover-color.scss", + "../../scss/_contrast.scss", + "../../scss/_affix.scss", + "../../scss/theme/_core.scss", + "../../scss/theme/_fonts.scss", + "../../scss/theme/_forms.scss", + "../../scss/theme/_header.scss", + "../../scss/theme/_nav.scss", + "../../scss/theme/_main.scss", + "../../scss/_standard_colors.scss", + "../../scss/theme/_typography.scss", + "../../scss/theme/_tables.scss", + "../../scss/theme/_buttons.scss", + "../../scss/theme/_bullets.scss", + "../../scss/theme/_tooltips.scss", + "../../scss/theme/_scrollbar.scss", + "../../scss/theme/_custom.scss" + ], + "names": [], + "mappings": "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" +} \ No newline at end of file diff --git a/themes/learn2-git-sync/css/styles/gold.css b/themes/learn2-git-sync/css/styles/gold.css new file mode 100644 index 0000000..a7fff04 --- /dev/null +++ b/themes/learn2-git-sync/css/styles/gold.css @@ -0,0 +1,1189 @@ +@charset "UTF-8"; +@import url(//fonts.googleapis.com/css?family=Montserrat:400|Muli:300,400|Inconsolata); +#top-github-link, #body #breadcrumbs { + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); } + +.button, .button-secondary { + display: inline-block; + padding: 7px 12px; } + .button:active, .button-secondary:active { + margin: 2px 0 -2px 0; } + +/* + The Ultimate Hover Color Function + @author Gray Gilmore - http://code.graygilmore.com + + The goal of this Sass function is provide a hover color that works + with any color on any background. No longer do we need to bundle + hover color options with our themes, let Sassy McSasserson take care + of that for you. + + The hover color, seen in this demo as "After" text, must be visible in + all situations and, hopefully, pass the WCAG 2.0 contrast ratio [1] + formula (4.5:1). + + [1] http://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast + + contrast-ratio() help from @davidkaneda + + + ## Usage ## + + a { + color: $link-color; + + &:hover { + color: hover($background-color, $link-color); + } + } + + button { + background: $button-background; + color: $button-color; + + &:hover { + background: hover($background-color, $button-background); + } + } + + ## End Usage ## + +*/ +/** + * Calculate the luminance for a color. + * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + */ +/** + * Calculate the contrast ratio between two colors. + * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + */ +/** + * Determine whether to use dark or light text on top of given color. + * Returns black for dark text and white for light text. + */ +/* + WCAG color contrast formula + https://www.w3.org/TR/2016/NOTE-WCAG20-TECHS-20161007/G18#G18-procedure + + @see https://codepen.io/giana/project/full/ZWbGzD + + This pen uses the non-standard Sass pow() function + https://css-tricks.com/snippets/sass/power-function/ + Using it outside of CodePen requires you provide your own pow() function with support for decimals + + To generate random colors, we're also using a two-variable random() function includded with compass. +*/ +.ratio::after { + content: "17"; } + +.balance::after { + content: "1"; } + +.color-block .color1 { + background: #978e63; + color: #fff; } + .color-block .color1::after { + content: "#978e63"; } + +.color-block .color2 { + background: #bd9c98; + color: #fff; } + .color-block .color2::after { + content: "#bd9c98"; } + +.fix-color .color:nth-child(2) { + background: #000; + color: #fff; } + .fix-color .color:nth-child(2)::after { + content: "#000"; } + +.fix-color .color:nth-child(3) { + background: #fff; + color: #000; } + .fix-color .color:nth-child(3)::after { + content: "#fff"; } + +.fix-contrast .color:nth-child(2) { + background: #464644; + color: #fff; } + .fix-contrast .color:nth-child(2)::after { + content: "#464644"; } + +.fix-contrast .color:nth-child(3) { + background: #fff; + color: #000; } + .fix-contrast .color:nth-child(3)::after { + content: "#fff"; } + +.best-contrast .color:nth-child(2) { + background: #c5c2cc; + color: #fff; } + .best-contrast .color:nth-child(2)::after { + content: "#c5c2cc"; } + +.best-contrast .color:nth-child(3) { + background: white; + color: #000; } + .best-contrast .color:nth-child(3)::after { + content: "white"; } + +.scale-luminance .color:nth-child(2) { + background: #afa577; + color: #fff; } + .scale-luminance .color:nth-child(2)::after { + content: "#afa577"; } + +.check-contrast .result::after { + content: "false"; } + +.luminance .result::after { + content: "0.26739, 0.36985"; } + +body #sidebar ul li.active > a { + color: #333333 !important; } + +body { + background: #F4F4F4; + color: #333333; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +a { + color: black; } + a:link, a:visited { + color: black; } + a:hover, a:active { + color: black; } + +#body-inner a { + text-decoration: underline; + text-decoration-style: dotted; } + #body-inner a:hover { + text-decoration-style: solid; } + +pre { + position: relative; } + +.bg { + background: #fff; + border: 1px solid #eaeaea; } + +b, +strong, +label, +th { + font-weight: 600; } + +.default-animation, #header #logo-svg, #header #logo-svg path, #sidebar, #sidebar ul, #body, #body .padding, #body .nav { + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; } + +fieldset { + border: 1px solid #ddd; } + +textarea, input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], select[multiple=multiple] { + background-color: white; + border: 1px solid #ddd; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); } + textarea:hover, input[type="email"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="url"]:hover, input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="month"]:hover, input[type="time"]:hover, input[type="week"]:hover, select[multiple=multiple]:hover { + border-color: #c4c4c4; } + textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus { + border-color: #1694CA; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(19, 131, 179, 0.7); } + +#header { + background: #C0B283; + color: #f2f0e6; + text-align: center; + padding: 1rem; } + #header a { + display: inline-block; } + #header #logo-svg { + width: 8rem; + height: 2rem; } + #header #logo-svg path { + fill: #fff; } + +.searchbox { + margin-top: 0.5rem; + position: relative; + border: 1px solid #b7a872; + background: #c9bd94; + border-radius: 4px; } + .searchbox label { + color: rgba(255, 255, 255, 0.8); + position: absolute; + left: 10px; + top: 3px; } + .searchbox span { + color: rgba(255, 255, 255, 0.6); + position: absolute; + right: 10px; + top: 3px; + cursor: pointer; } + .searchbox span:hover { + color: rgba(255, 255, 255, 0.9); } + .searchbox input { + display: inline-block; + color: #f4f2ea; + width: 100%; + height: 30px; + background: transparent; + border: 0; + padding: 0 25px 0 30px; + margin: 0; + font-weight: 400; } + .searchbox input::-webkit-input-placeholder { + color: #f1eee3; } + .searchbox input::-moz-placeholder { + color: #f1eee3; } + .searchbox input:-moz-placeholder { + color: #f1eee3; } + .searchbox input:-ms-input-placeholder { + color: #f1eee3; } + +#sidebar-toggle { + display: none; } + @media only all and (max-width: 47.938em) { + #sidebar-toggle { + display: inline-block; } } + +#sidebar { + background-color: #c1ab8f; + position: fixed; + top: 0; + width: 300px; + bottom: 0; + left: 0; + font-weight: 500; + font-size: 15px; + border-right: 1px solid #b49a78; } + #sidebar a, + #sidebar i { + color: white; } + #sidebar a:hover, + #sidebar i:hover { + color: #fcfbfa; } + #sidebar a.subtitle, + #sidebar i.subtitle { + color: rgba(255, 255, 255, 0.6); } + #sidebar hr { + border-bottom: 1px solid #c6b399; } + #sidebar a.padding { + padding: 0 1rem; } + #sidebar h5 { + margin: 2rem 0 0; + position: relative; + line-height: 2; } + #sidebar h5 a { + display: block; + margin-left: 0; + margin-right: 0; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar h5 i { + color: rgba(255, 255, 255, 0.6); + position: absolute; + right: 0.6rem; + top: 0.7rem; + font-size: 80%; } + #sidebar h5.parent a { + background: #cdbca6; + color: white !important; } + #sidebar h5.active a { + background: #fff; + color: #333333 !important; } + #sidebar h5.active i { + color: #333333 !important; } + #sidebar h5 + ul.topics { + display: none; + margin-top: 0; } + #sidebar h5.parent + ul.topics, + #sidebar h5.active + ul.topics { + display: block; } + #sidebar ul { + list-style: none; + padding: 0; + margin: 0; } + #sidebar ul.searched a { + color: white; } + #sidebar ul.searched .search-match a { + color: white; } + #sidebar ul.searched .search-match a:hover { + color: white; } + #sidebar ul.topics { + margin: 0 1rem; } + #sidebar ul.topics.searched ul { + display: block; } + #sidebar ul.topics ul { + display: none; + padding-bottom: 1rem; } + #sidebar ul.topics ul ul { + padding-bottom: 0; } + #sidebar ul.topics li.parent ul, + #sidebar ul.topics > li.active ul { + display: block; } + #sidebar ul.topics > li > a { + line-height: 2rem; + font-size: 1.1rem; } + #sidebar ul.topics > li > a b { + color: white; + font-weight: normal; } + #sidebar ul.topics > li > a .fa { + margin-top: 9px; } + #sidebar ul.topics > li.parent, #sidebar ul.topics > li.active { + background: #cab89f; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul.topics > li.parent > a b, #sidebar ul.topics > li.active > a b { + color: white; } + #sidebar ul li.active > a { + background: #fff; + color: #333333 !important; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul li.active > a b { + color: #333333 !important; } + #sidebar ul li { + padding: 0; } + #sidebar ul li.visited + span { + margin-right: 16px; } + #sidebar ul li a { + display: block; + padding: 2px 0; } + #sidebar ul li a span { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + display: block; } + #sidebar ul li > a { + padding: 4px 0; } + #sidebar ul li .fa { + display: none; + float: right; + font-size: 13px; + min-width: 16px; + margin: 4px 0 0 0; + text-align: right; } + #sidebar ul li.visited > a .read-icon { + display: inline; + color: white; } + #sidebar ul li.visited > a .read-icon:hover { + color: #fcfbfa; } + #sidebar ul li.active > a .read-icon, #sidebar ul li.active.visited > a .read-icon { + display: inline; + color: #333333; } + #sidebar ul li.active > a .read-icon:hover, #sidebar ul li.active.visited > a .read-icon:hover { + color: black; } + #sidebar ul li li { + padding-left: 1rem; + text-indent: 0.2rem; } + +#body #navigation .nav .fa { + color: #655238; } + #body #navigation .nav .fa:active, #body #navigation .nav .fa:focus, #body #navigation .nav .fa:hover, #body #navigation .nav .fa:visited { + color: #967a53; } + +#main { + background: #f7f7f7; + margin: 0 0 1.563rem 0; } + +#body { + position: relative; + margin-left: 300px; + min-height: 100%; } + #body img, + #body .video-container { + margin: 3rem auto; + display: block; + text-align: center; } + #body img.border, + #body .video-container.border { + border: 2px solid #e6e6e6 !important; + padding: 2px; } + #body img.shadow, + #body .video-container.shadow { + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); } + #body .bordered { + border: 1px solid #ccc; } + #body .padding { + padding: 3rem 6rem; } + @media only all and (max-width: 59.938em) { + #body .padding { + position: static; + padding: 15px 3rem; } } + @media only all and (max-width: 47.938em) { + #body .padding { + padding: 5px 1rem; } } + #body h1 + hr { + margin-top: -1.7rem; + margin-bottom: 3rem; } + @media only all and (max-width: 59.938em) { + #body #navigation { + position: static; + margin-right: 0 !important; + width: 100%; + display: table; } } + #body .nav { + position: fixed; + top: 0; + bottom: 0; + width: 4rem; + font-size: 0; + height: 100%; + cursor: pointer; + display: table; + text-align: center; } + #body .nav > i { + display: table-cell; + vertical-align: middle; + text-align: center; } + @media only all and (max-width: 59.938em) { + #body .nav { + display: table-cell; + position: static; + top: auto; + width: 50%; + text-align: center; + height: 100px; + line-height: 100px; + padding-top: 0; } + #body .nav > i { + display: inline-block; } } + #body .nav i { + font-size: 50px; } + #body .nav:hover { + background: #dbdbdb; } + #body .nav.nav-pref { + left: 0; } + #body .nav.nav-next { + right: 0; } + +#body-inner { + margin-bottom: 5rem; } + +#chapter { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 2rem 0; } + #chapter #body-inner { + padding-bottom: 3rem; + max-width: 80%; } + #chapter h3 { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-align: center; } + #chapter h1 { + font-size: 5rem; + border-bottom: 4px solid #F0F2F4; } + #chapter p { + text-align: center; + font-size: 1.2rem; } + +#footer { + padding: 3rem 1rem; + color: #e6e6e6; + font-size: 13px; } + #footer p { + margin: 0; } + +body { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + letter-spacing: -0.03rem; + font-weight: 400; + font-size: 1.05rem; + line-height: 1.7; } + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Montserrat", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-rendering: optimizeLegibility; + line-height: 150%; + letter-spacing: -0px; + overflow-wrap: break-word; + overflow: visible; + word-break: break-word; + white-space: normal; + margin: 0.425rem 0 0.85rem 0; } + +h1 { + text-align: center; + letter-spacing: -3px; + font-size: 2.55rem; } + +h2 { + letter-spacing: -2px; + font-size: 2.15rem; } + +h3 { + letter-spacing: -1px; + font-size: 1.8rem; } + +h4 { + font-size: 1.4rem; } + +h5 { + font-size: 0.9rem; } + +h6 { + font-size: 0.7rem; } + +p { + margin: 1.7rem 0; } + +ul, +ol { + margin-top: 1.7rem; + margin-bottom: 1.7rem; } + ul ul, + ul ol, + ol ul, + ol ol { + margin-top: 0; + margin-bottom: 0; } + +blockquote { + border-left: 10px solid #F0F2F4; + margin: 1.7rem 0; + padding-left: 0.85rem; } + blockquote p { + font-size: 1.1rem; + color: #666666; } + blockquote cite { + display: block; + text-align: right; + color: #333333; + font-size: 0.925rem; } + blockquote cite:before { + content: "\2014 \0020"; } + +pre { + margin: 1.7rem 0; + padding: 0.938rem; } + +code { + vertical-align: bottom; } + +small { + font-size: 0.925rem; } + +hr { + border-left: none; + border-right: none; + border-top: none; + margin: 1.7rem 0; } + +blockquote { + position: relative; } + +blockquote blockquote { + position: static; } + +blockquote > blockquote > blockquote { + margin: 0; } + blockquote > blockquote > blockquote p { + padding: 15px; + display: block; + font-size: 1rem; + margin-top: 0rem; + margin-bottom: 0rem; + color: #666; } + blockquote > blockquote > blockquote p:first-child:before { + position: absolute; + top: 2px; + color: #fff; + font-family: FontAwesome; + content: ''; + left: 10px; } + blockquote > blockquote > blockquote p:first-child:after { + position: absolute; + top: 2px; + color: #fff; + left: 2rem; + font-weight: bold; + content: 'Info'; } + blockquote > blockquote > blockquote > p { + margin-left: -71px; + border-top: 30px solid #F0B37E; + background: #FFF2DB; } + blockquote > blockquote > blockquote > blockquote > p { + margin-left: -94px; + border-top: 30px solid rgba(217, 83, 79, 0.8); + background: #FAE2E2; } + blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Warning'; } + blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -118px; + border-top: 30px solid #6AB0DE; + background: #E7F2FA; } + blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Note'; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -142px; + border-top: 30px solid rgba(92, 184, 92, 0.8); + background: #E6F9E6; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Tip'; } + +code, +kbd, +pre, +samp { + font-family: "Inconsolata", monospace; } + +code { + background: #f9f2f4; + color: #9c1d3d; + padding: .2rem .4rem; + border-radius: 3px; } + +pre { + padding: 1rem; + margin: 2rem 0; + background: #f6f6f6; + border: 1px solid #ddd; + border-radius: 2px; + line-height: 1.15; + font-size: 1rem; } + pre code { + color: #237794; + background: inherit; + font-size: 1rem; } + +hr { + border-bottom: 4px solid #F0F2F4; } + +.page-title { + margin-top: -25px; + padding: 25px; + float: left; + clear: both; + background: black; + color: #fff; } + +#body a.anchor-link { + color: #ccc; } + +#body a.anchor-link:hover { + color: black; } + +.scrollbar-inner > .scroll-element .scroll-element_track { + background-color: rgba(255, 255, 255, 0.3); } + +.scrollbar-inner > .scroll-element .scroll-bar { + background-color: #b5d1eb; } + +.scrollbar-inner > .scroll-element:hover .scroll-bar { + background-color: #ccc; } + +.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar { + background-color: #ccc; } + +table { + border: 1px solid #eaeaea; + table-layout: auto; } + +th { + background: #f7f7f7; + padding: 0.5rem; } + +td { + padding: 0.5rem; + border: 1px solid #eaeaea; } + +.button { + background: black !important; + color: white !important; + box-shadow: 0 3px 0 black !important; } + .button:hover { + background: black !important; + box-shadow: 0 3px 0 black !important; + color: white !important; } + .button:active { + box-shadow: 0 1px 0 black !important; } + .button i { + color: white !important; } + +.button-secondary { + background: black !important; + color: white !important; + box-shadow: 0 3px 0 black !important; } + .button-secondary:hover { + background: black !important; + box-shadow: 0 3px 0 black !important; + color: white !important; } + .button-secondary:active { + box-shadow: 0 1px 0 black !important; } + .button-secondary i { + color: white !important; } + +.bullets { + margin: 1.7rem 0; + margin-left: -0.85rem; + margin-right: -0.85rem; + overflow: auto; } + +.bullet { + float: left; + padding: 0 0.85rem; } + +.two-column-bullet { + width: 50%; } + @media only all and (max-width: 47.938em) { + .two-column-bullet { + width: 100%; } } + +.three-column-bullet { + width: 33.33333%; } + @media only all and (max-width: 47.938em) { + .three-column-bullet { + width: 100%; } } + +.four-column-bullet { + width: 25%; } + @media only all and (max-width: 47.938em) { + .four-column-bullet { + width: 100%; } } + +.bullet-icon { + float: left; + background: #1694CA; + padding: 0.875rem; + width: 3.5rem; + height: 3.5rem; + border-radius: 50%; + color: #fff; + font-size: 1.75rem; + text-align: center; } + +.bullet-icon-1 { + background: #1694CA; } + +.bullet-icon-2 { + background: #16cac4; } + +.bullet-icon-3 { + background: #b2ca16; } + +.bullet-content { + margin-left: 4.55rem; } + +.tooltipped { + position: relative; } + +.tooltipped:after { + position: absolute; + z-index: 1000000; + display: none; + padding: 5px 8px; + font: normal normal 11px/1.5 "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + color: #fff; + text-align: center; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-wrap: break-word; + white-space: pre; + pointer-events: none; + content: attr(aria-label); + background: rgba(0, 0, 0, 0.8); + border-radius: 3px; + -webkit-font-smoothing: subpixel-antialiased; } + +.tooltipped:before { + position: absolute; + z-index: 1000001; + display: none; + width: 0; + height: 0; + color: rgba(0, 0, 0, 0.8); + pointer-events: none; + content: ""; + border: 5px solid transparent; } + +.tooltipped:hover:before, .tooltipped:hover:after, +.tooltipped:active:before, +.tooltipped:active:after, +.tooltipped:focus:before, +.tooltipped:focus:after { + display: inline-block; + text-decoration: none; } + +.tooltipped-s:after, +.tooltipped-se:after, +.tooltipped-sw:after { + top: 100%; + right: 50%; + margin-top: 5px; } + +.tooltipped-s:before, +.tooltipped-se:before, +.tooltipped-sw:before { + top: auto; + right: 50%; + bottom: -5px; + margin-right: -5px; + border-bottom-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-se:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-sw:after { + margin-right: -15px; } + +.tooltipped-n:after, +.tooltipped-ne:after, +.tooltipped-nw:after { + right: 50%; + bottom: 100%; + margin-bottom: 5px; } + +.tooltipped-n:before, +.tooltipped-ne:before, +.tooltipped-nw:before { + top: -5px; + right: 50%; + bottom: auto; + margin-right: -5px; + border-top-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-ne:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-nw:after { + margin-right: -15px; } + +.tooltipped-s:after, +.tooltipped-n:after { + transform: translateX(50%); } + +.tooltipped-w:after { + right: 100%; + bottom: 50%; + margin-right: 5px; + transform: translateY(50%); } + +.tooltipped-w:before { + top: 50%; + bottom: 50%; + left: -5px; + margin-top: -5px; + border-left-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-e:after { + bottom: 50%; + left: 100%; + margin-left: 5px; + transform: translateY(50%); } + +.tooltipped-e:before { + top: 50%; + right: -5px; + bottom: 50%; + margin-top: -5px; + border-right-color: rgba(0, 0, 0, 0.8); } + +/*************** SCROLLBAR BASE CSS ***************/ +.highlightable { + padding: 25px 0 15px; } + +.scroll-wrapper { + overflow: hidden !important; + padding: 0 !important; + position: relative; } + +.scroll-wrapper > .scroll-content { + border: none !important; + box-sizing: content-box !important; + height: auto; + left: 0; + margin: 0; + max-height: none; + max-width: none !important; + overflow: scroll !important; + padding: 0; + position: relative !important; + top: 0; + width: auto !important; } + +.scroll-wrapper > .scroll-content::-webkit-scrollbar { + height: 0; + width: 0; } + +.scroll-element { + display: none; } + +.scroll-element, .scroll-element div { + box-sizing: content-box; } + +.scroll-element.scroll-x.scroll-scrollx_visible, +.scroll-element.scroll-y.scroll-scrolly_visible { + display: block; } + +.scroll-element .scroll-bar, +.scroll-element .scroll-arrow { + cursor: default; } + +.scroll-textarea > .scroll-content { + overflow: hidden !important; } + +.scroll-textarea > .scroll-content > textarea { + border: none !important; + box-sizing: border-box; + height: 100% !important; + margin: 0; + max-height: none !important; + max-width: none !important; + overflow: scroll !important; + outline: none; + padding: 2px; + position: relative !important; + top: 0; + width: 100% !important; } + +.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar { + height: 0; + width: 0; } + +/*************** SIMPLE INNER SCROLLBAR ***************/ +.scrollbar-inner > .scroll-element, +.scrollbar-inner > .scroll-element div { + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; } + +.scrollbar-inner > .scroll-element div { + display: block; + height: 100%; + left: 0; + top: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-x { + bottom: 2px; + height: 8px; + left: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-y { + height: 100%; + right: 2px; + top: 0; + width: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_outer { + overflow: hidden; } + +.scrollbar-inner > .scroll-element .scroll-element_outer, +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; + filter: alpha(opacity=30); + opacity: 0.3; } + +/* update scrollbar offset if both scrolls are visible */ +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { + top: -12px; } + +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size { + top: -12px; } + +.lightbox-active #body { + overflow: visible; } + .lightbox-active #body .padding { + overflow: visible; } + +#github-contrib i { + vertical-align: middle; } + +.featherlight img { + margin: 0 !important; } + +.lifecycle #body-inner ul { + list-style: none; + margin: 0; + padding: 2rem 0 0; + position: relative; } + +.lifecycle #body-inner ol { + margin: 1rem 0 1rem 0; + padding: 2rem; + position: relative; } + .lifecycle #body-inner ol li { + margin-left: 1rem; } + .lifecycle #body-inner ol strong, .lifecycle #body-inner ol label, .lifecycle #body-inner ol th { + text-decoration: underline; } + .lifecycle #body-inner ol ol { + margin-left: -1rem; } + +.lifecycle #body-inner h3[class*='level'] { + font-size: 20px; + position: absolute; + margin: 0; + padding: 4px 10px; + right: 0; + z-index: 1000; + color: #fff; + background: #1ABC9C; } + +.lifecycle #body-inner ol h3 { + margin-top: 1rem !important; + right: 2rem !important; } + +.lifecycle #body-inner .level-1 + ol { + background: #f6fefc; + border: 4px solid #1ABC9C; + color: #16A085; } + .lifecycle #body-inner .level-1 + ol h3 { + background: #2ECC71; } + +.lifecycle #body-inner .level-2 + ol { + background: #f7fdf9; + border: 4px solid #2ECC71; + color: #27AE60; } + .lifecycle #body-inner .level-2 + ol h3 { + background: #3498DB; } + +.lifecycle #body-inner .level-3 + ol { + background: #f3f9fd; + border: 4px solid #3498DB; + color: #2980B9; } + .lifecycle #body-inner .level-3 + ol h3 { + background: #34495E; } + +.lifecycle #body-inner .level-4 + ol { + background: #e4eaf0; + border: 4px solid #34495E; + color: #2C3E50; } + .lifecycle #body-inner .level-4 + ol h3 { + background: #34495E; } + +#top-bar { + background: #F4F4F4; + border-radius: 2px; + margin: 0rem -1rem 2rem; + padding: 0 1rem; + height: 0; + min-height: 3rem; + color: #333333; } + #top-bar a { + color: #1a1a1a; } + #top-bar a:hover { + color: #0d0d0d; } + +#top-github-link { + position: relative; + z-index: 1; + float: right; + display: block; } + +#body #breadcrumbs { + height: auto; + display: block; + margin-bottom: 0; + padding-left: 0; + line-height: 1.4; } + #body #breadcrumbs span { + padding: 0 0.1rem; } + +@media only all and (max-width: 59.938em) { + #sidebar { + width: 230px; } + #body { + margin-left: 230px; } } + +@media only all and (max-width: 47.938em) { + #sidebar { + width: 230px; + left: -230px; } + #body { + margin-left: 0; + width: 100%; } + .sidebar-hidden { + overflow: hidden; } + .sidebar-hidden #sidebar { + left: 0; } + .sidebar-hidden #body { + margin-left: 230px; + overflow: hidden; } + .sidebar-hidden #overlay { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + z-index: 10; + background: rgba(255, 255, 255, 0.5); + cursor: pointer; } } + +.copy-to-clipboard { + background-image: url(../images/clippy.svg); + background-position: 50% 50%; + background-size: 16px 16px; + background-repeat: no-repeat; + width: 27px; + height: 1.45rem; + top: -1px; + display: inline-block; + vertical-align: middle; + position: relative; + color: #1a1a1a; + background-color: #f9f2f4; + margin-left: -.2rem; + cursor: pointer; + border-radius: 0 2px 2px 0; } + .copy-to-clipboard:hover { + background-color: #f1e1e5; } + pre .copy-to-clipboard { + position: absolute; + right: 4px; + top: 4px; + background-color: #eee; + border-color: #ddd; + border-radius: 2px; } + pre .copy-to-clipboard:hover { + background-color: #d9d9d9; } + +.parent-element { + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + transform-style: preserve-3d; } + +/*# sourceMappingURL=gold.css.map */ \ No newline at end of file diff --git a/themes/learn2-git-sync/css/styles/gold.css.map b/themes/learn2-git-sync/css/styles/gold.css.map new file mode 100644 index 0000000..071b564 --- /dev/null +++ b/themes/learn2-git-sync/css/styles/gold.css.map @@ -0,0 +1,111 @@ +{ + "version": 3, + "file": "gold.css", + "sources": [ + "../../scss/styles/gold.scss", + "../../scss/_prefix.scss", + "../../scss/vendor/bourbon/_bourbon.scss", + "../../scss/vendor/bourbon/settings/_prefixer.scss", + "../../scss/vendor/bourbon/settings/_px-to-em.scss", + "../../scss/vendor/bourbon/helpers/_convert-units.scss", + "../../scss/vendor/bourbon/helpers/_gradient-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_is-num.scss", + "../../scss/vendor/bourbon/helpers/_linear-angle-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-gradient-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-arg-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-gradient-parser.scss", + "../../scss/vendor/bourbon/helpers/_render-gradients.scss", + "../../scss/vendor/bourbon/helpers/_shape-size-stripper.scss", + "../../scss/vendor/bourbon/helpers/_str-to-num.scss", + "../../scss/vendor/bourbon/functions/_assign.scss", + "../../scss/vendor/bourbon/functions/_color-lightness.scss", + "../../scss/vendor/bourbon/functions/_flex-grid.scss", + "../../scss/vendor/bourbon/functions/_golden-ratio.scss", + "../../scss/vendor/bourbon/functions/_grid-width.scss", + "../../scss/vendor/bourbon/functions/_modular-scale.scss", + "../../scss/vendor/bourbon/functions/_px-to-em.scss", + "../../scss/vendor/bourbon/functions/_px-to-rem.scss", + "../../scss/vendor/bourbon/functions/_strip-units.scss", + "../../scss/vendor/bourbon/functions/_tint-shade.scss", + "../../scss/vendor/bourbon/functions/_transition-property-name.scss", + "../../scss/vendor/bourbon/functions/_unpack.scss", + "../../scss/vendor/bourbon/css3/_animation.scss", + "../../scss/vendor/bourbon/css3/_appearance.scss", + "../../scss/vendor/bourbon/css3/_backface-visibility.scss", + "../../scss/vendor/bourbon/css3/_background.scss", + "../../scss/vendor/bourbon/css3/_background-image.scss", + "../../scss/vendor/bourbon/css3/_border-image.scss", + "../../scss/vendor/bourbon/css3/_border-radius.scss", + "../../scss/vendor/bourbon/css3/_box-sizing.scss", + "../../scss/vendor/bourbon/css3/_calc.scss", + "../../scss/vendor/bourbon/css3/_columns.scss", + "../../scss/vendor/bourbon/css3/_filter.scss", + "../../scss/vendor/bourbon/css3/_flex-box.scss", + "../../scss/vendor/bourbon/css3/_font-face.scss", + "../../scss/vendor/bourbon/css3/_hyphens.scss", + "../../scss/vendor/bourbon/css3/_hidpi-media-query.scss", + "../../scss/vendor/bourbon/css3/_image-rendering.scss", + "../../scss/vendor/bourbon/css3/_keyframes.scss", + "../../scss/vendor/bourbon/css3/_linear-gradient.scss", + "../../scss/vendor/bourbon/css3/_perspective.scss", + "../../scss/vendor/bourbon/css3/_radial-gradient.scss", + "../../scss/vendor/bourbon/css3/_transform.scss", + "../../scss/vendor/bourbon/css3/_transition.scss", + "../../scss/vendor/bourbon/css3/_user-select.scss", + "../../scss/vendor/bourbon/css3/_placeholder.scss", + "../../scss/vendor/bourbon/addons/_button.scss", + "../../scss/vendor/bourbon/addons/_clearfix.scss", + "../../scss/vendor/bourbon/addons/_directional-values.scss", + "../../scss/vendor/bourbon/addons/_ellipsis.scss", + "../../scss/vendor/bourbon/addons/_font-family.scss", + "../../scss/vendor/bourbon/addons/_hide-text.scss", + "../../scss/vendor/bourbon/addons/_html5-input-types.scss", + "../../scss/vendor/bourbon/addons/_position.scss", + "../../scss/vendor/bourbon/addons/_prefixer.scss", + "../../scss/vendor/bourbon/addons/_retina-image.scss", + "../../scss/vendor/bourbon/addons/_size.scss", + "../../scss/vendor/bourbon/addons/_timing-functions.scss", + "../../scss/vendor/bourbon/addons/_triangle.scss", + "../../scss/vendor/bourbon/addons/_word-wrap.scss", + "../../scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss", + "../../scss/configuration/nucleus/_base.scss", + "../../scss/configuration/nucleus/_core.scss", + "../../scss/configuration/nucleus/_breakpoints.scss", + "../../scss/configuration/nucleus/_layout.scss", + "../../scss/configuration/nucleus/_typography.scss", + "../../scss/configuration/nucleus/_nav.scss", + "../../scss/configuration/theme/_base.scss", + "../../scss/configuration/theme/_colors.scss", + "../../scss/configuration/theme/_bullets.scss", + "../../scss/nucleus/functions/_base.scss", + "../../scss/nucleus/functions/_direction.scss", + "../../scss/nucleus/functions/_range.scss", + "../../scss/nucleus/mixins/_base.scss", + "../../scss/nucleus/mixins/_breakpoints.scss", + "../../scss/nucleus/mixins/_utilities.scss", + "../../scss/theme/modules/_base.scss", + "../../scss/theme/modules/_buttons.scss", + "../../scss/_hover-color.scss", + "../../scss/_contrast.scss", + "../../scss/_affix.scss", + "../../scss/theme/_core.scss", + "../../scss/theme/_fonts.scss", + "../../scss/theme/_forms.scss", + "../../scss/theme/_header.scss", + "../../scss/theme/_nav.scss", + "../../scss/theme/_main.scss", + "../../scss/_standard_colors.scss", + "../../scss/theme/_typography.scss", + "../../scss/theme/_tables.scss", + "../../scss/theme/_buttons.scss", + "../../scss/theme/_bullets.scss", + "../../scss/theme/_tooltips.scss", + "../../scss/theme/_scrollbar.scss", + "../../scss/theme/_custom.scss" + ], + "names": [], + "mappings": "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" +} \ No newline at end of file diff --git a/themes/learn2-git-sync/css/styles/grey.css b/themes/learn2-git-sync/css/styles/grey.css new file mode 100644 index 0000000..ccc32d4 --- /dev/null +++ b/themes/learn2-git-sync/css/styles/grey.css @@ -0,0 +1,1189 @@ +@charset "UTF-8"; +@import url(//fonts.googleapis.com/css?family=Montserrat:400|Muli:300,400|Inconsolata); +#top-github-link, #body #breadcrumbs { + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); } + +.button, .button-secondary { + display: inline-block; + padding: 7px 12px; } + .button:active, .button-secondary:active { + margin: 2px 0 -2px 0; } + +/* + The Ultimate Hover Color Function + @author Gray Gilmore - http://code.graygilmore.com + + The goal of this Sass function is provide a hover color that works + with any color on any background. No longer do we need to bundle + hover color options with our themes, let Sassy McSasserson take care + of that for you. + + The hover color, seen in this demo as "After" text, must be visible in + all situations and, hopefully, pass the WCAG 2.0 contrast ratio [1] + formula (4.5:1). + + [1] http://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast + + contrast-ratio() help from @davidkaneda + + + ## Usage ## + + a { + color: $link-color; + + &:hover { + color: hover($background-color, $link-color); + } + } + + button { + background: $button-background; + color: $button-color; + + &:hover { + background: hover($background-color, $button-background); + } + } + + ## End Usage ## + +*/ +/** + * Calculate the luminance for a color. + * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + */ +/** + * Calculate the contrast ratio between two colors. + * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + */ +/** + * Determine whether to use dark or light text on top of given color. + * Returns black for dark text and white for light text. + */ +/* + WCAG color contrast formula + https://www.w3.org/TR/2016/NOTE-WCAG20-TECHS-20161007/G18#G18-procedure + + @see https://codepen.io/giana/project/full/ZWbGzD + + This pen uses the non-standard Sass pow() function + https://css-tricks.com/snippets/sass/power-function/ + Using it outside of CodePen requires you provide your own pow() function with support for decimals + + To generate random colors, we're also using a two-variable random() function includded with compass. +*/ +.ratio::after { + content: "21"; } + +.balance::after { + content: "37"; } + +.color-block .color1 { + background: #362616; + color: #fff; } + .color-block .color1::after { + content: "#362616"; } + +.color-block .color2 { + background: #646b76; + color: #fff; } + .color-block .color2::after { + content: "#646b76"; } + +.fix-color .color:nth-child(2) { + background: #000; + color: #fff; } + .fix-color .color:nth-child(2)::after { + content: "#000"; } + +.fix-color .color:nth-child(3) { + background: #fff; + color: #000; } + .fix-color .color:nth-child(3)::after { + content: "#fff"; } + +.fix-contrast .color:nth-child(2) { + background: #000; + color: #fff; } + .fix-contrast .color:nth-child(2)::after { + content: "#000"; } + +.fix-contrast .color:nth-child(3) { + background: #fff; + color: #000; } + .fix-contrast .color:nth-child(3)::after { + content: "#fff"; } + +.best-contrast .color:nth-child(2) { + background: #05060a; + color: #fff; } + .best-contrast .color:nth-child(2)::after { + content: "#05060a"; } + +.best-contrast .color:nth-child(3) { + background: #f6ffff; + color: #000; } + .best-contrast .color:nth-child(3)::after { + content: "#f6ffff"; } + +.scale-luminance .color:nth-child(2) { + background: #856b58; + color: #fff; } + .scale-luminance .color:nth-child(2)::after { + content: "#856b58"; } + +.check-contrast .result::after { + content: "false"; } + +.luminance .result::after { + content: "0.02507, 0.14556"; } + +body #sidebar ul li.active > a { + color: #080000 !important; } + +body { + background: #f9f9f9; + color: #080000; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +a { + color: #6e0000; } + a:link, a:visited { + color: #6e0000; } + a:hover, a:active { + color: #550000; } + +#body-inner a { + text-decoration: underline; + text-decoration-style: dotted; } + #body-inner a:hover { + text-decoration-style: solid; } + +pre { + position: relative; } + +.bg { + background: #fff; + border: 1px solid #eaeaea; } + +b, +strong, +label, +th { + font-weight: 600; } + +.default-animation, #header #logo-svg, #header #logo-svg path, #sidebar, #sidebar ul, #body, #body .padding, #body .nav { + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; } + +fieldset { + border: 1px solid #ddd; } + +textarea, input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], select[multiple=multiple] { + background-color: white; + border: 1px solid #ddd; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); } + textarea:hover, input[type="email"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="url"]:hover, input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="month"]:hover, input[type="time"]:hover, input[type="week"]:hover, select[multiple=multiple]:hover { + border-color: #c4c4c4; } + textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus { + border-color: #1694CA; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(19, 131, 179, 0.7); } + +#header { + background: #848484; + color: #e6e6e6; + text-align: center; + padding: 1rem; } + #header a { + display: inline-block; } + #header #logo-svg { + width: 8rem; + height: 2rem; } + #header #logo-svg path { + fill: #fff; } + +.searchbox { + margin-top: 0.5rem; + position: relative; + border: 1px solid #777777; + background: #919191; + border-radius: 4px; } + .searchbox label { + color: rgba(255, 255, 255, 0.8); + position: absolute; + left: 10px; + top: 3px; } + .searchbox span { + color: rgba(255, 255, 255, 0.6); + position: absolute; + right: 10px; + top: 3px; + cursor: pointer; } + .searchbox span:hover { + color: rgba(255, 255, 255, 0.9); } + .searchbox input { + display: inline-block; + color: #e9e9e9; + width: 100%; + height: 30px; + background: transparent; + border: 0; + padding: 0 25px 0 30px; + margin: 0; + font-weight: 400; } + .searchbox input::-webkit-input-placeholder { + color: #e4e4e4; } + .searchbox input::-moz-placeholder { + color: #e4e4e4; } + .searchbox input:-moz-placeholder { + color: #e4e4e4; } + .searchbox input:-ms-input-placeholder { + color: #e4e4e4; } + +#sidebar-toggle { + display: none; } + @media only all and (max-width: 47.938em) { + #sidebar-toggle { + display: inline-block; } } + +#sidebar { + background-color: #A5A5A5; + position: fixed; + top: 0; + width: 300px; + bottom: 0; + left: 0; + font-weight: 500; + font-size: 15px; + border-right: 1px solid #939393; } + #sidebar a, + #sidebar i { + color: white; } + #sidebar a:hover, + #sidebar i:hover { + color: #fafafa; } + #sidebar a.subtitle, + #sidebar i.subtitle { + color: rgba(255, 255, 255, 0.6); } + #sidebar hr { + border-bottom: 1px solid #adadad; } + #sidebar a.padding { + padding: 0 1rem; } + #sidebar h5 { + margin: 2rem 0 0; + position: relative; + line-height: 2; } + #sidebar h5 a { + display: block; + margin-left: 0; + margin-right: 0; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar h5 i { + color: rgba(255, 255, 255, 0.6); + position: absolute; + right: 0.6rem; + top: 0.7rem; + font-size: 80%; } + #sidebar h5.parent a { + background: #b7b7b7; + color: white !important; } + #sidebar h5.active a { + background: #fff; + color: #080000 !important; } + #sidebar h5.active i { + color: #080000 !important; } + #sidebar h5 + ul.topics { + display: none; + margin-top: 0; } + #sidebar h5.parent + ul.topics, + #sidebar h5.active + ul.topics { + display: block; } + #sidebar ul { + list-style: none; + padding: 0; + margin: 0; } + #sidebar ul.searched a { + color: white; } + #sidebar ul.searched .search-match a { + color: white; } + #sidebar ul.searched .search-match a:hover { + color: white; } + #sidebar ul.topics { + margin: 0 1rem; } + #sidebar ul.topics.searched ul { + display: block; } + #sidebar ul.topics ul { + display: none; + padding-bottom: 1rem; } + #sidebar ul.topics ul ul { + padding-bottom: 0; } + #sidebar ul.topics li.parent ul, + #sidebar ul.topics > li.active ul { + display: block; } + #sidebar ul.topics > li > a { + line-height: 2rem; + font-size: 1.1rem; } + #sidebar ul.topics > li > a b { + color: white; + font-weight: normal; } + #sidebar ul.topics > li > a .fa { + margin-top: 9px; } + #sidebar ul.topics > li.parent, #sidebar ul.topics > li.active { + background: #b2b2b2; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul.topics > li.parent > a b, #sidebar ul.topics > li.active > a b { + color: white; } + #sidebar ul li.active > a { + background: #fff; + color: #080000 !important; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul li.active > a b { + color: #080000 !important; } + #sidebar ul li { + padding: 0; } + #sidebar ul li.visited + span { + margin-right: 16px; } + #sidebar ul li a { + display: block; + padding: 2px 0; } + #sidebar ul li a span { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + display: block; } + #sidebar ul li > a { + padding: 4px 0; } + #sidebar ul li .fa { + display: none; + float: right; + font-size: 13px; + min-width: 16px; + margin: 4px 0 0 0; + text-align: right; } + #sidebar ul li.visited > a .read-icon { + display: inline; + color: white; } + #sidebar ul li.visited > a .read-icon:hover { + color: #fafafa; } + #sidebar ul li.active > a .read-icon, #sidebar ul li.active.visited > a .read-icon { + display: inline; + color: #080000; } + #sidebar ul li.active > a .read-icon:hover, #sidebar ul li.active.visited > a .read-icon:hover { + color: #550000; } + #sidebar ul li li { + padding-left: 1rem; + text-indent: 0.2rem; } + +#body #navigation .nav .fa { + color: #4c4c4c; } + #body #navigation .nav .fa:active, #body #navigation .nav .fa:focus, #body #navigation .nav .fa:hover, #body #navigation .nav .fa:visited { + color: #727272; } + +#main { + background: #f7f7f7; + margin: 0 0 1.563rem 0; } + +#body { + position: relative; + margin-left: 300px; + min-height: 100%; } + #body img, + #body .video-container { + margin: 3rem auto; + display: block; + text-align: center; } + #body img.border, + #body .video-container.border { + border: 2px solid #e6e6e6 !important; + padding: 2px; } + #body img.shadow, + #body .video-container.shadow { + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); } + #body .bordered { + border: 1px solid #ccc; } + #body .padding { + padding: 3rem 6rem; } + @media only all and (max-width: 59.938em) { + #body .padding { + position: static; + padding: 15px 3rem; } } + @media only all and (max-width: 47.938em) { + #body .padding { + padding: 5px 1rem; } } + #body h1 + hr { + margin-top: -1.7rem; + margin-bottom: 3rem; } + @media only all and (max-width: 59.938em) { + #body #navigation { + position: static; + margin-right: 0 !important; + width: 100%; + display: table; } } + #body .nav { + position: fixed; + top: 0; + bottom: 0; + width: 4rem; + font-size: 0; + height: 100%; + cursor: pointer; + display: table; + text-align: center; } + #body .nav > i { + display: table-cell; + vertical-align: middle; + text-align: center; } + @media only all and (max-width: 59.938em) { + #body .nav { + display: table-cell; + position: static; + top: auto; + width: 50%; + text-align: center; + height: 100px; + line-height: 100px; + padding-top: 0; } + #body .nav > i { + display: inline-block; } } + #body .nav i { + font-size: 50px; } + #body .nav:hover { + background: #e0e0e0; } + #body .nav.nav-pref { + left: 0; } + #body .nav.nav-next { + right: 0; } + +#body-inner { + margin-bottom: 5rem; } + +#chapter { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 2rem 0; } + #chapter #body-inner { + padding-bottom: 3rem; + max-width: 80%; } + #chapter h3 { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-align: center; } + #chapter h1 { + font-size: 5rem; + border-bottom: 4px solid #F0F2F4; } + #chapter p { + text-align: center; + font-size: 1.2rem; } + +#footer { + padding: 3rem 1rem; + color: #e6e6e6; + font-size: 13px; } + #footer p { + margin: 0; } + +body { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + letter-spacing: -0.03rem; + font-weight: 400; + font-size: 1.05rem; + line-height: 1.7; } + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Montserrat", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-rendering: optimizeLegibility; + line-height: 150%; + letter-spacing: -0px; + overflow-wrap: break-word; + overflow: visible; + word-break: break-word; + white-space: normal; + margin: 0.425rem 0 0.85rem 0; } + +h1 { + text-align: center; + letter-spacing: -3px; + font-size: 2.55rem; } + +h2 { + letter-spacing: -2px; + font-size: 2.15rem; } + +h3 { + letter-spacing: -1px; + font-size: 1.8rem; } + +h4 { + font-size: 1.4rem; } + +h5 { + font-size: 0.9rem; } + +h6 { + font-size: 0.7rem; } + +p { + margin: 1.7rem 0; } + +ul, +ol { + margin-top: 1.7rem; + margin-bottom: 1.7rem; } + ul ul, + ul ol, + ol ul, + ol ol { + margin-top: 0; + margin-bottom: 0; } + +blockquote { + border-left: 10px solid #F0F2F4; + margin: 1.7rem 0; + padding-left: 0.85rem; } + blockquote p { + font-size: 1.1rem; + color: #666666; } + blockquote cite { + display: block; + text-align: right; + color: #333333; + font-size: 0.925rem; } + blockquote cite:before { + content: "\2014 \0020"; } + +pre { + margin: 1.7rem 0; + padding: 0.938rem; } + +code { + vertical-align: bottom; } + +small { + font-size: 0.925rem; } + +hr { + border-left: none; + border-right: none; + border-top: none; + margin: 1.7rem 0; } + +blockquote { + position: relative; } + +blockquote blockquote { + position: static; } + +blockquote > blockquote > blockquote { + margin: 0; } + blockquote > blockquote > blockquote p { + padding: 15px; + display: block; + font-size: 1rem; + margin-top: 0rem; + margin-bottom: 0rem; + color: #666; } + blockquote > blockquote > blockquote p:first-child:before { + position: absolute; + top: 2px; + color: #fff; + font-family: FontAwesome; + content: ''; + left: 10px; } + blockquote > blockquote > blockquote p:first-child:after { + position: absolute; + top: 2px; + color: #fff; + left: 2rem; + font-weight: bold; + content: 'Info'; } + blockquote > blockquote > blockquote > p { + margin-left: -71px; + border-top: 30px solid #F0B37E; + background: #FFF2DB; } + blockquote > blockquote > blockquote > blockquote > p { + margin-left: -94px; + border-top: 30px solid rgba(217, 83, 79, 0.8); + background: #FAE2E2; } + blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Warning'; } + blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -118px; + border-top: 30px solid #6AB0DE; + background: #E7F2FA; } + blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Note'; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -142px; + border-top: 30px solid rgba(92, 184, 92, 0.8); + background: #E6F9E6; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Tip'; } + +code, +kbd, +pre, +samp { + font-family: "Inconsolata", monospace; } + +code { + background: #f9f2f4; + color: #9c1d3d; + padding: .2rem .4rem; + border-radius: 3px; } + +pre { + padding: 1rem; + margin: 2rem 0; + background: #f6f6f6; + border: 1px solid #ddd; + border-radius: 2px; + line-height: 1.15; + font-size: 1rem; } + pre code { + color: #237794; + background: inherit; + font-size: 1rem; } + +hr { + border-bottom: 4px solid #F0F2F4; } + +.page-title { + margin-top: -25px; + padding: 25px; + float: left; + clear: both; + background: #919191; + color: #fff; } + +#body a.anchor-link { + color: #ccc; } + +#body a.anchor-link:hover { + color: #919191; } + +.scrollbar-inner > .scroll-element .scroll-element_track { + background-color: rgba(255, 255, 255, 0.3); } + +.scrollbar-inner > .scroll-element .scroll-bar { + background-color: #b5d1eb; } + +.scrollbar-inner > .scroll-element:hover .scroll-bar { + background-color: #ccc; } + +.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar { + background-color: #ccc; } + +table { + border: 1px solid #eaeaea; + table-layout: auto; } + +th { + background: #f7f7f7; + padding: 0.5rem; } + +td { + padding: 0.5rem; + border: 1px solid #eaeaea; } + +.button { + background: #919191 !important; + color: black !important; + box-shadow: 0 3px 0 #a1a1a1 !important; } + .button:hover { + background: #a1a1a1 !important; + box-shadow: 0 3px 0 #b0b0b0 !important; + color: black !important; } + .button:active { + box-shadow: 0 1px 0 #b0b0b0 !important; } + .button i { + color: black !important; } + +.button-secondary { + background: #6b6b6b !important; + color: white !important; + box-shadow: 0 3px 0 #5c5c5c !important; } + .button-secondary:hover { + background: #5c5c5c !important; + box-shadow: 0 3px 0 #4c4c4c !important; + color: white !important; } + .button-secondary:active { + box-shadow: 0 1px 0 #4c4c4c !important; } + .button-secondary i { + color: white !important; } + +.bullets { + margin: 1.7rem 0; + margin-left: -0.85rem; + margin-right: -0.85rem; + overflow: auto; } + +.bullet { + float: left; + padding: 0 0.85rem; } + +.two-column-bullet { + width: 50%; } + @media only all and (max-width: 47.938em) { + .two-column-bullet { + width: 100%; } } + +.three-column-bullet { + width: 33.33333%; } + @media only all and (max-width: 47.938em) { + .three-column-bullet { + width: 100%; } } + +.four-column-bullet { + width: 25%; } + @media only all and (max-width: 47.938em) { + .four-column-bullet { + width: 100%; } } + +.bullet-icon { + float: left; + background: #1694CA; + padding: 0.875rem; + width: 3.5rem; + height: 3.5rem; + border-radius: 50%; + color: #fff; + font-size: 1.75rem; + text-align: center; } + +.bullet-icon-1 { + background: #1694CA; } + +.bullet-icon-2 { + background: #16cac4; } + +.bullet-icon-3 { + background: #b2ca16; } + +.bullet-content { + margin-left: 4.55rem; } + +.tooltipped { + position: relative; } + +.tooltipped:after { + position: absolute; + z-index: 1000000; + display: none; + padding: 5px 8px; + font: normal normal 11px/1.5 "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + color: #fff; + text-align: center; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-wrap: break-word; + white-space: pre; + pointer-events: none; + content: attr(aria-label); + background: rgba(0, 0, 0, 0.8); + border-radius: 3px; + -webkit-font-smoothing: subpixel-antialiased; } + +.tooltipped:before { + position: absolute; + z-index: 1000001; + display: none; + width: 0; + height: 0; + color: rgba(0, 0, 0, 0.8); + pointer-events: none; + content: ""; + border: 5px solid transparent; } + +.tooltipped:hover:before, .tooltipped:hover:after, +.tooltipped:active:before, +.tooltipped:active:after, +.tooltipped:focus:before, +.tooltipped:focus:after { + display: inline-block; + text-decoration: none; } + +.tooltipped-s:after, +.tooltipped-se:after, +.tooltipped-sw:after { + top: 100%; + right: 50%; + margin-top: 5px; } + +.tooltipped-s:before, +.tooltipped-se:before, +.tooltipped-sw:before { + top: auto; + right: 50%; + bottom: -5px; + margin-right: -5px; + border-bottom-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-se:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-sw:after { + margin-right: -15px; } + +.tooltipped-n:after, +.tooltipped-ne:after, +.tooltipped-nw:after { + right: 50%; + bottom: 100%; + margin-bottom: 5px; } + +.tooltipped-n:before, +.tooltipped-ne:before, +.tooltipped-nw:before { + top: -5px; + right: 50%; + bottom: auto; + margin-right: -5px; + border-top-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-ne:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-nw:after { + margin-right: -15px; } + +.tooltipped-s:after, +.tooltipped-n:after { + transform: translateX(50%); } + +.tooltipped-w:after { + right: 100%; + bottom: 50%; + margin-right: 5px; + transform: translateY(50%); } + +.tooltipped-w:before { + top: 50%; + bottom: 50%; + left: -5px; + margin-top: -5px; + border-left-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-e:after { + bottom: 50%; + left: 100%; + margin-left: 5px; + transform: translateY(50%); } + +.tooltipped-e:before { + top: 50%; + right: -5px; + bottom: 50%; + margin-top: -5px; + border-right-color: rgba(0, 0, 0, 0.8); } + +/*************** SCROLLBAR BASE CSS ***************/ +.highlightable { + padding: 25px 0 15px; } + +.scroll-wrapper { + overflow: hidden !important; + padding: 0 !important; + position: relative; } + +.scroll-wrapper > .scroll-content { + border: none !important; + box-sizing: content-box !important; + height: auto; + left: 0; + margin: 0; + max-height: none; + max-width: none !important; + overflow: scroll !important; + padding: 0; + position: relative !important; + top: 0; + width: auto !important; } + +.scroll-wrapper > .scroll-content::-webkit-scrollbar { + height: 0; + width: 0; } + +.scroll-element { + display: none; } + +.scroll-element, .scroll-element div { + box-sizing: content-box; } + +.scroll-element.scroll-x.scroll-scrollx_visible, +.scroll-element.scroll-y.scroll-scrolly_visible { + display: block; } + +.scroll-element .scroll-bar, +.scroll-element .scroll-arrow { + cursor: default; } + +.scroll-textarea > .scroll-content { + overflow: hidden !important; } + +.scroll-textarea > .scroll-content > textarea { + border: none !important; + box-sizing: border-box; + height: 100% !important; + margin: 0; + max-height: none !important; + max-width: none !important; + overflow: scroll !important; + outline: none; + padding: 2px; + position: relative !important; + top: 0; + width: 100% !important; } + +.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar { + height: 0; + width: 0; } + +/*************** SIMPLE INNER SCROLLBAR ***************/ +.scrollbar-inner > .scroll-element, +.scrollbar-inner > .scroll-element div { + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; } + +.scrollbar-inner > .scroll-element div { + display: block; + height: 100%; + left: 0; + top: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-x { + bottom: 2px; + height: 8px; + left: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-y { + height: 100%; + right: 2px; + top: 0; + width: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_outer { + overflow: hidden; } + +.scrollbar-inner > .scroll-element .scroll-element_outer, +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; + filter: alpha(opacity=30); + opacity: 0.3; } + +/* update scrollbar offset if both scrolls are visible */ +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { + top: -12px; } + +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size { + top: -12px; } + +.lightbox-active #body { + overflow: visible; } + .lightbox-active #body .padding { + overflow: visible; } + +#github-contrib i { + vertical-align: middle; } + +.featherlight img { + margin: 0 !important; } + +.lifecycle #body-inner ul { + list-style: none; + margin: 0; + padding: 2rem 0 0; + position: relative; } + +.lifecycle #body-inner ol { + margin: 1rem 0 1rem 0; + padding: 2rem; + position: relative; } + .lifecycle #body-inner ol li { + margin-left: 1rem; } + .lifecycle #body-inner ol strong, .lifecycle #body-inner ol label, .lifecycle #body-inner ol th { + text-decoration: underline; } + .lifecycle #body-inner ol ol { + margin-left: -1rem; } + +.lifecycle #body-inner h3[class*='level'] { + font-size: 20px; + position: absolute; + margin: 0; + padding: 4px 10px; + right: 0; + z-index: 1000; + color: #fff; + background: #1ABC9C; } + +.lifecycle #body-inner ol h3 { + margin-top: 1rem !important; + right: 2rem !important; } + +.lifecycle #body-inner .level-1 + ol { + background: #f6fefc; + border: 4px solid #1ABC9C; + color: #16A085; } + .lifecycle #body-inner .level-1 + ol h3 { + background: #2ECC71; } + +.lifecycle #body-inner .level-2 + ol { + background: #f7fdf9; + border: 4px solid #2ECC71; + color: #27AE60; } + .lifecycle #body-inner .level-2 + ol h3 { + background: #3498DB; } + +.lifecycle #body-inner .level-3 + ol { + background: #f3f9fd; + border: 4px solid #3498DB; + color: #2980B9; } + .lifecycle #body-inner .level-3 + ol h3 { + background: #34495E; } + +.lifecycle #body-inner .level-4 + ol { + background: #e4eaf0; + border: 4px solid #34495E; + color: #2C3E50; } + .lifecycle #body-inner .level-4 + ol h3 { + background: #34495E; } + +#top-bar { + background: #f9f9f9; + border-radius: 2px; + margin: 0rem -1rem 2rem; + padding: 0 1rem; + height: 0; + min-height: 3rem; + color: #333333; } + #top-bar a { + color: #1a1a1a; } + #top-bar a:hover { + color: #0d0d0d; } + +#top-github-link { + position: relative; + z-index: 1; + float: right; + display: block; } + +#body #breadcrumbs { + height: auto; + display: block; + margin-bottom: 0; + padding-left: 0; + line-height: 1.4; } + #body #breadcrumbs span { + padding: 0 0.1rem; } + +@media only all and (max-width: 59.938em) { + #sidebar { + width: 230px; } + #body { + margin-left: 230px; } } + +@media only all and (max-width: 47.938em) { + #sidebar { + width: 230px; + left: -230px; } + #body { + margin-left: 0; + width: 100%; } + .sidebar-hidden { + overflow: hidden; } + .sidebar-hidden #sidebar { + left: 0; } + .sidebar-hidden #body { + margin-left: 230px; + overflow: hidden; } + .sidebar-hidden #overlay { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + z-index: 10; + background: rgba(255, 255, 255, 0.5); + cursor: pointer; } } + +.copy-to-clipboard { + background-image: url(../images/clippy.svg); + background-position: 50% 50%; + background-size: 16px 16px; + background-repeat: no-repeat; + width: 27px; + height: 1.45rem; + top: -1px; + display: inline-block; + vertical-align: middle; + position: relative; + color: black; + background-color: #f9f2f4; + margin-left: -.2rem; + cursor: pointer; + border-radius: 0 2px 2px 0; } + .copy-to-clipboard:hover { + background-color: #f1e1e5; } + pre .copy-to-clipboard { + position: absolute; + right: 4px; + top: 4px; + background-color: #eee; + border-color: #ddd; + border-radius: 2px; } + pre .copy-to-clipboard:hover { + background-color: #d9d9d9; } + +.parent-element { + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + transform-style: preserve-3d; } + +/*# sourceMappingURL=grey.css.map */ \ No newline at end of file diff --git a/themes/learn2-git-sync/css/styles/grey.css.map b/themes/learn2-git-sync/css/styles/grey.css.map new file mode 100644 index 0000000..91f3305 --- /dev/null +++ b/themes/learn2-git-sync/css/styles/grey.css.map @@ -0,0 +1,111 @@ +{ + "version": 3, + "file": "grey.css", + "sources": [ + "../../scss/styles/grey.scss", + "../../scss/_prefix.scss", + "../../scss/vendor/bourbon/_bourbon.scss", + "../../scss/vendor/bourbon/settings/_prefixer.scss", + "../../scss/vendor/bourbon/settings/_px-to-em.scss", + "../../scss/vendor/bourbon/helpers/_convert-units.scss", + "../../scss/vendor/bourbon/helpers/_gradient-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_is-num.scss", + "../../scss/vendor/bourbon/helpers/_linear-angle-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-gradient-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-arg-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-gradient-parser.scss", + "../../scss/vendor/bourbon/helpers/_render-gradients.scss", + "../../scss/vendor/bourbon/helpers/_shape-size-stripper.scss", + "../../scss/vendor/bourbon/helpers/_str-to-num.scss", + "../../scss/vendor/bourbon/functions/_assign.scss", + "../../scss/vendor/bourbon/functions/_color-lightness.scss", + "../../scss/vendor/bourbon/functions/_flex-grid.scss", + "../../scss/vendor/bourbon/functions/_golden-ratio.scss", + "../../scss/vendor/bourbon/functions/_grid-width.scss", + "../../scss/vendor/bourbon/functions/_modular-scale.scss", + "../../scss/vendor/bourbon/functions/_px-to-em.scss", + "../../scss/vendor/bourbon/functions/_px-to-rem.scss", + "../../scss/vendor/bourbon/functions/_strip-units.scss", + "../../scss/vendor/bourbon/functions/_tint-shade.scss", + "../../scss/vendor/bourbon/functions/_transition-property-name.scss", + "../../scss/vendor/bourbon/functions/_unpack.scss", + "../../scss/vendor/bourbon/css3/_animation.scss", + "../../scss/vendor/bourbon/css3/_appearance.scss", + "../../scss/vendor/bourbon/css3/_backface-visibility.scss", + "../../scss/vendor/bourbon/css3/_background.scss", + "../../scss/vendor/bourbon/css3/_background-image.scss", + "../../scss/vendor/bourbon/css3/_border-image.scss", + "../../scss/vendor/bourbon/css3/_border-radius.scss", + "../../scss/vendor/bourbon/css3/_box-sizing.scss", + "../../scss/vendor/bourbon/css3/_calc.scss", + "../../scss/vendor/bourbon/css3/_columns.scss", + "../../scss/vendor/bourbon/css3/_filter.scss", + "../../scss/vendor/bourbon/css3/_flex-box.scss", + "../../scss/vendor/bourbon/css3/_font-face.scss", + "../../scss/vendor/bourbon/css3/_hyphens.scss", + "../../scss/vendor/bourbon/css3/_hidpi-media-query.scss", + "../../scss/vendor/bourbon/css3/_image-rendering.scss", + "../../scss/vendor/bourbon/css3/_keyframes.scss", + "../../scss/vendor/bourbon/css3/_linear-gradient.scss", + "../../scss/vendor/bourbon/css3/_perspective.scss", + "../../scss/vendor/bourbon/css3/_radial-gradient.scss", + "../../scss/vendor/bourbon/css3/_transform.scss", + "../../scss/vendor/bourbon/css3/_transition.scss", + "../../scss/vendor/bourbon/css3/_user-select.scss", + "../../scss/vendor/bourbon/css3/_placeholder.scss", + "../../scss/vendor/bourbon/addons/_button.scss", + "../../scss/vendor/bourbon/addons/_clearfix.scss", + "../../scss/vendor/bourbon/addons/_directional-values.scss", + "../../scss/vendor/bourbon/addons/_ellipsis.scss", + "../../scss/vendor/bourbon/addons/_font-family.scss", + "../../scss/vendor/bourbon/addons/_hide-text.scss", + "../../scss/vendor/bourbon/addons/_html5-input-types.scss", + "../../scss/vendor/bourbon/addons/_position.scss", + "../../scss/vendor/bourbon/addons/_prefixer.scss", + "../../scss/vendor/bourbon/addons/_retina-image.scss", + "../../scss/vendor/bourbon/addons/_size.scss", + "../../scss/vendor/bourbon/addons/_timing-functions.scss", + "../../scss/vendor/bourbon/addons/_triangle.scss", + "../../scss/vendor/bourbon/addons/_word-wrap.scss", + "../../scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss", + "../../scss/configuration/nucleus/_base.scss", + "../../scss/configuration/nucleus/_core.scss", + "../../scss/configuration/nucleus/_breakpoints.scss", + "../../scss/configuration/nucleus/_layout.scss", + "../../scss/configuration/nucleus/_typography.scss", + "../../scss/configuration/nucleus/_nav.scss", + "../../scss/configuration/theme/_base.scss", + "../../scss/configuration/theme/_colors.scss", + "../../scss/configuration/theme/_bullets.scss", + "../../scss/nucleus/functions/_base.scss", + "../../scss/nucleus/functions/_direction.scss", + "../../scss/nucleus/functions/_range.scss", + "../../scss/nucleus/mixins/_base.scss", + "../../scss/nucleus/mixins/_breakpoints.scss", + "../../scss/nucleus/mixins/_utilities.scss", + "../../scss/theme/modules/_base.scss", + "../../scss/theme/modules/_buttons.scss", + "../../scss/_hover-color.scss", + "../../scss/_contrast.scss", + "../../scss/_affix.scss", + "../../scss/theme/_core.scss", + "../../scss/theme/_fonts.scss", + "../../scss/theme/_forms.scss", + "../../scss/theme/_header.scss", + "../../scss/theme/_nav.scss", + "../../scss/theme/_main.scss", + "../../scss/_standard_colors.scss", + "../../scss/theme/_typography.scss", + "../../scss/theme/_tables.scss", + "../../scss/theme/_buttons.scss", + "../../scss/theme/_bullets.scss", + "../../scss/theme/_tooltips.scss", + "../../scss/theme/_scrollbar.scss", + "../../scss/theme/_custom.scss" + ], + "names": [], + "mappings": "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" +} \ No newline at end of file diff --git a/themes/learn2-git-sync/css/styles/hoth.css b/themes/learn2-git-sync/css/styles/hoth.css new file mode 100644 index 0000000..7cbcab4 --- /dev/null +++ b/themes/learn2-git-sync/css/styles/hoth.css @@ -0,0 +1,979 @@ +@charset "UTF-8"; +@import url(//fonts.googleapis.com/css?family=Montserrat:400|Muli:300,400|Inconsolata); +#top-github-link, #body #breadcrumbs { + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); } + +.button, .button-secondary { + display: inline-block; + padding: 7px 12px; } + .button:active, .button-secondary:active { + margin: 2px 0 -2px 0; } + +body { + background: #FAFAFA; + color: #383F45; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +a { + color: #383F45; } + a:hover { + color: #16181b; } + +#body-inner a:hover { + text-decoration: underline; + text-decoration-style: dotted; } + +pre { + position: relative; } + +.bg { + background: #fff; + border: 1px solid #eaeaea; } + +b, strong, label, th { + font-weight: 600; } + +.default-animation, #header #logo-svg, #header #logo-svg path, #sidebar, #sidebar ul, #body, #body .padding, #body .nav { + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; } + +fieldset { + border: 1px solid #ddd; } + +textarea, input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], select[multiple=multiple] { + background-color: white; + border: 1px solid #ddd; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); } + textarea:hover, input[type="email"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="url"]:hover, input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="month"]:hover, input[type="time"]:hover, input[type="week"]:hover, select[multiple=multiple]:hover { + border-color: #c4c4c4; } + textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus { + border-color: #1694CA; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(19, 131, 179, 0.7); } + +#header { + background: #747474; + color: #fff; + text-align: center; + padding: 0rem 1rem 2rem 1rem; } + #header a { + display: inline-block; } + #header #logo-svg { + width: 8rem; + height: 2rem; } + #header #logo-svg path { + fill: #fff; } + +.searchbox { + margin-top: 0.5rem; + position: relative; + border: 1px solid #d9dee4; + background: #bbc4ce; + border-radius: 4px; } + .searchbox label { + color: rgba(0, 0, 0, 0.8); + position: absolute; + left: 10px; + top: 3px; } + .searchbox span { + color: rgba(0, 0, 0, 0.6); + position: absolute; + right: 10px; + top: 3px; + cursor: pointer; } + .searchbox span:hover { + color: rgba(0, 0, 0, 0.9); } + .searchbox input { + display: inline-block; + color: #fff; + width: 100%; + height: 30px; + background: transparent; + border: 0; + padding: 0 25px 0 30px; + margin: 0; + font-weight: 400; } + .searchbox input::-webkit-input-placeholder { + color: rgba(0, 0, 0, 0.6); } + .searchbox input::-moz-placeholder { + color: rgba(0, 0, 0, 0.6); } + .searchbox input:-moz-placeholder { + color: rgba(0, 0, 0, 0.6); } + .searchbox input:-ms-input-placeholder { + color: rgba(0, 0, 0, 0.6); } + +#sidebar-toggle { + display: none; } + @media only all and (max-width: 47.938em) { + #sidebar-toggle { + display: inline-block; } } + +#sidebar { + background-color: #383F45; + position: fixed; + top: 0; + width: 300px; + bottom: 0; + left: 0; + font-weight: 500; + font-size: 15px; } + #sidebar a { + color: #FAFAFA; } + #sidebar a:hover, #sidebar a.button { + color: white; } + #sidebar a.subtitle { + color: rgba(250, 250, 250, 0.6); } + #sidebar hr { + border-bottom: 1px solid #31373d; } + #sidebar a.padding { + padding: 0 1rem; } + #sidebar h5 { + margin: 2rem 0 0; + position: relative; + line-height: 2; } + #sidebar h5 a { + display: block; + margin-left: 0; + margin-right: 0; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar h5 i { + color: rgba(250, 250, 250, 0.6); + position: absolute; + right: 0.6rem; + top: 0.7rem; + font-size: 80%; } + #sidebar h5.parent a { + background: #282d31; + color: white !important; } + #sidebar h5.active a { + background: #fff; + color: #383F45 !important; } + #sidebar h5.active i { + color: #383F45 !important; } + #sidebar h5 + ul.topics { + display: none; + margin-top: 0; } + #sidebar h5.parent + ul.topics, #sidebar h5.active + ul.topics { + display: block; } + #sidebar ul { + list-style: none; + padding: 0; + margin: 0; } + #sidebar ul.searched a { + color: #c7c7c7; } + #sidebar ul.searched .search-match a { + color: white; } + #sidebar ul.searched .search-match a:hover { + color: white; } + #sidebar ul.topics { + margin: 0 1rem; } + #sidebar ul.topics.searched ul { + display: block; } + #sidebar ul.topics ul { + display: none; + padding-bottom: 1rem; } + #sidebar ul.topics ul ul { + padding-bottom: 0; } + #sidebar ul.topics li.parent ul, #sidebar ul.topics > li.active ul { + display: block; } + #sidebar ul.topics > li > a { + line-height: 2rem; + font-size: 1.1rem; } + #sidebar ul.topics > li > a b { + opacity: 0.75; + font-weight: normal; } + #sidebar ul.topics > li > a .fa { + margin-top: 9px; } + #sidebar ul.topics > li.parent, #sidebar ul.topics > li.active { + background: #2d3237; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul li.active > a { + background: #fff; + color: #383F45 !important; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul li { + padding: 0; } + #sidebar ul li.visited + span { + margin-right: 16px; } + #sidebar ul li a { + display: block; + padding: 2px 0; } + #sidebar ul li a span { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + display: block; } + #sidebar ul li > a { + padding: 4px 0; } + #sidebar ul li .fa { + display: none; + float: right; + font-size: 13px; + min-width: 16px; + margin: 4px 0 0 0; + text-align: right; } + #sidebar ul li.visited > a .read-icon { + color: #AAAAAA; + display: inline; } + #sidebar ul li li { + padding-left: 1rem; + text-indent: 0.2rem; } + +#main { + background: #f7f7f7; + margin: 0 0 1.563rem 0; } + +#body { + position: relative; + margin-left: 300px; + min-height: 100%; } + #body img, #body .video-container { + margin: 3rem auto; + display: block; + text-align: center; } + #body img.border, #body .video-container.border { + border: 2px solid #e6e6e6 !important; + padding: 2px; } + #body img.shadow, #body .video-container.shadow { + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); } + #body .bordered { + border: 1px solid #ccc; } + #body .padding { + padding: 3rem 6rem; } + @media only all and (max-width: 59.938em) { + #body .padding { + position: static; + padding: 15px 3rem; } } + @media only all and (max-width: 47.938em) { + #body .padding { + padding: 5px 1rem; } } + #body h1 + hr { + margin-top: -1.7rem; + margin-bottom: 3rem; } + @media only all and (max-width: 59.938em) { + #body #navigation { + position: static; + margin-right: 0 !important; + width: 100%; + display: table; } } + #body .nav { + position: fixed; + top: 0; + bottom: 0; + width: 4rem; + font-size: 50px; + height: 100%; + cursor: pointer; + display: table; + text-align: center; } + #body .nav > i { + display: table-cell; + vertical-align: middle; + text-align: center; } + @media only all and (max-width: 59.938em) { + #body .nav { + display: table-cell; + position: static; + top: auto; + width: 50%; + text-align: center; + height: 100px; + line-height: 100px; + padding-top: 0; } + #body .nav > i { + display: inline-block; } } + #body .nav:hover { + background: #FAFAFA; } + #body .nav.nav-pref { + left: 0; } + #body .nav.nav-next { + right: 0; } + +#body-inner { + margin-bottom: 5rem; } + +#chapter { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 2rem 0; } + #chapter #body-inner { + padding-bottom: 3rem; + max-width: 80%; } + #chapter h3 { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-align: center; } + #chapter h1 { + font-size: 5rem; + border-bottom: 4px solid #F0F2F4; } + #chapter p { + text-align: center; + font-size: 1.2rem; } + +#footer { + padding: 3rem 1rem; + color: #e1e1e1; + font-size: 13px; } + #footer p { + margin: 0; } + +body { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + letter-spacing: -0.03rem; + font-weight: 400; } + +h1, h2, h3, h4, h5, h6 { + font-family: "Montserrat", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-rendering: optimizeLegibility; + line-height: 150%; + letter-spacing: -0px; } + +h1 { + text-align: center; + letter-spacing: -3px; } + +h2 { + letter-spacing: -2px; } + +h3 { + letter-spacing: -1px; } + +blockquote { + border-left: 10px solid #F0F2F4; } + blockquote p { + font-size: 1.1rem; + color: #999; } + blockquote cite { + display: block; + text-align: right; + color: #666; + font-size: 1.2rem; } + +blockquote { + position: relative; } + +blockquote blockquote { + position: static; } + +blockquote > blockquote > blockquote { + margin: 0; } + blockquote > blockquote > blockquote p { + padding: 15px; + display: block; + font-size: 1rem; + margin-top: 0rem; + margin-bottom: 0rem; + color: #666; } + blockquote > blockquote > blockquote p:first-child:before { + position: absolute; + top: 2px; + color: #fff; + font-family: FontAwesome; + content: ''; + left: 10px; } + blockquote > blockquote > blockquote p:first-child:after { + position: absolute; + top: 2px; + color: #fff; + left: 2rem; + font-weight: bold; + content: 'Info'; } + blockquote > blockquote > blockquote > p { + margin-left: -71px; + border-top: 30px solid #F0B37E; + background: #FFF2DB; } + blockquote > blockquote > blockquote > blockquote > p { + margin-left: -94px; + border-top: 30px solid rgba(217, 83, 79, 0.8); + background: #FAE2E2; } + blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Warning'; } + blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -118px; + border-top: 30px solid #6AB0DE; + background: #E7F2FA; } + blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Note'; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -142px; + border-top: 30px solid rgba(92, 184, 92, 0.8); + background: #E6F9E6; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Tip'; } + +code, +kbd, +pre, +samp { + font-family: "Inconsolata", monospace; } + +code { + background: #f9f2f4; + color: #9c1d3d; + padding: .2rem .4rem; + border-radius: 3px; } + +pre { + padding: 1rem; + margin: 2rem 0; + background: #f6f6f6; + border: 1px solid #ddd; + border-radius: 2px; + line-height: 1.15; + font-size: 1rem; } + pre code { + color: #237794; + background: inherit; + font-size: 1rem; } + +hr { + border-bottom: 4px solid #F0F2F4; } + +.page-title { + margin-top: -25px; + padding: 25px; + float: left; + clear: both; + background: #383F45; + color: #fff; } + +#body a.anchor-link { + color: #ccc; } + +#body a.anchor-link:hover { + color: #383F45; } + +.scrollbar-inner > .scroll-element .scroll-element_track { + background-color: rgba(255, 255, 255, 0.3); } + +.scrollbar-inner > .scroll-element .scroll-bar { + background-color: #b5d1eb; } + +.scrollbar-inner > .scroll-element:hover .scroll-bar { + background-color: #ccc; } + +.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar { + background-color: #ccc; } + +table { + border: 1px solid #eaeaea; + table-layout: auto; } + +th { + background: #f7f7f7; + padding: 0.5rem; } + +td { + padding: 0.5rem; + border: 1px solid #eaeaea; } + +.button { + background: #383F45; + color: #fff; + box-shadow: 0 3px 0 #2a3034; } + .button:hover { + background: #2a3034; + box-shadow: 0 3px 0 #1d2023; + color: #fff; } + .button:active { + box-shadow: 0 1px 0 #1d2023; } + +.button-secondary { + background: #16181b; + color: #fff; + box-shadow: 0 3px 0 #08090a; } + .button-secondary:hover { + background: #08090a; + box-shadow: 0 3px 0 black; + color: #fff; } + .button-secondary:active { + box-shadow: 0 1px 0 black; } + +.bullets { + margin: 1.7rem 0; + margin-left: -0.85rem; + margin-right: -0.85rem; + overflow: auto; } + +.bullet { + float: left; + padding: 0 0.85rem; } + +.two-column-bullet { + width: 50%; } + @media only all and (max-width: 47.938em) { + .two-column-bullet { + width: 100%; } } + +.three-column-bullet { + width: 33.33333%; } + @media only all and (max-width: 47.938em) { + .three-column-bullet { + width: 100%; } } + +.four-column-bullet { + width: 25%; } + @media only all and (max-width: 47.938em) { + .four-column-bullet { + width: 100%; } } + +.bullet-icon { + float: left; + background: #1694CA; + padding: 0.875rem; + width: 3.5rem; + height: 3.5rem; + border-radius: 50%; + color: #fff; + font-size: 1.75rem; + text-align: center; } + +.bullet-icon-1 { + background: #1694CA; } + +.bullet-icon-2 { + background: #16cac4; } + +.bullet-icon-3 { + background: #b2ca16; } + +.bullet-content { + margin-left: 4.55rem; } + +.tooltipped { + position: relative; } + +.tooltipped:after { + position: absolute; + z-index: 1000000; + display: none; + padding: 5px 8px; + font: normal normal 11px/1.5 "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + color: #fff; + text-align: center; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-wrap: break-word; + white-space: pre; + pointer-events: none; + content: attr(aria-label); + background: rgba(0, 0, 0, 0.8); + border-radius: 3px; + -webkit-font-smoothing: subpixel-antialiased; } + +.tooltipped:before { + position: absolute; + z-index: 1000001; + display: none; + width: 0; + height: 0; + color: rgba(0, 0, 0, 0.8); + pointer-events: none; + content: ""; + border: 5px solid transparent; } + +.tooltipped:hover:before, .tooltipped:hover:after, +.tooltipped:active:before, +.tooltipped:active:after, +.tooltipped:focus:before, +.tooltipped:focus:after { + display: inline-block; + text-decoration: none; } + +.tooltipped-s:after, +.tooltipped-se:after, +.tooltipped-sw:after { + top: 100%; + right: 50%; + margin-top: 5px; } + +.tooltipped-s:before, +.tooltipped-se:before, +.tooltipped-sw:before { + top: auto; + right: 50%; + bottom: -5px; + margin-right: -5px; + border-bottom-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-se:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-sw:after { + margin-right: -15px; } + +.tooltipped-n:after, +.tooltipped-ne:after, +.tooltipped-nw:after { + right: 50%; + bottom: 100%; + margin-bottom: 5px; } + +.tooltipped-n:before, +.tooltipped-ne:before, +.tooltipped-nw:before { + top: -5px; + right: 50%; + bottom: auto; + margin-right: -5px; + border-top-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-ne:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-nw:after { + margin-right: -15px; } + +.tooltipped-s:after, +.tooltipped-n:after { + transform: translateX(50%); } + +.tooltipped-w:after { + right: 100%; + bottom: 50%; + margin-right: 5px; + transform: translateY(50%); } + +.tooltipped-w:before { + top: 50%; + bottom: 50%; + left: -5px; + margin-top: -5px; + border-left-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-e:after { + bottom: 50%; + left: 100%; + margin-left: 5px; + transform: translateY(50%); } + +.tooltipped-e:before { + top: 50%; + right: -5px; + bottom: 50%; + margin-top: -5px; + border-right-color: rgba(0, 0, 0, 0.8); } + +/*************** SCROLLBAR BASE CSS ***************/ +.highlightable { + padding: 25px 0 15px; } + +.scroll-wrapper { + overflow: hidden !important; + padding: 0 !important; + position: relative; } + +.scroll-wrapper > .scroll-content { + border: none !important; + box-sizing: content-box !important; + height: auto; + left: 0; + margin: 0; + max-height: none; + max-width: none !important; + overflow: scroll !important; + padding: 0; + position: relative !important; + top: 0; + width: auto !important; } + +.scroll-wrapper > .scroll-content::-webkit-scrollbar { + height: 0; + width: 0; } + +.scroll-element { + display: none; } + +.scroll-element, .scroll-element div { + box-sizing: content-box; } + +.scroll-element.scroll-x.scroll-scrollx_visible, +.scroll-element.scroll-y.scroll-scrolly_visible { + display: block; } + +.scroll-element .scroll-bar, +.scroll-element .scroll-arrow { + cursor: default; } + +.scroll-textarea > .scroll-content { + overflow: hidden !important; } + +.scroll-textarea > .scroll-content > textarea { + border: none !important; + box-sizing: border-box; + height: 100% !important; + margin: 0; + max-height: none !important; + max-width: none !important; + overflow: scroll !important; + outline: none; + padding: 2px; + position: relative !important; + top: 0; + width: 100% !important; } + +.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar { + height: 0; + width: 0; } + +/*************** SIMPLE INNER SCROLLBAR ***************/ +.scrollbar-inner > .scroll-element, +.scrollbar-inner > .scroll-element div { + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; } + +.scrollbar-inner > .scroll-element div { + display: block; + height: 100%; + left: 0; + top: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-x { + bottom: 2px; + height: 8px; + left: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-y { + height: 100%; + right: 2px; + top: 0; + width: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_outer { + overflow: hidden; } + +.scrollbar-inner > .scroll-element .scroll-element_outer, +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; + filter: alpha(opacity=30); + opacity: 0.3; } + +/* update scrollbar offset if both scrolls are visible */ +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { + top: -12px; } + +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size { + top: -12px; } + +.lightbox-active #body { + overflow: visible; } + .lightbox-active #body .padding { + overflow: visible; } + +#github-contrib i { + vertical-align: middle; } + +.featherlight img { + margin: 0 !important; } + +.lifecycle #body-inner ul { + list-style: none; + margin: 0; + padding: 2rem 0 0; + position: relative; } + +.lifecycle #body-inner ol { + margin: 1rem 0 1rem 0; + padding: 2rem; + position: relative; } + .lifecycle #body-inner ol li { + margin-left: 1rem; } + .lifecycle #body-inner ol strong, .lifecycle #body-inner ol label, .lifecycle #body-inner ol th { + text-decoration: underline; } + .lifecycle #body-inner ol ol { + margin-left: -1rem; } + +.lifecycle #body-inner h3[class*='level'] { + font-size: 20px; + position: absolute; + margin: 0; + padding: 4px 10px; + right: 0; + z-index: 1000; + color: #fff; + background: #1ABC9C; } + +.lifecycle #body-inner ol h3 { + margin-top: 1rem !important; + right: 2rem !important; } + +.lifecycle #body-inner .level-1 + ol { + background: #f6fefc; + border: 4px solid #1ABC9C; + color: #16A085; } + .lifecycle #body-inner .level-1 + ol h3 { + background: #2ECC71; } + +.lifecycle #body-inner .level-2 + ol { + background: #f7fdf9; + border: 4px solid #2ECC71; + color: #27AE60; } + .lifecycle #body-inner .level-2 + ol h3 { + background: #3498DB; } + +.lifecycle #body-inner .level-3 + ol { + background: #f3f9fd; + border: 4px solid #3498DB; + color: #2980B9; } + .lifecycle #body-inner .level-3 + ol h3 { + background: #34495E; } + +.lifecycle #body-inner .level-4 + ol { + background: #e4eaf0; + border: 4px solid #34495E; + color: #2C3E50; } + .lifecycle #body-inner .level-4 + ol h3 { + background: #34495E; } + +#top-bar { + background: #FAFAFA; + border-radius: 2px; + margin: 0rem -1rem 2rem; + padding: 0 1rem; + height: 0; + min-height: 3rem; } + +#top-github-link { + position: relative; + z-index: 1; + float: right; + display: block; } + +#body #breadcrumbs { + height: auto; + display: block; + margin-bottom: 0; + padding-left: 0; + line-height: 1.4; } + #body #breadcrumbs span { + padding: 0 0.1rem; } + +@media only all and (max-width: 59.938em) { + #sidebar { + width: 230px; } + #body { + margin-left: 230px; } } + +@media only all and (max-width: 47.938em) { + #sidebar { + width: 230px; + left: -230px; } + #body { + margin-left: 0; + width: 100%; } + .sidebar-hidden { + overflow: hidden; } + .sidebar-hidden #sidebar { + left: 0; } + .sidebar-hidden #body { + margin-left: 230px; + overflow: hidden; } + .sidebar-hidden #overlay { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + z-index: 10; + background: rgba(255, 255, 255, 0.5); + cursor: pointer; } } + +.copy-to-clipboard { + background-image: url(../images/clippy.svg); + background-position: 50% 50%; + background-size: 16px 16px; + background-repeat: no-repeat; + width: 27px; + height: 1.45rem; + top: -1px; + display: inline-block; + vertical-align: middle; + position: relative; + color: #212529; + background-color: #f9f2f4; + margin-left: -.2rem; + cursor: pointer; + border-radius: 0 2px 2px 0; } + .copy-to-clipboard:hover { + background-color: #f1e1e5; } + pre .copy-to-clipboard { + position: absolute; + right: 4px; + top: 4px; + background-color: #eee; + border-color: #ddd; + border-radius: 2px; } + pre .copy-to-clipboard:hover { + background-color: #d9d9d9; } + +.parent-element { + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + transform-style: preserve-3d; } + +.version-chooser select { + display: inline-block; + color: #000000; + background-color: #FFFFFF; + border: 1px solid #666666; + font-size: 15px; + font-weight: regular; + margin: 0; +} + +.videoWrapper { + position: relative; + padding-bottom: 56.25%; /* 16:9 */ + padding-top: 25px; + height: 0; +} +.videoWrapper iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +/*# sourceMappingURL=hoth.css.map */ diff --git a/themes/learn2-git-sync/css/styles/hoth.css.map b/themes/learn2-git-sync/css/styles/hoth.css.map new file mode 100644 index 0000000..7c40b46 --- /dev/null +++ b/themes/learn2-git-sync/css/styles/hoth.css.map @@ -0,0 +1,109 @@ +{ + "version": 3, + "file": "hoth.css", + "sources": [ + "../../scss/styles/hoth.scss", + "../../scss/_prefix.scss", + "../../scss/vendor/bourbon/_bourbon.scss", + "../../scss/vendor/bourbon/settings/_prefixer.scss", + "../../scss/vendor/bourbon/settings/_px-to-em.scss", + "../../scss/vendor/bourbon/helpers/_convert-units.scss", + "../../scss/vendor/bourbon/helpers/_gradient-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_is-num.scss", + "../../scss/vendor/bourbon/helpers/_linear-angle-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-gradient-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-arg-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-gradient-parser.scss", + "../../scss/vendor/bourbon/helpers/_render-gradients.scss", + "../../scss/vendor/bourbon/helpers/_shape-size-stripper.scss", + "../../scss/vendor/bourbon/helpers/_str-to-num.scss", + "../../scss/vendor/bourbon/functions/_assign.scss", + "../../scss/vendor/bourbon/functions/_color-lightness.scss", + "../../scss/vendor/bourbon/functions/_flex-grid.scss", + "../../scss/vendor/bourbon/functions/_golden-ratio.scss", + "../../scss/vendor/bourbon/functions/_grid-width.scss", + "../../scss/vendor/bourbon/functions/_modular-scale.scss", + "../../scss/vendor/bourbon/functions/_px-to-em.scss", + "../../scss/vendor/bourbon/functions/_px-to-rem.scss", + "../../scss/vendor/bourbon/functions/_strip-units.scss", + "../../scss/vendor/bourbon/functions/_tint-shade.scss", + "../../scss/vendor/bourbon/functions/_transition-property-name.scss", + "../../scss/vendor/bourbon/functions/_unpack.scss", + "../../scss/vendor/bourbon/css3/_animation.scss", + "../../scss/vendor/bourbon/css3/_appearance.scss", + "../../scss/vendor/bourbon/css3/_backface-visibility.scss", + "../../scss/vendor/bourbon/css3/_background.scss", + "../../scss/vendor/bourbon/css3/_background-image.scss", + "../../scss/vendor/bourbon/css3/_border-image.scss", + "../../scss/vendor/bourbon/css3/_border-radius.scss", + "../../scss/vendor/bourbon/css3/_box-sizing.scss", + "../../scss/vendor/bourbon/css3/_calc.scss", + "../../scss/vendor/bourbon/css3/_columns.scss", + "../../scss/vendor/bourbon/css3/_filter.scss", + "../../scss/vendor/bourbon/css3/_flex-box.scss", + "../../scss/vendor/bourbon/css3/_font-face.scss", + "../../scss/vendor/bourbon/css3/_hyphens.scss", + "../../scss/vendor/bourbon/css3/_hidpi-media-query.scss", + "../../scss/vendor/bourbon/css3/_image-rendering.scss", + "../../scss/vendor/bourbon/css3/_keyframes.scss", + "../../scss/vendor/bourbon/css3/_linear-gradient.scss", + "../../scss/vendor/bourbon/css3/_perspective.scss", + "../../scss/vendor/bourbon/css3/_radial-gradient.scss", + "../../scss/vendor/bourbon/css3/_transform.scss", + "../../scss/vendor/bourbon/css3/_transition.scss", + "../../scss/vendor/bourbon/css3/_user-select.scss", + "../../scss/vendor/bourbon/css3/_placeholder.scss", + "../../scss/vendor/bourbon/addons/_button.scss", + "../../scss/vendor/bourbon/addons/_clearfix.scss", + "../../scss/vendor/bourbon/addons/_directional-values.scss", + "../../scss/vendor/bourbon/addons/_ellipsis.scss", + "../../scss/vendor/bourbon/addons/_font-family.scss", + "../../scss/vendor/bourbon/addons/_hide-text.scss", + "../../scss/vendor/bourbon/addons/_html5-input-types.scss", + "../../scss/vendor/bourbon/addons/_position.scss", + "../../scss/vendor/bourbon/addons/_prefixer.scss", + "../../scss/vendor/bourbon/addons/_retina-image.scss", + "../../scss/vendor/bourbon/addons/_size.scss", + "../../scss/vendor/bourbon/addons/_timing-functions.scss", + "../../scss/vendor/bourbon/addons/_triangle.scss", + "../../scss/vendor/bourbon/addons/_word-wrap.scss", + "../../scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss", + "../../scss/configuration/nucleus/_base.scss", + "../../scss/configuration/nucleus/_core.scss", + "../../scss/configuration/nucleus/_breakpoints.scss", + "../../scss/configuration/nucleus/_layout.scss", + "../../scss/configuration/nucleus/_typography.scss", + "../../scss/configuration/nucleus/_nav.scss", + "../../scss/configuration/theme/_base.scss", + "../../scss/configuration/theme/_colors.scss", + "../../scss/configuration/theme/_bullets.scss", + "../../scss/nucleus/functions/_base.scss", + "../../scss/nucleus/functions/_direction.scss", + "../../scss/nucleus/functions/_range.scss", + "../../scss/nucleus/mixins/_base.scss", + "../../scss/nucleus/mixins/_breakpoints.scss", + "../../scss/nucleus/mixins/_utilities.scss", + "../../scss/theme/modules/_base.scss", + "../../scss/theme/modules/_buttons.scss", + "../../scss/_affix.scss", + "../../scss/theme/_core.scss", + "../../scss/theme/_fonts.scss", + "../../scss/theme/_forms.scss", + "../../scss/theme/_header.scss", + "../../scss/theme/_nav.scss", + "../../scss/theme/_main.scss", + "../../scss/_standard_colors.scss", + "../../scss/theme/_typography.scss", + "../../scss/theme/_tables.scss", + "../../scss/theme/_buttons.scss", + "../../scss/theme/_bullets.scss", + "../../scss/theme/_tooltips.scss", + "../../scss/theme/_scrollbar.scss", + "../../scss/theme/_custom.scss" + ], + "names": [], + "mappings": "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" +} \ No newline at end of file diff --git a/themes/learn2-git-sync/css/styles/longyearbyen.css b/themes/learn2-git-sync/css/styles/longyearbyen.css new file mode 100644 index 0000000..8bfe834 --- /dev/null +++ b/themes/learn2-git-sync/css/styles/longyearbyen.css @@ -0,0 +1,1198 @@ +@charset "UTF-8"; +@import url(//fonts.googleapis.com/css?family=Montserrat:400|Muli:300,400|Inconsolata); +#top-github-link, #body #breadcrumbs { + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); } + +.button, .button-secondary { + display: inline-block; + padding: 7px 12px; } + .button:active, .button-secondary:active { + margin: 2px 0 -2px 0; } + +/* + The Ultimate Hover Color Function + @author Gray Gilmore - http://code.graygilmore.com + + The goal of this Sass function is provide a hover color that works + with any color on any background. No longer do we need to bundle + hover color options with our themes, let Sassy McSasserson take care + of that for you. + + The hover color, seen in this demo as "After" text, must be visible in + all situations and, hopefully, pass the WCAG 2.0 contrast ratio [1] + formula (4.5:1). + + [1] http://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast + + contrast-ratio() help from @davidkaneda + + + ## Usage ## + + a { + color: $link-color; + + &:hover { + color: hover($background-color, $link-color); + } + } + + button { + background: $button-background; + color: $button-color; + + &:hover { + background: hover($background-color, $button-background); + } + } + + ## End Usage ## + +*/ +/** + * Calculate the luminance for a color. + * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + */ +/** + * Calculate the contrast ratio between two colors. + * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + */ +/** + * Determine whether to use dark or light text on top of given color. + * Returns black for dark text and white for light text. + */ +/* + WCAG color contrast formula + https://www.w3.org/TR/2016/NOTE-WCAG20-TECHS-20161007/G18#G18-procedure + + @see https://codepen.io/giana/project/full/ZWbGzD + + This pen uses the non-standard Sass pow() function + https://css-tricks.com/snippets/sass/power-function/ + Using it outside of CodePen requires you provide your own pow() function with support for decimals + + To generate random colors, we're also using a two-variable random() function includded with compass. +*/ +.ratio::after { + content: "8"; } + +.balance::after { + content: "100"; } + +.color-block .color1 { + background: #093f25; + color: #fff; } + .color-block .color1::after { + content: "#093f25"; } + +.color-block .color2 { + background: #677168; + color: #fff; } + .color-block .color2::after { + content: "#677168"; } + +.fix-color .color:nth-child(2) { + background: #000; + color: #fff; } + .fix-color .color:nth-child(2)::after { + content: "#000"; } + +.fix-color .color:nth-child(3) { + background: #c8d9ca; + color: #000; } + .fix-color .color:nth-child(3)::after { + content: "#c8d9ca"; } + +.fix-contrast .color:nth-child(2) { + background: black; + color: #fff; } + .fix-contrast .color:nth-child(2)::after { + content: "black"; } + +.fix-contrast .color:nth-child(3) { + background: #97a498; + color: #fff; } + .fix-contrast .color:nth-child(3)::after { + content: "#97a498"; } + +.best-contrast .color:nth-child(2) { + background: #fafafa; + color: #000; } + .best-contrast .color:nth-child(2)::after { + content: "#fafafa"; } + +.best-contrast .color:nth-child(3) { + background: #ecebeb; + color: #000; } + .best-contrast .color:nth-child(3)::after { + content: "#ecebeb"; } + +.scale-luminance .color:nth-child(2) { + background: #47805e; + color: #fff; } + .scale-luminance .color:nth-child(2)::after { + content: "#47805e"; } + +.check-contrast .result::after { + content: "false"; } + +.luminance .result::after { + content: "0.03873, 0.15686"; } + +#sidebar #logo { + color: #383F45 !important; } + #sidebar #logo:hover { + color: hover(#f8f8fa, #383F45); } + +#sidebar ul.topics > li.parent, +#sidebar ul.topics > li.active { + background: inherit !important; } + +body { + background: #ffffff; + color: #383F45; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +a { + color: #0a0c0d; } + a:link, a:visited { + color: #0a0c0d; } + a:hover, a:active { + color: black; } + +#body-inner a { + text-decoration: underline; + text-decoration-style: dotted; } + #body-inner a:hover { + text-decoration-style: solid; } + +pre { + position: relative; } + +.bg { + background: #fff; + border: 1px solid #eaeaea; } + +b, +strong, +label, +th { + font-weight: 600; } + +.default-animation, #header #logo-svg, #header #logo-svg path, #sidebar, #sidebar ul, #body, #body .padding, #body .nav { + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; } + +fieldset { + border: 1px solid #ddd; } + +textarea, input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], select[multiple=multiple] { + background-color: white; + border: 1px solid #ddd; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); } + textarea:hover, input[type="email"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="url"]:hover, input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="month"]:hover, input[type="time"]:hover, input[type="week"]:hover, select[multiple=multiple]:hover { + border-color: #c4c4c4; } + textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus { + border-color: #1694CA; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(19, 131, 179, 0.7); } + +#header { + background: #f8f8fa; + color: #cbcbda; + text-align: center; + padding: 1rem; } + #header a { + display: inline-block; } + #header #logo-svg { + width: 8rem; + height: 2rem; } + #header #logo-svg path { + fill: #fff; } + +.searchbox { + margin-top: 0.5rem; + position: relative; + border: 1px solid #e9e9ef; + background: white; + border-radius: 4px; } + .searchbox label { + color: rgba(255, 255, 255, 0.8); + position: absolute; + left: 10px; + top: 3px; } + .searchbox span { + color: rgba(255, 255, 255, 0.6); + position: absolute; + right: 10px; + top: 3px; + cursor: pointer; } + .searchbox span:hover { + color: rgba(255, 255, 255, 0.9); } + .searchbox input { + display: inline-block; + color: #d9d9d9; + width: 100%; + height: 30px; + background: transparent; + border: 0; + padding: 0 25px 0 30px; + margin: 0; + font-weight: 400; } + .searchbox input::-webkit-input-placeholder { + color: #bdbdd0; } + .searchbox input::-moz-placeholder { + color: #bdbdd0; } + .searchbox input:-moz-placeholder { + color: #bdbdd0; } + .searchbox input:-ms-input-placeholder { + color: #bdbdd0; } + +#sidebar-toggle { + display: none; } + @media only all and (max-width: 47.938em) { + #sidebar-toggle { + display: inline-block; } } + +#sidebar { + background-color: #f8f8fa; + position: fixed; + top: 0; + width: 300px; + bottom: 0; + left: 0; + font-weight: 500; + font-size: 15px; + border-right: 1px solid #e3e3eb; } + #sidebar a, + #sidebar i { + color: #6C6F73; } + #sidebar a:hover, + #sidebar i:hover { + color: #2e3031; } + #sidebar a.subtitle, + #sidebar i.subtitle { + color: rgba(108, 111, 115, 0.6); } + #sidebar hr { + border-bottom: 1px solid white; } + #sidebar a.padding { + padding: 0 1rem; } + #sidebar h5 { + margin: 2rem 0 0; + position: relative; + line-height: 2; } + #sidebar h5 a { + display: block; + margin-left: 0; + margin-right: 0; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar h5 i { + color: rgba(108, 111, 115, 0.6); + position: absolute; + right: 0.6rem; + top: 0.7rem; + font-size: 80%; } + #sidebar h5.parent a { + background: white; + color: #606266 !important; } + #sidebar h5.active a { + background: #fff; + color: #383F45 !important; } + #sidebar h5.active i { + color: #383F45 !important; } + #sidebar h5 + ul.topics { + display: none; + margin-top: 0; } + #sidebar h5.parent + ul.topics, + #sidebar h5.active + ul.topics { + display: block; } + #sidebar ul { + list-style: none; + padding: 0; + margin: 0; } + #sidebar ul.searched a { + color: #3b3c3e; } + #sidebar ul.searched .search-match a { + color: #535659; } + #sidebar ul.searched .search-match a:hover { + color: #3b3c3e; } + #sidebar ul.topics { + margin: 0 1rem; } + #sidebar ul.topics.searched ul { + display: block; } + #sidebar ul.topics ul { + display: none; + padding-bottom: 1rem; } + #sidebar ul.topics ul ul { + padding-bottom: 0; } + #sidebar ul.topics li.parent ul, + #sidebar ul.topics > li.active ul { + display: block; } + #sidebar ul.topics > li > a { + line-height: 2rem; + font-size: 1.1rem; } + #sidebar ul.topics > li > a b { + color: #6C6F73; + font-weight: normal; } + #sidebar ul.topics > li > a .fa { + margin-top: 9px; } + #sidebar ul.topics > li.parent, + #sidebar ul.topics > li.active { + background: white; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul.topics > li.parent > a b, #sidebar ul.topics > li.active > a b { + color: #6C6F73; } + #sidebar ul li.active > a { + background: #fff; + color: #383F45 !important; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul li.active > a b { + color: #383F45 !important; } + #sidebar ul li { + padding: 0; } + #sidebar ul li.visited + span { + margin-right: 16px; } + #sidebar ul li a { + display: block; + padding: 2px 0; } + #sidebar ul li a span { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + display: block; } + #sidebar ul li > a { + padding: 4px 0; } + #sidebar ul li .fa { + display: none; + float: right; + font-size: 13px; + min-width: 16px; + margin: 4px 0 0 0; + text-align: right; } + #sidebar ul li.visited > a .read-icon { + display: inline; + color: #6C6F73; } + #sidebar ul li.visited > a .read-icon:hover { + color: #2e3031; } + #sidebar ul li.active > a .read-icon, #sidebar ul li.active.visited > a .read-icon { + display: inline; + color: #383F45; } + #sidebar ul li.active > a .read-icon:hover, #sidebar ul li.active.visited > a .read-icon:hover { + color: black; } + #sidebar ul li li { + padding-left: 1rem; + text-indent: 0.2rem; } + +#body #navigation .nav .fa { + color: #e9e9ef; } + #body #navigation .nav .fa:active, #body #navigation .nav .fa:focus, #body #navigation .nav .fa:hover, #body #navigation .nav .fa:visited { + color: #bdbdd0; } + +#main { + background: #f7f7f7; + margin: 0 0 1.563rem 0; } + +#body { + position: relative; + margin-left: 300px; + min-height: 100%; } + #body img, + #body .video-container { + margin: 3rem auto; + display: block; + text-align: center; } + #body img.border, + #body .video-container.border { + border: 2px solid #e6e6e6 !important; + padding: 2px; } + #body img.shadow, + #body .video-container.shadow { + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); } + #body .bordered { + border: 1px solid #ccc; } + #body .padding { + padding: 3rem 6rem; } + @media only all and (max-width: 59.938em) { + #body .padding { + position: static; + padding: 15px 3rem; } } + @media only all and (max-width: 47.938em) { + #body .padding { + padding: 5px 1rem; } } + #body h1 + hr { + margin-top: -1.7rem; + margin-bottom: 3rem; } + @media only all and (max-width: 59.938em) { + #body #navigation { + position: static; + margin-right: 0 !important; + width: 100%; + display: table; } } + #body .nav { + position: fixed; + top: 0; + bottom: 0; + width: 4rem; + font-size: 0; + height: 100%; + cursor: pointer; + display: table; + text-align: center; } + #body .nav > i { + display: table-cell; + vertical-align: middle; + text-align: center; } + @media only all and (max-width: 59.938em) { + #body .nav { + display: table-cell; + position: static; + top: auto; + width: 50%; + text-align: center; + height: 100px; + line-height: 100px; + padding-top: 0; } + #body .nav > i { + display: inline-block; } } + #body .nav i { + font-size: 50px; } + #body .nav:hover { + background: #e6e6e6; } + #body .nav.nav-pref { + left: 0; } + #body .nav.nav-next { + right: 0; } + +#body-inner { + margin-bottom: 5rem; } + +#chapter { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 2rem 0; } + #chapter #body-inner { + padding-bottom: 3rem; + max-width: 80%; } + #chapter h3 { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-align: center; } + #chapter h1 { + font-size: 5rem; + border-bottom: 4px solid #F0F2F4; } + #chapter p { + text-align: center; + font-size: 1.2rem; } + +#footer { + padding: 3rem 1rem; + color: #535659; + font-size: 13px; } + #footer p { + margin: 0; } + +body { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + letter-spacing: -0.03rem; + font-weight: 400; + font-size: 1.05rem; + line-height: 1.7; } + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Montserrat", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-rendering: optimizeLegibility; + line-height: 150%; + letter-spacing: -0px; + overflow-wrap: break-word; + overflow: visible; + word-break: break-word; + white-space: normal; + margin: 0.425rem 0 0.85rem 0; } + +p { + margin: 1.7rem 0; } + +ul, +ol { + margin-top: 1.7rem; + margin-bottom: 1.7rem; } + ul ul, + ul ol, + ol ul, + ol ol { + margin-top: 0; + margin-bottom: 0; } + +blockquote { + border-left: 10px solid #F0F2F4; + margin: 1.7rem 0; + padding-left: 0.85rem; } + blockquote p { + font-size: 1.1rem; + color: #666666; } + blockquote cite { + display: block; + text-align: right; + color: #333333; + font-size: 0.925rem; } + blockquote cite:before { + content: "\2014 \0020"; } + +pre { + margin: 1.7rem 0; + padding: 0.938rem; } + +code { + vertical-align: bottom; } + +small { + font-size: 0.925rem; } + +hr { + border-left: none; + border-right: none; + border-top: none; + margin: 1.7rem 0; } + +blockquote { + position: relative; } + +blockquote blockquote { + position: static; } + +blockquote > blockquote > blockquote { + margin: 0; } + blockquote > blockquote > blockquote p { + padding: 15px; + display: block; + font-size: 1rem; + margin-top: 0rem; + margin-bottom: 0rem; + color: #666; } + blockquote > blockquote > blockquote p:first-child:before { + position: absolute; + top: 2px; + color: #fff; + font-family: FontAwesome; + content: ''; + left: 10px; } + blockquote > blockquote > blockquote p:first-child:after { + position: absolute; + top: 2px; + color: #fff; + left: 2rem; + font-weight: bold; + content: 'Info'; } + blockquote > blockquote > blockquote > p { + margin-left: -71px; + border-top: 30px solid #F0B37E; + background: #FFF2DB; } + blockquote > blockquote > blockquote > blockquote > p { + margin-left: -94px; + border-top: 30px solid rgba(217, 83, 79, 0.8); + background: #FAE2E2; } + blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Warning'; } + blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -118px; + border-top: 30px solid #6AB0DE; + background: #E7F2FA; } + blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Note'; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -142px; + border-top: 30px solid rgba(92, 184, 92, 0.8); + background: #E6F9E6; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Tip'; } + +code, +kbd, +pre, +samp { + font-family: "Inconsolata", monospace; } + +code { + background: #f9f2f4; + color: #9c1d3d; + padding: .2rem .4rem; + border-radius: 3px; } + +pre { + padding: 1rem; + margin: 2rem 0; + background: #f6f6f6; + border: 1px solid #ddd; + border-radius: 2px; + line-height: 1.15; + font-size: 1rem; } + pre code { + color: #237794; + background: inherit; + font-size: 1rem; } + +hr { + border-bottom: 4px solid #F0F2F4; } + +.page-title { + margin-top: -25px; + padding: 25px; + float: left; + clear: both; + background: #383F45; + color: #fff; } + +#body a.anchor-link { + color: #ccc; } + +#body a.anchor-link:hover { + color: #383F45; } + +.scrollbar-inner > .scroll-element .scroll-element_track { + background-color: rgba(255, 255, 255, 0.3); } + +.scrollbar-inner > .scroll-element .scroll-bar { + background-color: #b5d1eb; } + +.scrollbar-inner > .scroll-element:hover .scroll-bar { + background-color: #ccc; } + +.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar { + background-color: #ccc; } + +table { + border: 1px solid #eaeaea; + table-layout: auto; } + +th { + background: #f7f7f7; + padding: 0.5rem; } + +td { + padding: 0.5rem; + border: 1px solid #eaeaea; } + +.button { + background: #383F45 !important; + color: white !important; + box-shadow: 0 3px 0 #2a3034 !important; } + .button:hover { + background: #2a3034 !important; + box-shadow: 0 3px 0 #1d2023 !important; + color: white !important; } + .button:active { + box-shadow: 0 1px 0 #1d2023 !important; } + .button i { + color: white !important; } + +.button-secondary { + background: #16181b !important; + color: white !important; + box-shadow: 0 3px 0 #08090a !important; } + .button-secondary:hover { + background: #08090a !important; + box-shadow: 0 3px 0 black !important; + color: white !important; } + .button-secondary:active { + box-shadow: 0 1px 0 black !important; } + .button-secondary i { + color: white !important; } + +.bullets { + margin: 1.7rem 0; + margin-left: -0.85rem; + margin-right: -0.85rem; + overflow: auto; } + +.bullet { + float: left; + padding: 0 0.85rem; } + +.two-column-bullet { + width: 50%; } + @media only all and (max-width: 47.938em) { + .two-column-bullet { + width: 100%; } } + +.three-column-bullet { + width: 33.33333%; } + @media only all and (max-width: 47.938em) { + .three-column-bullet { + width: 100%; } } + +.four-column-bullet { + width: 25%; } + @media only all and (max-width: 47.938em) { + .four-column-bullet { + width: 100%; } } + +.bullet-icon { + float: left; + background: #1694CA; + padding: 0.875rem; + width: 3.5rem; + height: 3.5rem; + border-radius: 50%; + color: #fff; + font-size: 1.75rem; + text-align: center; } + +.bullet-icon-1 { + background: #1694CA; } + +.bullet-icon-2 { + background: #16cac4; } + +.bullet-icon-3 { + background: #b2ca16; } + +.bullet-content { + margin-left: 4.55rem; } + +.tooltipped { + position: relative; } + +.tooltipped:after { + position: absolute; + z-index: 1000000; + display: none; + padding: 5px 8px; + font: normal normal 11px/1.5 "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + color: #fff; + text-align: center; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-wrap: break-word; + white-space: pre; + pointer-events: none; + content: attr(aria-label); + background: rgba(0, 0, 0, 0.8); + border-radius: 3px; + -webkit-font-smoothing: subpixel-antialiased; } + +.tooltipped:before { + position: absolute; + z-index: 1000001; + display: none; + width: 0; + height: 0; + color: rgba(0, 0, 0, 0.8); + pointer-events: none; + content: ""; + border: 5px solid transparent; } + +.tooltipped:hover:before, .tooltipped:hover:after, +.tooltipped:active:before, +.tooltipped:active:after, +.tooltipped:focus:before, +.tooltipped:focus:after { + display: inline-block; + text-decoration: none; } + +.tooltipped-s:after, +.tooltipped-se:after, +.tooltipped-sw:after { + top: 100%; + right: 50%; + margin-top: 5px; } + +.tooltipped-s:before, +.tooltipped-se:before, +.tooltipped-sw:before { + top: auto; + right: 50%; + bottom: -5px; + margin-right: -5px; + border-bottom-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-se:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-sw:after { + margin-right: -15px; } + +.tooltipped-n:after, +.tooltipped-ne:after, +.tooltipped-nw:after { + right: 50%; + bottom: 100%; + margin-bottom: 5px; } + +.tooltipped-n:before, +.tooltipped-ne:before, +.tooltipped-nw:before { + top: -5px; + right: 50%; + bottom: auto; + margin-right: -5px; + border-top-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-ne:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-nw:after { + margin-right: -15px; } + +.tooltipped-s:after, +.tooltipped-n:after { + transform: translateX(50%); } + +.tooltipped-w:after { + right: 100%; + bottom: 50%; + margin-right: 5px; + transform: translateY(50%); } + +.tooltipped-w:before { + top: 50%; + bottom: 50%; + left: -5px; + margin-top: -5px; + border-left-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-e:after { + bottom: 50%; + left: 100%; + margin-left: 5px; + transform: translateY(50%); } + +.tooltipped-e:before { + top: 50%; + right: -5px; + bottom: 50%; + margin-top: -5px; + border-right-color: rgba(0, 0, 0, 0.8); } + +/*************** SCROLLBAR BASE CSS ***************/ +.highlightable { + padding: 25px 0 15px; } + +.scroll-wrapper { + overflow: hidden !important; + padding: 0 !important; + position: relative; } + +.scroll-wrapper > .scroll-content { + border: none !important; + box-sizing: content-box !important; + height: auto; + left: 0; + margin: 0; + max-height: none; + max-width: none !important; + overflow: scroll !important; + padding: 0; + position: relative !important; + top: 0; + width: auto !important; } + +.scroll-wrapper > .scroll-content::-webkit-scrollbar { + height: 0; + width: 0; } + +.scroll-element { + display: none; } + +.scroll-element, .scroll-element div { + box-sizing: content-box; } + +.scroll-element.scroll-x.scroll-scrollx_visible, +.scroll-element.scroll-y.scroll-scrolly_visible { + display: block; } + +.scroll-element .scroll-bar, +.scroll-element .scroll-arrow { + cursor: default; } + +.scroll-textarea > .scroll-content { + overflow: hidden !important; } + +.scroll-textarea > .scroll-content > textarea { + border: none !important; + box-sizing: border-box; + height: 100% !important; + margin: 0; + max-height: none !important; + max-width: none !important; + overflow: scroll !important; + outline: none; + padding: 2px; + position: relative !important; + top: 0; + width: 100% !important; } + +.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar { + height: 0; + width: 0; } + +/*************** SIMPLE INNER SCROLLBAR ***************/ +.scrollbar-inner > .scroll-element, +.scrollbar-inner > .scroll-element div { + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; } + +.scrollbar-inner > .scroll-element div { + display: block; + height: 100%; + left: 0; + top: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-x { + bottom: 2px; + height: 8px; + left: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-y { + height: 100%; + right: 2px; + top: 0; + width: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_outer { + overflow: hidden; } + +.scrollbar-inner > .scroll-element .scroll-element_outer, +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; + filter: alpha(opacity=30); + opacity: 0.3; } + +/* update scrollbar offset if both scrolls are visible */ +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { + top: -12px; } + +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size { + top: -12px; } + +.lightbox-active #body { + overflow: visible; } + .lightbox-active #body .padding { + overflow: visible; } + +#github-contrib i { + vertical-align: middle; } + +.featherlight img { + margin: 0 !important; } + +.lifecycle #body-inner ul { + list-style: none; + margin: 0; + padding: 2rem 0 0; + position: relative; } + +.lifecycle #body-inner ol { + margin: 1rem 0 1rem 0; + padding: 2rem; + position: relative; } + .lifecycle #body-inner ol li { + margin-left: 1rem; } + .lifecycle #body-inner ol strong, .lifecycle #body-inner ol label, .lifecycle #body-inner ol th { + text-decoration: underline; } + .lifecycle #body-inner ol ol { + margin-left: -1rem; } + +.lifecycle #body-inner h3[class*='level'] { + font-size: 20px; + position: absolute; + margin: 0; + padding: 4px 10px; + right: 0; + z-index: 1000; + color: #fff; + background: #1ABC9C; } + +.lifecycle #body-inner ol h3 { + margin-top: 1rem !important; + right: 2rem !important; } + +.lifecycle #body-inner .level-1 + ol { + background: #f6fefc; + border: 4px solid #1ABC9C; + color: #16A085; } + .lifecycle #body-inner .level-1 + ol h3 { + background: #2ECC71; } + +.lifecycle #body-inner .level-2 + ol { + background: #f7fdf9; + border: 4px solid #2ECC71; + color: #27AE60; } + .lifecycle #body-inner .level-2 + ol h3 { + background: #3498DB; } + +.lifecycle #body-inner .level-3 + ol { + background: #f3f9fd; + border: 4px solid #3498DB; + color: #2980B9; } + .lifecycle #body-inner .level-3 + ol h3 { + background: #34495E; } + +.lifecycle #body-inner .level-4 + ol { + background: #e4eaf0; + border: 4px solid #34495E; + color: #2C3E50; } + .lifecycle #body-inner .level-4 + ol h3 { + background: #34495E; } + +#top-bar { + background: #ffffff; + border-radius: 2px; + margin: 0rem -1rem 2rem; + padding: 0 1rem; + height: 0; + min-height: 3rem; + color: #333333; } + #top-bar a { + color: #1a1a1a; } + #top-bar a:hover { + color: #0d0d0d; } + +#top-github-link { + position: relative; + z-index: 1; + float: right; + display: block; } + +#body #breadcrumbs { + height: auto; + display: block; + margin-bottom: 0; + padding-left: 0; + line-height: 1.4; } + #body #breadcrumbs span { + padding: 0 0.1rem; } + +@media only all and (max-width: 59.938em) { + #sidebar { + width: 230px; } + #body { + margin-left: 230px; } } + +@media only all and (max-width: 47.938em) { + #sidebar { + width: 230px; + left: -230px; } + #body { + margin-left: 0; + width: 100%; } + .sidebar-hidden { + overflow: hidden; } + .sidebar-hidden #sidebar { + left: 0; } + .sidebar-hidden #body { + margin-left: 230px; + overflow: hidden; } + .sidebar-hidden #overlay { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + z-index: 10; + background: rgba(255, 255, 255, 0.5); + cursor: pointer; } } + +.copy-to-clipboard { + background-image: url(../images/clippy.svg); + background-position: 50% 50%; + background-size: 16px 16px; + background-repeat: no-repeat; + width: 27px; + height: 1.45rem; + top: -1px; + display: inline-block; + vertical-align: middle; + position: relative; + color: #212529; + background-color: #f9f2f4; + margin-left: -.2rem; + cursor: pointer; + border-radius: 0 2px 2px 0; } + .copy-to-clipboard:hover { + background-color: #f1e1e5; } + pre .copy-to-clipboard { + position: absolute; + right: 4px; + top: 4px; + background-color: #eee; + border-color: #ddd; + border-radius: 2px; } + pre .copy-to-clipboard:hover { + background-color: #d9d9d9; } + +.parent-element { + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + transform-style: preserve-3d; } + +.version-chooser select { + display: inline-block; + color: #000000; + background-color: #FFFFFF; + border: 1px solid #666666; + font-size: 15px; + font-weight: regular; + margin: 0; +} + +.videoWrapper { + position: relative; + padding-bottom: 56.25%; /* 16:9 */ + padding-top: 25px; + height: 0; +} +.videoWrapper iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +/*# sourceMappingURL=longyearbyen.css.map */ diff --git a/themes/learn2-git-sync/css/styles/longyearbyen.css.map b/themes/learn2-git-sync/css/styles/longyearbyen.css.map new file mode 100644 index 0000000..bec1e35 --- /dev/null +++ b/themes/learn2-git-sync/css/styles/longyearbyen.css.map @@ -0,0 +1,111 @@ +{ + "version": 3, + "file": "longyearbyen.css", + "sources": [ + "../../scss/styles/longyearbyen.scss", + "../../scss/_prefix.scss", + "../../scss/vendor/bourbon/_bourbon.scss", + "../../scss/vendor/bourbon/settings/_prefixer.scss", + "../../scss/vendor/bourbon/settings/_px-to-em.scss", + "../../scss/vendor/bourbon/helpers/_convert-units.scss", + "../../scss/vendor/bourbon/helpers/_gradient-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_is-num.scss", + "../../scss/vendor/bourbon/helpers/_linear-angle-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-gradient-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-arg-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-gradient-parser.scss", + "../../scss/vendor/bourbon/helpers/_render-gradients.scss", + "../../scss/vendor/bourbon/helpers/_shape-size-stripper.scss", + "../../scss/vendor/bourbon/helpers/_str-to-num.scss", + "../../scss/vendor/bourbon/functions/_assign.scss", + "../../scss/vendor/bourbon/functions/_color-lightness.scss", + "../../scss/vendor/bourbon/functions/_flex-grid.scss", + "../../scss/vendor/bourbon/functions/_golden-ratio.scss", + "../../scss/vendor/bourbon/functions/_grid-width.scss", + "../../scss/vendor/bourbon/functions/_modular-scale.scss", + "../../scss/vendor/bourbon/functions/_px-to-em.scss", + "../../scss/vendor/bourbon/functions/_px-to-rem.scss", + "../../scss/vendor/bourbon/functions/_strip-units.scss", + "../../scss/vendor/bourbon/functions/_tint-shade.scss", + "../../scss/vendor/bourbon/functions/_transition-property-name.scss", + "../../scss/vendor/bourbon/functions/_unpack.scss", + "../../scss/vendor/bourbon/css3/_animation.scss", + "../../scss/vendor/bourbon/css3/_appearance.scss", + "../../scss/vendor/bourbon/css3/_backface-visibility.scss", + "../../scss/vendor/bourbon/css3/_background.scss", + "../../scss/vendor/bourbon/css3/_background-image.scss", + "../../scss/vendor/bourbon/css3/_border-image.scss", + "../../scss/vendor/bourbon/css3/_border-radius.scss", + "../../scss/vendor/bourbon/css3/_box-sizing.scss", + "../../scss/vendor/bourbon/css3/_calc.scss", + "../../scss/vendor/bourbon/css3/_columns.scss", + "../../scss/vendor/bourbon/css3/_filter.scss", + "../../scss/vendor/bourbon/css3/_flex-box.scss", + "../../scss/vendor/bourbon/css3/_font-face.scss", + "../../scss/vendor/bourbon/css3/_hyphens.scss", + "../../scss/vendor/bourbon/css3/_hidpi-media-query.scss", + "../../scss/vendor/bourbon/css3/_image-rendering.scss", + "../../scss/vendor/bourbon/css3/_keyframes.scss", + "../../scss/vendor/bourbon/css3/_linear-gradient.scss", + "../../scss/vendor/bourbon/css3/_perspective.scss", + "../../scss/vendor/bourbon/css3/_radial-gradient.scss", + "../../scss/vendor/bourbon/css3/_transform.scss", + "../../scss/vendor/bourbon/css3/_transition.scss", + "../../scss/vendor/bourbon/css3/_user-select.scss", + "../../scss/vendor/bourbon/css3/_placeholder.scss", + "../../scss/vendor/bourbon/addons/_button.scss", + "../../scss/vendor/bourbon/addons/_clearfix.scss", + "../../scss/vendor/bourbon/addons/_directional-values.scss", + "../../scss/vendor/bourbon/addons/_ellipsis.scss", + "../../scss/vendor/bourbon/addons/_font-family.scss", + "../../scss/vendor/bourbon/addons/_hide-text.scss", + "../../scss/vendor/bourbon/addons/_html5-input-types.scss", + "../../scss/vendor/bourbon/addons/_position.scss", + "../../scss/vendor/bourbon/addons/_prefixer.scss", + "../../scss/vendor/bourbon/addons/_retina-image.scss", + "../../scss/vendor/bourbon/addons/_size.scss", + "../../scss/vendor/bourbon/addons/_timing-functions.scss", + "../../scss/vendor/bourbon/addons/_triangle.scss", + "../../scss/vendor/bourbon/addons/_word-wrap.scss", + "../../scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss", + "../../scss/configuration/nucleus/_base.scss", + "../../scss/configuration/nucleus/_core.scss", + "../../scss/configuration/nucleus/_breakpoints.scss", + "../../scss/configuration/nucleus/_layout.scss", + "../../scss/configuration/nucleus/_typography.scss", + "../../scss/configuration/nucleus/_nav.scss", + "../../scss/configuration/theme/_base.scss", + "../../scss/configuration/theme/_colors.scss", + "../../scss/configuration/theme/_bullets.scss", + "../../scss/nucleus/functions/_base.scss", + "../../scss/nucleus/functions/_direction.scss", + "../../scss/nucleus/functions/_range.scss", + "../../scss/nucleus/mixins/_base.scss", + "../../scss/nucleus/mixins/_breakpoints.scss", + "../../scss/nucleus/mixins/_utilities.scss", + "../../scss/theme/modules/_base.scss", + "../../scss/theme/modules/_buttons.scss", + "../../scss/_hover-color.scss", + "../../scss/_contrast.scss", + "../../scss/_affix.scss", + "../../scss/theme/_core.scss", + "../../scss/theme/_fonts.scss", + "../../scss/theme/_forms.scss", + "../../scss/theme/_header.scss", + "../../scss/theme/_nav.scss", + "../../scss/theme/_main.scss", + "../../scss/_standard_colors.scss", + "../../scss/theme/_typography.scss", + "../../scss/theme/_tables.scss", + "../../scss/theme/_buttons.scss", + "../../scss/theme/_bullets.scss", + "../../scss/theme/_tooltips.scss", + "../../scss/theme/_scrollbar.scss", + "../../scss/theme/_custom.scss" + ], + "names": [], + "mappings": "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" +} \ No newline at end of file diff --git a/themes/learn2-git-sync/css/styles/metal.css b/themes/learn2-git-sync/css/styles/metal.css new file mode 100644 index 0000000..9d7f250 --- /dev/null +++ b/themes/learn2-git-sync/css/styles/metal.css @@ -0,0 +1,1113 @@ +@charset "UTF-8"; +@import url(//fonts.googleapis.com/css?family=Montserrat:400|Muli:300,400|Inconsolata); +#top-github-link, #body #breadcrumbs { + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); } + +.button, .button-secondary { + display: inline-block; + padding: 7px 12px; } + .button:active, .button-secondary:active { + margin: 2px 0 -2px 0; } + +/* + The Ultimate Hover Color Function + @author Gray Gilmore - http://code.graygilmore.com + + The goal of this Sass function is provide a hover color that works + with any color on any background. No longer do we need to bundle + hover color options with our themes, let Sassy McSasserson take care + of that for you. + + The hover color, seen in this demo as "After" text, must be visible in + all situations and, hopefully, pass the WCAG 2.0 contrast ratio [1] + formula (4.5:1). + + [1] http://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast + + contrast-ratio() help from @davidkaneda + + + ## Usage ## + + a { + color: $link-color; + + &:hover { + color: hover($background-color, $link-color); + } + } + + button { + background: $button-background; + color: $button-color; + + &:hover { + background: hover($background-color, $button-background); + } + } + + ## End Usage ## + +*/ +/** + * Calculate the luminance for a color. + * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + */ +/** + * Calculate the contrast ratio between two colors. + * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + */ +/** + * Determine whether to use dark or light text on top of given color. + * Returns black for dark text and white for light text. + */ +/* + WCAG color contrast formula + https://www.w3.org/TR/2016/NOTE-WCAG20-TECHS-20161007/G18#G18-procedure + + @see https://codepen.io/giana/project/full/ZWbGzD + + This pen uses the non-standard Sass pow() function + https://css-tricks.com/snippets/sass/power-function/ + Using it outside of CodePen requires you provide your own pow() function with support for decimals + + To generate random colors, we're also using a two-variable random() function includded with compass. +*/ +.ratio::after { + content: "13"; } + +.balance::after { + content: "33"; } + +.color-block .color1 { + background: #070d0e; + color: #fff; } + .color-block .color1::after { + content: "#070d0e"; } + +.color-block .color2 { + background: #64646e; + color: #fff; } + .color-block .color2::after { + content: "#64646e"; } + +.fix-color .color:nth-child(2) { + background: #000; + color: #fff; } + .fix-color .color:nth-child(2)::after { + content: "#000"; } + +.fix-color .color:nth-child(3) { + background: #d6d5e9; + color: #000; } + .fix-color .color:nth-child(3)::after { + content: "#d6d5e9"; } + +.fix-contrast .color:nth-child(2) { + background: #050909; + color: #fff; } + .fix-contrast .color:nth-child(2)::after { + content: "#050909"; } + +.fix-contrast .color:nth-child(3) { + background: #cfcfe1; + color: #000; } + .fix-contrast .color:nth-child(3)::after { + content: "#cfcfe1"; } + +.best-contrast .color:nth-child(2) { + background: #07120e; + color: #fff; } + .best-contrast .color:nth-child(2)::after { + content: "#07120e"; } + +.best-contrast .color:nth-child(3) { + background: #8ffff6; + color: #000; } + .best-contrast .color:nth-child(3)::after { + content: "#8ffff6"; } + +.scale-luminance .color:nth-child(2) { + background: #527272; + color: #fff; } + .scale-luminance .color:nth-child(2)::after { + content: "#527272"; } + +.check-contrast .result::after { + content: "false"; } + +.luminance .result::after { + content: "0.00592, 0.13006"; } + +body { + background: #ffffff; + color: #000000; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +a { + color: black; } + a:link, a:visited { + color: black; } + a:hover, a:active { + color: black; } + +#body-inner a { + text-decoration: underline; + text-decoration-style: dotted; } + #body-inner a:hover { + text-decoration-style: solid; } + +pre { + position: relative; } + +.bg { + background: #fff; + border: 1px solid #eaeaea; } + +b, strong, label, th { + font-weight: 600; } + +.default-animation, #header #logo-svg, #header #logo-svg path, #sidebar, #sidebar ul, #body, #body .padding, #body .nav { + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; } + +fieldset { + border: 1px solid #ddd; } + +textarea, input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], select[multiple=multiple] { + background-color: white; + border: 1px solid #ddd; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); } + textarea:hover, input[type="email"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="url"]:hover, input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="month"]:hover, input[type="time"]:hover, input[type="week"]:hover, select[multiple=multiple]:hover { + border-color: #c4c4c4; } + textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus { + border-color: #1694CA; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(19, 131, 179, 0.7); } + +#header { + background: #bd8c7d; + color: #f2e8e5; + text-align: center; + padding: 1rem; } + #header a { + display: inline-block; } + #header #logo-svg { + width: 8rem; + height: 2rem; } + #header #logo-svg path { + fill: #fff; } + +.searchbox { + margin-top: 0.5rem; + position: relative; + border: 1px solid #b47d6c; + background: #c69b8e; + border-radius: 4px; } + .searchbox label { + color: rgba(255, 255, 255, 0.8); + position: absolute; + left: 10px; + top: 3px; } + .searchbox span { + color: rgba(255, 255, 255, 0.6); + position: absolute; + right: 10px; + top: 3px; + cursor: pointer; } + .searchbox span:hover { + color: rgba(255, 255, 255, 0.9); } + .searchbox input { + display: inline-block; + color: #f4ebe8; + width: 100%; + height: 30px; + background: transparent; + border: 0; + padding: 0 25px 0 30px; + margin: 0; + font-weight: 400; } + .searchbox input::-webkit-input-placeholder { + color: #f0e5e2; } + .searchbox input::-moz-placeholder { + color: #f0e5e2; } + .searchbox input:-moz-placeholder { + color: #f0e5e2; } + .searchbox input:-ms-input-placeholder { + color: #f0e5e2; } + +#sidebar-toggle { + display: none; } + @media only all and (max-width: 47.938em) { + #sidebar-toggle { + display: inline-block; } } + +#sidebar { + background-color: #49494b; + position: fixed; + top: 0; + width: 300px; + bottom: 0; + left: 0; + font-weight: 500; + font-size: 15px; + border-right: 1px solid #5b5b5d; } + #sidebar a, + #sidebar i { + color: #e8e8e6; } + #sidebar a:hover, + #sidebar i:hover { + color: #c3c3be; } + #sidebar a.subtitle, + #sidebar i.subtitle { + color: rgba(232, 232, 230, 0.6); } + #sidebar hr { + border-bottom: 1px solid #414143; } + #sidebar a.padding { + padding: 0 1rem; } + #sidebar h5 { + margin: 2rem 0 0; + position: relative; + line-height: 2; } + #sidebar h5 a { + display: block; + margin-left: 0; + margin-right: 0; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar h5 i { + color: rgba(232, 232, 230, 0.6); + position: absolute; + right: 0.6rem; + top: 0.7rem; + font-size: 80%; } + #sidebar h5.parent a { + background: #373739; + color: #f4f4f3 !important; } + #sidebar h5.active a { + background: #fff; + color: #000000 !important; } + #sidebar h5.active i { + color: #000000 !important; } + #sidebar h5 + ul.topics { + display: none; + margin-top: 0; } + #sidebar h5.parent + ul.topics, #sidebar h5.active + ul.topics { + display: block; } + #sidebar ul { + list-style: none; + padding: 0; + margin: 0; } + #sidebar ul.searched a { + color: white; } + #sidebar ul.searched .search-match a { + color: white; } + #sidebar ul.searched .search-match a:hover { + color: white; } + #sidebar ul.topics { + margin: 0 1rem; } + #sidebar ul.topics.searched ul { + display: block; } + #sidebar ul.topics ul { + display: none; + padding-bottom: 1rem; } + #sidebar ul.topics ul ul { + padding-bottom: 0; } + #sidebar ul.topics li.parent ul, #sidebar ul.topics > li.active ul { + display: block; } + #sidebar ul.topics > li > a { + line-height: 2rem; + font-size: 1.1rem; } + #sidebar ul.topics > li > a b { + color: #e8e8e6; + font-weight: normal; } + #sidebar ul.topics > li > a .fa { + margin-top: 9px; } + #sidebar ul.topics > li.parent, #sidebar ul.topics > li.active { + background: #3c3c3e; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul.topics > li.parent > a b, #sidebar ul.topics > li.active > a b { + color: #e8e8e6; } + #sidebar ul li.active > a { + background: #fff; + color: #000000 !important; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul li.active > a b { + color: #000000 !important; } + #sidebar ul li { + padding: 0; } + #sidebar ul li.visited + span { + margin-right: 16px; } + #sidebar ul li a { + display: block; + padding: 2px 0; } + #sidebar ul li a span { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + display: block; } + #sidebar ul li > a { + padding: 4px 0; } + #sidebar ul li .fa { + display: none; + float: right; + font-size: 13px; + min-width: 16px; + margin: 4px 0 0 0; + text-align: right; } + #sidebar ul li.visited > a .read-icon { + color: #b47d6c; + display: inline; } + #sidebar ul li li { + padding-left: 1rem; + text-indent: 0.2rem; } + +#body #navigation .nav .fa { + color: black; } + #body #navigation .nav .fa:active, #body #navigation .nav .fa:focus, #body #navigation .nav .fa:hover, #body #navigation .nav .fa:visited { + color: #171717; } + +#main { + background: #f7f7f7; + margin: 0 0 1.563rem 0; } + +#body { + position: relative; + margin-left: 300px; + min-height: 100%; } + #body img, #body .video-container { + margin: 3rem auto; + display: block; + text-align: center; } + #body img.border, #body .video-container.border { + border: 2px solid #e6e6e6 !important; + padding: 2px; } + #body img.shadow, #body .video-container.shadow { + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); } + #body .bordered { + border: 1px solid #ccc; } + #body .padding { + padding: 3rem 6rem; } + @media only all and (max-width: 59.938em) { + #body .padding { + position: static; + padding: 15px 3rem; } } + @media only all and (max-width: 47.938em) { + #body .padding { + padding: 5px 1rem; } } + #body h1 + hr { + margin-top: -1.7rem; + margin-bottom: 3rem; } + @media only all and (max-width: 59.938em) { + #body #navigation { + position: static; + margin-right: 0 !important; + width: 100%; + display: table; } } + #body .nav { + position: fixed; + top: 0; + bottom: 0; + width: 4rem; + font-size: 0; + height: 100%; + cursor: pointer; + display: table; + text-align: center; } + #body .nav > i { + display: table-cell; + vertical-align: middle; + text-align: center; } + @media only all and (max-width: 59.938em) { + #body .nav { + display: table-cell; + position: static; + top: auto; + width: 50%; + text-align: center; + height: 100px; + line-height: 100px; + padding-top: 0; } + #body .nav > i { + display: inline-block; } } + #body .nav i { + font-size: 50px; } + #body .nav:hover { + background: #e8e8e6; } + #body .nav.nav-pref { + left: 0; } + #body .nav.nav-next { + right: 0; } + +#body-inner { + margin-bottom: 5rem; } + +#chapter { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 2rem 0; } + #chapter #body-inner { + padding-bottom: 3rem; + max-width: 80%; } + #chapter h3 { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-align: center; } + #chapter h1 { + font-size: 5rem; + border-bottom: 4px solid #F0F2F4; } + #chapter p { + text-align: center; + font-size: 1.2rem; } + +#footer { + padding: 3rem 1rem; + color: #d0d0cb; + font-size: 13px; } + #footer p { + margin: 0; } + +body { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + letter-spacing: -0.03rem; + font-weight: 400; } + +h1, h2, h3, h4, h5, h6 { + font-family: "Montserrat", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-rendering: optimizeLegibility; + line-height: 150%; + letter-spacing: -0px; } + +h1 { + text-align: center; + letter-spacing: -3px; } + +h2 { + letter-spacing: -2px; } + +h3 { + letter-spacing: -1px; } + +blockquote { + border-left: 10px solid #F0F2F4; } + blockquote p { + font-size: 1.1rem; + color: #666666; } + blockquote cite { + display: block; + text-align: right; + color: #333333; + font-size: 1.2rem; } + +blockquote { + position: relative; } + +blockquote blockquote { + position: static; } + +blockquote > blockquote > blockquote { + margin: 0; } + blockquote > blockquote > blockquote p { + padding: 15px; + display: block; + font-size: 1rem; + margin-top: 0rem; + margin-bottom: 0rem; + color: #666; } + blockquote > blockquote > blockquote p:first-child:before { + position: absolute; + top: 2px; + color: #fff; + font-family: FontAwesome; + content: ''; + left: 10px; } + blockquote > blockquote > blockquote p:first-child:after { + position: absolute; + top: 2px; + color: #fff; + left: 2rem; + font-weight: bold; + content: 'Info'; } + blockquote > blockquote > blockquote > p { + margin-left: -71px; + border-top: 30px solid #F0B37E; + background: #FFF2DB; } + blockquote > blockquote > blockquote > blockquote > p { + margin-left: -94px; + border-top: 30px solid rgba(217, 83, 79, 0.8); + background: #FAE2E2; } + blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Warning'; } + blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -118px; + border-top: 30px solid #6AB0DE; + background: #E7F2FA; } + blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Note'; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -142px; + border-top: 30px solid rgba(92, 184, 92, 0.8); + background: #E6F9E6; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Tip'; } + +code, +kbd, +pre, +samp { + font-family: "Inconsolata", monospace; } + +code { + background: #f9f2f4; + color: #9c1d3d; + padding: .2rem .4rem; + border-radius: 3px; } + +pre { + padding: 1rem; + margin: 2rem 0; + background: #f6f6f6; + border: 1px solid #ddd; + border-radius: 2px; + line-height: 1.15; + font-size: 1rem; } + pre code { + color: #237794; + background: inherit; + font-size: 1rem; } + +hr { + border-bottom: 4px solid #F0F2F4; } + +.page-title { + margin-top: -25px; + padding: 25px; + float: left; + clear: both; + background: #b47d6c; + color: #fff; } + +#body a.anchor-link { + color: #ccc; } + +#body a.anchor-link:hover { + color: #b47d6c; } + +.scrollbar-inner > .scroll-element .scroll-element_track { + background-color: rgba(255, 255, 255, 0.3); } + +.scrollbar-inner > .scroll-element .scroll-bar { + background-color: #b5d1eb; } + +.scrollbar-inner > .scroll-element:hover .scroll-bar { + background-color: #ccc; } + +.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar { + background-color: #ccc; } + +table { + border: 1px solid #eaeaea; + table-layout: auto; } + +th { + background: #f7f7f7; + padding: 0.5rem; } + +td { + padding: 0.5rem; + border: 1px solid #eaeaea; } + +.button { + background: #b47d6c !important; + color: black !important; + box-shadow: 0 3px 0 #be8f80 !important; } + .button:hover { + background: #be8f80 !important; + box-shadow: 0 3px 0 #c9a195 !important; + color: black !important; } + .button:active { + box-shadow: 0 1px 0 #c9a195 !important; } + .button i { + color: black !important; } + +.button-secondary { + background: #8c5847 !important; + color: white !important; + box-shadow: 0 3px 0 #784b3d !important; } + .button-secondary:hover { + background: #784b3d !important; + box-shadow: 0 3px 0 #643e33 !important; + color: white !important; } + .button-secondary:active { + box-shadow: 0 1px 0 #643e33 !important; } + .button-secondary i { + color: white !important; } + +.bullets { + margin: 1.7rem 0; + margin-left: -0.85rem; + margin-right: -0.85rem; + overflow: auto; } + +.bullet { + float: left; + padding: 0 0.85rem; } + +.two-column-bullet { + width: 50%; } + @media only all and (max-width: 47.938em) { + .two-column-bullet { + width: 100%; } } + +.three-column-bullet { + width: 33.33333%; } + @media only all and (max-width: 47.938em) { + .three-column-bullet { + width: 100%; } } + +.four-column-bullet { + width: 25%; } + @media only all and (max-width: 47.938em) { + .four-column-bullet { + width: 100%; } } + +.bullet-icon { + float: left; + background: #1694CA; + padding: 0.875rem; + width: 3.5rem; + height: 3.5rem; + border-radius: 50%; + color: #fff; + font-size: 1.75rem; + text-align: center; } + +.bullet-icon-1 { + background: #1694CA; } + +.bullet-icon-2 { + background: #16cac4; } + +.bullet-icon-3 { + background: #b2ca16; } + +.bullet-content { + margin-left: 4.55rem; } + +.tooltipped { + position: relative; } + +.tooltipped:after { + position: absolute; + z-index: 1000000; + display: none; + padding: 5px 8px; + font: normal normal 11px/1.5 "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + color: #fff; + text-align: center; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-wrap: break-word; + white-space: pre; + pointer-events: none; + content: attr(aria-label); + background: rgba(0, 0, 0, 0.8); + border-radius: 3px; + -webkit-font-smoothing: subpixel-antialiased; } + +.tooltipped:before { + position: absolute; + z-index: 1000001; + display: none; + width: 0; + height: 0; + color: rgba(0, 0, 0, 0.8); + pointer-events: none; + content: ""; + border: 5px solid transparent; } + +.tooltipped:hover:before, .tooltipped:hover:after, +.tooltipped:active:before, +.tooltipped:active:after, +.tooltipped:focus:before, +.tooltipped:focus:after { + display: inline-block; + text-decoration: none; } + +.tooltipped-s:after, +.tooltipped-se:after, +.tooltipped-sw:after { + top: 100%; + right: 50%; + margin-top: 5px; } + +.tooltipped-s:before, +.tooltipped-se:before, +.tooltipped-sw:before { + top: auto; + right: 50%; + bottom: -5px; + margin-right: -5px; + border-bottom-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-se:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-sw:after { + margin-right: -15px; } + +.tooltipped-n:after, +.tooltipped-ne:after, +.tooltipped-nw:after { + right: 50%; + bottom: 100%; + margin-bottom: 5px; } + +.tooltipped-n:before, +.tooltipped-ne:before, +.tooltipped-nw:before { + top: -5px; + right: 50%; + bottom: auto; + margin-right: -5px; + border-top-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-ne:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-nw:after { + margin-right: -15px; } + +.tooltipped-s:after, +.tooltipped-n:after { + transform: translateX(50%); } + +.tooltipped-w:after { + right: 100%; + bottom: 50%; + margin-right: 5px; + transform: translateY(50%); } + +.tooltipped-w:before { + top: 50%; + bottom: 50%; + left: -5px; + margin-top: -5px; + border-left-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-e:after { + bottom: 50%; + left: 100%; + margin-left: 5px; + transform: translateY(50%); } + +.tooltipped-e:before { + top: 50%; + right: -5px; + bottom: 50%; + margin-top: -5px; + border-right-color: rgba(0, 0, 0, 0.8); } + +/*************** SCROLLBAR BASE CSS ***************/ +.highlightable { + padding: 25px 0 15px; } + +.scroll-wrapper { + overflow: hidden !important; + padding: 0 !important; + position: relative; } + +.scroll-wrapper > .scroll-content { + border: none !important; + box-sizing: content-box !important; + height: auto; + left: 0; + margin: 0; + max-height: none; + max-width: none !important; + overflow: scroll !important; + padding: 0; + position: relative !important; + top: 0; + width: auto !important; } + +.scroll-wrapper > .scroll-content::-webkit-scrollbar { + height: 0; + width: 0; } + +.scroll-element { + display: none; } + +.scroll-element, .scroll-element div { + box-sizing: content-box; } + +.scroll-element.scroll-x.scroll-scrollx_visible, +.scroll-element.scroll-y.scroll-scrolly_visible { + display: block; } + +.scroll-element .scroll-bar, +.scroll-element .scroll-arrow { + cursor: default; } + +.scroll-textarea > .scroll-content { + overflow: hidden !important; } + +.scroll-textarea > .scroll-content > textarea { + border: none !important; + box-sizing: border-box; + height: 100% !important; + margin: 0; + max-height: none !important; + max-width: none !important; + overflow: scroll !important; + outline: none; + padding: 2px; + position: relative !important; + top: 0; + width: 100% !important; } + +.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar { + height: 0; + width: 0; } + +/*************** SIMPLE INNER SCROLLBAR ***************/ +.scrollbar-inner > .scroll-element, +.scrollbar-inner > .scroll-element div { + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; } + +.scrollbar-inner > .scroll-element div { + display: block; + height: 100%; + left: 0; + top: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-x { + bottom: 2px; + height: 8px; + left: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-y { + height: 100%; + right: 2px; + top: 0; + width: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_outer { + overflow: hidden; } + +.scrollbar-inner > .scroll-element .scroll-element_outer, +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; + filter: alpha(opacity=30); + opacity: 0.3; } + +/* update scrollbar offset if both scrolls are visible */ +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { + top: -12px; } + +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size { + top: -12px; } + +.lightbox-active #body { + overflow: visible; } + .lightbox-active #body .padding { + overflow: visible; } + +#github-contrib i { + vertical-align: middle; } + +.featherlight img { + margin: 0 !important; } + +.lifecycle #body-inner ul { + list-style: none; + margin: 0; + padding: 2rem 0 0; + position: relative; } + +.lifecycle #body-inner ol { + margin: 1rem 0 1rem 0; + padding: 2rem; + position: relative; } + .lifecycle #body-inner ol li { + margin-left: 1rem; } + .lifecycle #body-inner ol strong, .lifecycle #body-inner ol label, .lifecycle #body-inner ol th { + text-decoration: underline; } + .lifecycle #body-inner ol ol { + margin-left: -1rem; } + +.lifecycle #body-inner h3[class*='level'] { + font-size: 20px; + position: absolute; + margin: 0; + padding: 4px 10px; + right: 0; + z-index: 1000; + color: #fff; + background: #1ABC9C; } + +.lifecycle #body-inner ol h3 { + margin-top: 1rem !important; + right: 2rem !important; } + +.lifecycle #body-inner .level-1 + ol { + background: #f6fefc; + border: 4px solid #1ABC9C; + color: #16A085; } + .lifecycle #body-inner .level-1 + ol h3 { + background: #2ECC71; } + +.lifecycle #body-inner .level-2 + ol { + background: #f7fdf9; + border: 4px solid #2ECC71; + color: #27AE60; } + .lifecycle #body-inner .level-2 + ol h3 { + background: #3498DB; } + +.lifecycle #body-inner .level-3 + ol { + background: #f3f9fd; + border: 4px solid #3498DB; + color: #2980B9; } + .lifecycle #body-inner .level-3 + ol h3 { + background: #34495E; } + +.lifecycle #body-inner .level-4 + ol { + background: #e4eaf0; + border: 4px solid #34495E; + color: #2C3E50; } + .lifecycle #body-inner .level-4 + ol h3 { + background: #34495E; } + +#top-bar { + background: #e8e8e6; + border-radius: 2px; + margin: 0rem -1rem 2rem; + padding: 0 1rem; + height: 0; + min-height: 3rem; } + +#top-github-link { + position: relative; + z-index: 1; + float: right; + display: block; } + #top-github-link a { + color: #0d0d0d; } + #top-github-link a:hover { + color: black; } + +#body #breadcrumbs { + height: auto; + display: block; + margin-bottom: 0; + padding-left: 0; + line-height: 1.4; + color: black; } + #body #breadcrumbs span { + padding: 0 0.1rem; } + +@media only all and (max-width: 59.938em) { + #sidebar { + width: 230px; } + #body { + margin-left: 230px; } } + +@media only all and (max-width: 47.938em) { + #sidebar { + width: 230px; + left: -230px; } + #body { + margin-left: 0; + width: 100%; } + .sidebar-hidden { + overflow: hidden; } + .sidebar-hidden #sidebar { + left: 0; } + .sidebar-hidden #body { + margin-left: 230px; + overflow: hidden; } + .sidebar-hidden #overlay { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + z-index: 10; + background: rgba(255, 255, 255, 0.5); + cursor: pointer; } } + +.copy-to-clipboard { + background-image: url(../images/clippy.svg); + background-position: 50% 50%; + background-size: 16px 16px; + background-repeat: no-repeat; + width: 27px; + height: 1.45rem; + top: -1px; + display: inline-block; + vertical-align: middle; + position: relative; + color: black; + background-color: #f9f2f4; + margin-left: -.2rem; + cursor: pointer; + border-radius: 0 2px 2px 0; } + .copy-to-clipboard:hover { + background-color: #f1e1e5; } + pre .copy-to-clipboard { + position: absolute; + right: 4px; + top: 4px; + background-color: #eee; + border-color: #ddd; + border-radius: 2px; } + pre .copy-to-clipboard:hover { + background-color: #d9d9d9; } + +.parent-element { + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + transform-style: preserve-3d; } + +/*# sourceMappingURL=metal.css.map */ \ No newline at end of file diff --git a/themes/learn2-git-sync/css/styles/metal.css.map b/themes/learn2-git-sync/css/styles/metal.css.map new file mode 100644 index 0000000..e655557 --- /dev/null +++ b/themes/learn2-git-sync/css/styles/metal.css.map @@ -0,0 +1,111 @@ +{ + "version": 3, + "file": "metal.css", + "sources": [ + "../../scss/styles/metal.scss", + "../../scss/_prefix.scss", + "../../scss/vendor/bourbon/_bourbon.scss", + "../../scss/vendor/bourbon/settings/_prefixer.scss", + "../../scss/vendor/bourbon/settings/_px-to-em.scss", + "../../scss/vendor/bourbon/helpers/_convert-units.scss", + "../../scss/vendor/bourbon/helpers/_gradient-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_is-num.scss", + "../../scss/vendor/bourbon/helpers/_linear-angle-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-gradient-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-arg-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-gradient-parser.scss", + "../../scss/vendor/bourbon/helpers/_render-gradients.scss", + "../../scss/vendor/bourbon/helpers/_shape-size-stripper.scss", + "../../scss/vendor/bourbon/helpers/_str-to-num.scss", + "../../scss/vendor/bourbon/functions/_assign.scss", + "../../scss/vendor/bourbon/functions/_color-lightness.scss", + "../../scss/vendor/bourbon/functions/_flex-grid.scss", + "../../scss/vendor/bourbon/functions/_golden-ratio.scss", + "../../scss/vendor/bourbon/functions/_grid-width.scss", + "../../scss/vendor/bourbon/functions/_modular-scale.scss", + "../../scss/vendor/bourbon/functions/_px-to-em.scss", + "../../scss/vendor/bourbon/functions/_px-to-rem.scss", + "../../scss/vendor/bourbon/functions/_strip-units.scss", + "../../scss/vendor/bourbon/functions/_tint-shade.scss", + "../../scss/vendor/bourbon/functions/_transition-property-name.scss", + "../../scss/vendor/bourbon/functions/_unpack.scss", + "../../scss/vendor/bourbon/css3/_animation.scss", + "../../scss/vendor/bourbon/css3/_appearance.scss", + "../../scss/vendor/bourbon/css3/_backface-visibility.scss", + "../../scss/vendor/bourbon/css3/_background.scss", + "../../scss/vendor/bourbon/css3/_background-image.scss", + "../../scss/vendor/bourbon/css3/_border-image.scss", + "../../scss/vendor/bourbon/css3/_border-radius.scss", + "../../scss/vendor/bourbon/css3/_box-sizing.scss", + "../../scss/vendor/bourbon/css3/_calc.scss", + "../../scss/vendor/bourbon/css3/_columns.scss", + "../../scss/vendor/bourbon/css3/_filter.scss", + "../../scss/vendor/bourbon/css3/_flex-box.scss", + "../../scss/vendor/bourbon/css3/_font-face.scss", + "../../scss/vendor/bourbon/css3/_hyphens.scss", + "../../scss/vendor/bourbon/css3/_hidpi-media-query.scss", + "../../scss/vendor/bourbon/css3/_image-rendering.scss", + "../../scss/vendor/bourbon/css3/_keyframes.scss", + "../../scss/vendor/bourbon/css3/_linear-gradient.scss", + "../../scss/vendor/bourbon/css3/_perspective.scss", + "../../scss/vendor/bourbon/css3/_radial-gradient.scss", + "../../scss/vendor/bourbon/css3/_transform.scss", + "../../scss/vendor/bourbon/css3/_transition.scss", + "../../scss/vendor/bourbon/css3/_user-select.scss", + "../../scss/vendor/bourbon/css3/_placeholder.scss", + "../../scss/vendor/bourbon/addons/_button.scss", + "../../scss/vendor/bourbon/addons/_clearfix.scss", + "../../scss/vendor/bourbon/addons/_directional-values.scss", + "../../scss/vendor/bourbon/addons/_ellipsis.scss", + "../../scss/vendor/bourbon/addons/_font-family.scss", + "../../scss/vendor/bourbon/addons/_hide-text.scss", + "../../scss/vendor/bourbon/addons/_html5-input-types.scss", + "../../scss/vendor/bourbon/addons/_position.scss", + "../../scss/vendor/bourbon/addons/_prefixer.scss", + "../../scss/vendor/bourbon/addons/_retina-image.scss", + "../../scss/vendor/bourbon/addons/_size.scss", + "../../scss/vendor/bourbon/addons/_timing-functions.scss", + "../../scss/vendor/bourbon/addons/_triangle.scss", + "../../scss/vendor/bourbon/addons/_word-wrap.scss", + "../../scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss", + "../../scss/configuration/nucleus/_base.scss", + "../../scss/configuration/nucleus/_core.scss", + "../../scss/configuration/nucleus/_breakpoints.scss", + "../../scss/configuration/nucleus/_layout.scss", + "../../scss/configuration/nucleus/_typography.scss", + "../../scss/configuration/nucleus/_nav.scss", + "../../scss/configuration/theme/_base.scss", + "../../scss/configuration/theme/_colors.scss", + "../../scss/configuration/theme/_bullets.scss", + "../../scss/nucleus/functions/_base.scss", + "../../scss/nucleus/functions/_direction.scss", + "../../scss/nucleus/functions/_range.scss", + "../../scss/nucleus/mixins/_base.scss", + "../../scss/nucleus/mixins/_breakpoints.scss", + "../../scss/nucleus/mixins/_utilities.scss", + "../../scss/theme/modules/_base.scss", + "../../scss/theme/modules/_buttons.scss", + "../../scss/_hover-color.scss", + "../../scss/_contrast.scss", + "../../scss/_affix.scss", + "../../scss/theme/_core.scss", + "../../scss/theme/_fonts.scss", + "../../scss/theme/_forms.scss", + "../../scss/theme/_header.scss", + "../../scss/theme/_nav.scss", + "../../scss/theme/_main.scss", + "../../scss/_standard_colors.scss", + "../../scss/theme/_typography.scss", + "../../scss/theme/_tables.scss", + "../../scss/theme/_buttons.scss", + "../../scss/theme/_bullets.scss", + "../../scss/theme/_tooltips.scss", + "../../scss/theme/_scrollbar.scss", + "../../scss/theme/_custom.scss" + ], + "names": [], + "mappings": "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" +} \ No newline at end of file diff --git a/themes/learn2-git-sync/css/styles/navy_sunrise.css b/themes/learn2-git-sync/css/styles/navy_sunrise.css new file mode 100644 index 0000000..389fd7d --- /dev/null +++ b/themes/learn2-git-sync/css/styles/navy_sunrise.css @@ -0,0 +1,1189 @@ +@charset "UTF-8"; +@import url(//fonts.googleapis.com/css?family=Montserrat:400|Muli:300,400|Inconsolata); +#top-github-link, #body #breadcrumbs { + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); } + +.button, .button-secondary { + display: inline-block; + padding: 7px 12px; } + .button:active, .button-secondary:active { + margin: 2px 0 -2px 0; } + +/* + The Ultimate Hover Color Function + @author Gray Gilmore - http://code.graygilmore.com + + The goal of this Sass function is provide a hover color that works + with any color on any background. No longer do we need to bundle + hover color options with our themes, let Sassy McSasserson take care + of that for you. + + The hover color, seen in this demo as "After" text, must be visible in + all situations and, hopefully, pass the WCAG 2.0 contrast ratio [1] + formula (4.5:1). + + [1] http://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast + + contrast-ratio() help from @davidkaneda + + + ## Usage ## + + a { + color: $link-color; + + &:hover { + color: hover($background-color, $link-color); + } + } + + button { + background: $button-background; + color: $button-color; + + &:hover { + background: hover($background-color, $button-background); + } + } + + ## End Usage ## + +*/ +/** + * Calculate the luminance for a color. + * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + */ +/** + * Calculate the contrast ratio between two colors. + * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + */ +/** + * Determine whether to use dark or light text on top of given color. + * Returns black for dark text and white for light text. + */ +/* + WCAG color contrast formula + https://www.w3.org/TR/2016/NOTE-WCAG20-TECHS-20161007/G18#G18-procedure + + @see https://codepen.io/giana/project/full/ZWbGzD + + This pen uses the non-standard Sass pow() function + https://css-tricks.com/snippets/sass/power-function/ + Using it outside of CodePen requires you provide your own pow() function with support for decimals + + To generate random colors, we're also using a two-variable random() function includded with compass. +*/ +.ratio::after { + content: "21"; } + +.balance::after { + content: "49"; } + +.color-block .color1 { + background: #058569; + color: #fff; } + .color-block .color1::after { + content: "#058569"; } + +.color-block .color2 { + background: #6b99a0; + color: #fff; } + .color-block .color2::after { + content: "#6b99a0"; } + +.fix-color .color:nth-child(2) { + background: #000; + color: #fff; } + .fix-color .color:nth-child(2)::after { + content: "#000"; } + +.fix-color .color:nth-child(3) { + background: #fff; + color: #000; } + .fix-color .color:nth-child(3)::after { + content: "#fff"; } + +.fix-contrast .color:nth-child(2) { + background: #000; + color: #fff; } + .fix-contrast .color:nth-child(2)::after { + content: "#000"; } + +.fix-contrast .color:nth-child(3) { + background: #fff; + color: #000; } + .fix-contrast .color:nth-child(3)::after { + content: "#fff"; } + +.best-contrast .color:nth-child(2) { + background: #89e1c7; + color: #000; } + .best-contrast .color:nth-child(2)::after { + content: "#89e1c7"; } + +.best-contrast .color:nth-child(3) { + background: #e1ffff; + color: #000; } + .best-contrast .color:nth-child(3)::after { + content: "#e1ffff"; } + +.scale-luminance .color:nth-child(2) { + background: #08a585; + color: #fff; } + .scale-luminance .color:nth-child(2)::after { + content: "#08a585"; } + +.check-contrast .result::after { + content: "false"; } + +.luminance .result::after { + content: "0.17824, 0.28507"; } + +body #sidebar ul li.active > a { + color: #333333 !important; } + +body { + background: #F4F4F4; + color: #333333; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +a { + color: black; } + a:link, a:visited { + color: black; } + a:hover, a:active { + color: black; } + +#body-inner a { + text-decoration: underline; + text-decoration-style: dotted; } + #body-inner a:hover { + text-decoration-style: solid; } + +pre { + position: relative; } + +.bg { + background: #fff; + border: 1px solid #eaeaea; } + +b, +strong, +label, +th { + font-weight: 600; } + +.default-animation, #header #logo-svg, #header #logo-svg path, #sidebar, #sidebar ul, #body, #body .padding, #body .nav { + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; } + +fieldset { + border: 1px solid #ddd; } + +textarea, input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], select[multiple=multiple] { + background-color: white; + border: 1px solid #ddd; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); } + textarea:hover, input[type="email"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="url"]:hover, input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="month"]:hover, input[type="time"]:hover, input[type="week"]:hover, select[multiple=multiple]:hover { + border-color: #c4c4c4; } + textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus { + border-color: #1694CA; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(19, 131, 179, 0.7); } + +#header { + background: #EAC67A; + color: #fbf4e4; + text-align: center; + padding: 1rem; } + #header a { + display: inline-block; } + #header #logo-svg { + width: 8rem; + height: 2rem; } + #header #logo-svg path { + fill: #fff; } + +.searchbox { + margin-top: 0.5rem; + position: relative; + border: 1px solid #e7bd64; + background: #edcf90; + border-radius: 4px; } + .searchbox label { + color: rgba(255, 255, 255, 0.8); + position: absolute; + left: 10px; + top: 3px; } + .searchbox span { + color: rgba(255, 255, 255, 0.6); + position: absolute; + right: 10px; + top: 3px; + cursor: pointer; } + .searchbox span:hover { + color: rgba(255, 255, 255, 0.9); } + .searchbox input { + display: inline-block; + color: #fbf5e9; + width: 100%; + height: 30px; + background: transparent; + border: 0; + padding: 0 25px 0 30px; + margin: 0; + font-weight: 400; } + .searchbox input::-webkit-input-placeholder { + color: #faf2e0; } + .searchbox input::-moz-placeholder { + color: #faf2e0; } + .searchbox input:-moz-placeholder { + color: #faf2e0; } + .searchbox input:-ms-input-placeholder { + color: #faf2e0; } + +#sidebar-toggle { + display: none; } + @media only all and (max-width: 47.938em) { + #sidebar-toggle { + display: inline-block; } } + +#sidebar { + background-color: #984B43; + position: fixed; + top: 0; + width: 300px; + bottom: 0; + left: 0; + font-weight: 500; + font-size: 15px; + border-right: 1px solid #b1574e; } + #sidebar a, + #sidebar i { + color: white; } + #sidebar a:hover, + #sidebar i:hover { + color: #f3ebe9; } + #sidebar a.subtitle, + #sidebar i.subtitle { + color: rgba(255, 255, 255, 0.6); } + #sidebar hr { + border-bottom: 1px solid #8d463e; } + #sidebar a.padding { + padding: 0 1rem; } + #sidebar h5 { + margin: 2rem 0 0; + position: relative; + line-height: 2; } + #sidebar h5 a { + display: block; + margin-left: 0; + margin-right: 0; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar h5 i { + color: rgba(255, 255, 255, 0.6); + position: absolute; + right: 0.6rem; + top: 0.7rem; + font-size: 80%; } + #sidebar h5.parent a { + background: #7f3f38; + color: white !important; } + #sidebar h5.active a { + background: #fff; + color: #333333 !important; } + #sidebar h5.active i { + color: #333333 !important; } + #sidebar h5 + ul.topics { + display: none; + margin-top: 0; } + #sidebar h5.parent + ul.topics, + #sidebar h5.active + ul.topics { + display: block; } + #sidebar ul { + list-style: none; + padding: 0; + margin: 0; } + #sidebar ul.searched a { + color: white; } + #sidebar ul.searched .search-match a { + color: white; } + #sidebar ul.searched .search-match a:hover { + color: white; } + #sidebar ul.topics { + margin: 0 1rem; } + #sidebar ul.topics.searched ul { + display: block; } + #sidebar ul.topics ul { + display: none; + padding-bottom: 1rem; } + #sidebar ul.topics ul ul { + padding-bottom: 0; } + #sidebar ul.topics li.parent ul, + #sidebar ul.topics > li.active ul { + display: block; } + #sidebar ul.topics > li > a { + line-height: 2rem; + font-size: 1.1rem; } + #sidebar ul.topics > li > a b { + color: white; + font-weight: normal; } + #sidebar ul.topics > li > a .fa { + margin-top: 9px; } + #sidebar ul.topics > li.parent, #sidebar ul.topics > li.active { + background: #86423b; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul.topics > li.parent > a b, #sidebar ul.topics > li.active > a b { + color: white; } + #sidebar ul li.active > a { + background: #fff; + color: #333333 !important; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul li.active > a b { + color: #333333 !important; } + #sidebar ul li { + padding: 0; } + #sidebar ul li.visited + span { + margin-right: 16px; } + #sidebar ul li a { + display: block; + padding: 2px 0; } + #sidebar ul li a span { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + display: block; } + #sidebar ul li > a { + padding: 4px 0; } + #sidebar ul li .fa { + display: none; + float: right; + font-size: 13px; + min-width: 16px; + margin: 4px 0 0 0; + text-align: right; } + #sidebar ul li.visited > a .read-icon { + display: inline; + color: white; } + #sidebar ul li.visited > a .read-icon:hover { + color: #f3ebe9; } + #sidebar ul li.active > a .read-icon, #sidebar ul li.active.visited > a .read-icon { + display: inline; + color: #333333; } + #sidebar ul li.active > a .read-icon:hover, #sidebar ul li.active.visited > a .read-icon:hover { + color: black; } + #sidebar ul li li { + padding-left: 1rem; + text-indent: 0.2rem; } + +#body #navigation .nav .fa { + color: #1c0e0c; } + #body #navigation .nav .fa:active, #body #navigation .nav .fa:focus, #body #navigation .nav .fa:hover, #body #navigation .nav .fa:visited { + color: #512824; } + +#main { + background: #f7f7f7; + margin: 0 0 1.563rem 0; } + +#body { + position: relative; + margin-left: 300px; + min-height: 100%; } + #body img, + #body .video-container { + margin: 3rem auto; + display: block; + text-align: center; } + #body img.border, + #body .video-container.border { + border: 2px solid #e6e6e6 !important; + padding: 2px; } + #body img.shadow, + #body .video-container.shadow { + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); } + #body .bordered { + border: 1px solid #ccc; } + #body .padding { + padding: 3rem 6rem; } + @media only all and (max-width: 59.938em) { + #body .padding { + position: static; + padding: 15px 3rem; } } + @media only all and (max-width: 47.938em) { + #body .padding { + padding: 5px 1rem; } } + #body h1 + hr { + margin-top: -1.7rem; + margin-bottom: 3rem; } + @media only all and (max-width: 59.938em) { + #body #navigation { + position: static; + margin-right: 0 !important; + width: 100%; + display: table; } } + #body .nav { + position: fixed; + top: 0; + bottom: 0; + width: 4rem; + font-size: 0; + height: 100%; + cursor: pointer; + display: table; + text-align: center; } + #body .nav > i { + display: table-cell; + vertical-align: middle; + text-align: center; } + @media only all and (max-width: 59.938em) { + #body .nav { + display: table-cell; + position: static; + top: auto; + width: 50%; + text-align: center; + height: 100px; + line-height: 100px; + padding-top: 0; } + #body .nav > i { + display: inline-block; } } + #body .nav i { + font-size: 50px; } + #body .nav:hover { + background: #dbdbdb; } + #body .nav.nav-pref { + left: 0; } + #body .nav.nav-next { + right: 0; } + +#body-inner { + margin-bottom: 5rem; } + +#chapter { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 2rem 0; } + #chapter #body-inner { + padding-bottom: 3rem; + max-width: 80%; } + #chapter h3 { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-align: center; } + #chapter h1 { + font-size: 5rem; + border-bottom: 4px solid #F0F2F4; } + #chapter p { + text-align: center; + font-size: 1.2rem; } + +#footer { + padding: 3rem 1rem; + color: #e6e6e6; + font-size: 13px; } + #footer p { + margin: 0; } + +body { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + letter-spacing: -0.03rem; + font-weight: 400; + font-size: 1.05rem; + line-height: 1.7; } + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Montserrat", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-rendering: optimizeLegibility; + line-height: 150%; + letter-spacing: -0px; + overflow-wrap: break-word; + overflow: visible; + word-break: break-word; + white-space: normal; + margin: 0.425rem 0 0.85rem 0; } + +h1 { + text-align: center; + letter-spacing: -3px; + font-size: 2.55rem; } + +h2 { + letter-spacing: -2px; + font-size: 2.15rem; } + +h3 { + letter-spacing: -1px; + font-size: 1.8rem; } + +h4 { + font-size: 1.4rem; } + +h5 { + font-size: 0.9rem; } + +h6 { + font-size: 0.7rem; } + +p { + margin: 1.7rem 0; } + +ul, +ol { + margin-top: 1.7rem; + margin-bottom: 1.7rem; } + ul ul, + ul ol, + ol ul, + ol ol { + margin-top: 0; + margin-bottom: 0; } + +blockquote { + border-left: 10px solid #F0F2F4; + margin: 1.7rem 0; + padding-left: 0.85rem; } + blockquote p { + font-size: 1.1rem; + color: #666666; } + blockquote cite { + display: block; + text-align: right; + color: #333333; + font-size: 0.925rem; } + blockquote cite:before { + content: "\2014 \0020"; } + +pre { + margin: 1.7rem 0; + padding: 0.938rem; } + +code { + vertical-align: bottom; } + +small { + font-size: 0.925rem; } + +hr { + border-left: none; + border-right: none; + border-top: none; + margin: 1.7rem 0; } + +blockquote { + position: relative; } + +blockquote blockquote { + position: static; } + +blockquote > blockquote > blockquote { + margin: 0; } + blockquote > blockquote > blockquote p { + padding: 15px; + display: block; + font-size: 1rem; + margin-top: 0rem; + margin-bottom: 0rem; + color: #666; } + blockquote > blockquote > blockquote p:first-child:before { + position: absolute; + top: 2px; + color: #fff; + font-family: FontAwesome; + content: ''; + left: 10px; } + blockquote > blockquote > blockquote p:first-child:after { + position: absolute; + top: 2px; + color: #fff; + left: 2rem; + font-weight: bold; + content: 'Info'; } + blockquote > blockquote > blockquote > p { + margin-left: -71px; + border-top: 30px solid #F0B37E; + background: #FFF2DB; } + blockquote > blockquote > blockquote > blockquote > p { + margin-left: -94px; + border-top: 30px solid rgba(217, 83, 79, 0.8); + background: #FAE2E2; } + blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Warning'; } + blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -118px; + border-top: 30px solid #6AB0DE; + background: #E7F2FA; } + blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Note'; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -142px; + border-top: 30px solid rgba(92, 184, 92, 0.8); + background: #E6F9E6; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Tip'; } + +code, +kbd, +pre, +samp { + font-family: "Inconsolata", monospace; } + +code { + background: #f9f2f4; + color: #9c1d3d; + padding: .2rem .4rem; + border-radius: 3px; } + +pre { + padding: 1rem; + margin: 2rem 0; + background: #f6f6f6; + border: 1px solid #ddd; + border-radius: 2px; + line-height: 1.15; + font-size: 1rem; } + pre code { + color: #237794; + background: inherit; + font-size: 1rem; } + +hr { + border-bottom: 4px solid #F0F2F4; } + +.page-title { + margin-top: -25px; + padding: 25px; + float: left; + clear: both; + background: #233237; + color: #fff; } + +#body a.anchor-link { + color: #ccc; } + +#body a.anchor-link:hover { + color: #233237; } + +.scrollbar-inner > .scroll-element .scroll-element_track { + background-color: rgba(255, 255, 255, 0.3); } + +.scrollbar-inner > .scroll-element .scroll-bar { + background-color: #b5d1eb; } + +.scrollbar-inner > .scroll-element:hover .scroll-bar { + background-color: #ccc; } + +.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar { + background-color: #ccc; } + +table { + border: 1px solid #eaeaea; + table-layout: auto; } + +th { + background: #f7f7f7; + padding: 0.5rem; } + +td { + padding: 0.5rem; + border: 1px solid #eaeaea; } + +.button { + background: #233237 !important; + color: white !important; + box-shadow: 0 3px 0 #172124 !important; } + .button:hover { + background: #172124 !important; + box-shadow: 0 3px 0 #0b1012 !important; + color: white !important; } + .button:active { + box-shadow: 0 1px 0 #0b1012 !important; } + .button i { + color: white !important; } + +.button-secondary { + background: #050808 !important; + color: white !important; + box-shadow: 0 3px 0 black !important; } + .button-secondary:hover { + background: black !important; + box-shadow: 0 3px 0 black !important; + color: white !important; } + .button-secondary:active { + box-shadow: 0 1px 0 black !important; } + .button-secondary i { + color: white !important; } + +.bullets { + margin: 1.7rem 0; + margin-left: -0.85rem; + margin-right: -0.85rem; + overflow: auto; } + +.bullet { + float: left; + padding: 0 0.85rem; } + +.two-column-bullet { + width: 50%; } + @media only all and (max-width: 47.938em) { + .two-column-bullet { + width: 100%; } } + +.three-column-bullet { + width: 33.33333%; } + @media only all and (max-width: 47.938em) { + .three-column-bullet { + width: 100%; } } + +.four-column-bullet { + width: 25%; } + @media only all and (max-width: 47.938em) { + .four-column-bullet { + width: 100%; } } + +.bullet-icon { + float: left; + background: #1694CA; + padding: 0.875rem; + width: 3.5rem; + height: 3.5rem; + border-radius: 50%; + color: #fff; + font-size: 1.75rem; + text-align: center; } + +.bullet-icon-1 { + background: #1694CA; } + +.bullet-icon-2 { + background: #16cac4; } + +.bullet-icon-3 { + background: #b2ca16; } + +.bullet-content { + margin-left: 4.55rem; } + +.tooltipped { + position: relative; } + +.tooltipped:after { + position: absolute; + z-index: 1000000; + display: none; + padding: 5px 8px; + font: normal normal 11px/1.5 "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + color: #fff; + text-align: center; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-wrap: break-word; + white-space: pre; + pointer-events: none; + content: attr(aria-label); + background: rgba(0, 0, 0, 0.8); + border-radius: 3px; + -webkit-font-smoothing: subpixel-antialiased; } + +.tooltipped:before { + position: absolute; + z-index: 1000001; + display: none; + width: 0; + height: 0; + color: rgba(0, 0, 0, 0.8); + pointer-events: none; + content: ""; + border: 5px solid transparent; } + +.tooltipped:hover:before, .tooltipped:hover:after, +.tooltipped:active:before, +.tooltipped:active:after, +.tooltipped:focus:before, +.tooltipped:focus:after { + display: inline-block; + text-decoration: none; } + +.tooltipped-s:after, +.tooltipped-se:after, +.tooltipped-sw:after { + top: 100%; + right: 50%; + margin-top: 5px; } + +.tooltipped-s:before, +.tooltipped-se:before, +.tooltipped-sw:before { + top: auto; + right: 50%; + bottom: -5px; + margin-right: -5px; + border-bottom-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-se:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-sw:after { + margin-right: -15px; } + +.tooltipped-n:after, +.tooltipped-ne:after, +.tooltipped-nw:after { + right: 50%; + bottom: 100%; + margin-bottom: 5px; } + +.tooltipped-n:before, +.tooltipped-ne:before, +.tooltipped-nw:before { + top: -5px; + right: 50%; + bottom: auto; + margin-right: -5px; + border-top-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-ne:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-nw:after { + margin-right: -15px; } + +.tooltipped-s:after, +.tooltipped-n:after { + transform: translateX(50%); } + +.tooltipped-w:after { + right: 100%; + bottom: 50%; + margin-right: 5px; + transform: translateY(50%); } + +.tooltipped-w:before { + top: 50%; + bottom: 50%; + left: -5px; + margin-top: -5px; + border-left-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-e:after { + bottom: 50%; + left: 100%; + margin-left: 5px; + transform: translateY(50%); } + +.tooltipped-e:before { + top: 50%; + right: -5px; + bottom: 50%; + margin-top: -5px; + border-right-color: rgba(0, 0, 0, 0.8); } + +/*************** SCROLLBAR BASE CSS ***************/ +.highlightable { + padding: 25px 0 15px; } + +.scroll-wrapper { + overflow: hidden !important; + padding: 0 !important; + position: relative; } + +.scroll-wrapper > .scroll-content { + border: none !important; + box-sizing: content-box !important; + height: auto; + left: 0; + margin: 0; + max-height: none; + max-width: none !important; + overflow: scroll !important; + padding: 0; + position: relative !important; + top: 0; + width: auto !important; } + +.scroll-wrapper > .scroll-content::-webkit-scrollbar { + height: 0; + width: 0; } + +.scroll-element { + display: none; } + +.scroll-element, .scroll-element div { + box-sizing: content-box; } + +.scroll-element.scroll-x.scroll-scrollx_visible, +.scroll-element.scroll-y.scroll-scrolly_visible { + display: block; } + +.scroll-element .scroll-bar, +.scroll-element .scroll-arrow { + cursor: default; } + +.scroll-textarea > .scroll-content { + overflow: hidden !important; } + +.scroll-textarea > .scroll-content > textarea { + border: none !important; + box-sizing: border-box; + height: 100% !important; + margin: 0; + max-height: none !important; + max-width: none !important; + overflow: scroll !important; + outline: none; + padding: 2px; + position: relative !important; + top: 0; + width: 100% !important; } + +.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar { + height: 0; + width: 0; } + +/*************** SIMPLE INNER SCROLLBAR ***************/ +.scrollbar-inner > .scroll-element, +.scrollbar-inner > .scroll-element div { + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; } + +.scrollbar-inner > .scroll-element div { + display: block; + height: 100%; + left: 0; + top: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-x { + bottom: 2px; + height: 8px; + left: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-y { + height: 100%; + right: 2px; + top: 0; + width: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_outer { + overflow: hidden; } + +.scrollbar-inner > .scroll-element .scroll-element_outer, +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; + filter: alpha(opacity=30); + opacity: 0.3; } + +/* update scrollbar offset if both scrolls are visible */ +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { + top: -12px; } + +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size { + top: -12px; } + +.lightbox-active #body { + overflow: visible; } + .lightbox-active #body .padding { + overflow: visible; } + +#github-contrib i { + vertical-align: middle; } + +.featherlight img { + margin: 0 !important; } + +.lifecycle #body-inner ul { + list-style: none; + margin: 0; + padding: 2rem 0 0; + position: relative; } + +.lifecycle #body-inner ol { + margin: 1rem 0 1rem 0; + padding: 2rem; + position: relative; } + .lifecycle #body-inner ol li { + margin-left: 1rem; } + .lifecycle #body-inner ol strong, .lifecycle #body-inner ol label, .lifecycle #body-inner ol th { + text-decoration: underline; } + .lifecycle #body-inner ol ol { + margin-left: -1rem; } + +.lifecycle #body-inner h3[class*='level'] { + font-size: 20px; + position: absolute; + margin: 0; + padding: 4px 10px; + right: 0; + z-index: 1000; + color: #fff; + background: #1ABC9C; } + +.lifecycle #body-inner ol h3 { + margin-top: 1rem !important; + right: 2rem !important; } + +.lifecycle #body-inner .level-1 + ol { + background: #f6fefc; + border: 4px solid #1ABC9C; + color: #16A085; } + .lifecycle #body-inner .level-1 + ol h3 { + background: #2ECC71; } + +.lifecycle #body-inner .level-2 + ol { + background: #f7fdf9; + border: 4px solid #2ECC71; + color: #27AE60; } + .lifecycle #body-inner .level-2 + ol h3 { + background: #3498DB; } + +.lifecycle #body-inner .level-3 + ol { + background: #f3f9fd; + border: 4px solid #3498DB; + color: #2980B9; } + .lifecycle #body-inner .level-3 + ol h3 { + background: #34495E; } + +.lifecycle #body-inner .level-4 + ol { + background: #e4eaf0; + border: 4px solid #34495E; + color: #2C3E50; } + .lifecycle #body-inner .level-4 + ol h3 { + background: #34495E; } + +#top-bar { + background: #F4F4F4; + border-radius: 2px; + margin: 0rem -1rem 2rem; + padding: 0 1rem; + height: 0; + min-height: 3rem; + color: #333333; } + #top-bar a { + color: #1a1a1a; } + #top-bar a:hover { + color: #0d0d0d; } + +#top-github-link { + position: relative; + z-index: 1; + float: right; + display: block; } + +#body #breadcrumbs { + height: auto; + display: block; + margin-bottom: 0; + padding-left: 0; + line-height: 1.4; } + #body #breadcrumbs span { + padding: 0 0.1rem; } + +@media only all and (max-width: 59.938em) { + #sidebar { + width: 230px; } + #body { + margin-left: 230px; } } + +@media only all and (max-width: 47.938em) { + #sidebar { + width: 230px; + left: -230px; } + #body { + margin-left: 0; + width: 100%; } + .sidebar-hidden { + overflow: hidden; } + .sidebar-hidden #sidebar { + left: 0; } + .sidebar-hidden #body { + margin-left: 230px; + overflow: hidden; } + .sidebar-hidden #overlay { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + z-index: 10; + background: rgba(255, 255, 255, 0.5); + cursor: pointer; } } + +.copy-to-clipboard { + background-image: url(../images/clippy.svg); + background-position: 50% 50%; + background-size: 16px 16px; + background-repeat: no-repeat; + width: 27px; + height: 1.45rem; + top: -1px; + display: inline-block; + vertical-align: middle; + position: relative; + color: #1a1a1a; + background-color: #f9f2f4; + margin-left: -.2rem; + cursor: pointer; + border-radius: 0 2px 2px 0; } + .copy-to-clipboard:hover { + background-color: #f1e1e5; } + pre .copy-to-clipboard { + position: absolute; + right: 4px; + top: 4px; + background-color: #eee; + border-color: #ddd; + border-radius: 2px; } + pre .copy-to-clipboard:hover { + background-color: #d9d9d9; } + +.parent-element { + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + transform-style: preserve-3d; } + +/*# sourceMappingURL=navy_sunrise.css.map */ \ No newline at end of file diff --git a/themes/learn2-git-sync/css/styles/navy_sunrise.css.map b/themes/learn2-git-sync/css/styles/navy_sunrise.css.map new file mode 100644 index 0000000..7f1aa5b --- /dev/null +++ b/themes/learn2-git-sync/css/styles/navy_sunrise.css.map @@ -0,0 +1,111 @@ +{ + "version": 3, + "file": "navy_sunrise.css", + "sources": [ + "../../scss/styles/navy_sunrise.scss", + "../../scss/_prefix.scss", + "../../scss/vendor/bourbon/_bourbon.scss", + "../../scss/vendor/bourbon/settings/_prefixer.scss", + "../../scss/vendor/bourbon/settings/_px-to-em.scss", + "../../scss/vendor/bourbon/helpers/_convert-units.scss", + "../../scss/vendor/bourbon/helpers/_gradient-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_is-num.scss", + "../../scss/vendor/bourbon/helpers/_linear-angle-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-gradient-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-arg-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-gradient-parser.scss", + "../../scss/vendor/bourbon/helpers/_render-gradients.scss", + "../../scss/vendor/bourbon/helpers/_shape-size-stripper.scss", + "../../scss/vendor/bourbon/helpers/_str-to-num.scss", + "../../scss/vendor/bourbon/functions/_assign.scss", + "../../scss/vendor/bourbon/functions/_color-lightness.scss", + "../../scss/vendor/bourbon/functions/_flex-grid.scss", + "../../scss/vendor/bourbon/functions/_golden-ratio.scss", + "../../scss/vendor/bourbon/functions/_grid-width.scss", + "../../scss/vendor/bourbon/functions/_modular-scale.scss", + "../../scss/vendor/bourbon/functions/_px-to-em.scss", + "../../scss/vendor/bourbon/functions/_px-to-rem.scss", + "../../scss/vendor/bourbon/functions/_strip-units.scss", + "../../scss/vendor/bourbon/functions/_tint-shade.scss", + "../../scss/vendor/bourbon/functions/_transition-property-name.scss", + "../../scss/vendor/bourbon/functions/_unpack.scss", + "../../scss/vendor/bourbon/css3/_animation.scss", + "../../scss/vendor/bourbon/css3/_appearance.scss", + "../../scss/vendor/bourbon/css3/_backface-visibility.scss", + "../../scss/vendor/bourbon/css3/_background.scss", + "../../scss/vendor/bourbon/css3/_background-image.scss", + "../../scss/vendor/bourbon/css3/_border-image.scss", + "../../scss/vendor/bourbon/css3/_border-radius.scss", + "../../scss/vendor/bourbon/css3/_box-sizing.scss", + "../../scss/vendor/bourbon/css3/_calc.scss", + "../../scss/vendor/bourbon/css3/_columns.scss", + "../../scss/vendor/bourbon/css3/_filter.scss", + "../../scss/vendor/bourbon/css3/_flex-box.scss", + "../../scss/vendor/bourbon/css3/_font-face.scss", + "../../scss/vendor/bourbon/css3/_hyphens.scss", + "../../scss/vendor/bourbon/css3/_hidpi-media-query.scss", + "../../scss/vendor/bourbon/css3/_image-rendering.scss", + "../../scss/vendor/bourbon/css3/_keyframes.scss", + "../../scss/vendor/bourbon/css3/_linear-gradient.scss", + "../../scss/vendor/bourbon/css3/_perspective.scss", + "../../scss/vendor/bourbon/css3/_radial-gradient.scss", + "../../scss/vendor/bourbon/css3/_transform.scss", + "../../scss/vendor/bourbon/css3/_transition.scss", + "../../scss/vendor/bourbon/css3/_user-select.scss", + "../../scss/vendor/bourbon/css3/_placeholder.scss", + "../../scss/vendor/bourbon/addons/_button.scss", + "../../scss/vendor/bourbon/addons/_clearfix.scss", + "../../scss/vendor/bourbon/addons/_directional-values.scss", + "../../scss/vendor/bourbon/addons/_ellipsis.scss", + "../../scss/vendor/bourbon/addons/_font-family.scss", + "../../scss/vendor/bourbon/addons/_hide-text.scss", + "../../scss/vendor/bourbon/addons/_html5-input-types.scss", + "../../scss/vendor/bourbon/addons/_position.scss", + "../../scss/vendor/bourbon/addons/_prefixer.scss", + "../../scss/vendor/bourbon/addons/_retina-image.scss", + "../../scss/vendor/bourbon/addons/_size.scss", + "../../scss/vendor/bourbon/addons/_timing-functions.scss", + "../../scss/vendor/bourbon/addons/_triangle.scss", + "../../scss/vendor/bourbon/addons/_word-wrap.scss", + "../../scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss", + "../../scss/configuration/nucleus/_base.scss", + "../../scss/configuration/nucleus/_core.scss", + "../../scss/configuration/nucleus/_breakpoints.scss", + "../../scss/configuration/nucleus/_layout.scss", + "../../scss/configuration/nucleus/_typography.scss", + "../../scss/configuration/nucleus/_nav.scss", + "../../scss/configuration/theme/_base.scss", + "../../scss/configuration/theme/_colors.scss", + "../../scss/configuration/theme/_bullets.scss", + "../../scss/nucleus/functions/_base.scss", + "../../scss/nucleus/functions/_direction.scss", + "../../scss/nucleus/functions/_range.scss", + "../../scss/nucleus/mixins/_base.scss", + "../../scss/nucleus/mixins/_breakpoints.scss", + "../../scss/nucleus/mixins/_utilities.scss", + "../../scss/theme/modules/_base.scss", + "../../scss/theme/modules/_buttons.scss", + "../../scss/_hover-color.scss", + "../../scss/_contrast.scss", + "../../scss/_affix.scss", + "../../scss/theme/_core.scss", + "../../scss/theme/_fonts.scss", + "../../scss/theme/_forms.scss", + "../../scss/theme/_header.scss", + "../../scss/theme/_nav.scss", + "../../scss/theme/_main.scss", + "../../scss/_standard_colors.scss", + "../../scss/theme/_typography.scss", + "../../scss/theme/_tables.scss", + "../../scss/theme/_buttons.scss", + "../../scss/theme/_bullets.scss", + "../../scss/theme/_tooltips.scss", + "../../scss/theme/_scrollbar.scss", + "../../scss/theme/_custom.scss" + ], + "names": [], + "mappings": "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" +} \ No newline at end of file diff --git a/themes/learn2-git-sync/css/styles/spitsbergen.css b/themes/learn2-git-sync/css/styles/spitsbergen.css new file mode 100644 index 0000000..aa7ce10 --- /dev/null +++ b/themes/learn2-git-sync/css/styles/spitsbergen.css @@ -0,0 +1,1188 @@ +@charset "UTF-8"; +@import url(//fonts.googleapis.com/css?family=Montserrat:400|Muli:300,400|Inconsolata); +#top-github-link, #body #breadcrumbs { + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); } + +.button, .button-secondary { + display: inline-block; + padding: 7px 12px; } + .button:active, .button-secondary:active { + margin: 2px 0 -2px 0; } + +/* + The Ultimate Hover Color Function + @author Gray Gilmore - http://code.graygilmore.com + + The goal of this Sass function is provide a hover color that works + with any color on any background. No longer do we need to bundle + hover color options with our themes, let Sassy McSasserson take care + of that for you. + + The hover color, seen in this demo as "After" text, must be visible in + all situations and, hopefully, pass the WCAG 2.0 contrast ratio [1] + formula (4.5:1). + + [1] http://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast + + contrast-ratio() help from @davidkaneda + + + ## Usage ## + + a { + color: $link-color; + + &:hover { + color: hover($background-color, $link-color); + } + } + + button { + background: $button-background; + color: $button-color; + + &:hover { + background: hover($background-color, $button-background); + } + } + + ## End Usage ## + +*/ +/** + * Calculate the luminance for a color. + * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + */ +/** + * Calculate the contrast ratio between two colors. + * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + */ +/** + * Determine whether to use dark or light text on top of given color. + * Returns black for dark text and white for light text. + */ +/* + WCAG color contrast formula + https://www.w3.org/TR/2016/NOTE-WCAG20-TECHS-20161007/G18#G18-procedure + + @see https://codepen.io/giana/project/full/ZWbGzD + + This pen uses the non-standard Sass pow() function + https://css-tricks.com/snippets/sass/power-function/ + Using it outside of CodePen requires you provide your own pow() function with support for decimals + + To generate random colors, we're also using a two-variable random() function includded with compass. +*/ +.ratio::after { + content: "16"; } + +.balance::after { + content: "24"; } + +.color-block .color1 { + background: #97cbfc; + color: #000; } + .color-block .color1::after { + content: "#97cbfc"; } + +.color-block .color2 { + background: #ffc1ff; + color: #000; } + .color-block .color2::after { + content: "#ffc1ff"; } + +.fix-color .color:nth-child(2) { + background: #000; + color: #fff; } + .fix-color .color:nth-child(2)::after { + content: "#000"; } + +.fix-color .color:nth-child(3) { + background: #fff; + color: #000; } + .fix-color .color:nth-child(3)::after { + content: "#fff"; } + +.fix-contrast .color:nth-child(2) { + background: #444548; + color: #fff; } + .fix-contrast .color:nth-child(2)::after { + content: "#444548"; } + +.fix-contrast .color:nth-child(3) { + background: #fff; + color: #000; } + .fix-contrast .color:nth-child(3)::after { + content: "#fff"; } + +.best-contrast .color:nth-child(2) { + background: #6c32b8; + color: #fff; } + .best-contrast .color:nth-child(2)::after { + content: "#6c32b8"; } + +.best-contrast .color:nth-child(3) { + background: black; + color: #fff; } + .best-contrast .color:nth-child(3)::after { + content: "black"; } + +.scale-luminance .color:nth-child(2) { + background: #a4dcff; + color: #000; } + .scale-luminance .color:nth-child(2)::after { + content: "#a4dcff"; } + +.check-contrast .result::after { + content: "false"; } + +.luminance .result::after { + content: "0.56375, 0.66406"; } + +body { + background: #FAFAFA; + color: #383F45; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +a { + color: #0a0c0d; } + a:link, a:visited { + color: #0a0c0d; } + a:hover, a:active { + color: black; } + +#body-inner a { + text-decoration: underline; + text-decoration-style: dotted; } + #body-inner a:hover { + text-decoration-style: solid; } + +pre { + position: relative; } + +.bg { + background: #fff; + border: 1px solid #eaeaea; } + +b, +strong, +label, +th { + font-weight: 600; } + +.default-animation, #header #logo-svg, #header #logo-svg path, #sidebar, #sidebar ul, #body, #body .padding, #body .nav { + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; } + +fieldset { + border: 1px solid #ddd; } + +textarea, input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], select[multiple=multiple] { + background-color: white; + border: 1px solid #ddd; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); } + textarea:hover, input[type="email"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="url"]:hover, input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="month"]:hover, input[type="time"]:hover, input[type="week"]:hover, select[multiple=multiple]:hover { + border-color: #c4c4c4; } + textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus { + border-color: #1694CA; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(19, 131, 179, 0.7); } + +#header { + background: #8d9297; + color: #e8e9ea; + text-align: center; + padding: 1rem; } + #header a { + display: inline-block; } + #header #logo-svg { + width: 8rem; + height: 2rem; } + #header #logo-svg path { + fill: #fff; } + +.searchbox { + margin-top: 0.5rem; + position: relative; + border: 1px solid #80858b; + background: #9a9fa3; + border-radius: 4px; } + .searchbox label { + color: rgba(255, 255, 255, 0.8); + position: absolute; + left: 10px; + top: 3px; } + .searchbox span { + color: rgba(255, 255, 255, 0.6); + position: absolute; + right: 10px; + top: 3px; + cursor: pointer; } + .searchbox span:hover { + color: rgba(255, 255, 255, 0.9); } + .searchbox input { + display: inline-block; + color: #ebeced; + width: 100%; + height: 30px; + background: transparent; + border: 0; + padding: 0 25px 0 30px; + margin: 0; + font-weight: 400; } + .searchbox input::-webkit-input-placeholder { + color: #e6e7e8; } + .searchbox input::-moz-placeholder { + color: #e6e7e8; } + .searchbox input:-moz-placeholder { + color: #e6e7e8; } + .searchbox input:-ms-input-placeholder { + color: #e6e7e8; } + +#sidebar-toggle { + display: none; } + @media only all and (max-width: 47.938em) { + #sidebar-toggle { + display: inline-block; } } + +#sidebar { + background-color: #2d3237; + position: fixed; + top: 0; + width: 300px; + bottom: 0; + left: 0; + font-weight: 500; + font-size: 15px; + border-right: 1px solid #3d444b; } + #sidebar a, + #sidebar i { + color: #FAFAFA; } + #sidebar a:hover, + #sidebar i:hover { + color: #d4d4d4; } + #sidebar a.subtitle, + #sidebar i.subtitle { + color: rgba(250, 250, 250, 0.6); } + #sidebar hr { + border-bottom: 1px solid #262a2e; } + #sidebar a.padding { + padding: 0 1rem; } + #sidebar h5 { + margin: 2rem 0 0; + position: relative; + line-height: 2; } + #sidebar h5 a { + display: block; + margin-left: 0; + margin-right: 0; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar h5 i { + color: rgba(250, 250, 250, 0.6); + position: absolute; + right: 0.6rem; + top: 0.7rem; + font-size: 80%; } + #sidebar h5.parent a { + background: #1d2023; + color: white !important; } + #sidebar h5.active a { + background: #fff; + color: #383F45 !important; } + #sidebar h5.active i { + color: #383F45 !important; } + #sidebar h5 + ul.topics { + display: none; + margin-top: 0; } + #sidebar h5.parent + ul.topics, + #sidebar h5.active + ul.topics { + display: block; } + #sidebar ul { + list-style: none; + padding: 0; + margin: 0; } + #sidebar ul.searched a { + color: white; } + #sidebar ul.searched .search-match a { + color: white; } + #sidebar ul.searched .search-match a:hover { + color: white; } + #sidebar ul.topics { + margin: 0 1rem; } + #sidebar ul.topics.searched ul { + display: block; } + #sidebar ul.topics ul { + display: none; + padding-bottom: 1rem; } + #sidebar ul.topics ul ul { + padding-bottom: 0; } + #sidebar ul.topics li.parent ul, + #sidebar ul.topics > li.active ul { + display: block; } + #sidebar ul.topics > li > a { + line-height: 2rem; + font-size: 1.1rem; } + #sidebar ul.topics > li > a b { + color: #FAFAFA; + font-weight: normal; } + #sidebar ul.topics > li > a .fa { + margin-top: 9px; } + #sidebar ul.topics > li.parent, #sidebar ul.topics > li.active { + background: #212529; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul.topics > li.parent > a b, #sidebar ul.topics > li.active > a b { + color: #FAFAFA; } + #sidebar ul li.active > a { + background: #fff; + color: #383F45 !important; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul li.active > a b { + color: #383F45 !important; } + #sidebar ul li { + padding: 0; } + #sidebar ul li.visited + span { + margin-right: 16px; } + #sidebar ul li a { + display: block; + padding: 2px 0; } + #sidebar ul li a span { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + display: block; } + #sidebar ul li > a { + padding: 4px 0; } + #sidebar ul li .fa { + display: none; + float: right; + font-size: 13px; + min-width: 16px; + margin: 4px 0 0 0; + text-align: right; } + #sidebar ul li.visited > a .read-icon { + display: inline; + color: #FAFAFA; } + #sidebar ul li.visited > a .read-icon:hover { + color: #d4d4d4; } + #sidebar ul li.active > a .read-icon, #sidebar ul li.active.visited > a .read-icon { + display: inline; + color: #383F45; } + #sidebar ul li.active > a .read-icon:hover, #sidebar ul li.active.visited > a .read-icon:hover { + color: black; } + #sidebar ul li li { + padding-left: 1rem; + text-indent: 0.2rem; } + +#body #navigation .nav .fa { + color: black; } + #body #navigation .nav .fa:active, #body #navigation .nav .fa:focus, #body #navigation .nav .fa:hover, #body #navigation .nav .fa:visited { + color: black; } + +#main { + background: #f7f7f7; + margin: 0 0 1.563rem 0; } + +#body { + position: relative; + margin-left: 300px; + min-height: 100%; } + #body img, + #body .video-container { + margin: 3rem auto; + display: block; + text-align: center; } + #body img.border, + #body .video-container.border { + border: 2px solid #e6e6e6 !important; + padding: 2px; } + #body img.shadow, + #body .video-container.shadow { + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); } + #body .bordered { + border: 1px solid #ccc; } + #body .padding { + padding: 3rem 6rem; } + @media only all and (max-width: 59.938em) { + #body .padding { + position: static; + padding: 15px 3rem; } } + @media only all and (max-width: 47.938em) { + #body .padding { + padding: 5px 1rem; } } + #body h1 + hr { + margin-top: -1.7rem; + margin-bottom: 3rem; } + @media only all and (max-width: 59.938em) { + #body #navigation { + position: static; + margin-right: 0 !important; + width: 100%; + display: table; } } + #body .nav { + position: fixed; + top: 0; + bottom: 0; + width: 4rem; + font-size: 0; + height: 100%; + cursor: pointer; + display: table; + text-align: center; } + #body .nav > i { + display: table-cell; + vertical-align: middle; + text-align: center; } + @media only all and (max-width: 59.938em) { + #body .nav { + display: table-cell; + position: static; + top: auto; + width: 50%; + text-align: center; + height: 100px; + line-height: 100px; + padding-top: 0; } + #body .nav > i { + display: inline-block; } } + #body .nav i { + font-size: 50px; } + #body .nav:hover { + background: #e1e1e1; } + #body .nav.nav-pref { + left: 0; } + #body .nav.nav-next { + right: 0; } + +#body-inner { + margin-bottom: 5rem; } + +#chapter { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 2rem 0; } + #chapter #body-inner { + padding-bottom: 3rem; + max-width: 80%; } + #chapter h3 { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-align: center; } + #chapter h1 { + font-size: 5rem; + border-bottom: 4px solid #F0F2F4; } + #chapter p { + text-align: center; + font-size: 1.2rem; } + +#footer { + padding: 3rem 1rem; + color: #e1e1e1; + font-size: 13px; } + #footer p { + margin: 0; } + +body { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + letter-spacing: -0.03rem; + font-weight: 400; + font-size: 1.05rem; + line-height: 1.7; } + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Montserrat", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-rendering: optimizeLegibility; + line-height: 150%; + letter-spacing: -0px; + overflow-wrap: break-word; + overflow: visible; + word-break: break-word; + white-space: normal; + margin: 0.425rem 0 0.85rem 0; } + +p { + margin: 1.7rem 0; } + +ul, +ol { + margin-top: 1.7rem; + margin-bottom: 1.7rem; } + ul ul, + ul ol, + ol ul, + ol ol { + margin-top: 0; + margin-bottom: 0; } + +blockquote { + border-left: 10px solid #F0F2F4; + margin: 1.7rem 0; + padding-left: 0.85rem; } + blockquote p { + font-size: 1.1rem; + color: #666666; } + blockquote cite { + display: block; + text-align: right; + color: #333333; + font-size: 0.925rem; } + blockquote cite:before { + content: "\2014 \0020"; } + +pre { + margin: 1.7rem 0; + padding: 0.938rem; } + +code { + vertical-align: bottom; } + +small { + font-size: 0.925rem; } + +hr { + border-left: none; + border-right: none; + border-top: none; + margin: 1.7rem 0; } + +blockquote { + position: relative; } + +blockquote blockquote { + position: static; } + +blockquote > blockquote > blockquote { + margin: 0; } + blockquote > blockquote > blockquote p { + padding: 15px; + display: block; + font-size: 1rem; + margin-top: 0rem; + margin-bottom: 0rem; + color: #666; } + blockquote > blockquote > blockquote p:first-child:before { + position: absolute; + top: 2px; + color: #fff; + font-family: FontAwesome; + content: ''; + left: 10px; } + blockquote > blockquote > blockquote p:first-child:after { + position: absolute; + top: 2px; + color: #fff; + left: 2rem; + font-weight: bold; + content: 'Info'; } + blockquote > blockquote > blockquote > p { + margin-left: -71px; + border-top: 30px solid #F0B37E; + background: #FFF2DB; } + blockquote > blockquote > blockquote > blockquote > p { + margin-left: -94px; + border-top: 30px solid rgba(217, 83, 79, 0.8); + background: #FAE2E2; } + blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Warning'; } + blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -118px; + border-top: 30px solid #6AB0DE; + background: #E7F2FA; } + blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Note'; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -142px; + border-top: 30px solid rgba(92, 184, 92, 0.8); + background: #E6F9E6; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Tip'; } + +code, +kbd, +pre, +samp { + font-family: "Inconsolata", monospace; } + +code { + background: #f9f2f4; + color: #9c1d3d; + padding: .2rem .4rem; + border-radius: 3px; } + +pre { + padding: 1rem; + margin: 2rem 0; + background: #f6f6f6; + border: 1px solid #ddd; + border-radius: 2px; + line-height: 1.15; + font-size: 1rem; } + pre code { + color: #237794; + background: inherit; + font-size: 1rem; } + +hr { + border-bottom: 4px solid #F0F2F4; } + +.page-title { + margin-top: -25px; + padding: 25px; + float: left; + clear: both; + background: #383F45; + color: #fff; } + +#body a.anchor-link { + color: #ccc; } + +#body a.anchor-link:hover { + color: #383F45; } + +.scrollbar-inner > .scroll-element .scroll-element_track { + background-color: rgba(255, 255, 255, 0.3); } + +.scrollbar-inner > .scroll-element .scroll-bar { + background-color: #b5d1eb; } + +.scrollbar-inner > .scroll-element:hover .scroll-bar { + background-color: #ccc; } + +.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar { + background-color: #ccc; } + +table { + border: 1px solid #eaeaea; + table-layout: auto; } + +th { + background: #f7f7f7; + padding: 0.5rem; } + +td { + padding: 0.5rem; + border: 1px solid #eaeaea; } + +.button { + background: #383F45 !important; + color: white !important; + box-shadow: 0 3px 0 #2a3034 !important; } + .button:hover { + background: #2a3034 !important; + box-shadow: 0 3px 0 #1d2023 !important; + color: white !important; } + .button:active { + box-shadow: 0 1px 0 #1d2023 !important; } + .button i { + color: white !important; } + +.button-secondary { + background: #16181b !important; + color: white !important; + box-shadow: 0 3px 0 #08090a !important; } + .button-secondary:hover { + background: #08090a !important; + box-shadow: 0 3px 0 black !important; + color: white !important; } + .button-secondary:active { + box-shadow: 0 1px 0 black !important; } + .button-secondary i { + color: white !important; } + +.bullets { + margin: 1.7rem 0; + margin-left: -0.85rem; + margin-right: -0.85rem; + overflow: auto; } + +.bullet { + float: left; + padding: 0 0.85rem; } + +.two-column-bullet { + width: 50%; } + @media only all and (max-width: 47.938em) { + .two-column-bullet { + width: 100%; } } + +.three-column-bullet { + width: 33.33333%; } + @media only all and (max-width: 47.938em) { + .three-column-bullet { + width: 100%; } } + +.four-column-bullet { + width: 25%; } + @media only all and (max-width: 47.938em) { + .four-column-bullet { + width: 100%; } } + +.bullet-icon { + float: left; + background: #1694CA; + padding: 0.875rem; + width: 3.5rem; + height: 3.5rem; + border-radius: 50%; + color: #fff; + font-size: 1.75rem; + text-align: center; } + +.bullet-icon-1 { + background: #1694CA; } + +.bullet-icon-2 { + background: #16cac4; } + +.bullet-icon-3 { + background: #b2ca16; } + +.bullet-content { + margin-left: 4.55rem; } + +.tooltipped { + position: relative; } + +.tooltipped:after { + position: absolute; + z-index: 1000000; + display: none; + padding: 5px 8px; + font: normal normal 11px/1.5 "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + color: #fff; + text-align: center; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-wrap: break-word; + white-space: pre; + pointer-events: none; + content: attr(aria-label); + background: rgba(0, 0, 0, 0.8); + border-radius: 3px; + -webkit-font-smoothing: subpixel-antialiased; } + +.tooltipped:before { + position: absolute; + z-index: 1000001; + display: none; + width: 0; + height: 0; + color: rgba(0, 0, 0, 0.8); + pointer-events: none; + content: ""; + border: 5px solid transparent; } + +.tooltipped:hover:before, .tooltipped:hover:after, +.tooltipped:active:before, +.tooltipped:active:after, +.tooltipped:focus:before, +.tooltipped:focus:after { + display: inline-block; + text-decoration: none; } + +.tooltipped-s:after, +.tooltipped-se:after, +.tooltipped-sw:after { + top: 100%; + right: 50%; + margin-top: 5px; } + +.tooltipped-s:before, +.tooltipped-se:before, +.tooltipped-sw:before { + top: auto; + right: 50%; + bottom: -5px; + margin-right: -5px; + border-bottom-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-se:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-sw:after { + margin-right: -15px; } + +.tooltipped-n:after, +.tooltipped-ne:after, +.tooltipped-nw:after { + right: 50%; + bottom: 100%; + margin-bottom: 5px; } + +.tooltipped-n:before, +.tooltipped-ne:before, +.tooltipped-nw:before { + top: -5px; + right: 50%; + bottom: auto; + margin-right: -5px; + border-top-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-ne:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-nw:after { + margin-right: -15px; } + +.tooltipped-s:after, +.tooltipped-n:after { + transform: translateX(50%); } + +.tooltipped-w:after { + right: 100%; + bottom: 50%; + margin-right: 5px; + transform: translateY(50%); } + +.tooltipped-w:before { + top: 50%; + bottom: 50%; + left: -5px; + margin-top: -5px; + border-left-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-e:after { + bottom: 50%; + left: 100%; + margin-left: 5px; + transform: translateY(50%); } + +.tooltipped-e:before { + top: 50%; + right: -5px; + bottom: 50%; + margin-top: -5px; + border-right-color: rgba(0, 0, 0, 0.8); } + +/*************** SCROLLBAR BASE CSS ***************/ +.highlightable { + padding: 25px 0 15px; } + +.scroll-wrapper { + overflow: hidden !important; + padding: 0 !important; + position: relative; } + +.scroll-wrapper > .scroll-content { + border: none !important; + box-sizing: content-box !important; + height: auto; + left: 0; + margin: 0; + max-height: none; + max-width: none !important; + overflow: scroll !important; + padding: 0; + position: relative !important; + top: 0; + width: auto !important; } + +.scroll-wrapper > .scroll-content::-webkit-scrollbar { + height: 0; + width: 0; } + +.scroll-element { + display: none; } + +.scroll-element, .scroll-element div { + box-sizing: content-box; } + +.scroll-element.scroll-x.scroll-scrollx_visible, +.scroll-element.scroll-y.scroll-scrolly_visible { + display: block; } + +.scroll-element .scroll-bar, +.scroll-element .scroll-arrow { + cursor: default; } + +.scroll-textarea > .scroll-content { + overflow: hidden !important; } + +.scroll-textarea > .scroll-content > textarea { + border: none !important; + box-sizing: border-box; + height: 100% !important; + margin: 0; + max-height: none !important; + max-width: none !important; + overflow: scroll !important; + outline: none; + padding: 2px; + position: relative !important; + top: 0; + width: 100% !important; } + +.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar { + height: 0; + width: 0; } + +/*************** SIMPLE INNER SCROLLBAR ***************/ +.scrollbar-inner > .scroll-element, +.scrollbar-inner > .scroll-element div { + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; } + +.scrollbar-inner > .scroll-element div { + display: block; + height: 100%; + left: 0; + top: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-x { + bottom: 2px; + height: 8px; + left: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-y { + height: 100%; + right: 2px; + top: 0; + width: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_outer { + overflow: hidden; } + +.scrollbar-inner > .scroll-element .scroll-element_outer, +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; + filter: alpha(opacity=30); + opacity: 0.3; } + +/* update scrollbar offset if both scrolls are visible */ +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { + top: -12px; } + +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size { + top: -12px; } + +.lightbox-active #body { + overflow: visible; } + .lightbox-active #body .padding { + overflow: visible; } + +#github-contrib i { + vertical-align: middle; } + +.featherlight img { + margin: 0 !important; } + +.lifecycle #body-inner ul { + list-style: none; + margin: 0; + padding: 2rem 0 0; + position: relative; } + +.lifecycle #body-inner ol { + margin: 1rem 0 1rem 0; + padding: 2rem; + position: relative; } + .lifecycle #body-inner ol li { + margin-left: 1rem; } + .lifecycle #body-inner ol strong, .lifecycle #body-inner ol label, .lifecycle #body-inner ol th { + text-decoration: underline; } + .lifecycle #body-inner ol ol { + margin-left: -1rem; } + +.lifecycle #body-inner h3[class*='level'] { + font-size: 20px; + position: absolute; + margin: 0; + padding: 4px 10px; + right: 0; + z-index: 1000; + color: #fff; + background: #1ABC9C; } + +.lifecycle #body-inner ol h3 { + margin-top: 1rem !important; + right: 2rem !important; } + +.lifecycle #body-inner .level-1 + ol { + background: #f6fefc; + border: 4px solid #1ABC9C; + color: #16A085; } + .lifecycle #body-inner .level-1 + ol h3 { + background: #2ECC71; } + +.lifecycle #body-inner .level-2 + ol { + background: #f7fdf9; + border: 4px solid #2ECC71; + color: #27AE60; } + .lifecycle #body-inner .level-2 + ol h3 { + background: #3498DB; } + +.lifecycle #body-inner .level-3 + ol { + background: #f3f9fd; + border: 4px solid #3498DB; + color: #2980B9; } + .lifecycle #body-inner .level-3 + ol h3 { + background: #34495E; } + +.lifecycle #body-inner .level-4 + ol { + background: #e4eaf0; + border: 4px solid #34495E; + color: #2C3E50; } + .lifecycle #body-inner .level-4 + ol h3 { + background: #34495E; } + +#top-bar { + background: #2d3237; + border-radius: 2px; + margin: 0rem -1rem 2rem; + padding: 0 1rem; + height: 0; + min-height: 3rem; + color: #cccccc; } + #top-bar a { + color: #e6e6e6; } + #top-bar a:hover { + color: #f2f2f2; } + +#top-github-link { + position: relative; + z-index: 1; + float: right; + display: block; } + +#body #breadcrumbs { + height: auto; + display: block; + margin-bottom: 0; + padding-left: 0; + line-height: 1.4; } + #body #breadcrumbs span { + padding: 0 0.1rem; } + +@media only all and (max-width: 59.938em) { + #sidebar { + width: 230px; } + #body { + margin-left: 230px; } } + +@media only all and (max-width: 47.938em) { + #sidebar { + width: 230px; + left: -230px; } + #body { + margin-left: 0; + width: 100%; } + .sidebar-hidden { + overflow: hidden; } + .sidebar-hidden #sidebar { + left: 0; } + .sidebar-hidden #body { + margin-left: 230px; + overflow: hidden; } + .sidebar-hidden #overlay { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + z-index: 10; + background: rgba(255, 255, 255, 0.5); + cursor: pointer; } } + +.copy-to-clipboard { + background-image: url(../images/clippy.svg); + background-position: 50% 50%; + background-size: 16px 16px; + background-repeat: no-repeat; + width: 27px; + height: 1.45rem; + top: -1px; + display: inline-block; + vertical-align: middle; + position: relative; + color: #212529; + background-color: #f9f2f4; + margin-left: -.2rem; + cursor: pointer; + border-radius: 0 2px 2px 0; } + .copy-to-clipboard:hover { + background-color: #f1e1e5; } + pre .copy-to-clipboard { + position: absolute; + right: 4px; + top: 4px; + background-color: #eee; + border-color: #ddd; + border-radius: 2px; } + pre .copy-to-clipboard:hover { + background-color: #d9d9d9; } + +.parent-element { + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + transform-style: preserve-3d; } + +.version-chooser select { + display: inline-block; + color: #000000; + background-color: #FFFFFF!; + border: 1px solid #666666; + font-size: 15px; + font-weight: regular; + margin: 0; +} + +.videoWrapper { + position: relative; + padding-bottom: 56.25%; /* 16:9 */ + padding-top: 25px; + height: 0; +} +.videoWrapper iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +/*# sourceMappingURL=spitsbergen.css.map */ diff --git a/themes/learn2-git-sync/css/styles/spitsbergen.css.map b/themes/learn2-git-sync/css/styles/spitsbergen.css.map new file mode 100644 index 0000000..8be46a1 --- /dev/null +++ b/themes/learn2-git-sync/css/styles/spitsbergen.css.map @@ -0,0 +1,111 @@ +{ + "version": 3, + "file": "spitsbergen.css", + "sources": [ + "../../scss/styles/spitsbergen.scss", + "../../scss/_prefix.scss", + "../../scss/vendor/bourbon/_bourbon.scss", + "../../scss/vendor/bourbon/settings/_prefixer.scss", + "../../scss/vendor/bourbon/settings/_px-to-em.scss", + "../../scss/vendor/bourbon/helpers/_convert-units.scss", + "../../scss/vendor/bourbon/helpers/_gradient-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_is-num.scss", + "../../scss/vendor/bourbon/helpers/_linear-angle-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-gradient-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-arg-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-gradient-parser.scss", + "../../scss/vendor/bourbon/helpers/_render-gradients.scss", + "../../scss/vendor/bourbon/helpers/_shape-size-stripper.scss", + "../../scss/vendor/bourbon/helpers/_str-to-num.scss", + "../../scss/vendor/bourbon/functions/_assign.scss", + "../../scss/vendor/bourbon/functions/_color-lightness.scss", + "../../scss/vendor/bourbon/functions/_flex-grid.scss", + "../../scss/vendor/bourbon/functions/_golden-ratio.scss", + "../../scss/vendor/bourbon/functions/_grid-width.scss", + "../../scss/vendor/bourbon/functions/_modular-scale.scss", + "../../scss/vendor/bourbon/functions/_px-to-em.scss", + "../../scss/vendor/bourbon/functions/_px-to-rem.scss", + "../../scss/vendor/bourbon/functions/_strip-units.scss", + "../../scss/vendor/bourbon/functions/_tint-shade.scss", + "../../scss/vendor/bourbon/functions/_transition-property-name.scss", + "../../scss/vendor/bourbon/functions/_unpack.scss", + "../../scss/vendor/bourbon/css3/_animation.scss", + "../../scss/vendor/bourbon/css3/_appearance.scss", + "../../scss/vendor/bourbon/css3/_backface-visibility.scss", + "../../scss/vendor/bourbon/css3/_background.scss", + "../../scss/vendor/bourbon/css3/_background-image.scss", + "../../scss/vendor/bourbon/css3/_border-image.scss", + "../../scss/vendor/bourbon/css3/_border-radius.scss", + "../../scss/vendor/bourbon/css3/_box-sizing.scss", + "../../scss/vendor/bourbon/css3/_calc.scss", + "../../scss/vendor/bourbon/css3/_columns.scss", + "../../scss/vendor/bourbon/css3/_filter.scss", + "../../scss/vendor/bourbon/css3/_flex-box.scss", + "../../scss/vendor/bourbon/css3/_font-face.scss", + "../../scss/vendor/bourbon/css3/_hyphens.scss", + "../../scss/vendor/bourbon/css3/_hidpi-media-query.scss", + "../../scss/vendor/bourbon/css3/_image-rendering.scss", + "../../scss/vendor/bourbon/css3/_keyframes.scss", + "../../scss/vendor/bourbon/css3/_linear-gradient.scss", + "../../scss/vendor/bourbon/css3/_perspective.scss", + "../../scss/vendor/bourbon/css3/_radial-gradient.scss", + "../../scss/vendor/bourbon/css3/_transform.scss", + "../../scss/vendor/bourbon/css3/_transition.scss", + "../../scss/vendor/bourbon/css3/_user-select.scss", + "../../scss/vendor/bourbon/css3/_placeholder.scss", + "../../scss/vendor/bourbon/addons/_button.scss", + "../../scss/vendor/bourbon/addons/_clearfix.scss", + "../../scss/vendor/bourbon/addons/_directional-values.scss", + "../../scss/vendor/bourbon/addons/_ellipsis.scss", + "../../scss/vendor/bourbon/addons/_font-family.scss", + "../../scss/vendor/bourbon/addons/_hide-text.scss", + "../../scss/vendor/bourbon/addons/_html5-input-types.scss", + "../../scss/vendor/bourbon/addons/_position.scss", + "../../scss/vendor/bourbon/addons/_prefixer.scss", + "../../scss/vendor/bourbon/addons/_retina-image.scss", + "../../scss/vendor/bourbon/addons/_size.scss", + "../../scss/vendor/bourbon/addons/_timing-functions.scss", + "../../scss/vendor/bourbon/addons/_triangle.scss", + "../../scss/vendor/bourbon/addons/_word-wrap.scss", + "../../scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss", + "../../scss/configuration/nucleus/_base.scss", + "../../scss/configuration/nucleus/_core.scss", + "../../scss/configuration/nucleus/_breakpoints.scss", + "../../scss/configuration/nucleus/_layout.scss", + "../../scss/configuration/nucleus/_typography.scss", + "../../scss/configuration/nucleus/_nav.scss", + "../../scss/configuration/theme/_base.scss", + "../../scss/configuration/theme/_colors.scss", + "../../scss/configuration/theme/_bullets.scss", + "../../scss/nucleus/functions/_base.scss", + "../../scss/nucleus/functions/_direction.scss", + "../../scss/nucleus/functions/_range.scss", + "../../scss/nucleus/mixins/_base.scss", + "../../scss/nucleus/mixins/_breakpoints.scss", + "../../scss/nucleus/mixins/_utilities.scss", + "../../scss/theme/modules/_base.scss", + "../../scss/theme/modules/_buttons.scss", + "../../scss/_hover-color.scss", + "../../scss/_contrast.scss", + "../../scss/_affix.scss", + "../../scss/theme/_core.scss", + "../../scss/theme/_fonts.scss", + "../../scss/theme/_forms.scss", + "../../scss/theme/_header.scss", + "../../scss/theme/_nav.scss", + "../../scss/theme/_main.scss", + "../../scss/_standard_colors.scss", + "../../scss/theme/_typography.scss", + "../../scss/theme/_tables.scss", + "../../scss/theme/_buttons.scss", + "../../scss/theme/_bullets.scss", + "../../scss/theme/_tooltips.scss", + "../../scss/theme/_scrollbar.scss", + "../../scss/theme/_custom.scss" + ], + "names": [], + "mappings": ";A0FCA,OAAO,CAAC,8EAAI;AYuIZ,AnB9HA,gBmB8HgB,EAWhB,KAAK,CAAC,YAAY,CnBzIF;EACf,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,GAAG;EACR,iBAAiB,EAAE,gBAAgB;EACnC,cAAc,EAAE,gBAAgB;EAChC,YAAY,EAAE,gBAAgB;EAC9B,aAAa,EAAE,gBAAgB;EAC/B,SAAS,EAAE,gBAAgB,GAC3B;;AelBD,AbAA,OaAO,EAKP,iBAAiB,CbLT;EACP,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,QAAQ,GAIjB;EaND,AbGC,OaHM,AbGL,OAAO,EaET,iBAAiB,AbFf,OAAO,CAAC;IACR,MAAM,EAAE,YAAY,GACpB;;ACLF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCE;AAoXF;;;GAGG;AASH;;;GAGG;AAQH;;;GAGG;ACrbH;;;;;;;;;;;EAWE;AAiWF,AAAA,MAAM,AAAA,OAAO,CAAC;EAAE,OAAO,EAAE,IAAW,GAAI;;AACxC,AAAA,QAAQ,AAAA,OAAO,CAAC;EAAE,OAAO,EAAE,IAAa,GAAI;;AAE5C,AAAA,YAAY,CAAC,OAAO,CAAC;EApBnB,UAAU,EALF,OAA0C;EAMlD,KAAK,EAA+B,IAAI,GAmBa;EAAvD,AAjBE,YAiBU,CAAC,OAAO,AAjBjB,OAAO,CAAC;IACP,OAAO,EAAE,SAAW,GACrB;;AAgBH,AAAA,YAAY,CAAC,OAAO,CAAC;EArBnB,UAAU,EAjJF,OAA0C;EAkJlD,KAAK,EAA+B,IAAI,GAoBa;EAAvD,AAlBE,YAkBU,CAAC,OAAO,AAlBjB,OAAO,CAAC;IACP,OAAO,EAAE,SAAW,GACrB;;AAkBH,AACE,UADQ,CACR,MAAM,AAAA,UAAW,CAAA,CAAC,EAAE;EAxBpB,UAAU,EAlFmC,IAAI;EAmFjD,KAAK,EAAqC,IAAI,GAuBoC;EADpF,AApBE,UAoBQ,CACR,MAAM,AAAA,UAAW,CAAA,CAAC,CArBjB,OAAO,CAAC;IACP,OAAO,EAAE,MAAW,GACrB;;AAkBH,AAEE,UAFQ,CAER,MAAM,AAAA,UAAW,CAAA,CAAC,EAAE;EAzBpB,UAAU,EAnF8B,IAAI;EAoF5C,KAAK,EAA+B,IAAI,GAwB0C;EAFpF,AApBE,UAoBQ,CAER,MAAM,AAAA,UAAW,CAAA,CAAC,CAtBjB,OAAO,CAAC;IACP,OAAO,EAAE,MAAW,GACrB;;AAuBH,AACE,aADW,CACX,MAAM,AAAA,UAAW,CALA,CAAC,EAKE;EA7BpB,UAAU,EApIqD,OAAqB;EAqIpF,KAAK,EAAqC,IAAI,GA4BwD;EADxG,AAzBE,aAyBW,CACX,MAAM,AAAA,UAAW,CALA,CAAC,CArBjB,OAAO,CAAC;IACP,OAAO,EAAE,SAAW,GACrB;;AAuBH,AAEE,aAFW,CAEX,MAAM,AAAA,UAAW,CALA,CAAC,EAKE;EA9BpB,UAAU,EAnF8B,IAAI;EAoF5C,KAAK,EAA+B,IAAI,GA6B8D;EAFxG,AAzBE,aAyBW,CAEX,MAAM,AAAA,UAAW,CALA,CAAC,CAtBjB,OAAO,CAAC;IACP,OAAO,EAAE,MAAW,GACrB;;AA4BH,AACE,cADY,CACZ,MAAM,AAAA,UAAW,CAVA,CAAC,EAUE;EAlCpB,UAAU,EALF,OAA0C;EAMlD,KAAK,EAAqC,IAAI,GAiCQ;EADxD,AA9BE,cA8BY,CACZ,MAAM,AAAA,UAAW,CAVA,CAAC,CArBjB,OAAO,CAAC;IACP,OAAO,EAAE,SAAW,GACrB;;AA4BH,AAEE,cAFY,CAEZ,MAAM,AAAA,UAAW,CAVA,CAAC,EAUE;EAnCpB,UAAU,EAjJF,KAA0C;EAkJlD,KAAK,EAAqC,IAAI,GAkCyD;EAFzG,AA9BE,cA8BY,CAEZ,MAAM,AAAA,UAAW,CAVA,CAAC,CAtBjB,OAAO,CAAC;IACP,OAAO,EAAE,OAAW,GACrB;;AAiCH,AACE,gBADc,CACd,MAAM,AAAA,UAAW,CAfA,CAAC,EAeE;EAvCpB,UAAU,EAjJF,OAA0C;EAkJlD,KAAK,EAA+B,IAAI,GAsCmD;EAD7F,AAnCE,gBAmCc,CACd,MAAM,AAAA,UAAW,CAfA,CAAC,CArBjB,OAAO,CAAC;IACP,OAAO,EAAE,SAAW,GACrB;;AAqCH,AACE,eADa,CACb,OAAO,AAAA,OAAO,CAAC;EAAE,OAAO,EAAE,OAA6C,GAAI;;AAG7E,AACE,UADQ,CACR,OAAO,AAAA,OAAO,CAAC;EAAE,OAAO,EAAE,kBAA2C,GAAI;;AE1Y3E,AAAA,IAAI,CAAC;EACJ,UAAU,EzFQQ,OAAO;EyFPzB,KAAK,EzFKO,OAAO;EyFJnB,sBAAsB,EAAE,WAAW;EACnC,uBAAuB,EAAE,SAAS,GAClC;;AAED,AAAA,CAAC,CAAC;EACD,KAAK,EHqGc,OAAkB,GG1FrC;EAZD,AAGC,CAHA,AAGC,KAAK,EAHP,CAAC,AAIC,QAAQ,CAAC;IACT,KAAK,EHiGa,OAAkB,GGhGpC;EANF,AAQC,CARA,AAQC,MAAM,EARR,CAAC,AASC,OAAO,CAAC;IACR,KAAK,EFiYK,KAA2B,GEhYrC;;AAGF,AACC,WADU,CACV,CAAC,CAAC;EACD,eAAe,EAAE,SAAS;EAC1B,qBAAqB,EAAE,MAAM,GAK7B;EARF,AAKE,WALS,CACV,CAAC,AAIC,MAAM,CAAC;IACP,qBAAqB,EAAE,KAAK,GAC5B;;AAIH,AAAA,GAAG,CAAC;EACH,QAAQ,EAAE,QAAQ,GAClB;;AAED,AAAA,GAAG,CAAC;EACH,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,GAAG,CAAC,KAAK,CbHA,OAAoB,GaIrC;;AAED,AAAA,CAAC;AACD,MAAM;AEvBN,KAAK;AMdL,EAAE,CRqCK;EACN,WAAW,EzFdO,GAAG,GyFerB;;AAED,AAAA,kBAAkB,EG9ClB,OAAO,CAWH,SAAS,EAXb,OAAO,CAWH,SAAS,CAKL,IAAI,ECPZ,QAAQ,EAAR,QAAQ,CAwFJ,EAAE,EC5FN,KAAK,EAAL,KAAK,CA2BD,QAAQ,EA3BZ,KAAK,CAwDD,IAAI,CLfW;E3BrCX,kBAAoB,E2BsCP,GAAG,CAAC,IAAI,CAAC,IAAI;E3BjC1B,eAAiB,E2BiCJ,GAAG,CAAC,IAAI,CAAC,IAAI;E3BlB1B,UAAY,E2BkBC,GAAG,CAAC,IAAI,CAAC,IAAI,GACjC;;AEhDD,AAAA,QAAQ,CAAC;EACR,MAAM,EAAE,GAAG,CAAC,KAAK,CfKD,IAAI,GeJpB;;AAED,AAAA,QAAQ,EAAE,KAAK,CAAA,AAAA,IAAC,CAAK,OAAO,AAAZ,GAAe,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,GAAgB,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,GAAkB,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,GAAgB,KAAK,CAAA,AAAA,IAAC,CAAK,KAAK,AAAV,GAAa,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,GAAc,KAAK,CAAA,AAAA,IAAC,CAAK,KAAK,AAAV,GAAa,KAAK,CAAA,AAAA,IAAC,CAAK,OAAO,AAAZ,GAAe,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,GAAc,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,GAAkB,KAAK,CAAA,AAAA,IAAC,CAAK,gBAAgB,AAArB,GAAwB,KAAK,CAAA,AAAA,IAAC,CAAK,OAAO,AAAZ,GAAe,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,GAAc,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,GAAc,MAAM,CAAA,AAAA,QAAC,CAAD,QAAC,AAAA,EAAvQ;EACxD,gBAAgB,EAAE,KAAK;EACvB,MAAM,EAAE,GAAG,CAAC,KAAK,CfAD,IAAI;EeCpB,UAAU,EfOW,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAqB,GeG1D;EAbD,AAKC,QALO,AAKN,MAAM,EALE,KAAK,CAAA,AAAA,IAAC,CAAK,OAAO,AAAZ,CAKd,MAAM,EALuB,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CAKnC,MAAM,EAL6C,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,CAKzD,MAAM,EALqE,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CAKjF,MAAM,EAL2F,KAAK,CAAA,AAAA,IAAC,CAAK,KAAK,AAAV,CAKvG,MAAM,EAL8G,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CAK1H,MAAM,EALkI,KAAK,CAAA,AAAA,IAAC,CAAK,KAAK,AAAV,CAK9I,MAAM,EALqJ,KAAK,CAAA,AAAA,IAAC,CAAK,OAAO,AAAZ,CAKjK,MAAM,EAL0K,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CAKtL,MAAM,EAL8L,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,CAK1M,MAAM,EALsN,KAAK,CAAA,AAAA,IAAC,CAAK,gBAAgB,AAArB,CAKlO,MAAM,EALoP,KAAK,CAAA,AAAA,IAAC,CAAK,OAAO,AAAZ,CAKhQ,MAAM,EALyQ,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CAKrR,MAAM,EAL6R,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CAKzS,MAAM,EALiT,MAAM,CAAA,AAAA,QAAC,CAAD,QAAC,AAAA,CAK9T,MAAM,CAAC;IACP,YAAY,EfAc,OAA8B,GeCxD;EAPF,AASC,QATO,AASN,MAAM,EATE,KAAK,CAAA,AAAA,IAAC,CAAK,OAAO,AAAZ,CASd,MAAM,EATuB,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CASnC,MAAM,EAT6C,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,CASzD,MAAM,EATqE,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CASjF,MAAM,EAT2F,KAAK,CAAA,AAAA,IAAC,CAAK,KAAK,AAAV,CASvG,MAAM,EAT8G,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CAS1H,MAAM,EATkI,KAAK,CAAA,AAAA,IAAC,CAAK,KAAK,AAAV,CAS9I,MAAM,EATqJ,KAAK,CAAA,AAAA,IAAC,CAAK,OAAO,AAAZ,CASjK,MAAM,EAT0K,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CAStL,MAAM,EAT8L,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,CAS1M,MAAM,EATsN,KAAK,CAAA,AAAA,IAAC,CAAK,gBAAgB,AAArB,CASlO,MAAM,EAToP,KAAK,CAAA,AAAA,IAAC,CAAK,OAAO,AAAZ,CAShQ,MAAM,EATyQ,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CASrR,MAAM,EAT6R,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CASzS,MAAM,EATiT,MAAM,CAAA,AAAA,QAAC,CAAD,QAAC,AAAA,CAS9T,MAAM,CAAC;IACP,YAAY,EfZI,OAAO;IeavB,UAAU,EfDU,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAqB,EACf,CAAC,CAAC,CAAC,CAAC,GAAG,CAAM,uBAAmC,GeC1F;;AChBF,AAAA,OAAO,CAAC;EACJ,UAAU,E5FiBF,OAA6D;E4FhBrE,KAAK,EN+EW,OAA4B;EM9E5C,UAAU,EAAE,MAAM;EAElB,OAAO,EAAE,IAAI,GAgBhB;EArBD,AAOI,OAPG,CAOH,CAAC,CAAC;IACE,OAAO,EAAE,YAAY,GACxB;EATL,AAWI,OAXG,CAWH,SAAS,CAAC;IAEN,KAAK,E5FwBA,IAAI;I4FvBT,MAAM,E5FwBA,IAAI,G4FlBb;IApBL,AAgBQ,OAhBD,CAWH,SAAS,CAKL,IAAI,CAAC;MAED,IAAI,EhBdF,IAAI,GgBeT;;AAIT,AAAA,UAAU,CAAC;EACP,UAAU,EAAE,MAAM;EAClB,QAAQ,EAAE,QAAQ;EAElB,MAAM,EAAE,GAAG,CAAC,KAAK,CLgYT,OAA2B;EK/XnC,UAAU,ELyXF,OAA4B;EKxXpC,aAAa,EAAE,GAAG,GAoCrB;EA1CD,AAQI,UARM,CAQN,KAAK,CAAC;IACF,KAAK,EhB5BC,wBAAI;IgB6BV,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,GAAG,GACX;EAbL,AAeI,UAfM,CAeN,IAAI,CAAC;IACD,KAAK,EhBnCC,wBAAI;IgBoCV,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,IAAI;IACX,GAAG,EAAE,GAAG;IACR,MAAM,EAAE,OAAO,GAKlB;IAzBL,AAsBQ,UAtBE,CAeN,IAAI,AAOC,MAAM,CAAC;MACJ,KAAK,EhB1CH,wBAAI,GgB2CT;EAxBT,AA2BI,UA3BM,CA2BN,KAAK,CAAC;IACF,OAAO,EAAE,YAAY;IACrB,KAAK,EN6BO,OAA4B;IM5BxC,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,WAAW;IACvB,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,aAAa;IACtB,MAAM,EAAE,CAAC;IACT,WAAW,E5F5BG,GAAG,G4FiCpB;IAzCL,AvCpBI,UuCoBM,CA2BN,KAAK,AvC/CJ,2BAA2B,CAAE;MuC2DtB,KAAK,ENmBG,OAA4B,GjC5E3C;IuCkBL,AvCpBI,UuCoBM,CA2BN,KAAK,AvC/CJ,kBAAkB,CAAW;MuC2DtB,KAAK,ENmBG,OAA4B,GjC5E3C;IuCkBL,AvCpBI,UuCoBM,CA2BN,KAAK,AvC/CJ,iBAAiB,CAAY;MuC2DtB,KAAK,ENmBG,OAA4B,GjC5E3C;IuCkBL,AvCpBI,UuCoBM,CA2BN,KAAK,AvC/CJ,sBAAsB,CAAO;MuC2DtB,KAAK,ENmBG,OAA4B,GjC5E3C;;AwCLL,AAAA,eAAe,CAAC;EACZ,OAAO,EAAE,IAAI,GAMhB;EXcC,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,QAAQ;IWrB1C,AAAA,eAAe,CAAC;MAIR,OAAO,EAAE,YAAY,GAG5B;;AAED,AAAA,QAAQ,CAAC;EAEL,gBAAgB,E7FLE,OAA4B;E6FM9C,QAAQ,EAAE,KAAK;EACf,GAAG,EAAE,CAAC;EACN,KAAK,E7FKO,KAAK;E6FJjB,MAAM,EAAE,CAAC;EACT,IAAI,EAAE,CAAC;EACP,WAAW,E7FaM,GAAG;E6FZpB,SAAS,EAAE,IAAI;EACf,YAAY,EAAE,GAAG,CAAC,KAAK,CN2Yf,OAA4B,GMrKvC;EAhPD,AAYI,QAZI,CAYJ,CAAC;EAZL,QAAQ,CAaJ,CAAC,CAAC;IACE,KAAK,E7FdM,OAAO,G6FuBrB;IAvBL,AAgBQ,QAhBA,CAYJ,CAAC,AAII,MAAM;IAhBf,QAAQ,CAaJ,CAAC,AAGI,MAAM,CAAC;MACJ,KAAK,EN2XL,OAA4B,GM1X/B;IAlBT,AAoBQ,QApBA,CAYJ,CAAC,AAQI,SAAS;IApBlB,QAAQ,CAaJ,CAAC,AAOI,SAAS,CAAC;MACP,KAAK,E7FrBE,wBAAO,G6FsBjB;EAtBT,AAyBI,QAzBI,CAyBJ,EAAE,CAAC;IACC,aAAa,EAAE,GAAG,CAAC,KAAK,CN+WpB,OAA2B,GM9WlC;EA3BL,AA6BI,QA7BI,CA6BJ,CAAC,AAAA,QAAQ,CAAC;IACN,OAAO,EAAE,MAAM,GAClB;EA/BL,AAiCI,QAjCI,CAiCJ,EAAE,CAAC;IACC,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,CAAC,GAqCjB;IAzEL,AAsCQ,QAtCA,CAiCJ,EAAE,CAKE,CAAC,CAAC;MACE,OAAO,EAAE,KAAK;MACd,WAAW,EAAE,CAAC;MACd,YAAY,EAAE,CAAC;MACf,YAAY,EAAE,IAAI;MAClB,aAAa,EAAE,IAAI,GACtB;IA5CT,AA8CQ,QA9CA,CAiCJ,EAAE,CAaE,CAAC,CAAC;MACE,KAAK,E7F/CE,wBAAO;M6FgDd,QAAQ,EAAE,QAAQ;MAClB,KAAK,EAAE,MAAM;MACb,GAAG,EAAE,MAAM;MACX,SAAS,EAAE,GAAG,GACjB;IApDT,AAuDY,QAvDJ,CAiCJ,EAAE,AAqBG,OAAO,CACJ,CAAC,CAAC;MACE,UAAU,ENiVd,OAA2B;MMhVvB,KAAK,ENmVT,KAA4B,CMnVU,UAAU,GAC/C;IA1Db,AA8DY,QA9DJ,CAiCJ,EAAE,AA4BG,OAAO,CACJ,CAAC,CAAC;MACE,UAAU,EjBpEZ,IAAI;MiBqEF,KAAK,E7FlER,OAAO,C6FkEc,UAAU,GAC/B;IAjEb,AAmEY,QAnEJ,CAiCJ,EAAE,AA4BG,OAAO,CAMJ,CAAC,CAAC;MACE,KAAK,E7FtER,OAAO,C6FsEc,UAAU,GAC/B;EArEb,AA2EI,QA3EI,CA2EJ,EAAE,GAAC,EAAE,AAAA,OAAO,CAAC;IACT,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,CAAC,GAChB;EA9EL,AAkFQ,QAlFA,CAgFJ,EAAE,AAAA,OAAO,GAEJ,EAAE,AAAA,OAAO;EAlFlB,QAAQ,CAiFJ,EAAE,AAAA,OAAO,GACJ,EAAE,AAAA,OAAO,CAAC;IACP,OAAO,EAAE,KAAK,GACjB;EApFT,AAwFI,QAxFI,CAwFJ,EAAE,CAAC;IAEC,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC,GAmJZ;IA/OL,AA+FY,QA/FJ,CAwFJ,EAAE,AAMG,SAAS,CACN,CAAC,CAAC;MACE,KAAK,EN4ST,KAA4B,GM3S3B;IAjGb,AAoGgB,QApGR,CAwFJ,EAAE,AAMG,SAAS,CAKN,aAAa,CACT,CAAC,CAAC;MACE,KAAK,ENuSb,KAA4B,GMlSvB;MA1GjB,AAuGoB,QAvGZ,CAwFJ,EAAE,AAMG,SAAS,CAKN,aAAa,CACT,CAAC,AAGI,MAAM,CAAC;QACJ,KAAK,ENoSjB,KAA4B,GMnSnB;IAzGrB,AA8GQ,QA9GA,CAwFJ,EAAE,AAsBG,OAAO,CAAC;MACL,MAAM,EAAE,MAAM,GAoDjB;MAnKT,AAkHgB,QAlHR,CAwFJ,EAAE,AAsBG,OAAO,AAGH,SAAS,CACN,EAAE,CAAC;QACC,OAAO,EAAE,KAAK,GACjB;MApHjB,AAuHY,QAvHJ,CAwFJ,EAAE,AAsBG,OAAO,CASJ,EAAE,CAAC;QACC,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,IAAI,GAKvB;QA9Hb,AA2HgB,QA3HR,CAwFJ,EAAE,AAsBG,OAAO,CASJ,EAAE,CAIE,EAAE,CAAC;UACC,cAAc,EAAE,CAAC,GACpB;MA7HjB,AAgIY,QAhIJ,CAwFJ,EAAE,AAsBG,OAAO,CAkBJ,EAAE,AAAA,OAAO,CAAC,EAAE;MAhIxB,QAAQ,CAwFJ,EAAE,AAsBG,OAAO,GAmBH,EAAE,AAAA,OAAO,CAAC,EAAE,CAAC;QACV,OAAO,EAAE,KAAK,GACjB;MAnIb,AAsIgB,QAtIR,CAwFJ,EAAE,AAsBG,OAAO,GAuBH,EAAE,GACE,CAAC,CAAC;QACC,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,MAAM,GAUpB;QAlJjB,AA0IoB,QA1IZ,CAwFJ,EAAE,AAsBG,OAAO,GAuBH,EAAE,GACE,CAAC,CAIE,CAAC,CAAC;UACE,KAAK,E7F3IV,OAAO;U6F4IF,WAAW,EAAE,MAAM,GACtB;QA7IrB,AA+IoB,QA/IZ,CAwFJ,EAAE,AAsBG,OAAO,GAuBH,EAAE,GACE,CAAC,CASE,GAAG,CAAC;UACA,UAAU,EAAE,GAAG,GAClB;MAjJrB,AAoJgB,QApJR,CAwFJ,EAAE,AAsBG,OAAO,GAuBH,EAAE,AAeE,OAAO,EApJxB,QAAQ,CAwFJ,EAAE,AAsBG,OAAO,GAuBH,EAAE,AAgBE,OAAO,CAAC;QACL,UAAU,ENmPlB,OAA2B;QMlPnB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,KAAK;QACnB,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,IAAI,GAOtB;QAjKjB,AA6JwB,QA7JhB,CAwFJ,EAAE,AAsBG,OAAO,GAuBH,EAAE,AAeE,OAAO,GAQH,CAAC,CACE,CAAC,EA7JzB,QAAQ,CAwFJ,EAAE,AAsBG,OAAO,GAuBH,EAAE,AAgBE,OAAO,GAOH,CAAC,CACE,CAAC,CAAC;UACE,KAAK,E7F9Jd,OAAO,G6F+JD;IA/JzB,AAqKQ,QArKA,CAwFJ,EAAE,CA6EE,EAAE,AAAA,OAAO,GAAC,CAAC,CAAC;MACR,UAAU,EjB3KR,IAAI;MiB4KN,KAAK,E7FzKJ,OAAO,C6FyKU,UAAU;MAC5B,WAAW,EAAE,KAAK;MAClB,YAAY,EAAE,KAAK;MACnB,YAAY,EAAE,IAAI;MAClB,aAAa,EAAE,IAAI,GAKtB;MAhLT,AA6KY,QA7KJ,CAwFJ,EAAE,CA6EE,EAAE,AAAA,OAAO,GAAC,CAAC,CAQP,CAAC,CAAC;QACE,KAAK,E7FhLR,OAAO,C6FgLc,UAAU,GAC/B;IA/Kb,AAkLQ,QAlLA,CAwFJ,EAAE,CA0FE,EAAE,CAAC;MACC,OAAO,EAAE,CAAC,GA0Db;MA7OT,AAqLY,QArLJ,CAwFJ,EAAE,CA0FE,EAAE,AAGG,QAAQ,GAAC,IAAI,CAAC;QACX,YAAY,EAAE,IAAI,GACrB;MAvLb,AAyLY,QAzLJ,CAwFJ,EAAE,CA0FE,EAAE,CAOE,CAAC,CAAC;QACE,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,KAAK,GAQjB;QAnMb,AA6LgB,QA7LR,CAwFJ,EAAE,CA0FE,EAAE,CAOE,CAAC,CAIG,IAAI,CAAC;UACD,aAAa,EAAE,QAAQ;UACvB,QAAQ,EAAE,MAAM;UAChB,WAAW,EAAE,MAAM;UACnB,OAAO,EAAE,KAAK,GACjB;MAlMjB,AAqMY,QArMJ,CAwFJ,EAAE,CA0FE,EAAE,GAmBG,CAAC,CAAC;QACC,OAAO,EAAE,KAAK,GACjB;MAvMb,AAyMY,QAzMJ,CAwFJ,EAAE,CA0FE,EAAE,CAuBE,GAAG,CAAC;QACA,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,KAAK,GACpB;MAhNb,AAmNgB,QAnNR,CAwFJ,EAAE,CA0FE,EAAE,AAgCG,QAAQ,GACJ,CAAC,CAAC,UAAU,CAAC;QACV,OAAO,EAAE,MAAM;QACf,KAAK,E7FrNN,OAAO,G6F0NT;QA1NjB,AAuNoB,QAvNZ,CAwFJ,EAAE,CA0FE,EAAE,AAgCG,QAAQ,GACJ,CAAC,CAAC,UAAU,AAIR,MAAM,CAAC;UACJ,KAAK,ENoLjB,OAA4B,GMnLnB;MAzNrB,AA+NgB,QA/NR,CAwFJ,EAAE,CA0FE,EAAE,AA2CG,OAAO,GAEH,CAAC,CAAC,UAAU,EA/N7B,QAAQ,CAwFJ,EAAE,CA0FE,EAAE,AA4CG,OAAO,AAAA,QAAQ,GACX,CAAC,CAAC,UAAU,CAAC;QACV,OAAO,EAAE,MAAM;QACf,KAAK,E7FnOZ,OAAO,G6FwOH;QAtOjB,AAmOoB,QAnOZ,CAwFJ,EAAE,CA0FE,EAAE,AA2CG,OAAO,GAEH,CAAC,CAAC,UAAU,AAIR,MAAM,EAnO3B,QAAQ,CAwFJ,EAAE,CA0FE,EAAE,AA4CG,OAAO,AAAA,QAAQ,GACX,CAAC,CAAC,UAAU,AAIR,MAAM,CAAC;UACJ,KAAK,ENqKjB,KAA2B,GMpKlB;MArOrB,AAyOY,QAzOJ,CAwFJ,EAAE,CA0FE,EAAE,CAuDE,EAAE,CAAC;QACC,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,MAAM,GACtB;;AAMb,AAGY,KAHP,CACD,WAAW,CACP,IAAI,CACA,GAAG,CAAC;EACA,KAAK,ENmJT,KAA2B,GM3I1B;EAZb,AAMgB,KANX,CACD,WAAW,CACP,IAAI,CACA,GAAG,AAGE,OAAO,EANxB,KAAK,CACD,WAAW,CACP,IAAI,CACA,GAAG,AAIE,MAAM,EAPvB,KAAK,CACD,WAAW,CACP,IAAI,CACA,GAAG,AAKE,MAAM,EARvB,KAAK,CACD,WAAW,CACP,IAAI,CACA,GAAG,AAME,QAAQ,CAAC;IACN,KAAK,EPxJL,KAAkB,GOyJrB;;ACtQjB,AAAA,KAAK,CAAC;EACF,UAAU,ElBiCC,OAAO;EkBhClB,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAkC,CAAC,CAAC,GACnD;;AAED,AAAA,KAAK,CAAC;EAmBF,QAAQ,EAAE,QAAQ;EAClB,WAAW,E9FNC,KAAK;E8FOjB,UAAU,EAAE,IAAI,GAoFnB;EAzGD,AAEI,KAFC,CAED,GAAG;EAFP,KAAK,CAGD,gBAAgB,CAAC;IACb,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,MAAM,GAUrB;IAhBL,AAQQ,KARH,CAED,GAAG,AAME,OAAO;IARhB,KAAK,CAGD,gBAAgB,AAKX,OAAO,CAAC;MACL,MAAM,EAAE,4BAA4B;MACpC,OAAO,EAAE,GAAG,GACf;IAXT,AAaQ,KAbH,CAED,GAAG,AAWE,OAAO;IAbhB,KAAK,CAGD,gBAAgB,AAUX,OAAO,CAAC;MACL,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,GAC7C;EAfT,AAuBI,KAvBC,CAuBD,SAAS,CAAC;IACN,MAAM,EAAE,cAAc,GACzB;EAzBL,AA2BI,KA3BC,CA2BD,QAAQ,CAAC;IAEL,OAAO,EAAE,IAAI,CAAC,IAAqB,GAUtC;IZpBH,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,QAAQ;MYnB1C,AA2BI,KA3BC,CA2BD,QAAQ,CAAC;QAKD,QAAQ,EAAE,MAAM;QAChB,OAAO,EAAE,IAAI,CAAC,IAAqB,GAM1C;IZvBH,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,QAAQ;MYhB1C,AA2BI,KA3BC,CA2BD,QAAQ,CAAC;QAUD,OAAO,EAAE,QAAQ,GAExB;EAvCL,AAyCI,KAzCC,CAyCD,EAAE,GAAC,EAAE,CAAC;IACF,UAAU,EAAE,OAAO;IACnB,aAAa,EAAE,IAAI,GACtB;EZzBH,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,QAAQ;IYnB1C,AA8CI,KA9CC,CA8CD,WAAW,CAAC;MAGJ,QAAQ,EAAE,MAAM;MAChB,YAAY,EAAE,YAAY;MAC1B,KAAK,EAAE,IAAI;MACX,OAAO,EAAE,KAAK,GAErB;EAtDL,AAwDI,KAxDC,CAwDD,IAAI,CAAC;IAED,QAAQ,EAAE,KAAK;IACf,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,CAAC;IACT,KAAK,E9FhCC,IAAI;I8FiCV,SAAS,EAAE,CAAC;IACZ,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,MAAM,GAsCrB;IAxGL,AAoEQ,KApEH,CAwDD,IAAI,GAYC,CAAC,CAAC;MACC,OAAO,EAAE,UAAU;MACnB,cAAc,EAAE,MAAM;MACtB,UAAU,EAAE,MAAM,GACrB;IZrDP,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,QAAQ;MYnB1C,AAwDI,KAxDC,CAwDD,IAAI,CAAC;QAmBG,OAAO,EAAE,UAAU;QACnB,QAAQ,EAAE,MAAM;QAChB,GAAG,EAAE,IAAI;QACT,KAAK,EAAE,GAAG;QACV,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,CAAC,GAsBrB;QAxGL,AAoEQ,KApEH,CAwDD,IAAI,GAYC,CAAC,CAgBK;UACC,OAAO,EAAE,YAAY,GACxB;IAtFb,AAyFQ,KAzFH,CAwDD,IAAI,CAiCA,CAAC,CAAC;MACE,SAAS,EAAE,IAAI,GAClB;IA3FT,AA6FQ,KA7FH,CAwDD,IAAI,AAqCC,MAAM,CAAC;MACJ,UAAU,EPwTV,OAA2B,GOvT9B;IA/FT,AAiGQ,KAjGH,CAwDD,IAAI,AAyCC,SAAS,CAAC;MACP,IAAI,EAAE,CAAC,GACV;IAnGT,AAqGQ,KArGH,CAwDD,IAAI,AA6CC,SAAS,CAAC;MACP,KAAK,EAAE,CAAC,GACX;;AAIT,AAAA,WAAW,CAAC;EACR,aAAa,EAAE,IAAI,GACtB;;AAGD,AAAA,QAAQ,CAAC;EAEL,OAAO,EAAE,IAAI;EACb,WAAW,EAAE,MAAM;EACnB,eAAe,EAAE,MAAM;EACvB,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,MAAM,GAsBlB;EA5BD,AAQI,QARI,CAQJ,WAAW,CAAC;IACR,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE,GAAG,GACjB;EAXL,AAaI,QAbI,CAaJ,EAAE,CAAC;IACC,WAAW,EJhIa,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU;IIiIpF,WAAW,E9FrGG,GAAG;I8FsGjB,UAAU,EAAE,MAAM,GACrB;EAjBL,AAmBI,QAnBI,CAmBJ,EAAE,CAAC;IACC,SAAS,EAAE,IAAI;IACf,aAAa,EAAE,GAAG,CAAC,KAAK,ClB1Fd,OAAO,GkB2FpB;EAtBL,AAwBI,QAxBI,CAwBJ,CAAC,CAAC;IACE,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE,MAAM,GACpB;;AAGL,AAAA,OAAO,CAAC;EACJ,OAAO,EAAE,SAAS;EAClB,KAAK,EAAE,OAA0B;EACjC,SAAS,EAAE,IAAI,GAKlB;EARD,AAKI,OALG,CAKH,CAAC,CAAC;IACE,MAAM,EAAE,CAAC,GACZ;;AL1JL,AAAA,IAAI,COeC;EACJ,WAAW,ENboB,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU;EMc3F,cAAc,EAAE,QAAQ;EACxB,WAAW,EAAE,GAAG;EAChB,SAAS,EvBlBO,OAAO;EuBmBvB,WAAW,EvBlBO,GAAG,GuBmBrB;;AAGD,AAAA,EAAE;AACF,EAAE;AACF,EAAE;AACF,EAAE;AACF,EAAE;AACF,EAAE,CAAC;EACF,WAAW,EN1BoB,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU;EM2BjG,WAAW,EAAE,GAAG;EAChB,cAAc,EAAE,kBAAkB;EAClC,WAAW,EAAE,IAAI;EACjB,cAAc,EAAE,IAAI;EACpB,aAAa,EAAE,UAAU;EACzB,QAAQ,EAAE,OAAO;EACjB,UAAU,EAAE,UAAU;EACtB,WAAW,EAAE,MAAM;EACnB,MAAM,EAAE,QAAqB,CAAC,CAAC,CAAC,OAAqB,CAAC,CAAC,GACvD;;AAED,AAAA,EAAE,CAAC;EACF,UAAU,EAAE,MAAM;EAClB,cAAc,EAAE,IAAI;EACpB,SAAS,EvBzCK,OAAoB,GuB0ClC;;AAED,AAAA,EAAE,CAAC;EACF,cAAc,EAAE,IAAI;EACpB,SAAS,EvB7CK,OAAoB,GuB8ClC;;AAED,AAAA,EAAE,CAAC;EACF,cAAc,EAAE,IAAI;EACpB,SAAS,EvBjDK,MAAoB,GuBkDlC;;AAED,AAAA,EAAE,CAAC;EACF,SAAS,EvBpDK,MAAoB,GuBqDlC;;AAED,AAAA,EAAE,CAAC;EACF,SAAS,EvBvDK,MAAsB,GuBwDpC;;AAED,AAAA,EAAE,CAAC;EACF,SAAS,EvB1DK,MAAsB,GuB2DpC;;AAGD,AAAA,CAAC,CAAC;EACD,MAAM,EvB5DU,MAAwB,CuB4DhB,CAAC,GACzB;;AAGD,AAAA,EAAE;AACF,EAAE,CAAC;EACF,UAAU,EvBlEM,MAAwB;EuBmExC,aAAa,EvBnEG,MAAwB,GuB0ExC;EAVD,AAKC,EALC,CAKD,EAAE;EALH,EAAE,CAMD,EAAE;EALH,EAAE,CAID,EAAE;EAJH,EAAE,CAKD,EAAE,CAAC;IACF,UAAU,EAAE,CAAC;IACb,aAAa,EAAE,CAAC,GAChB;;AAIF,AAAA,UAAU,CAAC;EACV,WAAW,EAAE,IAAI,CAAC,KAAK,CpB1CN,OAAO;EoB2CxB,MAAM,EvB/EU,MAAwB,CuB+EhB,CAAC;EACzB,YAAY,EAAE,OAAmB,GAiBjC;EApBD,AAKC,UALS,CAKT,CAAC,CAAC;IACD,SAAS,EAAE,MAAM;IACjB,KAAK,EVaa,OAAkB,GUZpC;EARF,AAUC,UAVS,CAUT,IAAI,CAAC;IACJ,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,KAAK;IACjB,KAAK,EVOa,OAAkB;IUNpC,SAAS,EAAE,QAAuB,GAKlC;IAnBF,AAgBE,UAhBQ,CAUT,IAAI,AAMF,OAAO,CAAC;MACR,OAAO,EAAE,aAAa,GACtB;;AP3EH,AAAA,GAAG,COgFC;EACH,MAAM,EvBrGU,MAAwB,CuBqGhB,CAAC;EACzB,OAAO,ExBhHa,QAAQ,GwBiH5B;;AAED,AAAA,IAAI,CAAC;EACJ,cAAc,EAAE,MAAM,GACtB;;AAGD,AAAA,KAAK,CAAC;EACL,SAAS,EAAE,QAAuB,GAClC;;AAED,AAAA,EAAE,CAAC;EACF,WAAW,EAAE,IAAI;EACjB,YAAY,EAAE,IAAI;EAClB,UAAU,EAAE,IAAI;EAChB,MAAM,EvBtHU,MAAwB,CuBsHhB,CAAC,GACzB;;AA1CD,AAAA,UAAU,CA6CC;EACV,QAAQ,EAAE,QAAQ,GAClB;;AAED,AAAA,UAAU,CAAC,UAAU,CAAC;EACrB,QAAQ,EAAE,MAAM,GAChB;;AAED,AAAA,UAAU,GAAC,UAAU,GAAC,UAAU,CAAC;EAEhC,MAAM,EAAE,CAAC,GAuET;EAzED,AAIC,UAJS,GAAC,UAAU,GAAC,UAAU,CAI/B,CAAC,CAAC;IACD,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,IAAI;IACnB,KAAK,EAAE,IAAI,GAqBX;IA/BF,AAaG,UAbO,GAAC,UAAU,GAAC,UAAU,CAI/B,CAAC,AAQC,YAAY,AACX,OAAO,CAAC;MACR,QAAQ,EAAE,QAAQ;MAClB,GAAG,EAAE,GAAG;MACR,KAAK,EpB1JK,IAAI;MoB2Jd,WAAW,EAAE,WAAW;MACxB,OAAO,EAAE,IAAI;MACb,IAAI,EAAE,IAAI,GACV;IApBJ,AAsBG,UAtBO,GAAC,UAAU,GAAC,UAAU,CAI/B,CAAC,AAQC,YAAY,AAUX,MAAM,CAAC;MACP,QAAQ,EAAE,QAAQ;MAClB,GAAG,EAAE,GAAG;MACR,KAAK,EpBnKK,IAAI;MoBoKd,IAAI,EAAE,IAAI;MACV,WAAW,EAAE,IAAI;MACjB,OAAO,EAAE,MAAM,GACf;EA7BJ,AAiCC,UAjCS,GAAC,UAAU,GAAC,UAAU,GAiC9B,CAAC,CAAC;IAEF,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,kBAAkB;IAC9B,UAAU,EAAE,OAAO,GACnB;EAtCF,AAwCC,UAxCS,GAAC,UAAU,GAAC,UAAU,GAwC9B,UAAU,GAAC,CAAC,CAAC;IAEb,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAM,sBAAO;IACnC,UAAU,EAAE,OAAO,GAKnB;IAjDF,AA8CE,UA9CQ,GAAC,UAAU,GAAC,UAAU,GAwC9B,UAAU,GAAC,CAAC,AAMX,YAAY,AAAA,MAAM,CAAC;MACnB,OAAO,EAAE,SAAS,GAClB;EAhDH,AAmDC,UAnDS,GAAC,UAAU,GAAC,UAAU,GAmD9B,UAAU,GAAC,UAAU,GAAC,CAAC,CAAC;IAExB,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,kBAAkB;IAC9B,UAAU,EAAE,OAAO,GAKnB;IA5DF,AAyDE,UAzDQ,GAAC,UAAU,GAAC,UAAU,GAmD9B,UAAU,GAAC,UAAU,GAAC,CAAC,AAMtB,YAAY,AAAA,MAAM,CAAC;MACnB,OAAO,EAAE,MAAM,GACf;EA3DH,AA8DC,UA9DS,GAAC,UAAU,GAAC,UAAU,GA8D9B,UAAU,GAAC,UAAU,GAAC,UAAU,GAAC,CAAC,CAAC;IAEnC,WAAW,EAAE,MAAM;IACnB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAM,sBAAO;IACnC,UAAU,EAAE,OAAO,GAKnB;IAvEF,AAoEE,UApEQ,GAAC,UAAU,GAAC,UAAU,GA8D9B,UAAU,GAAC,UAAU,GAAC,UAAU,GAAC,CAAC,AAMjC,YAAY,AAAA,MAAM,CAAC;MACnB,OAAO,EAAE,KAAK,GACd;;AAMH,AAAA,IAAI;AACJ,GAAG;AACH,GAAG;AACH,IAAI,CAAC;EACJ,WAAW,ENzNoB,aAAa,EAAE,SAAS,GM0NvD;;AA1GD,AAAA,IAAI,CA4GC;EACJ,UAAU,EpBhLI,OAAO;EoBiLrB,KAAK,ET+KM,OAA2B;ES9KtC,OAAO,EAAE,WAAW;EACpB,aAAa,EAAE,GAAG,GAClB;;APtMD,AAAA,GAAG,COwMC;EACH,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,MAAM;EACd,UAAU,EpBvLG,OAAO;EoBwLpB,MAAM,EAAE,GAAG,CAAC,KAAK,CpBtOD,IAAI;EoBuOpB,aAAa,EAAE,GAAG;EAClB,WAAW,EAAE,IAAI;EACjB,SAAS,EAAE,IAAI,GAOf;EAdD,AASC,GATE,CASF,IAAI,CAAC;IACJ,KAAK,EpB/LS,OAAO;IoBgMrB,UAAU,EAAE,OAAO;IACnB,SAAS,EAAE,IAAI,GACf;;AAvHF,AAAA,EAAE,CA2HC;EACF,aAAa,EAAE,GAAG,CAAC,KAAK,CpB1MP,OAAO,GoB2MxB;;AAGD,AAAA,WAAW,CAAC;EACX,UAAU,EAAE,KAAK;EACjB,OAAO,EAAE,IAAI;EACb,KAAK,EAAE,IAAI;EACX,KAAK,EAAE,IAAI;EACX,UAAU,EhG/PO,OAAO;EgGgQxB,KAAK,EpBhQQ,IAAI,GoBiQjB;;AAGD,AACC,KADI,CACJ,CAAC,AAAA,YAAY,CAAC;EACb,KAAK,EAAE,IAAI,GACX;;AAHF,AAKC,KALI,CAKJ,CAAC,AAAA,YAAY,AAAA,MAAM,CAAC;EACnB,KAAK,EhG1QW,OAAO,GgG2QvB;;AAIF,AAAA,gBAAgB,GAAC,eAAe,CAAC,qBAAqB,CAAC;EACtD,gBAAgB,EpBhRH,wBAAI,GoBiRjB;;AAED,AAAA,gBAAgB,GAAC,eAAe,CAAC,WAAW,CAAC;EAC5C,gBAAgB,ET6HL,OAA4B,GS5HvC;;AAED,AAAA,gBAAgB,GAAC,eAAe,AAAA,MAAM,CAAC,WAAW,CAAC;EAClD,gBAAgB,EAAE,IAAI,GACtB;;AAED,AAAA,gBAAgB,GAAC,eAAe,AAAA,iBAAiB,CAAC,WAAW,CAAC;EAC7D,gBAAgB,EAAE,IAAI,GACtB;;ACjSD,AAAA,KAAK,CAAC;EACL,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAA8B;EAC7C,YAAY,EAAE,IAAI,GACrB;;AAED,AAAA,EAAE,CAAC;EAEF,UAAU,EAAE,OAA+B;EAC3C,OAAO,EAAE,MAAM,GACf;;AAED,AAAA,EAAE,CAAC;EACF,OAAO,EAAE,MAAM;EACf,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAA8B,GAChD;;ACdD,AAAA,OAAO,CAAC;EbSP,UAAU,ErFLO,OAAO,CqFKL,UAAU;EAC7B,KAAK,ECibM,KAAK,CDjbuB,UAAU;EACjD,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CEuYR,OAA2B,CFvYE,UAAU,GaRlD;EAHD,AbYC,OaZM,AbYL,MAAM,CAAC;IACP,UAAU,EEqYA,OAA2B,CFrYL,UAAU;IAC1C,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CEoYT,OAA2B,CFpYI,UAAU;IACnD,KAAK,EC4aK,KAAK,CD5awB,UAAU,GACjD;EahBF,AbiBC,OajBM,AbiBL,OAAO,CAAC;IACR,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CEgYT,OAA2B,CFhYI,UAAU,GACnD;EanBF,AboBC,OapBM,CboBN,CAAC,CAAC;IACD,KAAK,ECsaK,KAAK,CDtawB,UAAU,GACjD;;AajBF,AAAA,iBAAiB,CAAC;EbIjB,UAAU,ErFMM,OAAyB,CqFNtB,UAAU;EAC7B,KAAK,ECibM,KAAK,CDjbuB,UAAU;EACjD,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CEuYR,OAA2B,CFvYE,UAAU,GaHlD;EAHD,AbOC,iBaPgB,AbOf,MAAM,CAAC;IACP,UAAU,EEqYA,OAA2B,CFrYL,UAAU;IAC1C,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CEoYT,KAA2B,CFpYI,UAAU;IACnD,KAAK,EC4aK,KAAK,CD5awB,UAAU,GACjD;EaXF,AbYC,iBaZgB,AbYf,OAAO,CAAC;IACR,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CEgYT,KAA2B,CFhYI,UAAU,GACnD;EadF,AbeC,iBafgB,CbehB,CAAC,CAAC;IACD,KAAK,ECsaK,KAAK,CDtawB,UAAU,GACjD;;ActBF,AAAA,QAAQ,CAAC;EACR,MAAM,E1BWU,MAAwB,C0BXhB,CAAC;EACzB,WAAW,EAAE,QAAoB;EACjC,YAAY,EAAE,QAAoB;EAClC,QAAQ,EAAE,IAAI,GACd;;AAED,AAAA,OAAO,CAAC;EACP,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,CAAC,CAAC,OAAmB,GAC9B;;AAED,AAAA,kBAAkB,CAAC;EhBUlB,KAAK,EAAE,GAAsB,GgBL7B;EjBIC,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,QAAQ;IiBT1C,AAAA,kBAAkB,CAAC;MhBUlB,KAAK,EAAE,IAAsB,GgBL7B;;AAED,AAAA,oBAAoB,CAAC;EhBGpB,KAAK,EAAE,SAAsB,GgBE7B;EjBHC,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,QAAQ;IiBF1C,AAAA,oBAAoB,CAAC;MhBGpB,KAAK,EAAE,IAAsB,GgBE7B;;AAED,AAAA,mBAAmB,CAAC;EhBJnB,KAAK,EAAE,GAAsB,GgBS7B;EjBVC,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,QAAQ;IiBK1C,AAAA,mBAAmB,CAAC;MhBJnB,KAAK,EAAE,IAAsB,GgBS7B;;AAED,AAAA,YAAY,CAAC;EACZ,KAAK,EAAE,IAAI;EACX,UAAU,EvBjCO,OAAO;EuBkCxB,OAAO,EAAE,QAAqB;EAC9B,KAAK,EtBrCgB,MAAM;EsBsC3B,MAAM,EtBtCe,MAAM;EsBuC3B,aAAa,EAAE,GAAG;EAClB,KAAK,EvBpCQ,IAAI;EuBqCjB,SAAS,EAAE,OAAqB;EAChC,UAAU,EAAE,MAAM,GAClB;;AAED,AAAA,cAAc,CAAC;EACd,UAAU,EvB5CO,OAAO,GuB6CxB;;AAED,AAAA,cAAc,CAAC;EACd,UAAU,EtB/Ca,OAA6B,GsBgDpD;;AAED,AAAA,cAAc,CAAC;EACd,UAAU,EtBlDa,OAA8B,GsBmDrD;;AAED,AAAA,eAAe,CAAC;EACf,WAAW,EAAE,OAAuB,GACpC;;ACvDD,AAAA,WAAW,CAAC;EACV,QAAQ,EAAE,QAAQ,GACnB;;AAGD,AAAA,WAAW,AAAA,MAAM,CAAC;EAChB,QAAQ,EAAE,QAAQ;EAClB,OAAO,EAAE,OAAO;EAChB,OAAO,EAAE,IAAI;EACb,OAAO,EAAE,OAAO;EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CVXE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU;EUY1F,KAAK,EAbc,IAAI;EAcvB,UAAU,EAAE,MAAM;EAClB,eAAe,EAAE,IAAI;EACrB,WAAW,EAAE,IAAI;EACjB,cAAc,EAAE,IAAI;EACpB,cAAc,EAAE,MAAM;EACtB,SAAS,EAAE,UAAU;EACrB,WAAW,EAAE,GAAG;EAChB,cAAc,EAAE,IAAI;EACpB,OAAO,EAAE,gBAAgB;EACzB,UAAU,EAxBe,kBAAkB;EAyB3C,aAAa,EAAE,GAAG;EAClB,sBAAsB,EAAE,oBAAoB,GAC7C;;AAGD,AAAA,WAAW,AAAA,OAAO,CAAC;EACjB,QAAQ,EAAE,QAAQ;EAClB,OAAO,EAAE,OAAO;EAChB,OAAO,EAAE,IAAI;EACb,KAAK,EAAE,CAAC;EACR,MAAM,EAAE,CAAC;EACT,KAAK,EApCoB,kBAAkB;EAqC3C,cAAc,EAAE,IAAI;EACpB,OAAO,EAAE,EAAE;EACX,MAAM,EAAE,qBAAqB,GAC9B;;AAGD,AAGE,WAHS,AAAA,MAAM,AAGd,OAAO,EAHV,WAAW,AAAA,MAAM,AAId,MAAM;AAHT,WAAW,AAAA,OAAO,AAEf,OAAO;AAFV,WAAW,AAAA,OAAO,AAGf,MAAM;AAFT,WAAW,AAAA,MAAM,AACd,OAAO;AADV,WAAW,AAAA,MAAM,AAEd,MAAM,CAAC;EACN,OAAO,EAAE,YAAY;EACrB,eAAe,EAAE,IAAI,GACtB;;AAIH,AAGE,aAHW,AAGV,MAAM;AAFT,cAAc,AAEX,MAAM;AADT,cAAc,AACX,MAAM,CAAC;EACN,GAAG,EAAE,IAAI;EACT,KAAK,EAAE,GAAG;EACV,UAAU,EAAE,GAAG,GAChB;;AAPH,AASE,aATW,AASV,OAAO;AARV,cAAc,AAQX,OAAO;AAPV,cAAc,AAOX,OAAO,CAAC;EACP,GAAG,EAAE,IAAI;EACT,KAAK,EAAE,GAAG;EACV,MAAM,EAAE,IAAI;EACZ,YAAY,EAAE,IAAI;EAClB,mBAAmB,EApEI,kBAAkB,GAqE1C;;AAGH,AACE,cADY,AACX,MAAM,CAAC;EACN,KAAK,EAAE,IAAI;EACX,IAAI,EAAE,GAAG;EACT,WAAW,EAAE,KAAK,GACnB;;AAGH,AAAA,cAAc,AAAA,MAAM,CAAC;EACnB,YAAY,EAAE,KAAK,GACpB;;AAGD,AAGE,aAHW,AAGV,MAAM;AAFT,cAAc,AAEX,MAAM;AADT,cAAc,AACX,MAAM,CAAC;EACN,KAAK,EAAE,GAAG;EACV,MAAM,EAAE,IAAI;EACZ,aAAa,EAAE,GAAG,GACnB;;AAPH,AASE,aATW,AASV,OAAO;AARV,cAAc,AAQX,OAAO;AAPV,cAAc,AAOX,OAAO,CAAC;EACP,GAAG,EAAE,IAAI;EACT,KAAK,EAAE,GAAG;EACV,MAAM,EAAE,IAAI;EACZ,YAAY,EAAE,IAAI;EAClB,gBAAgB,EAnGO,kBAAkB,GAoG1C;;AAGH,AACE,cADY,AACX,MAAM,CAAC;EACN,KAAK,EAAE,IAAI;EACX,IAAI,EAAE,GAAG;EACT,WAAW,EAAE,KAAK,GACnB;;AAGH,AAAA,cAAc,AAAA,MAAM,CAAC;EACnB,YAAY,EAAE,KAAK,GACpB;;AAGD,AAAA,aAAa,AAAA,MAAM;AACnB,aAAa,AAAA,MAAM,CAAC;EAClB,SAAS,EAAE,eAAe,GAC3B;;AAGD,AACE,aADW,AACV,MAAM,CAAC;EACN,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,GAAG;EACX,YAAY,EAAE,GAAG;EACjB,SAAS,EAAE,eAAe,GAC3B;;AANH,AAQE,aARW,AAQV,OAAO,CAAC;EACP,GAAG,EAAE,GAAG;EACR,MAAM,EAAE,GAAG;EACX,IAAI,EAAE,IAAI;EACV,UAAU,EAAE,IAAI;EAChB,iBAAiB,EAvIM,kBAAkB,GAwI1C;;AAIH,AACE,aADW,AACV,MAAM,CAAC;EACN,MAAM,EAAE,GAAG;EACX,IAAI,EAAE,IAAI;EACV,WAAW,EAAE,GAAG;EAChB,SAAS,EAAE,eAAe,GAC3B;;AANH,AAQE,aARW,AAQV,OAAO,CAAC;EACP,GAAG,EAAE,GAAG;EACR,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,GAAG;EACX,UAAU,EAAE,IAAI;EAChB,kBAAkB,EAzJK,kBAAkB,GA0J1C;;AC3JH,oDAAoD;AAEpD,AAAA,cAAc,CAAC;EACX,OAAO,EAAE,WAAW,GACvB;;AAED,AAAA,eAAe,CAAC;EACZ,QAAQ,EAAE,iBAAiB;EAC3B,OAAO,EAAE,YAAY;EACrB,QAAQ,EAAE,QAAQ,GACrB;;AAED,AAAA,eAAe,GAAG,eAAe,CAAC;EAC9B,MAAM,EAAE,eAAe;EACvB,UAAU,EAAE,sBAAsB;EAClC,MAAM,EAAE,IAAI;EACZ,IAAI,EAAE,CAAC;EACP,MAAM,EAAE,CAAC;EACT,UAAU,EAAE,IAAI;EAChB,SAAS,EAAE,eAAe;EAC1B,QAAQ,EAAE,iBAAiB;EAC3B,OAAO,EAAE,CAAC;EACV,QAAQ,EAAE,mBAAmB;EAC7B,GAAG,EAAE,CAAC;EACN,KAAK,EAAE,eAAe,GACzB;;AAED,AAAA,eAAe,GAAG,eAAe,AAAA,mBAAmB,CAAC;EACjD,MAAM,EAAE,CAAC;EACT,KAAK,EAAE,CAAC,GACX;;AAED,AAAA,eAAe,CAAC;EACZ,OAAO,EAAE,IAAI,GAChB;;AACD,AAAA,eAAe,EAAE,eAAe,CAAC,GAAG,CAAC;EACjC,UAAU,EAAE,WAAW,GAC1B;;AAED,AAAA,eAAe,AAAA,SAAS,AAAA,uBAAuB;AAC/C,eAAe,AAAA,SAAS,AAAA,uBAAuB,CAAC;EAC5C,OAAO,EAAE,KAAK,GACjB;;AAED,AAAA,eAAe,CAAC,WAAW;AAC3B,eAAe,CAAC,aAAa,CAAC;EAC1B,MAAM,EAAE,OAAO,GAClB;;AAKD,AAAA,gBAAgB,GAAG,eAAe,CAAC;EAC/B,QAAQ,EAAE,iBAAiB,GAC9B;;AACD,AAAA,gBAAgB,GAAG,eAAe,GAAG,QAAQ,CAAC;EAC1C,MAAM,EAAE,eAAe;EACvB,UAAU,EAAE,UAAU;EACtB,MAAM,EAAE,eAAe;EACvB,MAAM,EAAE,CAAC;EACT,UAAU,EAAE,eAAe;EAC3B,SAAS,EAAE,eAAe;EAC1B,QAAQ,EAAE,iBAAiB;EAC3B,OAAO,EAAE,IAAI;EACb,OAAO,EAAE,GAAG;EACZ,QAAQ,EAAE,mBAAmB;EAC7B,GAAG,EAAE,CAAC;EACN,KAAK,EAAE,eAAe,GACzB;;AACD,AAAA,gBAAgB,GAAG,eAAe,GAAG,QAAQ,AAAA,mBAAmB,CAAC;EAC7D,MAAM,EAAE,CAAC;EACT,KAAK,EAAE,CAAC,GACX;;AAKD,wDAAwD;AAExD,AAAA,gBAAgB,GAAG,eAAe;AAClC,gBAAgB,GAAG,eAAe,CAAC,GAAG,CACtC;EACI,MAAM,EAAE,IAAI;EACZ,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;EACV,QAAQ,EAAE,QAAQ;EAClB,OAAO,EAAE,EAAE,GACd;;AAED,AAAA,gBAAgB,GAAG,eAAe,CAAC,GAAG,CAAC;EACnC,OAAO,EAAE,KAAK;EACd,MAAM,EAAE,IAAI;EACZ,IAAI,EAAE,CAAC;EACP,GAAG,EAAE,CAAC;EACN,KAAK,EAAE,IAAI,GACd;;AAED,AAAA,gBAAgB,GAAG,eAAe,AAAA,SAAS,CAAC;EACxC,MAAM,EAAE,GAAG;EACX,MAAM,EAAE,GAAG;EACX,IAAI,EAAE,CAAC;EACP,KAAK,EAAE,IAAI,GACd;;AAED,AAAA,gBAAgB,GAAG,eAAe,AAAA,SAAS,CAAC;EACxC,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,GAAG;EACV,GAAG,EAAE,CAAC;EACN,KAAK,EAAE,GAAG,GACb;;AAED,AAAA,gBAAgB,GAAG,eAAe,CAAC,qBAAqB,CAAC;EACrD,QAAQ,EAAE,MAAM,GACnB;;AAED,AAAA,gBAAgB,GAAG,eAAe,CAAC,qBAAqB;AACxD,gBAAgB,GAAG,eAAe,CAAC,qBAAqB;AACxD,gBAAgB,GAAG,eAAe,CAAC,WAAW,CAAC;EAC3C,qBAAqB,EAAE,GAAG;EAC1B,kBAAkB,EAAE,GAAG;EACvB,aAAa,EAAE,GAAG,GACrB;;AAED,AAAA,gBAAgB,GAAG,eAAe,CAAC,qBAAqB;AACxD,gBAAgB,GAAG,eAAe,CAAC,WAAW,CAAC;EAC3C,UAAU,EAAC,qDAAqD;EAChE,MAAM,EAAE,iBAAiB;EACzB,OAAO,EAAE,GAAG,GACf;;AAGD,yDAAyD;AAEzD,AAAA,gBAAgB,GAAG,eAAe,AAAA,SAAS,AAAA,uBAAuB,CAAC,qBAAqB,CAAC;EAAE,IAAI,EAAE,KAAK,GAAI;;AAC1G,AAAA,gBAAgB,GAAG,eAAe,AAAA,SAAS,AAAA,uBAAuB,CAAC,qBAAqB,CAAC;EAAE,GAAG,EAAE,KAAK,GAAI;;AAGzG,AAAA,gBAAgB,GAAG,eAAe,AAAA,SAAS,AAAA,uBAAuB,CAAC,oBAAoB,CAAC;EAAE,IAAI,EAAE,KAAK,GAAI;;AACzG,AAAA,gBAAgB,GAAG,eAAe,AAAA,SAAS,AAAA,uBAAuB,CAAC,oBAAoB,CAAC;EAAE,GAAG,EAAE,KAAK,GAAI;;ACrIxG,AACI,gBADY,CACZ,KAAK,CAAC;EACF,QAAQ,EAAE,OAAO,GAKpB;EAPL,AAIQ,gBAJQ,CACZ,KAAK,CAGD,QAAQ,CAAC;IACL,QAAQ,EAAE,OAAO,GACpB;;AAKT,AACI,eADW,CACX,CAAC,CAAC;EACE,cAAc,EAAE,MAAM,GACzB;;AAIL,AAAA,aAAa,CAAC,GAAG,CAAC;EACd,MAAM,EAAE,YAAY,GACvB;;AAGD,AAIQ,UAJE,CAEN,WAAW,CAEP,EAAE,CAAC;EACC,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,QAAQ;EACjB,QAAQ,EAAE,QAAQ,GACrB;;AATT,AAWQ,UAXE,CAEN,WAAW,CASP,EAAE,CAAC;EACC,MAAM,EAAE,aAAa;EACrB,OAAO,EAAE,IAAI;EACb,QAAQ,EAAE,QAAQ,GAcrB;EA5BT,AAgBY,UAhBF,CAEN,WAAW,CASP,EAAE,CAKE,EAAE,CAAC;IACC,WAAW,EAAE,IAAI,GACpB;EAlBb,AAoBY,UApBF,CAEN,WAAW,CASP,EAAE,CASE,MAAM,EApBlB,UAAU,CAEN,WAAW,CASP,EAAE,CXpBV,KAAK,EWSL,UAAU,CAEN,WAAW,CASP,EAAE,CLlCV,EAAE,CK2CiB;IACH,eAAe,EAAE,SAAS,GAC7B;EAtBb,AAwBY,UAxBF,CAEN,WAAW,CASP,EAAE,CAaE,EAAE,CAAC;IACC,WAAW,EAAE,KAAK,GACrB;;AA1Bb,AA8BQ,UA9BE,CAEN,WAAW,CA4BP,EAAE,CAAA,AAAA,KAAC,EAAO,OAAO,AAAd,EAAgB;EACf,SAAS,EAAE,IAAI;EACf,QAAQ,EAAE,QAAQ;EAClB,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,QAAQ;EACjB,KAAK,EAAE,CAAC;EACR,OAAO,EAAE,IAAI;EACb,KAAK,EAAE,IAAI;EACX,UAAU,EPjEV,OAAO,GOkEV;;AAvCT,AAyCQ,UAzCE,CAEN,WAAW,CAuCP,EAAE,CAAC,EAAE,CAAC;EACF,UAAU,EAAE,eAAe;EAC3B,KAAK,EAAE,eAAe,GACzB;;AA5CT,AA8CQ,UA9CE,CAEN,WAAW,CA4CP,QAAQ,GAAC,EAAE,CAAC;EACR,UAAU,EAAE,OAAwB;EACpC,MAAM,EAAE,GAAG,CAAC,KAAK,CP3EjB,OAAO;EO4EP,KAAK,EP3EL,OAAO,GOiFV;EAvDT,AAmDY,UAnDF,CAEN,WAAW,CA4CP,QAAQ,GAAC,EAAE,CAKP,EAAE,CAAC;IACC,UAAU,EP7EhB,OAAO,GO+EJ;;AAtDb,AAyDQ,UAzDE,CAEN,WAAW,CAuDP,QAAQ,GAAC,EAAE,CAAC;EACR,UAAU,EAAE,OAAsB;EAClC,MAAM,EAAE,GAAG,CAAC,KAAK,CPpFnB,OAAO;EOqFL,KAAK,EPpFL,OAAO,GOyFV;EAjET,AA8DY,UA9DF,CAEN,WAAW,CAuDP,QAAQ,GAAC,EAAE,CAKP,EAAE,CAAC;IACC,UAAU,EPtFZ,OAAO,GOuFR;;AAhEb,AAmEQ,UAnEE,CAEN,WAAW,CAiEP,QAAQ,GAAC,EAAE,CAAC;EACR,UAAU,EAAE,OAA0B;EACtC,MAAM,EAAE,GAAG,CAAC,KAAK,CP5Ff,OAAO;EO6FT,KAAK,EP5FH,OAAO,GOiGZ;EA3ET,AAwEY,UAxEF,CAEN,WAAW,CAiEP,QAAQ,GAAC,EAAE,CAKP,EAAE,CAAC;IACC,UAAU,EP5FZ,OAAO,GO6FR;;AA1Eb,AA6EQ,UA7EE,CAEN,WAAW,CA2EP,QAAQ,GAAC,EAAE,CAAC;EACR,UAAU,EAAE,OAA0B;EACtC,MAAM,EAAE,GAAG,CAAC,KAAK,CPlGf,OAAO;EOmGT,KAAK,EPlGD,OAAO,GOuGd;EArFT,AAkFY,UAlFF,CAEN,WAAW,CA2EP,QAAQ,GAAC,EAAE,CAKP,EAAE,CAAC;IACC,UAAU,EPtGZ,OAAO,GOuGR;;AAKb,AAAA,QAAQ,CAAC;EACL,UAAU,EtGhHQ,OAA4B;EsGiH9C,aAAa,EAAE,GAAG;EAClB,MAAM,EAAE,eAAe;EACvB,OAAO,EAAE,MAAM;EACf,MAAM,EAAE,CAAC;EACT,UAAU,EAAE,IAAI;EAChB,KAAK,Ef+RG,OAA2B,GetRtC;EAhBD,AASI,QATI,CASJ,CAAC,CAAC;IACE,KAAK,Ef4RD,OAA2B,GevRlC;IAfL,AAYQ,QAZA,CASJ,CAAC,AAGI,MAAM,CAAC;MACJ,KAAK,EfyRL,OAA2B,GexR9B;;AAKT,AAAA,gBAAgB,CAAC;EAGb,QAAQ,EAAE,QAAQ;EAClB,OAAO,EAAE,CAAC;EAEV,KAAK,EAAE,KAAK;EACZ,OAAO,EAAE,KAAK,GACjB;;AAGD,AAAA,KAAK,CAAC,YAAY,CAAC;EAIf,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,KAAK;EACd,aAAa,EAAE,CAAC;EAChB,YAAY,EAAE,CAAC;EAEf,WAAW,EAAE,GAAG,GAKnB;EAdD,AAWI,KAXC,CAAC,YAAY,CAWd,IAAI,CAAC;IACD,OAAO,EAAE,QAAQ,GACpB;;ApBxIH,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,QAAQ;EWf1C,AAAA,QAAQ,CS4JK;IACL,KAAK,EtGlJW,KAAK,GsGmJxB;ERlKL,AAAA,KAAK,CQoKK;IACF,WAAW,EtGtJK,KAAK,GsGuJxB;;ApBtJH,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,QAAQ;EWZ1C,AAAA,QAAQ,CSsKK;IACL,KAAK,EtG5JW,KAAK;IsG6JrB,IAAI,EtG7JY,MAAK,GsG8JxB;ER7KL,AAAA,KAAK,CQ+KK;IACF,WAAW,EAAE,CAAC;IACd,KAAK,EAAE,IAAI,GACd;EAED,AAAA,eAAe,CAAC;IACZ,QAAQ,EAAE,MAAM,GAsBnB;IAvBD,AAGI,eAHW,CAGX,QAAQ,CAAC;MACL,IAAI,EAAE,CAAC,GACV;IALL,AAOI,eAPW,CAOX,KAAK,CAAC;MACF,WAAW,EtG7KC,KAAK;MsG+KjB,QAAQ,EAAE,MAAM,GACnB;IAXL,AAaI,eAbW,CAaX,QAAQ,CAAC;MACL,QAAQ,EAAE,QAAQ;MAClB,IAAI,EAAE,CAAC;MACP,KAAK,EAAE,CAAC;MACR,GAAG,EAAE,CAAC;MACN,MAAM,EAAE,CAAC;MACT,OAAO,EAAE,EAAE;MACX,UAAU,EAAE,wBAAuB;MACnC,MAAM,EAAE,OAAO,GAClB;;AAKT,AAAA,kBAAkB,CAAC;EACf,gBAAgB,EAAE,yBAAyB;EAC3C,mBAAmB,EAAE,OAAO;EAC5B,eAAe,EAAE,SAAS;EAC1B,iBAAiB,EAAE,SAAS;EAC5B,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,OAA6B;EACrC,GAAG,EAAE,IAAI;EACT,OAAO,EAAE,YAAY;EACrB,cAAc,EAAE,MAAM;EACtB,QAAQ,EAAE,QAAQ;EAClB,KAAK,EAAE,OAAuB;EAC9B,gBAAgB,E1B9KL,OAAO;E0B+KlB,WAAW,EAAE,MAAM;EACnB,MAAM,EAAE,OAAO;EACf,aAAa,EAAE,WAAW,GAkB7B;EAjCD,AAiBI,kBAjBc,AAiBb,MAAM,CAAC;IACJ,gBAAgB,EAAE,OAAoB,GACzC;EAED,AAAA,GAAG,CArBP,kBAAkB,CAqBR;IACF,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAE,GAAG;IACV,GAAG,EAAE,GAAG;IACR,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,GAAG,GAKrB;IAXD,AAQI,GARD,CArBP,kBAAkB,AA6BT,MAAM,CAAC;MACJ,gBAAgB,EAAE,OAAO,GAC5B;;AAKT,AAAA,eAAe,CAAC;EACZ,uBAAuB,EAAE,WAAW;EACpC,oBAAoB,EAAE,WAAW;EACjC,eAAe,EAAE,WAAW,GAC/B" +} \ No newline at end of file diff --git a/themes/learn2-git-sync/css/styles/sunrise.css b/themes/learn2-git-sync/css/styles/sunrise.css new file mode 100644 index 0000000..a53a48d --- /dev/null +++ b/themes/learn2-git-sync/css/styles/sunrise.css @@ -0,0 +1,1116 @@ +@charset "UTF-8"; +@import url(//fonts.googleapis.com/css?family=Montserrat:400|Muli:300,400|Inconsolata); +#top-github-link, #body #breadcrumbs { + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); } + +.button, .button-secondary { + display: inline-block; + padding: 7px 12px; } + .button:active, .button-secondary:active { + margin: 2px 0 -2px 0; } + +/* + The Ultimate Hover Color Function + @author Gray Gilmore - http://code.graygilmore.com + + The goal of this Sass function is provide a hover color that works + with any color on any background. No longer do we need to bundle + hover color options with our themes, let Sassy McSasserson take care + of that for you. + + The hover color, seen in this demo as "After" text, must be visible in + all situations and, hopefully, pass the WCAG 2.0 contrast ratio [1] + formula (4.5:1). + + [1] http://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast + + contrast-ratio() help from @davidkaneda + + + ## Usage ## + + a { + color: $link-color; + + &:hover { + color: hover($background-color, $link-color); + } + } + + button { + background: $button-background; + color: $button-color; + + &:hover { + background: hover($background-color, $button-background); + } + } + + ## End Usage ## + +*/ +/** + * Calculate the luminance for a color. + * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + */ +/** + * Calculate the contrast ratio between two colors. + * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + */ +/** + * Determine whether to use dark or light text on top of given color. + * Returns black for dark text and white for light text. + */ +/* + WCAG color contrast formula + https://www.w3.org/TR/2016/NOTE-WCAG20-TECHS-20161007/G18#G18-procedure + + @see https://codepen.io/giana/project/full/ZWbGzD + + This pen uses the non-standard Sass pow() function + https://css-tricks.com/snippets/sass/power-function/ + Using it outside of CodePen requires you provide your own pow() function with support for decimals + + To generate random colors, we're also using a two-variable random() function includded with compass. +*/ +.ratio::after { + content: "19"; } + +.balance::after { + content: "5"; } + +.color-block .color1 { + background: #624e28; + color: #fff; } + .color-block .color1::after { + content: "#624e28"; } + +.color-block .color2 { + background: #4f894e; + color: #fff; } + .color-block .color2::after { + content: "#4f894e"; } + +.fix-color .color:nth-child(2) { + background: #000; + color: #fff; } + .fix-color .color:nth-child(2)::after { + content: "#000"; } + +.fix-color .color:nth-child(3) { + background: #fff; + color: #000; } + .fix-color .color:nth-child(3)::after { + content: "#fff"; } + +.fix-contrast .color:nth-child(2) { + background: #0a0602; + color: #fff; } + .fix-contrast .color:nth-child(2)::after { + content: "#0a0602"; } + +.fix-contrast .color:nth-child(3) { + background: #f6f9f6; + color: #000; } + .fix-contrast .color:nth-child(3)::after { + content: "#f6f9f6"; } + +.best-contrast .color:nth-child(2) { + background: #1d1302; + color: #fff; } + .best-contrast .color:nth-child(2)::after { + content: "#1d1302"; } + +.best-contrast .color:nth-child(3) { + background: #ffff55; + color: #000; } + .best-contrast .color:nth-child(3)::after { + content: "#ffff55"; } + +.scale-luminance .color:nth-child(2) { + background: #947b56; + color: #fff; } + .scale-luminance .color:nth-child(2)::after { + content: "#947b56"; } + +.check-contrast .result::after { + content: "false"; } + +.luminance .result::after { + content: "0.08387, 0.20127"; } + +body #sidebar ul li.active > a { + color: #000000 !important; } + +body { + background: #ffff8f; + color: #000000; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +a { + color: black; } + a:link, a:visited { + color: black; } + a:hover, a:active { + color: black; } + +#body-inner a { + text-decoration: underline; + text-decoration-style: dotted; } + #body-inner a:hover { + text-decoration-style: solid; } + +pre { + position: relative; } + +.bg { + background: #fff; + border: 1px solid #eaeaea; } + +b, strong, label, th { + font-weight: 600; } + +.default-animation, #header #logo-svg, #header #logo-svg path, #sidebar, #sidebar ul, #body, #body .padding, #body .nav { + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; } + +fieldset { + border: 1px solid #ddd; } + +textarea, input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], select[multiple=multiple] { + background-color: white; + border: 1px solid #ddd; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); } + textarea:hover, input[type="email"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="url"]:hover, input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="month"]:hover, input[type="time"]:hover, input[type="week"]:hover, select[multiple=multiple]:hover { + border-color: #c4c4c4; } + textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus { + border-color: #1694CA; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(19, 131, 179, 0.7); } + +#header { + background: #ec9e69; + color: #fbece1; + text-align: center; + padding: 1rem; } + #header a { + display: inline-block; } + #header #logo-svg { + width: 8rem; + height: 2rem; } + #header #logo-svg path { + fill: #fff; } + +.searchbox { + margin-top: 0.5rem; + position: relative; + border: 1px solid #e98f52; + background: #efad80; + border-radius: 4px; } + .searchbox label { + color: rgba(255, 255, 255, 0.8); + position: absolute; + left: 10px; + top: 3px; } + .searchbox span { + color: rgba(255, 255, 255, 0.6); + position: absolute; + right: 10px; + top: 3px; + cursor: pointer; } + .searchbox span:hover { + color: rgba(255, 255, 255, 0.9); } + .searchbox input { + display: inline-block; + color: #fcefe6; + width: 100%; + height: 30px; + background: transparent; + border: 0; + padding: 0 25px 0 30px; + margin: 0; + font-weight: 400; } + .searchbox input::-webkit-input-placeholder { + color: #fbe9dc; } + .searchbox input::-moz-placeholder { + color: #fbe9dc; } + .searchbox input:-moz-placeholder { + color: #fbe9dc; } + .searchbox input:-ms-input-placeholder { + color: #fbe9dc; } + +#sidebar-toggle { + display: none; } + @media only all and (max-width: 47.938em) { + #sidebar-toggle { + display: inline-block; } } + +#sidebar { + background-color: #a75015; + position: fixed; + top: 0; + width: 300px; + bottom: 0; + left: 0; + font-weight: 500; + font-size: 15px; + border-right: 1px solid #c75f19; } + #sidebar a, + #sidebar i { + color: white; } + #sidebar a:hover, + #sidebar i:hover { + color: #f4eae2; } + #sidebar a.subtitle, + #sidebar i.subtitle { + color: rgba(255, 255, 255, 0.6); } + #sidebar hr { + border-bottom: 1px solid #994a13; } + #sidebar a.padding { + padding: 0 1rem; } + #sidebar h5 { + margin: 2rem 0 0; + position: relative; + line-height: 2; } + #sidebar h5 a { + display: block; + margin-left: 0; + margin-right: 0; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar h5 i { + color: rgba(255, 255, 255, 0.6); + position: absolute; + right: 0.6rem; + top: 0.7rem; + font-size: 80%; } + #sidebar h5.parent a { + background: #874111; + color: white !important; } + #sidebar h5.active a { + background: #fff; + color: #000000 !important; } + #sidebar h5.active i { + color: #000000 !important; } + #sidebar h5 + ul.topics { + display: none; + margin-top: 0; } + #sidebar h5.parent + ul.topics, #sidebar h5.active + ul.topics { + display: block; } + #sidebar ul { + list-style: none; + padding: 0; + margin: 0; } + #sidebar ul.searched a { + color: white; } + #sidebar ul.searched .search-match a { + color: white; } + #sidebar ul.searched .search-match a:hover { + color: white; } + #sidebar ul.topics { + margin: 0 1rem; } + #sidebar ul.topics.searched ul { + display: block; } + #sidebar ul.topics ul { + display: none; + padding-bottom: 1rem; } + #sidebar ul.topics ul ul { + padding-bottom: 0; } + #sidebar ul.topics li.parent ul, #sidebar ul.topics > li.active ul { + display: block; } + #sidebar ul.topics > li > a { + line-height: 2rem; + font-size: 1.1rem; } + #sidebar ul.topics > li > a b { + color: white; + font-weight: normal; } + #sidebar ul.topics > li > a .fa { + margin-top: 9px; } + #sidebar ul.topics > li.parent, #sidebar ul.topics > li.active { + background: #904512; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul.topics > li.parent > a b, #sidebar ul.topics > li.active > a b { + color: white; } + #sidebar ul li.active > a { + background: #fff; + color: #000000 !important; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul li.active > a b { + color: #000000 !important; } + #sidebar ul li { + padding: 0; } + #sidebar ul li.visited + span { + margin-right: 16px; } + #sidebar ul li a { + display: block; + padding: 2px 0; } + #sidebar ul li a span { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + display: block; } + #sidebar ul li > a { + padding: 4px 0; } + #sidebar ul li .fa { + display: none; + float: right; + font-size: 13px; + min-width: 16px; + margin: 4px 0 0 0; + text-align: right; } + #sidebar ul li.visited > a .read-icon { + color: #ca384f; + display: inline; } + #sidebar ul li li { + padding-left: 1rem; + text-indent: 0.2rem; } + +#body #navigation .nav .fa { + color: #080401; } + #body #navigation .nav .fa:active, #body #navigation .nav .fa:focus, #body #navigation .nav .fa:hover, #body #navigation .nav .fa:visited { + color: #4c250a; } + +#main { + background: #f7f7f7; + margin: 0 0 1.563rem 0; } + +#body { + position: relative; + margin-left: 300px; + min-height: 100%; } + #body img, #body .video-container { + margin: 3rem auto; + display: block; + text-align: center; } + #body img.border, #body .video-container.border { + border: 2px solid #e6e6e6 !important; + padding: 2px; } + #body img.shadow, #body .video-container.shadow { + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); } + #body .bordered { + border: 1px solid #ccc; } + #body .padding { + padding: 3rem 6rem; } + @media only all and (max-width: 59.938em) { + #body .padding { + position: static; + padding: 15px 3rem; } } + @media only all and (max-width: 47.938em) { + #body .padding { + padding: 5px 1rem; } } + #body h1 + hr { + margin-top: -1.7rem; + margin-bottom: 3rem; } + @media only all and (max-width: 59.938em) { + #body #navigation { + position: static; + margin-right: 0 !important; + width: 100%; + display: table; } } + #body .nav { + position: fixed; + top: 0; + bottom: 0; + width: 4rem; + font-size: 0; + height: 100%; + cursor: pointer; + display: table; + text-align: center; } + #body .nav > i { + display: table-cell; + vertical-align: middle; + text-align: center; } + @media only all and (max-width: 59.938em) { + #body .nav { + display: table-cell; + position: static; + top: auto; + width: 50%; + text-align: center; + height: 100px; + line-height: 100px; + padding-top: 0; } + #body .nav > i { + display: inline-block; } } + #body .nav i { + font-size: 50px; } + #body .nav:hover { + background: #ffff8f; } + #body .nav.nav-pref { + left: 0; } + #body .nav.nav-next { + right: 0; } + +#body-inner { + margin-bottom: 5rem; } + +#chapter { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 2rem 0; } + #chapter #body-inner { + padding-bottom: 3rem; + max-width: 80%; } + #chapter h3 { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-align: center; } + #chapter h1 { + font-size: 5rem; + border-bottom: 4px solid #F0F2F4; } + #chapter p { + text-align: center; + font-size: 1.2rem; } + +#footer { + padding: 3rem 1rem; + color: #e6e6e6; + font-size: 13px; } + #footer p { + margin: 0; } + +body { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + letter-spacing: -0.03rem; + font-weight: 400; } + +h1, h2, h3, h4, h5, h6 { + font-family: "Montserrat", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-rendering: optimizeLegibility; + line-height: 150%; + letter-spacing: -0px; } + +h1 { + text-align: center; + letter-spacing: -3px; } + +h2 { + letter-spacing: -2px; } + +h3 { + letter-spacing: -1px; } + +blockquote { + border-left: 10px solid #F0F2F4; } + blockquote p { + font-size: 1.1rem; + color: #666666; } + blockquote cite { + display: block; + text-align: right; + color: #333333; + font-size: 1.2rem; } + +blockquote { + position: relative; } + +blockquote blockquote { + position: static; } + +blockquote > blockquote > blockquote { + margin: 0; } + blockquote > blockquote > blockquote p { + padding: 15px; + display: block; + font-size: 1rem; + margin-top: 0rem; + margin-bottom: 0rem; + color: #666; } + blockquote > blockquote > blockquote p:first-child:before { + position: absolute; + top: 2px; + color: #fff; + font-family: FontAwesome; + content: ''; + left: 10px; } + blockquote > blockquote > blockquote p:first-child:after { + position: absolute; + top: 2px; + color: #fff; + left: 2rem; + font-weight: bold; + content: 'Info'; } + blockquote > blockquote > blockquote > p { + margin-left: -71px; + border-top: 30px solid #F0B37E; + background: #FFF2DB; } + blockquote > blockquote > blockquote > blockquote > p { + margin-left: -94px; + border-top: 30px solid rgba(217, 83, 79, 0.8); + background: #FAE2E2; } + blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Warning'; } + blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -118px; + border-top: 30px solid #6AB0DE; + background: #E7F2FA; } + blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Note'; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -142px; + border-top: 30px solid rgba(92, 184, 92, 0.8); + background: #E6F9E6; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Tip'; } + +code, +kbd, +pre, +samp { + font-family: "Inconsolata", monospace; } + +code { + background: #f9f2f4; + color: #9c1d3d; + padding: .2rem .4rem; + border-radius: 3px; } + +pre { + padding: 1rem; + margin: 2rem 0; + background: #f6f6f6; + border: 1px solid #ddd; + border-radius: 2px; + line-height: 1.15; + font-size: 1rem; } + pre code { + color: #237794; + background: inherit; + font-size: 1rem; } + +hr { + border-bottom: 4px solid #F0F2F4; } + +.page-title { + margin-top: -25px; + padding: 25px; + float: left; + clear: both; + background: #ca384f; + color: #fff; } + +#body a.anchor-link { + color: #ccc; } + +#body a.anchor-link:hover { + color: #ca384f; } + +.scrollbar-inner > .scroll-element .scroll-element_track { + background-color: rgba(255, 255, 255, 0.3); } + +.scrollbar-inner > .scroll-element .scroll-bar { + background-color: #b5d1eb; } + +.scrollbar-inner > .scroll-element:hover .scroll-bar { + background-color: #ccc; } + +.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar { + background-color: #ccc; } + +table { + border: 1px solid #eaeaea; + table-layout: auto; } + +th { + background: #f7f7f7; + padding: 0.5rem; } + +td { + padding: 0.5rem; + border: 1px solid #eaeaea; } + +.button { + background: #ca384f !important; + color: white !important; + box-shadow: 0 3px 0 #d15065 !important; } + .button:hover { + background: #d15065 !important; + box-shadow: 0 3px 0 #d7687a !important; + color: white !important; } + .button:active { + box-shadow: 0 1px 0 #d7687a !important; } + .button i { + color: white !important; } + +.button-secondary { + background: #902637 !important; + color: white !important; + box-shadow: 0 3px 0 #77202e !important; } + .button-secondary:hover { + background: #77202e !important; + box-shadow: 0 3px 0 #5f1925 !important; + color: white !important; } + .button-secondary:active { + box-shadow: 0 1px 0 #5f1925 !important; } + .button-secondary i { + color: white !important; } + +.bullets { + margin: 1.7rem 0; + margin-left: -0.85rem; + margin-right: -0.85rem; + overflow: auto; } + +.bullet { + float: left; + padding: 0 0.85rem; } + +.two-column-bullet { + width: 50%; } + @media only all and (max-width: 47.938em) { + .two-column-bullet { + width: 100%; } } + +.three-column-bullet { + width: 33.33333%; } + @media only all and (max-width: 47.938em) { + .three-column-bullet { + width: 100%; } } + +.four-column-bullet { + width: 25%; } + @media only all and (max-width: 47.938em) { + .four-column-bullet { + width: 100%; } } + +.bullet-icon { + float: left; + background: #1694CA; + padding: 0.875rem; + width: 3.5rem; + height: 3.5rem; + border-radius: 50%; + color: #fff; + font-size: 1.75rem; + text-align: center; } + +.bullet-icon-1 { + background: #1694CA; } + +.bullet-icon-2 { + background: #16cac4; } + +.bullet-icon-3 { + background: #b2ca16; } + +.bullet-content { + margin-left: 4.55rem; } + +.tooltipped { + position: relative; } + +.tooltipped:after { + position: absolute; + z-index: 1000000; + display: none; + padding: 5px 8px; + font: normal normal 11px/1.5 "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + color: #fff; + text-align: center; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-wrap: break-word; + white-space: pre; + pointer-events: none; + content: attr(aria-label); + background: rgba(0, 0, 0, 0.8); + border-radius: 3px; + -webkit-font-smoothing: subpixel-antialiased; } + +.tooltipped:before { + position: absolute; + z-index: 1000001; + display: none; + width: 0; + height: 0; + color: rgba(0, 0, 0, 0.8); + pointer-events: none; + content: ""; + border: 5px solid transparent; } + +.tooltipped:hover:before, .tooltipped:hover:after, +.tooltipped:active:before, +.tooltipped:active:after, +.tooltipped:focus:before, +.tooltipped:focus:after { + display: inline-block; + text-decoration: none; } + +.tooltipped-s:after, +.tooltipped-se:after, +.tooltipped-sw:after { + top: 100%; + right: 50%; + margin-top: 5px; } + +.tooltipped-s:before, +.tooltipped-se:before, +.tooltipped-sw:before { + top: auto; + right: 50%; + bottom: -5px; + margin-right: -5px; + border-bottom-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-se:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-sw:after { + margin-right: -15px; } + +.tooltipped-n:after, +.tooltipped-ne:after, +.tooltipped-nw:after { + right: 50%; + bottom: 100%; + margin-bottom: 5px; } + +.tooltipped-n:before, +.tooltipped-ne:before, +.tooltipped-nw:before { + top: -5px; + right: 50%; + bottom: auto; + margin-right: -5px; + border-top-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-ne:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-nw:after { + margin-right: -15px; } + +.tooltipped-s:after, +.tooltipped-n:after { + transform: translateX(50%); } + +.tooltipped-w:after { + right: 100%; + bottom: 50%; + margin-right: 5px; + transform: translateY(50%); } + +.tooltipped-w:before { + top: 50%; + bottom: 50%; + left: -5px; + margin-top: -5px; + border-left-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-e:after { + bottom: 50%; + left: 100%; + margin-left: 5px; + transform: translateY(50%); } + +.tooltipped-e:before { + top: 50%; + right: -5px; + bottom: 50%; + margin-top: -5px; + border-right-color: rgba(0, 0, 0, 0.8); } + +/*************** SCROLLBAR BASE CSS ***************/ +.highlightable { + padding: 25px 0 15px; } + +.scroll-wrapper { + overflow: hidden !important; + padding: 0 !important; + position: relative; } + +.scroll-wrapper > .scroll-content { + border: none !important; + box-sizing: content-box !important; + height: auto; + left: 0; + margin: 0; + max-height: none; + max-width: none !important; + overflow: scroll !important; + padding: 0; + position: relative !important; + top: 0; + width: auto !important; } + +.scroll-wrapper > .scroll-content::-webkit-scrollbar { + height: 0; + width: 0; } + +.scroll-element { + display: none; } + +.scroll-element, .scroll-element div { + box-sizing: content-box; } + +.scroll-element.scroll-x.scroll-scrollx_visible, +.scroll-element.scroll-y.scroll-scrolly_visible { + display: block; } + +.scroll-element .scroll-bar, +.scroll-element .scroll-arrow { + cursor: default; } + +.scroll-textarea > .scroll-content { + overflow: hidden !important; } + +.scroll-textarea > .scroll-content > textarea { + border: none !important; + box-sizing: border-box; + height: 100% !important; + margin: 0; + max-height: none !important; + max-width: none !important; + overflow: scroll !important; + outline: none; + padding: 2px; + position: relative !important; + top: 0; + width: 100% !important; } + +.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar { + height: 0; + width: 0; } + +/*************** SIMPLE INNER SCROLLBAR ***************/ +.scrollbar-inner > .scroll-element, +.scrollbar-inner > .scroll-element div { + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; } + +.scrollbar-inner > .scroll-element div { + display: block; + height: 100%; + left: 0; + top: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-x { + bottom: 2px; + height: 8px; + left: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-y { + height: 100%; + right: 2px; + top: 0; + width: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_outer { + overflow: hidden; } + +.scrollbar-inner > .scroll-element .scroll-element_outer, +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; + filter: alpha(opacity=30); + opacity: 0.3; } + +/* update scrollbar offset if both scrolls are visible */ +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { + top: -12px; } + +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size { + top: -12px; } + +.lightbox-active #body { + overflow: visible; } + .lightbox-active #body .padding { + overflow: visible; } + +#github-contrib i { + vertical-align: middle; } + +.featherlight img { + margin: 0 !important; } + +.lifecycle #body-inner ul { + list-style: none; + margin: 0; + padding: 2rem 0 0; + position: relative; } + +.lifecycle #body-inner ol { + margin: 1rem 0 1rem 0; + padding: 2rem; + position: relative; } + .lifecycle #body-inner ol li { + margin-left: 1rem; } + .lifecycle #body-inner ol strong, .lifecycle #body-inner ol label, .lifecycle #body-inner ol th { + text-decoration: underline; } + .lifecycle #body-inner ol ol { + margin-left: -1rem; } + +.lifecycle #body-inner h3[class*='level'] { + font-size: 20px; + position: absolute; + margin: 0; + padding: 4px 10px; + right: 0; + z-index: 1000; + color: #fff; + background: #1ABC9C; } + +.lifecycle #body-inner ol h3 { + margin-top: 1rem !important; + right: 2rem !important; } + +.lifecycle #body-inner .level-1 + ol { + background: #f6fefc; + border: 4px solid #1ABC9C; + color: #16A085; } + .lifecycle #body-inner .level-1 + ol h3 { + background: #2ECC71; } + +.lifecycle #body-inner .level-2 + ol { + background: #f7fdf9; + border: 4px solid #2ECC71; + color: #27AE60; } + .lifecycle #body-inner .level-2 + ol h3 { + background: #3498DB; } + +.lifecycle #body-inner .level-3 + ol { + background: #f3f9fd; + border: 4px solid #3498DB; + color: #2980B9; } + .lifecycle #body-inner .level-3 + ol h3 { + background: #34495E; } + +.lifecycle #body-inner .level-4 + ol { + background: #e4eaf0; + border: 4px solid #34495E; + color: #2C3E50; } + .lifecycle #body-inner .level-4 + ol h3 { + background: #34495E; } + +#top-bar { + background: #ffff8f; + border-radius: 2px; + margin: 0rem -1rem 2rem; + padding: 0 1rem; + height: 0; + min-height: 3rem; } + +#top-github-link { + position: relative; + z-index: 1; + float: right; + display: block; } + #top-github-link a { + color: #0d0d0d; } + #top-github-link a:hover { + color: black; } + +#body #breadcrumbs { + height: auto; + display: block; + margin-bottom: 0; + padding-left: 0; + line-height: 1.4; + color: black; } + #body #breadcrumbs span { + padding: 0 0.1rem; } + +@media only all and (max-width: 59.938em) { + #sidebar { + width: 230px; } + #body { + margin-left: 230px; } } + +@media only all and (max-width: 47.938em) { + #sidebar { + width: 230px; + left: -230px; } + #body { + margin-left: 0; + width: 100%; } + .sidebar-hidden { + overflow: hidden; } + .sidebar-hidden #sidebar { + left: 0; } + .sidebar-hidden #body { + margin-left: 230px; + overflow: hidden; } + .sidebar-hidden #overlay { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + z-index: 10; + background: rgba(255, 255, 255, 0.5); + cursor: pointer; } } + +.copy-to-clipboard { + background-image: url(../images/clippy.svg); + background-position: 50% 50%; + background-size: 16px 16px; + background-repeat: no-repeat; + width: 27px; + height: 1.45rem; + top: -1px; + display: inline-block; + vertical-align: middle; + position: relative; + color: black; + background-color: #f9f2f4; + margin-left: -.2rem; + cursor: pointer; + border-radius: 0 2px 2px 0; } + .copy-to-clipboard:hover { + background-color: #f1e1e5; } + pre .copy-to-clipboard { + position: absolute; + right: 4px; + top: 4px; + background-color: #eee; + border-color: #ddd; + border-radius: 2px; } + pre .copy-to-clipboard:hover { + background-color: #d9d9d9; } + +.parent-element { + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + transform-style: preserve-3d; } + +/*# sourceMappingURL=sunrise.css.map */ \ No newline at end of file diff --git a/themes/learn2-git-sync/css/styles/sunrise.css.map b/themes/learn2-git-sync/css/styles/sunrise.css.map new file mode 100644 index 0000000..5ab97b0 --- /dev/null +++ b/themes/learn2-git-sync/css/styles/sunrise.css.map @@ -0,0 +1,111 @@ +{ + "version": 3, + "file": "sunrise.css", + "sources": [ + "../../scss/styles/sunrise.scss", + "../../scss/_prefix.scss", + "../../scss/vendor/bourbon/_bourbon.scss", + "../../scss/vendor/bourbon/settings/_prefixer.scss", + "../../scss/vendor/bourbon/settings/_px-to-em.scss", + "../../scss/vendor/bourbon/helpers/_convert-units.scss", + "../../scss/vendor/bourbon/helpers/_gradient-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_is-num.scss", + "../../scss/vendor/bourbon/helpers/_linear-angle-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-gradient-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-arg-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-positions-parser.scss", + "../../scss/vendor/bourbon/helpers/_radial-gradient-parser.scss", + "../../scss/vendor/bourbon/helpers/_render-gradients.scss", + "../../scss/vendor/bourbon/helpers/_shape-size-stripper.scss", + "../../scss/vendor/bourbon/helpers/_str-to-num.scss", + "../../scss/vendor/bourbon/functions/_assign.scss", + "../../scss/vendor/bourbon/functions/_color-lightness.scss", + "../../scss/vendor/bourbon/functions/_flex-grid.scss", + "../../scss/vendor/bourbon/functions/_golden-ratio.scss", + "../../scss/vendor/bourbon/functions/_grid-width.scss", + "../../scss/vendor/bourbon/functions/_modular-scale.scss", + "../../scss/vendor/bourbon/functions/_px-to-em.scss", + "../../scss/vendor/bourbon/functions/_px-to-rem.scss", + "../../scss/vendor/bourbon/functions/_strip-units.scss", + "../../scss/vendor/bourbon/functions/_tint-shade.scss", + "../../scss/vendor/bourbon/functions/_transition-property-name.scss", + "../../scss/vendor/bourbon/functions/_unpack.scss", + "../../scss/vendor/bourbon/css3/_animation.scss", + "../../scss/vendor/bourbon/css3/_appearance.scss", + "../../scss/vendor/bourbon/css3/_backface-visibility.scss", + "../../scss/vendor/bourbon/css3/_background.scss", + "../../scss/vendor/bourbon/css3/_background-image.scss", + "../../scss/vendor/bourbon/css3/_border-image.scss", + "../../scss/vendor/bourbon/css3/_border-radius.scss", + "../../scss/vendor/bourbon/css3/_box-sizing.scss", + "../../scss/vendor/bourbon/css3/_calc.scss", + "../../scss/vendor/bourbon/css3/_columns.scss", + "../../scss/vendor/bourbon/css3/_filter.scss", + "../../scss/vendor/bourbon/css3/_flex-box.scss", + "../../scss/vendor/bourbon/css3/_font-face.scss", + "../../scss/vendor/bourbon/css3/_hyphens.scss", + "../../scss/vendor/bourbon/css3/_hidpi-media-query.scss", + "../../scss/vendor/bourbon/css3/_image-rendering.scss", + "../../scss/vendor/bourbon/css3/_keyframes.scss", + "../../scss/vendor/bourbon/css3/_linear-gradient.scss", + "../../scss/vendor/bourbon/css3/_perspective.scss", + "../../scss/vendor/bourbon/css3/_radial-gradient.scss", + "../../scss/vendor/bourbon/css3/_transform.scss", + "../../scss/vendor/bourbon/css3/_transition.scss", + "../../scss/vendor/bourbon/css3/_user-select.scss", + "../../scss/vendor/bourbon/css3/_placeholder.scss", + "../../scss/vendor/bourbon/addons/_button.scss", + "../../scss/vendor/bourbon/addons/_clearfix.scss", + "../../scss/vendor/bourbon/addons/_directional-values.scss", + "../../scss/vendor/bourbon/addons/_ellipsis.scss", + "../../scss/vendor/bourbon/addons/_font-family.scss", + "../../scss/vendor/bourbon/addons/_hide-text.scss", + "../../scss/vendor/bourbon/addons/_html5-input-types.scss", + "../../scss/vendor/bourbon/addons/_position.scss", + "../../scss/vendor/bourbon/addons/_prefixer.scss", + "../../scss/vendor/bourbon/addons/_retina-image.scss", + "../../scss/vendor/bourbon/addons/_size.scss", + "../../scss/vendor/bourbon/addons/_timing-functions.scss", + "../../scss/vendor/bourbon/addons/_triangle.scss", + "../../scss/vendor/bourbon/addons/_word-wrap.scss", + "../../scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss", + "../../scss/configuration/nucleus/_base.scss", + "../../scss/configuration/nucleus/_core.scss", + "../../scss/configuration/nucleus/_breakpoints.scss", + "../../scss/configuration/nucleus/_layout.scss", + "../../scss/configuration/nucleus/_typography.scss", + "../../scss/configuration/nucleus/_nav.scss", + "../../scss/configuration/theme/_base.scss", + "../../scss/configuration/theme/_colors.scss", + "../../scss/configuration/theme/_bullets.scss", + "../../scss/nucleus/functions/_base.scss", + "../../scss/nucleus/functions/_direction.scss", + "../../scss/nucleus/functions/_range.scss", + "../../scss/nucleus/mixins/_base.scss", + "../../scss/nucleus/mixins/_breakpoints.scss", + "../../scss/nucleus/mixins/_utilities.scss", + "../../scss/theme/modules/_base.scss", + "../../scss/theme/modules/_buttons.scss", + "../../scss/_hover-color.scss", + "../../scss/_contrast.scss", + "../../scss/_affix.scss", + "../../scss/theme/_core.scss", + "../../scss/theme/_fonts.scss", + "../../scss/theme/_forms.scss", + "../../scss/theme/_header.scss", + "../../scss/theme/_nav.scss", + "../../scss/theme/_main.scss", + "../../scss/_standard_colors.scss", + "../../scss/theme/_typography.scss", + "../../scss/theme/_tables.scss", + "../../scss/theme/_buttons.scss", + "../../scss/theme/_bullets.scss", + "../../scss/theme/_tooltips.scss", + "../../scss/theme/_scrollbar.scss", + "../../scss/theme/_custom.scss" + ], + "names": [], + "mappings": "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" +} \ No newline at end of file diff --git a/themes/learn2-git-sync/css/theme.css b/themes/learn2-git-sync/css/theme.css new file mode 100644 index 0000000..2263ddd --- /dev/null +++ b/themes/learn2-git-sync/css/theme.css @@ -0,0 +1,979 @@ +@charset "UTF-8"; +@import url(//fonts.googleapis.com/css?family=Montserrat:400|Muli:300,400|Inconsolata); +#top-github-link, #body #breadcrumbs { + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); } + +.button, .button-secondary { + display: inline-block; + padding: 7px 12px; } + .button:active, .button-secondary:active { + margin: 2px 0 -2px 0; } + +body { + background: #fff; + color: #555; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +a { + color: #1694CA; } + a:hover { + color: #0e6185; } + +#body-inner a:hover { + text-decoration: underline; + text-decoration-style: dotted; } + +pre { + position: relative; } + +.bg { + background: #fff; + border: 1px solid #eaeaea; } + +b, strong, label, th { + font-weight: 600; } + +.default-animation, #header #logo-svg, #header #logo-svg path, #sidebar, #sidebar ul, #body, #body .padding, #body .nav { + -webkit-transition: all 0.5s ease; + -moz-transition: all 0.5s ease; + transition: all 0.5s ease; } + +fieldset { + border: 1px solid #ddd; } + +textarea, input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"], select[multiple=multiple] { + background-color: white; + border: 1px solid #ddd; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06); } + textarea:hover, input[type="email"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="url"]:hover, input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="month"]:hover, input[type="time"]:hover, input[type="week"]:hover, select[multiple=multiple]:hover { + border-color: #c4c4c4; } + textarea:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="url"]:focus, input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, select[multiple=multiple]:focus { + border-color: #1694CA; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(19, 131, 179, 0.7); } + +#header { + background: #1694CA; + color: #fff; + text-align: center; + padding: 0rem 1rem 2rem 1rem; } + #header a { + display: inline-block; } + #header #logo-svg { + width: 8rem; + height: 2rem; } + #header #logo-svg path { + fill: #fff; } + +.searchbox { + margin-top: 0.5rem; + position: relative; + border: 1px solid #19a5e1; + background: #1383b3; + border-radius: 4px; } + .searchbox label { + color: rgba(255, 255, 255, 0.8); + position: absolute; + left: 10px; + top: 3px; } + .searchbox span { + color: rgba(255, 255, 255, 0.6); + position: absolute; + right: 10px; + top: 3px; + cursor: pointer; } + .searchbox span:hover { + color: rgba(255, 255, 255, 0.9); } + .searchbox input { + display: inline-block; + color: #fff; + width: 100%; + height: 30px; + background: transparent; + border: 0; + padding: 0 25px 0 30px; + margin: 0; + font-weight: 400; } + .searchbox input::-webkit-input-placeholder { + color: rgba(255, 255, 255, 0.6); } + .searchbox input::-moz-placeholder { + color: rgba(255, 255, 255, 0.6); } + .searchbox input:-moz-placeholder { + color: rgba(255, 255, 255, 0.6); } + .searchbox input:-ms-input-placeholder { + color: rgba(255, 255, 255, 0.6); } + +#sidebar-toggle { + display: none; } + @media only all and (max-width: 47.938em) { + #sidebar-toggle { + display: inline-block; } } + +#sidebar { + background-color: #38424D; + position: fixed; + top: 0; + width: 300px; + bottom: 0; + left: 0; + font-weight: 500; + font-size: 15px; } + #sidebar a { + color: #ffffff; } + #sidebar a:hover, #sidebar a.button { + color: white; } + #sidebar a.subtitle { + color: rgba(204, 204, 204, 0.6); } + #sidebar hr { + border-bottom: 1px solid #323a44; } + #sidebar a.padding { + padding: 0 1rem; } + #sidebar h5 { + margin: 2rem 0 0; + position: relative; + line-height: 2; } + #sidebar h5 a { + display: block; + margin-left: 0; + margin-right: 0; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar h5 i { + color: rgba(204, 204, 204, 0.6); + position: absolute; + right: 0.6rem; + top: 0.7rem; + font-size: 80%; } + #sidebar h5.parent a { + background: #293038; + color: #d9d9d9 !important; } + #sidebar h5.active a { + background: #fff; + color: #555 !important; } + #sidebar h5.active i { + color: #555 !important; } + #sidebar h5 + ul.topics { + display: none; + margin-top: 0; } + #sidebar h5.parent + ul.topics, #sidebar h5.active + ul.topics { + display: block; } + #sidebar ul { + list-style: none; + padding: 0; + margin: 0; } + #sidebar ul.searched a { + color: #999999; } + #sidebar ul.searched .search-match a { + color: #e6e6e6; } + #sidebar ul.searched .search-match a:hover { + color: white; } + #sidebar ul.topics { + margin: 0 1rem; } + #sidebar ul.topics.searched ul { + display: block; } + #sidebar ul.topics ul { + display: none; + padding-bottom: 1rem; } + #sidebar ul.topics ul ul { + padding-bottom: 0; } + #sidebar ul.topics li.parent ul, #sidebar ul.topics > li.active ul { + display: block; } + #sidebar ul.topics > li > a { + line-height: 2rem; + font-size: 1.1rem; } + #sidebar ul.topics > li > a b { + opacity: 0.5; + font-weight: normal; } + #sidebar ul.topics > li > a .fa { + margin-top: 9px; } + #sidebar ul.topics > li.parent, #sidebar ul.topics > li.active { + background: #2d353e; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul li.active > a { + background: #fff; + color: #555 !important; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; } + #sidebar ul li { + padding: 0; } + #sidebar ul li.visited + span { + margin-right: 16px; } + #sidebar ul li a { + display: block; + padding: 2px 0; } + #sidebar ul li a span { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + display: block; } + #sidebar ul li > a { + padding: 4px 0; } + #sidebar ul li .fa { + display: none; + float: right; + font-size: 13px; + min-width: 16px; + margin: 4px 0 0 0; + text-align: right; } + #sidebar ul li.visited > a .read-icon { + color: #1694CA; + display: inline; } + #sidebar ul li li { + padding-left: 1rem; + text-indent: 0.2rem; } + +#main { + background: #f7f7f7; + margin: 0 0 1.563rem 0; } + +#body { + position: relative; + margin-left: 300px; + min-height: 100%; } + #body img, #body .video-container { + margin: 3rem auto; + display: block; + text-align: center; } + #body img.border, #body .video-container.border { + border: 2px solid #e6e6e6 !important; + padding: 2px; } + #body img.shadow, #body .video-container.shadow { + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); } + #body .bordered { + border: 1px solid #ccc; } + #body .padding { + padding: 3rem 6rem; } + @media only all and (max-width: 59.938em) { + #body .padding { + position: static; + padding: 15px 3rem; } } + @media only all and (max-width: 47.938em) { + #body .padding { + padding: 5px 1rem; } } + #body h1 + hr { + margin-top: -1.7rem; + margin-bottom: 3rem; } + @media only all and (max-width: 59.938em) { + #body #navigation { + position: static; + margin-right: 0 !important; + width: 100%; + display: table; } } + #body .nav { + position: fixed; + top: 0; + bottom: 0; + width: 4rem; + font-size: 50px; + height: 100%; + cursor: pointer; + display: table; + text-align: center; } + #body .nav > i { + display: table-cell; + vertical-align: middle; + text-align: center; } + @media only all and (max-width: 59.938em) { + #body .nav { + display: table-cell; + position: static; + top: auto; + width: 50%; + text-align: center; + height: 100px; + line-height: 100px; + padding-top: 0; } + #body .nav > i { + display: inline-block; } } + #body .nav:hover { + background: #F6F6F6; } + #body .nav.nav-pref { + left: 0; } + #body .nav.nav-next { + right: 0; } + +#body-inner { + margin-bottom: 5rem; } + +#chapter { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 2rem 0; } + #chapter #body-inner { + padding-bottom: 3rem; + max-width: 80%; } + #chapter h3 { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-align: center; } + #chapter h1 { + font-size: 5rem; + border-bottom: 4px solid #F0F2F4; } + #chapter p { + text-align: center; + font-size: 1.2rem; } + +#footer { + padding: 3rem 1rem; + color: #b3b3b3; + font-size: 13px; } + #footer p { + margin: 0; } + +body { + font-family: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + letter-spacing: -0.03rem; + font-weight: 400; } + +h1, h2, h3, h4, h5, h6 { + font-family: "Montserrat", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + font-weight: 400; + text-rendering: optimizeLegibility; + line-height: 150%; + letter-spacing: -0px; } + +h1 { + text-align: center; + letter-spacing: -3px; } + +h2 { + letter-spacing: -2px; } + +h3 { + letter-spacing: -1px; } + +blockquote { + border-left: 10px solid #F0F2F4; } + blockquote p { + font-size: 1.1rem; + color: #999; } + blockquote cite { + display: block; + text-align: right; + color: #666; + font-size: 1.2rem; } + +blockquote { + position: relative; } + +blockquote blockquote { + position: static; } + +blockquote > blockquote > blockquote { + margin: 0; } + blockquote > blockquote > blockquote p { + padding: 15px; + display: block; + font-size: 1rem; + margin-top: 0rem; + margin-bottom: 0rem; + color: #666; } + blockquote > blockquote > blockquote p:first-child:before { + position: absolute; + top: 2px; + color: #fff; + font-family: FontAwesome; + content: ''; + left: 10px; } + blockquote > blockquote > blockquote p:first-child:after { + position: absolute; + top: 2px; + color: #fff; + left: 2rem; + font-weight: bold; + content: 'Info'; } + blockquote > blockquote > blockquote > p { + margin-left: -71px; + border-top: 30px solid #F0B37E; + background: #FFF2DB; } + blockquote > blockquote > blockquote > blockquote > p { + margin-left: -94px; + border-top: 30px solid rgba(217, 83, 79, 0.8); + background: #FAE2E2; } + blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Warning'; } + blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -118px; + border-top: 30px solid #6AB0DE; + background: #E7F2FA; } + blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Note'; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p { + margin-left: -142px; + border-top: 30px solid rgba(92, 184, 92, 0.8); + background: #E6F9E6; } + blockquote > blockquote > blockquote > blockquote > blockquote > blockquote > p:first-child:after { + content: 'Tip'; } + +code, +kbd, +pre, +samp { + font-family: "Inconsolata", monospace; } + +code { + background: #f9f2f4; + color: #9c1d3d; + padding: .2rem .4rem; + border-radius: 3px; } + +pre { + padding: 1rem; + margin: 2rem 0; + background: #f6f6f6; + border: 1px solid #ddd; + border-radius: 2px; + line-height: 1.15; + font-size: 1rem; } + pre code { + color: #237794; + background: inherit; + font-size: 1rem; } + +hr { + border-bottom: 4px solid #F0F2F4; } + +.page-title { + margin-top: -25px; + padding: 25px; + float: left; + clear: both; + background: #1694CA; + color: #fff; } + +#body a.anchor-link { + color: #ccc; } + +#body a.anchor-link:hover { + color: #1694CA; } + +.scrollbar-inner > .scroll-element .scroll-element_track { + background-color: rgba(255, 255, 255, 0.3); } + +.scrollbar-inner > .scroll-element .scroll-bar { + background-color: #b5d1eb; } + +.scrollbar-inner > .scroll-element:hover .scroll-bar { + background-color: #ccc; } + +.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar { + background-color: #ccc; } + +table { + border: 1px solid #eaeaea; + table-layout: auto; } + +th { + background: #f7f7f7; + padding: 0.5rem; } + +td { + padding: 0.5rem; + border: 1px solid #eaeaea; } + +.button { + background: #1694CA; + color: #fff; + box-shadow: 0 3px 0 #1380ae; } + .button:hover { + background: #1380ae; + box-shadow: 0 3px 0 #106c93; + color: #fff; } + .button:active { + box-shadow: 0 1px 0 #106c93; } + +.button-secondary { + background: #F8B450; + color: #fff; + box-shadow: 0 3px 0 #f7a733; } + .button-secondary:hover { + background: #f7a733; + box-shadow: 0 3px 0 #f69b15; + color: #fff; } + .button-secondary:active { + box-shadow: 0 1px 0 #f69b15; } + +.bullets { + margin: 1.7rem 0; + margin-left: -0.85rem; + margin-right: -0.85rem; + overflow: auto; } + +.bullet { + float: left; + padding: 0 0.85rem; } + +.two-column-bullet { + width: 50%; } + @media only all and (max-width: 47.938em) { + .two-column-bullet { + width: 100%; } } + +.three-column-bullet { + width: 33.33333%; } + @media only all and (max-width: 47.938em) { + .three-column-bullet { + width: 100%; } } + +.four-column-bullet { + width: 25%; } + @media only all and (max-width: 47.938em) { + .four-column-bullet { + width: 100%; } } + +.bullet-icon { + float: left; + background: #1694CA; + padding: 0.875rem; + width: 3.5rem; + height: 3.5rem; + border-radius: 50%; + color: #fff; + font-size: 1.75rem; + text-align: center; } + +.bullet-icon-1 { + background: #1694CA; } + +.bullet-icon-2 { + background: #16cac4; } + +.bullet-icon-3 { + background: #b2ca16; } + +.bullet-content { + margin-left: 4.55rem; } + +.tooltipped { + position: relative; } + +.tooltipped:after { + position: absolute; + z-index: 1000000; + display: none; + padding: 5px 8px; + font: normal normal 11px/1.5 "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; + color: #fff; + text-align: center; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-wrap: break-word; + white-space: pre; + pointer-events: none; + content: attr(aria-label); + background: rgba(0, 0, 0, 0.8); + border-radius: 3px; + -webkit-font-smoothing: subpixel-antialiased; } + +.tooltipped:before { + position: absolute; + z-index: 1000001; + display: none; + width: 0; + height: 0; + color: rgba(0, 0, 0, 0.8); + pointer-events: none; + content: ""; + border: 5px solid transparent; } + +.tooltipped:hover:before, .tooltipped:hover:after, +.tooltipped:active:before, +.tooltipped:active:after, +.tooltipped:focus:before, +.tooltipped:focus:after { + display: inline-block; + text-decoration: none; } + +.tooltipped-s:after, +.tooltipped-se:after, +.tooltipped-sw:after { + top: 100%; + right: 50%; + margin-top: 5px; } + +.tooltipped-s:before, +.tooltipped-se:before, +.tooltipped-sw:before { + top: auto; + right: 50%; + bottom: -5px; + margin-right: -5px; + border-bottom-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-se:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-sw:after { + margin-right: -15px; } + +.tooltipped-n:after, +.tooltipped-ne:after, +.tooltipped-nw:after { + right: 50%; + bottom: 100%; + margin-bottom: 5px; } + +.tooltipped-n:before, +.tooltipped-ne:before, +.tooltipped-nw:before { + top: -5px; + right: 50%; + bottom: auto; + margin-right: -5px; + border-top-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-ne:after { + right: auto; + left: 50%; + margin-left: -15px; } + +.tooltipped-nw:after { + margin-right: -15px; } + +.tooltipped-s:after, +.tooltipped-n:after { + transform: translateX(50%); } + +.tooltipped-w:after { + right: 100%; + bottom: 50%; + margin-right: 5px; + transform: translateY(50%); } + +.tooltipped-w:before { + top: 50%; + bottom: 50%; + left: -5px; + margin-top: -5px; + border-left-color: rgba(0, 0, 0, 0.8); } + +.tooltipped-e:after { + bottom: 50%; + left: 100%; + margin-left: 5px; + transform: translateY(50%); } + +.tooltipped-e:before { + top: 50%; + right: -5px; + bottom: 50%; + margin-top: -5px; + border-right-color: rgba(0, 0, 0, 0.8); } + +/*************** SCROLLBAR BASE CSS ***************/ +.highlightable { + padding: 25px 0 15px; } + +.scroll-wrapper { + overflow: hidden !important; + padding: 0 !important; + position: relative; } + +.scroll-wrapper > .scroll-content { + border: none !important; + box-sizing: content-box !important; + height: auto; + left: 0; + margin: 0; + max-height: none; + max-width: none !important; + overflow: scroll !important; + padding: 0; + position: relative !important; + top: 0; + width: auto !important; } + +.scroll-wrapper > .scroll-content::-webkit-scrollbar { + height: 0; + width: 0; } + +.scroll-element { + display: none; } + +.scroll-element, .scroll-element div { + box-sizing: content-box; } + +.scroll-element.scroll-x.scroll-scrollx_visible, +.scroll-element.scroll-y.scroll-scrolly_visible { + display: block; } + +.scroll-element .scroll-bar, +.scroll-element .scroll-arrow { + cursor: default; } + +.scroll-textarea > .scroll-content { + overflow: hidden !important; } + +.scroll-textarea > .scroll-content > textarea { + border: none !important; + box-sizing: border-box; + height: 100% !important; + margin: 0; + max-height: none !important; + max-width: none !important; + overflow: scroll !important; + outline: none; + padding: 2px; + position: relative !important; + top: 0; + width: 100% !important; } + +.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar { + height: 0; + width: 0; } + +/*************** SIMPLE INNER SCROLLBAR ***************/ +.scrollbar-inner > .scroll-element, +.scrollbar-inner > .scroll-element div { + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; } + +.scrollbar-inner > .scroll-element div { + display: block; + height: 100%; + left: 0; + top: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-x { + bottom: 2px; + height: 8px; + left: 0; + width: 100%; } + +.scrollbar-inner > .scroll-element.scroll-y { + height: 100%; + right: 2px; + top: 0; + width: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_outer { + overflow: hidden; } + +.scrollbar-inner > .scroll-element .scroll-element_outer, +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; } + +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; + filter: alpha(opacity=30); + opacity: 0.3; } + +/* update scrollbar offset if both scrolls are visible */ +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { + top: -12px; } + +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { + left: -12px; } + +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size { + top: -12px; } + +.lightbox-active #body { + overflow: visible; } + .lightbox-active #body .padding { + overflow: visible; } + +#github-contrib i { + vertical-align: middle; } + +.featherlight img { + margin: 0 !important; } + +.lifecycle #body-inner ul { + list-style: none; + margin: 0; + padding: 2rem 0 0; + position: relative; } + +.lifecycle #body-inner ol { + margin: 1rem 0 1rem 0; + padding: 2rem; + position: relative; } + .lifecycle #body-inner ol li { + margin-left: 1rem; } + .lifecycle #body-inner ol strong, .lifecycle #body-inner ol label, .lifecycle #body-inner ol th { + text-decoration: underline; } + .lifecycle #body-inner ol ol { + margin-left: -1rem; } + +.lifecycle #body-inner h3[class*='level'] { + font-size: 20px; + position: absolute; + margin: 0; + padding: 4px 10px; + right: 0; + z-index: 1000; + color: #fff; + background: #1ABC9C; } + +.lifecycle #body-inner ol h3 { + margin-top: 1rem !important; + right: 2rem !important; } + +.lifecycle #body-inner .level-1 + ol { + background: #f6fefc; + border: 4px solid #1ABC9C; + color: #16A085; } + .lifecycle #body-inner .level-1 + ol h3 { + background: #2ECC71; } + +.lifecycle #body-inner .level-2 + ol { + background: #f7fdf9; + border: 4px solid #2ECC71; + color: #27AE60; } + .lifecycle #body-inner .level-2 + ol h3 { + background: #3498DB; } + +.lifecycle #body-inner .level-3 + ol { + background: #f3f9fd; + border: 4px solid #3498DB; + color: #2980B9; } + .lifecycle #body-inner .level-3 + ol h3 { + background: #34495E; } + +.lifecycle #body-inner .level-4 + ol { + background: #e4eaf0; + border: 4px solid #34495E; + color: #2C3E50; } + .lifecycle #body-inner .level-4 + ol h3 { + background: #34495E; } + +#top-bar { + background: #F6F6F6; + border-radius: 2px; + margin: 0rem -1rem 2rem; + padding: 0 1rem; + height: 0; + min-height: 3rem; } + +#top-github-link { + position: relative; + z-index: 1; + float: right; + display: block; } + +#body #breadcrumbs { + height: auto; + display: block; + margin-bottom: 0; + padding-left: 0; + line-height: 1.4; } + #body #breadcrumbs span { + padding: 0 0.1rem; } + +@media only all and (max-width: 59.938em) { + #sidebar { + width: 230px; } + #body { + margin-left: 230px; } } + +@media only all and (max-width: 47.938em) { + #sidebar { + width: 230px; + left: -230px; } + #body { + margin-left: 0; + width: 100%; } + .sidebar-hidden { + overflow: hidden; } + .sidebar-hidden #sidebar { + left: 0; } + .sidebar-hidden #body { + margin-left: 230px; + overflow: hidden; } + .sidebar-hidden #overlay { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + z-index: 10; + background: rgba(255, 255, 255, 0.5); + cursor: pointer; } } + +.copy-to-clipboard { + background-image: url(../images/clippy.svg); + background-position: 50% 50%; + background-size: 16px 16px; + background-repeat: no-repeat; + width: 27px; + height: 1.45rem; + top: -1px; + display: inline-block; + vertical-align: middle; + position: relative; + color: #3c3c3c; + background-color: #f9f2f4; + margin-left: -.2rem; + cursor: pointer; + border-radius: 0 2px 2px 0; } + .copy-to-clipboard:hover { + background-color: #f1e1e5; } + pre .copy-to-clipboard { + position: absolute; + right: 4px; + top: 4px; + background-color: #eee; + border-color: #ddd; + border-radius: 2px; } + pre .copy-to-clipboard:hover { + background-color: #d9d9d9; } + +.parent-element { + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + transform-style: preserve-3d; } + +.version-chooser select { + display: inline-block; + color: #000000; + background-color: #FFFFFF; + border: 1px solid #666666; + font-size: 15px; + font-weight: regular; + margin: 0; +} + +.videoWrapper { + position: relative; + padding-bottom: 56.25%; /* 16:9 */ + padding-top: 25px; + height: 0; +} +.videoWrapper iframe { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +/*# sourceMappingURL=theme.css.map */ diff --git a/themes/learn2-git-sync/css/theme.css.map b/themes/learn2-git-sync/css/theme.css.map new file mode 100644 index 0000000..e4218d4 --- /dev/null +++ b/themes/learn2-git-sync/css/theme.css.map @@ -0,0 +1,107 @@ +{ + "version": 3, + "file": "theme.css", + "sources": [ + "../scss/theme.scss", + "../scss/vendor/bourbon/_bourbon.scss", + "../scss/vendor/bourbon/settings/_prefixer.scss", + "../scss/vendor/bourbon/settings/_px-to-em.scss", + "../scss/vendor/bourbon/helpers/_convert-units.scss", + "../scss/vendor/bourbon/helpers/_gradient-positions-parser.scss", + "../scss/vendor/bourbon/helpers/_is-num.scss", + "../scss/vendor/bourbon/helpers/_linear-angle-parser.scss", + "../scss/vendor/bourbon/helpers/_linear-gradient-parser.scss", + "../scss/vendor/bourbon/helpers/_linear-positions-parser.scss", + "../scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss", + "../scss/vendor/bourbon/helpers/_radial-arg-parser.scss", + "../scss/vendor/bourbon/helpers/_radial-positions-parser.scss", + "../scss/vendor/bourbon/helpers/_radial-gradient-parser.scss", + "../scss/vendor/bourbon/helpers/_render-gradients.scss", + "../scss/vendor/bourbon/helpers/_shape-size-stripper.scss", + "../scss/vendor/bourbon/helpers/_str-to-num.scss", + "../scss/vendor/bourbon/functions/_assign.scss", + "../scss/vendor/bourbon/functions/_color-lightness.scss", + "../scss/vendor/bourbon/functions/_flex-grid.scss", + "../scss/vendor/bourbon/functions/_golden-ratio.scss", + "../scss/vendor/bourbon/functions/_grid-width.scss", + "../scss/vendor/bourbon/functions/_modular-scale.scss", + "../scss/vendor/bourbon/functions/_px-to-em.scss", + "../scss/vendor/bourbon/functions/_px-to-rem.scss", + "../scss/vendor/bourbon/functions/_strip-units.scss", + "../scss/vendor/bourbon/functions/_tint-shade.scss", + "../scss/vendor/bourbon/functions/_transition-property-name.scss", + "../scss/vendor/bourbon/functions/_unpack.scss", + "../scss/vendor/bourbon/css3/_animation.scss", + "../scss/vendor/bourbon/css3/_appearance.scss", + "../scss/vendor/bourbon/css3/_backface-visibility.scss", + "../scss/vendor/bourbon/css3/_background.scss", + "../scss/vendor/bourbon/css3/_background-image.scss", + "../scss/vendor/bourbon/css3/_border-image.scss", + "../scss/vendor/bourbon/css3/_border-radius.scss", + "../scss/vendor/bourbon/css3/_box-sizing.scss", + "../scss/vendor/bourbon/css3/_calc.scss", + "../scss/vendor/bourbon/css3/_columns.scss", + "../scss/vendor/bourbon/css3/_filter.scss", + "../scss/vendor/bourbon/css3/_flex-box.scss", + "../scss/vendor/bourbon/css3/_font-face.scss", + "../scss/vendor/bourbon/css3/_hyphens.scss", + "../scss/vendor/bourbon/css3/_hidpi-media-query.scss", + "../scss/vendor/bourbon/css3/_image-rendering.scss", + "../scss/vendor/bourbon/css3/_keyframes.scss", + "../scss/vendor/bourbon/css3/_linear-gradient.scss", + "../scss/vendor/bourbon/css3/_perspective.scss", + "../scss/vendor/bourbon/css3/_radial-gradient.scss", + "../scss/vendor/bourbon/css3/_transform.scss", + "../scss/vendor/bourbon/css3/_transition.scss", + "../scss/vendor/bourbon/css3/_user-select.scss", + "../scss/vendor/bourbon/css3/_placeholder.scss", + "../scss/vendor/bourbon/addons/_button.scss", + "../scss/vendor/bourbon/addons/_clearfix.scss", + "../scss/vendor/bourbon/addons/_directional-values.scss", + "../scss/vendor/bourbon/addons/_ellipsis.scss", + "../scss/vendor/bourbon/addons/_font-family.scss", + "../scss/vendor/bourbon/addons/_hide-text.scss", + "../scss/vendor/bourbon/addons/_html5-input-types.scss", + "../scss/vendor/bourbon/addons/_position.scss", + "../scss/vendor/bourbon/addons/_prefixer.scss", + "../scss/vendor/bourbon/addons/_retina-image.scss", + "../scss/vendor/bourbon/addons/_size.scss", + "../scss/vendor/bourbon/addons/_timing-functions.scss", + "../scss/vendor/bourbon/addons/_triangle.scss", + "../scss/vendor/bourbon/addons/_word-wrap.scss", + "../scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss", + "../scss/configuration/nucleus/_base.scss", + "../scss/configuration/nucleus/_core.scss", + "../scss/configuration/nucleus/_breakpoints.scss", + "../scss/configuration/nucleus/_layout.scss", + "../scss/configuration/nucleus/_typography.scss", + "../scss/configuration/nucleus/_nav.scss", + "../scss/configuration/theme/_base.scss", + "../scss/configuration/theme/_colors.scss", + "../scss/configuration/theme/_bullets.scss", + "../scss/nucleus/functions/_base.scss", + "../scss/nucleus/functions/_direction.scss", + "../scss/nucleus/functions/_range.scss", + "../scss/nucleus/mixins/_base.scss", + "../scss/nucleus/mixins/_breakpoints.scss", + "../scss/nucleus/mixins/_utilities.scss", + "../scss/theme/modules/_base.scss", + "../scss/theme/modules/_buttons.scss", + "../scss/theme/_configuration.scss", + "../scss/theme/_core.scss", + "../scss/theme/_fonts.scss", + "../scss/theme/_forms.scss", + "../scss/theme/_header.scss", + "../scss/theme/_nav.scss", + "../scss/theme/_main.scss", + "../scss/theme/_typography.scss", + "../scss/theme/_tables.scss", + "../scss/theme/_buttons.scss", + "../scss/theme/_bullets.scss", + "../scss/theme/_tooltips.scss", + "../scss/theme/_scrollbar.scss", + "../scss/theme/_custom.scss" + ], + "names": [], + "mappings": "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" +} \ No newline at end of file diff --git a/themes/learn2-git-sync/editor-buttons/admin/js/shortcode-presentation.js b/themes/learn2-git-sync/editor-buttons/admin/js/shortcode-presentation.js new file mode 100644 index 0000000..611def0 --- /dev/null +++ b/themes/learn2-git-sync/editor-buttons/admin/js/shortcode-presentation.js @@ -0,0 +1,22 @@ +(function($){ + $(function(){ + $('body').on('grav-editor-ready', function() { + var Instance = Grav.default.Forms.Fields.EditorField.Instance; + Instance.addButton({ + 'shortcodes-presentation': { + identifier: 'shortcodes-presentation', + title: 'Presentation', + label: '', + modes: ['gfm', 'markdown'], + action: function(_ref) { + var codemirror = _ref.codemirror, button = _ref.button; + button.on('click.editor.shortcodes-presentation', function() { + Instance.buttonStrategies.replaceSelections({ token: '$1', template: '[presentation="presentations/"]$1', codemirror: codemirror}); + codemirror.setCursor(codemirror.getCursor().line,codemirror.getCursor().ch-2); + }); + } + } + }); + }); + }); +})(jQuery); diff --git a/themes/learn2-git-sync/images/clippy.svg b/themes/learn2-git-sync/images/clippy.svg new file mode 100644 index 0000000..e1b1703 --- /dev/null +++ b/themes/learn2-git-sync/images/clippy.svg @@ -0,0 +1,3 @@ + + + diff --git a/themes/learn2-git-sync/images/favicon.png b/themes/learn2-git-sync/images/favicon.png new file mode 100644 index 0000000..ec645f1 Binary files /dev/null and b/themes/learn2-git-sync/images/favicon.png differ diff --git a/themes/learn2-git-sync/images/logo.png b/themes/learn2-git-sync/images/logo.png new file mode 100644 index 0000000..287a4e7 Binary files /dev/null and b/themes/learn2-git-sync/images/logo.png differ diff --git a/themes/learn2-git-sync/languages.yaml b/themes/learn2-git-sync/languages.yaml new file mode 100644 index 0000000..58d0c31 --- /dev/null +++ b/themes/learn2-git-sync/languages.yaml @@ -0,0 +1,20 @@ +en: + THEME_LEARN2_GIT_EDIT_THIS_PAGE: Edit this Page + THEME_LEARN2_GIT_NOTE: Notice an error? Think you can improve this documentation? + THEME_LEARN2_CLEAR_HISTORY: Clear History + THEME_LEARN2_BUILT_WITH_GRAV: Built with Grav - The Modern Flat File CMS + THEME_LEARN2_SEARCH_DOCUMENTATION: Search Documentation + THEME_LEARN2_GIT_ADD_SETUP_GIT_SYNC_PLUGIN: Add/Setup Git Sync Plugin + THEME_LEARN2_GIT_SETUP_GIT_SYNC_PLUGIN: Setup Git Sync + THEME_LEARN2_ADVANCED_SEARCH: Advanced Full-text Search + THEME_LEARN2_ADVANCED_SEARCH_PLACEHOLDER: Search the documentation... +fr: + THEME_LEARN2_GIT_EDIT_THIS_PAGE: Modifier cette page + THEME_LEARN2_GIT_NOTE: Vous avez découvert des erreurs ? Vous pensez pouvoir améliorer cette documentation ? + THEME_LEARN2_CLEAR_HISTORY: Effacer l'historique + THEME_LEARN2_BUILT_WITH_GRAV: Créé avec Grav - Le CMS moderne sans base de données + THEME_LEARN2_SEARCH_DOCUMENTATION: Rechercher dans la documentation + THEME_LEARN2_GIT_ADD_SETUP_GIT_SYNC_PLUGIN: Configuration Git + THEME_LEARN2_GIT_SETUP_GIT_SYNC_PLUGIN: Configuration Git + THEME_LEARN2_ADVANCED_SEARCH: Recherche avancée en texte intégral + THEME_LEARN2_ADVANCED_SEARCH_PLACEHOLDER: Rechercher la documentation ... diff --git a/themes/learn2-git-sync/learn2-git-sync.php b/themes/learn2-git-sync/learn2-git-sync.php new file mode 100644 index 0000000..9deea7f --- /dev/null +++ b/themes/learn2-git-sync/learn2-git-sync.php @@ -0,0 +1,139 @@ + ['onTwigInitialized', 0], + 'onThemeInitialized' => ['onThemeInitialized', 0], + 'onShortcodeHandlers' => ['onShortcodeHandlers', 0], + 'onTwigSiteVariables' => ['onTwigSiteVariables', 0], + 'onTNTSearchIndex' => ['onTNTSearchIndex', 0], + 'registerNextGenEditorPlugin' => ['registerNextGenEditorPluginShortcodes', 0] + ]; + } + + public function onShortcodeHandlers() + { + $this->grav['shortcode']->registerAllShortcodes('user://themes/learn2-git-sync/shortcodes'); + } + + public function registerNextGenEditorPluginShortcodes($event) { + $plugins = $event['plugins']; + + $plugins['js'][] = 'user://themes/learn2-git-sync/nextgen-editor/shortcodes/googleslides.js'; + $plugins['js'][] = 'user://themes/learn2-git-sync/nextgen-editor/shortcodes/h5p.js'; + $plugins['js'][] = 'user://themes/learn2-git-sync/nextgen-editor/shortcodes/pdf.js'; + + $event['plugins'] = $plugins; + return $event; + } + + public function onTwigSiteVariables() + { + if ($this->isAdmin() && ($this->grav['config']->get('plugins.shortcode-core.enabled'))) { + $this->grav['assets']->add('theme://editor-buttons/admin/js/shortcode-presentation.js'); + } + } + + public function onTNTSearchIndex(Event $e) + { + $fields = $e['fields']; + $page = $e['page']; + $taxonomy = $page->taxonomy(); + + if (isset($taxonomy['tag'])) { + $fields->tag = implode(",", $taxonomy['tag']); + } + } + + public function onTwigInitialized() { + $sc = $this->grav['shortcode']; + $sc->getHandlers()->addAlias('version', 'lang'); + } + + /** + * Register events and route with Grav + * + * @return void + */ + public function onThemeInitialized() + { + /* Check if Admin-interface */ + if (!$this->isAdmin()) { + $this->enable( + [ + 'onPageInitialized' => ['onPageInitialized', 0] + ] + ); + } + } + + /** + * Get default category setting + * + * @return string + */ + public static function getdefaulttaxonomycategory() + { + $config = Grav::instance()['config']; + return $config->get('themes.' . $config->get('system.pages.theme'). '.default_taxonomy_category'); + } + + /** + * Handle CSS + * + * @return void + */ + public function onPageInitialized() + { + $assets = $this->grav['assets']; + $config = $this->config(); + if (isset($config['style'])) { + $style = $config['style']; + if ($style == 'default') { + $style = 'theme'; + } + $current = self::fileFinder( + $style, + '.css', + 'theme://css/styles', + 'theme://css' + ); + $assets->addCss($current, 101); + } + } + + /** + * Search for a file in multiple locations + * + * @param string $file Filename. + * @param string $ext File extension. + * @param array ...$locations List of paths. + * + * @return string + */ + public static function fileFinder($file, $ext, ...$locations) + { + $return = false; + foreach ($locations as $location) { + if (file_exists($location . '/' . $file . $ext)) { + $return = $location . '/' . $file . $ext; + break; + } + } + return $return; + } +} +?> diff --git a/themes/learn2-git-sync/learn2-git-sync.yaml b/themes/learn2-git-sync/learn2-git-sync.yaml new file mode 100644 index 0000000..4d98813 --- /dev/null +++ b/themes/learn2-git-sync/learn2-git-sync.yaml @@ -0,0 +1,20 @@ +enabled: true +root_page: # optional: set root page of documentation +top_level_version: false # Use versions for top level navigation +google_analytics_code: # Enter your `UA-XXXXXXXX-X` code here +home_url: # http://getgrav.org +github: + position: top # top | bottom | off + icon: # FontAwesome icon + tree: +default_taxonomy_category: docs +style: default + +streams: + schemes: + theme: + type: ReadOnlyStream + prefixes: + '': + - themes://learn2-git-sync + - themes://learn2 diff --git a/themes/learn2-git-sync/nextgen-editor/shortcodes/googleslides.js b/themes/learn2-git-sync/nextgen-editor/shortcodes/googleslides.js new file mode 100644 index 0000000..a94b50d --- /dev/null +++ b/themes/learn2-git-sync/nextgen-editor/shortcodes/googleslides.js @@ -0,0 +1,37 @@ +window.nextgenEditor.addHook('hookInit', () => { + window.nextgenEditor.addButtonGroup('learn2-with-git-sync', { + label: 'Learn2 with Git Sync', + }); +}); + +window.nextgenEditor.addShortcode('googleslides', { + type: 'block', + plugin: 'learn2-with-git-sync', + title: 'Google Slides', + button: { + label: 'Google Slides', + group: 'learn2-with-git-sync', + }, + attributes: { + url: { + type: String, + innerHTML: true, + title: 'URL', + widget: 'input-text', + default: '', + }, + }, + titlebar({ attributes }) { + return `URL: ${attributes.url || 'No URL provided'}`; + }, + content({ attributes }) { + return attributes.url + ? `
` + : '
No URL provided
'; + }, + preserve: { + block: [ + 'iframe', + ], + }, +}); diff --git a/themes/learn2-git-sync/nextgen-editor/shortcodes/h5p.js b/themes/learn2-git-sync/nextgen-editor/shortcodes/h5p.js new file mode 100644 index 0000000..eb0e984 --- /dev/null +++ b/themes/learn2-git-sync/nextgen-editor/shortcodes/h5p.js @@ -0,0 +1,39 @@ +window.nextgenEditor.addHook('hookInit', () => { + window.nextgenEditor.addButtonGroup('learn2-with-git-sync', { + label: 'Learn2 with Git Sync', + }); +}); + +window.nextgenEditor.addShortcode('h5p', { + type: 'block', + plugin: 'learn2-with-git-sync', + title: 'H5P', + button: { + label: 'H5P', + group: 'learn2-with-git-sync', + }, + attributes: { + url: { + type: String, + innerHTML: true, + title: 'URL', + widget: 'input-text', + default: '', + }, + }, + titlebar({ attributes }) { + return `URL: ${attributes.url || 'No URL provided'}`; + }, + content({ attributes }) { + return attributes.url + + ? `
` + : '
No URL provided
'; + }, + preserve: { + block: [ + 'iframe', + 'script', + ], + }, +}); diff --git a/themes/learn2-git-sync/nextgen-editor/shortcodes/pdf.js b/themes/learn2-git-sync/nextgen-editor/shortcodes/pdf.js new file mode 100644 index 0000000..8d8acb3 --- /dev/null +++ b/themes/learn2-git-sync/nextgen-editor/shortcodes/pdf.js @@ -0,0 +1,38 @@ +window.nextgenEditor.addHook('hookInit', () => { + window.nextgenEditor.addButtonGroup('learn2-with-git-sync', { + label: 'Learn2 with Git Sync', + }); +}); + +window.nextgenEditor.addShortcode('pdf', { + type: 'block', + plugin: 'learn2-with-git-sync', + title: 'PDF', + button: { + label: 'PDF', + group: 'learn2-with-git-sync', + }, + attributes: { + url: { + type: String, + innerHTML: true, + title: 'URL', + widget: 'input-text', + default: '', + }, + }, + titlebar({ attributes }) { + return `URL: ${attributes.url || 'No URL provided'}`; + }, + content({ attributes }) { + return attributes.url + + ? `
` + : '
No URL provided
'; + }, + preserve: { + block: [ + 'iframe', + ], + }, +}); diff --git a/themes/learn2-git-sync/screenshot.jpg b/themes/learn2-git-sync/screenshot.jpg new file mode 100644 index 0000000..00d7516 Binary files /dev/null and b/themes/learn2-git-sync/screenshot.jpg differ diff --git a/themes/learn2-git-sync/scss/_affix.scss b/themes/learn2-git-sync/scss/_affix.scss new file mode 100644 index 0000000..dc2faf7 --- /dev/null +++ b/themes/learn2-git-sync/scss/_affix.scss @@ -0,0 +1,37 @@ +// Core +@import "theme/core"; +@import "theme/fonts"; + +// Forms +@import "theme/forms"; + +// Header +@import "theme/header"; + +// Nav +@import "theme/nav"; + +// Main +@import "theme/main"; + +// Typography +@import "standard_colors"; +@import "theme/typography"; + +// Tables +@import "theme/tables"; + +// Buttons +@import "theme/buttons"; + +// Bullets +@import "theme/bullets"; + +// Custom +@import "theme/tooltips"; + +// Scrollbar +@import "theme/scrollbar"; + +// Custom +@import "theme/custom"; \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/_contrast.scss b/themes/learn2-git-sync/scss/_contrast.scss new file mode 100644 index 0000000..d2a36a9 --- /dev/null +++ b/themes/learn2-git-sync/scss/_contrast.scss @@ -0,0 +1,417 @@ +/* + WCAG color contrast formula + https://www.w3.org/TR/2016/NOTE-WCAG20-TECHS-20161007/G18#G18-procedure + + @see https://codepen.io/giana/project/full/ZWbGzD + + This pen uses the non-standard Sass pow() function + https://css-tricks.com/snippets/sass/power-function/ + Using it outside of CodePen requires you provide your own pow() function with support for decimals + + To generate random colors, we're also using a two-variable random() function includded with compass. +*/ + +@function pow($number, $exponent) { + @if (round($exponent) != $exponent) { + @return exp($exponent * ln($number)); + } + + $value: 1; + + @if $exponent > 0 { + @for $i from 1 through $exponent { + $value: $value * $number; + } + } @else if $exponent < 0 { + @for $i from 1 through -$exponent { + $value: $value / $number; + } + } + + @return $value; +} + +@function factorial($value) { + $result: 1; + + @if $value == 0 { + @return $result; + } + + @for $index from 1 through $value { + $result: $result * $index; + } + + @return $result; +} + +@function summation($iteratee, $input, $initial: 0, $limit: 100) { + $sum: 0; + + @for $index from $initial to $limit { + $sum: $sum + call($iteratee, $input, $index); + } + + @return $sum; +} + +@function exp-maclaurin($x, $n) { + @return (pow($x, $n) / factorial($n)); +} + +@function exp($value) { + @return summation(exp-maclaurin, $value, 0, 100); +} + +@function ln-maclaurin($x, $n) { + @return (pow(-1, $n + 1) / $n) * (pow($x - 1, $n)); +} + +@function ln($value) { + $ten-exp: 1; + $ln-ten: 2.30258509; + + @while ($value > pow(10, $ten-exp)) { + $ten-exp: $ten-exp + 1; + } + + @return summation(ln-maclaurin, $value / pow(10, $ten-exp), 1, 100) + $ten-exp * $ln-ten; +} + + + +// Check if value is not a number, eg, NaN or Infinity +@function is-nan($value) { + @return $value / $value != 1; +} + +// Constrain number between two values +@function clip($value, $min : 0.0001, $max : 0.9999) { + @return if($value > $max, $max, if($value < $min, $min, $value)); +} + +// Checks if value is within specified bounds, inclusive +@function in-bounds($value, $min : 0, $max : 1) { + @return if($value >= $min and $value <= $max, true, false); +} + +//== Step one: Convert + +// Returns an RGB channel processed as XYZ... or partly at least +// See w3.org link for formula +@function xyz($channel) { + $channel: $channel / 255; + + @return if($channel <= 0.03928, $channel / 12.92, pow((($channel + 0.055) / 1.055), 2.4)); +} + +// Reverse of xyz(). Returns XYZ value to RGB channel +// https://en.wikipedia.org/wiki/SRGB +@function srgb($channel) { + @return 255 * if($channel <= 0.0031308, $channel * 12.92, 1.055 * pow($channel, 1/2.4) - 0.055); +} + +//== Step two: Measure brightness + +// Returns relative luminance of color +// See w3.org link for formula +@function luminance($color) { + $red: xyz(red($color)); + $green: xyz(green($color)); + $blue: xyz(blue($color)); + + @return $red * 0.2126 + $green * 0.7152 + $blue * 0.0722; +} + +//== Step three: Check contrast + +// Checks if two colors pass minimum contrast requirements, option to return ratio instead of true/false +// See w3.org link for formula +@function check-contrast($color1, $color2 : #fff, $min-ratio : 'AA', $return-ratio : false) { + // Accept keywords for ratio + @if($min-ratio == 'AA' or $min-ratio == 'AAALG') { $min-ratio: 4.5; } + @elseif($min-ratio == 'AALG') { $min-ratio: 3; } + @elseif($min-ratio == 'AAA') { $min-ratio: 7; } + + // Check brightness of each color + $lum1: luminance($color1); + $lum2: luminance($color2); + + // Measure contrast ratio + $ratio: (max($lum1, $lum2) + 0.05) / (min($lum1, $lum2) + 0.05); + + // Return ratio if option set + @if($return-ratio) { @return $ratio; } + + // Else return boolean + @return if($ratio >= $min-ratio, true, false); +} + +//== Step four: Scale luminance and lightness + +// Takes color, scales luminance, spits out new color +@function scale-luminance($color, $target-luminance) { + // First, scale the channels by the required amount + $scale: $target-luminance / luminance($color); + + // And clip them, so we don't end up dividing by zero... among other things I forget + $red: clip(xyz(red($color))) * $scale; + $green: clip(xyz(green($color))) * $scale; + $blue: clip(xyz(blue($color))) * $scale; + + // Sometimes, that's not enough and one channel hits #ff or #00. We'll need to scale the other channels to compensate + $red-passes: in-bounds($red); + $green-passes: in-bounds($green); + $blue-passes: in-bounds($blue); + + @if(not $red-passes or not $green-passes or not $blue-passes) { + // First, pick a channel to be a baseline, so the rest can be expressed as ratios + $baseline: min($red, $green, $blue); + + // Then set up the variables expressed in terms of the baseline + $r: $red / $baseline; + $g: $green / $baseline; + $b: $blue / $baseline; + + // Subtract any channel no longer in bounds + //-- TODO This needs to DRY. how to dry. help + @if(not $red-passes) { + $target-luminance: $target-luminance - 0.2126; + $r: 0; + } + + @if(not $green-passes) { + $target-luminance: $target-luminance - 0.7152; + $g: 0; + } + + @if (not $blue-passes) { + $target-luminance: $target-luminance - 0.0722; + $b: 0; + } + + // Now get the required difference by using the luminance() formula + $x: $target-luminance / ($r * 0.2126 + $g * 0.7152 + $b * 0.0722); + + // And multiply the channels by this new per-channel luminance + @if($red-passes) { $red: $r * $x; } + @if($green-passes) { $green: $g * $x; } + @if($blue-passes) { $blue: $b * $x; } + } + + // Return the new color + @return rgb(srgb($red), srgb($green), srgb($blue)); +} + +// Scales lightness by 0.1% while checking contrast ratio. This is just a last-ditch effort to correct rounding errors +@function scale-light($color1, $color2, $min-ratio, $operation, $iterations) { + // Loop this function for however many iterations are passed + @for $n from 1 through $iterations { + // Return color unchanged if it passes contrast check + @if(check-contrast($color1, $color2, $min-ratio)) { + @return $color1; + } @else { + // Otherwise use the built-in lighten() and darken() functions, which change the lightness channel (ie, the L in HSL) + // Our previous scale-luminance() function changes both saturation and lightness + $color1: if($operation == lighten, lighten($color1, 0.1%), darken($color1, 0.1%)); + } + } + + // Return the best color we've got + @return $color1; +} + +//== Step six: Fix colors + +// Tries to fix contrast by adjusting $color1 +@function fix-color($color1, $color2 : #fff, $min-ratio : 'AA', $iterations : 5) { + // Accept keywords for ratio + @if($min-ratio == 'AA' or $min-ratio == 'AAALG') { $min-ratio: 4.5; } + @elseif($min-ratio == 'AALG') { $min-ratio: 3; } + @elseif($min-ratio == 'AAA') { $min-ratio: 7; } + + // If check fails, begin conversion + @if(not check-contrast($color1, $color2, $min-ratio)) { + // First get both luminances and clip so #fff and #000 don't break anything + $lum1: clip(luminance($color1)); + $lum2: clip(luminance($color2)); + + // Defaults we'll set later + $target-luminance: $lum1; + $operation: ''; + + // If the same luminance is passed, lighten/darken one to make conversion possible + @if($lum1 == $lum2) { + // Darken light colors and lighten dark colors, so we have more room to scale them (eg, we won't hit #fff or #000 before we can fix them) + @if($lum1 > 0.5) { + $color1: darken($color1, 1%); + $lum1: luminance($color1); + } @else { + $color1: lighten($color1, 1%); + $lum1: luminance($color1); + } + } + + // Now let's get the target luminance. This basically reverses check-contrast(), so we know what luminance to aim for + @if(max($lum1, $lum2) == $lum1) { + $target-luminance: (($lum2 + 0.05) * $min-ratio - 0.05); + $operation: lighten; + } @else { + $target-luminance: (($lum2 + 0.05) / $min-ratio - 0.05); + $operation: darken; + } + + // Skip the whole conversion if we just need #fff or #000 + @if($target-luminance >= 1) { @return #fff; } + @elseif ($target-luminance <= 0) { @return #000; } + @else { + // Scale color by calculated difference to arrive at target luminance + $color1: scale-luminance($color1, $target-luminance); + + // Try to fix any rounding errors by lightening or darkening + $color1: scale-light($color1, $color2, $min-ratio, $operation, $iterations); + } + + } + + // Tada + @return $color1; +} + +// Tries to fix contrast of both colors by weighted balance (0–100) +// 0 = don't change first color, change second color; +// 100 = change first color, don't change second color +@function fix-contrast($color1, $color2, $min-ratio : 'AA', $balance : 50) { + @if(not check-contrast($color1, $color2, $min-ratio)) { + // Fix colors + $color-fixed-1: fix-color($color1, $color2, $min-ratio); + $color-fixed-2: fix-color($color2, $color1, $min-ratio); + + // We're just fixing both colors, then mixing back the original color using the native Sass function. Easy-peasy + $color1: mix($color-fixed-1, $color1, $balance); + $color2: mix($color2, $color-fixed-2, $balance); + + // If the current configuration doesn't work, try to fix it + @if (not check-contrast($color1, $color2, $min-ratio)) { + // This happens if, again, we reach #fff or #000 before we want to + @if(not in-bounds(luminance($color-fixed-2), 0.00002, 0.99936)) { + // So we scale the opposite color to compensate + $color1: fix-color($color1, $color2, $min-ratio); + @warn "Your settings didn't work. Modifying first color in an attempt to fix." + } + @if(not in-bounds(luminance($color-fixed-1), 0.00002, 0.99936)) { + $color2: fix-color($color2, $color1, $min-ratio); + @warn "Your settings didn't work. Modifying second color in an attempt to fix." + } + } + } + + // Returns a list with both colors, use nth($result, 1) and nth($result, 2) to get colors. See below for example + @return $color1, $color2; +} + +// Get the best contrast when given three colors +@function best-contrast($color, $color1, $color2, $ratio1 : 'AA', $ratio2 : $ratio1) { + @if(not check-contrast($color, $color1, $ratio1) or not check-contrast($color, $color2, $ratio2)) { + // First get the luminance of the two static colors + $lum1: luminance(fix-color($color1, $color1, $ratio1)); + $lum2: luminance(fix-color($color2, $color2, $ratio2)); + + // Average the luminance together to get the maximum difference + $average-lum: ($lum1 + $lum2) / 2; + + // Then set changing color to this luminance + $color: scale-luminance($color, $average-lum); + + // Warn if it fails contrast check + @if(not check-contrast($color, $color1, $ratio1)) { + @warn 'Your color fails to contrast with #{$color1}'; + } + + @if(not check-contrast($color, $color2, $ratio2)) { + @warn 'Your color fails to contrast with #{$color2}'; + } + } + + @return $color; +} + + +//====== Helper functions + +@function randomColor() { + $color: hsl(random(360), random(100), random(100)); + @return $color; +} + +@mixin show-color($color) { + background: $color; + color: if(luminance($color) > 0.55, #000, #fff); + + &::after { + content: '#{$color}'; + } +} + +//====== Put in your own settings here +$ratio: random(21); // A number between 1 and 21 +$balance: random(100); // A number between 0 and 100 + +// Any valid color +$color1: randomColor(); +$color2: scale-luminance(randomColor(), luminance($color1) + 0.1); +$color3: randomColor(); + +.ratio::after { content: '#{$ratio}'; } +.balance::after { content: '#{$balance}'; } + +.color-block .color1 { @include show-color($color1); } +.color-block .color2 { @include show-color($color2); } + +.fix-color { + .color:nth-child(2) { @include show-color(fix-color($color1, $color2, $ratio)); } + .color:nth-child(3) { @include show-color(fix-color($color2, $color1, $ratio)); } +} + +.fix-contrast { + .color:nth-child(2) { @include show-color(nth(fix-contrast($color1, $color2, $ratio, $balance),1)); } + .color:nth-child(3) { @include show-color(nth(fix-contrast($color1, $color2, $ratio, $balance),2)); } +} + +.best-contrast { + .color:nth-child(2) { @include show-color($color3); } + .color:nth-child(3) { @include show-color(best-contrast($color3, $color1, $color2, $ratio, $ratio)); } +} + +.scale-luminance { + .color:nth-child(2) { @include show-color(scale-luminance($color1, luminance($color2))); } +} + +.check-contrast { + .result::after { content: '#{check-contrast($color1, $color2, $ratio)}' ;} +} + +.luminance { + .result::after { content: '#{luminance($color1), luminance($color2)}' ;} +} + + +// Amplify (strengthen) color by percentage +// @see https://www.scrivito.com/blog/sass-magic +@function amplify($color, $percentage) { + @if (lightness( $color ) <= 50) { + @return darken($color, $percentage); + } + @else { + @return lighten($color, $percentage); + } +} +// Diminish (weaken) color by percentage +@function diminish($color, $percentage) { + @if (lightness( $color ) >= 50) { + @return darken($color, $percentage); + } + @else { + @return lighten($color, $percentage); + } +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/_hover-color.scss b/themes/learn2-git-sync/scss/_hover-color.scss new file mode 100644 index 0000000..8f11dd2 --- /dev/null +++ b/themes/learn2-git-sync/scss/_hover-color.scss @@ -0,0 +1,449 @@ +/* + The Ultimate Hover Color Function + @author Gray Gilmore - http://code.graygilmore.com + + The goal of this Sass function is provide a hover color that works + with any color on any background. No longer do we need to bundle + hover color options with our themes, let Sassy McSasserson take care + of that for you. + + The hover color, seen in this demo as "After" text, must be visible in + all situations and, hopefully, pass the WCAG 2.0 contrast ratio [1] + formula (4.5:1). + + [1] http://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast + + contrast-ratio() help from @davidkaneda + + + ## Usage ## + + a { + color: $link-color; + + &:hover { + color: hover($background-color, $link-color); + } + } + + button { + background: $button-background; + color: $button-color; + + &:hover { + background: hover($background-color, $button-background); + } + } + + ## End Usage ## + +*/ + +@function color-luminance($value) { + @if $value <= 0.03928 { + @return $value / 12.92; + } @else { + @return ($value + 0.055)/1.055 * ($value + 0.055)/1.055; + } +} + +@function luminosity($color) { + $r: color-luminance(red($color) / 255); + $g: color-luminance(green($color) / 255); + $b: color-luminance(blue($color) / 255); + + @return 0.2126 * $r + 0.7152 * $g + 0.0722 * $b; +} + +@function contrast-ratio($c1, $c2) { + $l1: luminosity($c1); + $l2: luminosity($c2); + + @if $l2 > $l1 { + @return $l2 / $l1; + } @else { + @return $l1 / $l2; + } +} + +@function contrast-color($background, $color) { + + $style: ''; + $hover-color: ''; + $color-lightness: abs(lightness($color)); + $background-lightness: abs(lightness($background)); + $contrast: abs(contrast-ratio($background, $color)); + + @if $color-lightness == 100 { + /* White */ + @if $background-lightness >= 90 { + $hover-color: darken($background, 15); + } @else { + $hover-color: mix($color, $background, 80); + } + } @else if $color-lightness == 0 { + /* Black */ + @if $background-lightness < 10 { + $hover-color: lighten($background, 20); + } @else { + $hover-color: mix($color, $background, 60); + } + } @else if $background-lightness < $color-lightness { + /* Light text on dark background */ + $style: 'lighten'; + @if $color-lightness > 90 { + /* Color too light to lighten */ + $hover-color: darken($color, 20); + $style: 'darken'; + } @else { + $hover-color: lighten($color, 20); + } + + } @else { + /* Dark text on light background */ + $style: 'darken'; + @if $color-lightness < 15 { + /* Color is too dark to further darken */ + $hover-color: lighten($color, 20); + $style: 'lighten'; + } @else { + $hover-color: darken($color, 20); + } + } + + /* + Sometimes the $hover-color won't have enough contrast + with the background. We'll try to fix this below by + increasing our darken/lighten range by +/- 5 + */ + + /* Only test if the $color isn't white or black */ + /*@if $color-lightness != 0 and $color-lightness != 100 { + $new-contrast: contrast-ratio($background, $hover-color); + @if $new-contrast < 8 { + @for $i from 15 to 25 { + @if $style == 'darken' { + $test-color: darken($color, $i); + } @else { + $test-color: lighten($color, $i); + } + $test-contrast: contrast-ratio($background, $test-color); + + @if $test-contrast > $new-contrast { + $new-contrast: $test-contrast; + $hover-color: $test-color; + } + } + } + }*/ + + @return $hover-color; +} + + +// Precomputed linear color channel values, for use in contrast calculations. +// See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests +// +// Algorithm, for c in 0 to 255: +// f(c) { +// c = c / 255; +// return c < 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4); +// } +// +// This lookup table is needed since there is no `pow` in SASS. +$linear-channel-values: + 0 + .0003035269835488375 + .000607053967097675 + .0009105809506465125 + .00121410793419535 + .0015176349177441874 + .001821161901293025 + .0021246888848418626 + .0024282158683907 + .0027317428519395373 + .003035269835488375 + .003346535763899161 + .003676507324047436 + .004024717018496307 + .004391442037410293 + .004776953480693729 + .005181516702338386 + .005605391624202723 + .006048833022857054 + .006512090792594475 + .006995410187265387 + .007499032043226175 + .008023192985384994 + .008568125618069307 + .009134058702220787 + .00972121732023785 + .010329823029626936 + .010960094006488246 + .011612245179743885 + .012286488356915872 + .012983032342173012 + .013702083047289686 + .014443843596092545 + .01520851442291271 + .01599629336550963 + .016807375752887384 + .017641954488384078 + .018500220128379697 + .019382360956935723 + .0202885630566524 + .021219010376003555 + .022173884793387385 + .02315336617811041 + .024157632448504756 + .02518685962736163 + .026241221894849898 + .027320891639074894 + .028426039504420793 + .0295568344378088 + .030713443732993635 + .03189603307301153 + .033104766570885055 + .03433980680868217 + .03560131487502034 + .03688945040110004 + .0382043715953465 + .03954623527673284 + .04091519690685319 + .042311410620809675 + .043735029256973465 + .04518620438567554 + .046665086336880095 + .04817182422688942 + .04970656598412723 + .05126945837404324 + .052860647023180246 + .05448027644244237 + .05612849004960009 + .05780543019106723 + .0595112381629812 + .06124605423161761 + .06301001765316767 + .06480326669290577 + .06662593864377289 + .06847816984440017 + .07036009569659588 + .07227185068231748 + .07421356838014963 + .07618538148130785 + .07818742180518633 + .08021982031446832 + .0822827071298148 + .08437621154414882 + .08650046203654976 + .08865558628577294 + .09084171118340768 + .09305896284668745 + .0953074666309647 + .09758734714186246 + .09989872824711389 + .10224173308810132 + .10461648409110419 + .10702310297826761 + .10946171077829933 + .1119324278369056 + .11443537382697373 + .11697066775851084 + .11953842798834562 + .12213877222960187 + .12477181756095049 + .12743768043564743 + .1301364766903643 + .13286832155381798 + .13563332965520566 + .13843161503245183 + .14126329114027164 + .14412847085805777 + .14702726649759498 + .14995978981060856 + .15292615199615017 + .1559264637078274 + .1589608350608804 + .162029375639111 + .1651321945016676 + .16826940018969075 + .1714411007328226 + .17464740365558504 + .17788841598362912 + .18116424424986022 + .184474994500441 + .18782077230067787 + .19120168274079138 + .1946178304415758 + .19806931955994886 + .20155625379439707 + .20507873639031693 + .20863687014525575 + .21223075741405523 + .21586050011389926 + .2195261997292692 + .2232279573168085 + .22696587351009836 + .23074004852434915 + .23455058216100522 + .238397573812271 + .24228112246555486 + .24620132670783548 + .25015828472995344 + .25415209433082675 + .2581828529215958 + .26225065752969623 + .26635560480286247 + .2704977910130658 + .27467731206038465 + .2788942634768104 + .2831487404299921 + .2874408377269175 + .29177064981753587 + .2961382707983211 + .3005437944157765 + .3049873140698863 + .30946892281750854 + .31398871337571754 + .31854677812509186 + .32314320911295075 + .3277780980565422 + .33245153634617935 + .33716361504833037 + .3419144249086609 + .3467040563550296 + .35153259950043936 + .3564001441459435 + .3613067797835095 + .3662525955988395 + .3712376804741491 + .3762621229909065 + .38132601143253014 + .386429433787049 + .39157247774972326 + .39675523072562685 + .4019777798321958 + .4072402119017367 + .41254261348390375 + .4178850708481375 + .4232676699860717 + .4286904966139066 + .43415363617474895 + .4396571738409188 + .44520119451622786 + .45078578283822346 + .45641102318040466 + .4620769996544071 + .467783796112159 + .47353149614800955 + .4793201831008268 + .4851499400560704 + .4910208498478356 + .4969329950608704 + .5028864580325687 + .5088813208549338 + .5149176653765214 + .5209955732043543 + .5271151257058131 + .5332764040105052 + .5394794890121072 + .5457244613701866 + .5520114015120001 + .5583403896342679 + .5647115057049292 + .5711248294648731 + .5775804404296506 + .5840784178911641 + .5906188409193369 + .5972017883637634 + .6038273388553378 + .6104955708078648 + .6172065624196511 + .6239603916750761 + .6307571363461468 + .6375968739940326 + .6444796819705821 + .6514056374198242 + .6583748172794485 + .665387298282272 + .6724431569576875 + .6795424696330938 + .6866853124353135 + .6938717612919899 + .7011018919329731 + .7083757798916868 + .7156935005064807 + .7230551289219693 + .7304607400903537 + .7379104087727308 + .7454042095403874 + .7529422167760779 + .7605245046752924 + .768151147247507 + .7758222183174236 + .7835377915261935 + .7912979403326302 + .799102738014409 + .8069522576692516 + .8148465722161012 + .8227857543962835 + .8307698767746546 + .83879901174074 + .846873231509858 + .8549926081242338 + .8631572134541023 + .8713671191987972 + .8796223968878317 + .8879231178819663 + .8962693533742664 + .9046611743911496 + .9130986517934192 + .9215818562772946 + .9301108583754237 + .938685728457888 + .9473065367331999 + .9559733532492861 + .9646862478944651 + .9734452903984125 + .9822505503331171 + .9911020971138298 + 1; + +/** + * Calculate the luminance for a color. + * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + */ +@function luminance($color) { + $red: nth($linear-channel-values, red($color) + 1); + $green: nth($linear-channel-values, green($color) + 1); + $blue: nth($linear-channel-values, blue($color) + 1); + + @return .2126 * $red + .7152 * $green + .0722 * $blue; +} + +/** + * Calculate the contrast ratio between two colors. + * See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests + */ +@function contrast($back, $front) { + $backLum: luminance($back) + .05; + $foreLum: luminance($front) + .05; + + @return max($backLum, $foreLum) / min($backLum, $foreLum); +} + +/** + * Determine whether to use dark or light text on top of given color. + * Returns black for dark text and white for light text. + */ +@function maximize-color-contrast($color) { + $lightContrast: contrast($color, white); + $darkContrast: contrast($color, black); + + @if ($lightContrast > $darkContrast) { + @return white; + } + @else { + @return black; + } +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/_prefix.scss b/themes/learn2-git-sync/scss/_prefix.scss new file mode 100644 index 0000000..6e5e22f --- /dev/null +++ b/themes/learn2-git-sync/scss/_prefix.scss @@ -0,0 +1,21 @@ +// REQUIRED DEPENDENCIES - DO NOT CHANGE + +// Load Third Party Libraries +@import "vendor/bourbon/bourbon"; + +// Load Nucleus Configuration +@import "configuration/nucleus/base"; + +// Load Template Configuration +@import "configuration/theme/base"; + +// Load Nucleus Mixins and Functions +@import "nucleus/functions/base"; +@import "nucleus/mixins/base"; + +// Load Template Library +@import "theme/modules/base"; + +// Utils +@import "hover-color"; +@import "contrast"; \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/_standard_colors.scss b/themes/learn2-git-sync/scss/_standard_colors.scss new file mode 100644 index 0000000..fcadea0 --- /dev/null +++ b/themes/learn2-git-sync/scss/_standard_colors.scss @@ -0,0 +1,24 @@ +// Standard Colors +$turquoise: #1ABC9C; +$green_sea: #16A085; +$emerald: #2ECC71; +$nephritis: #27AE60; +$peter_river: #3498DB; +$belize_hole: #2980B9; +$amethyst: #A66BBE; +$wisteria: #8E44AD; +$wet_asphalt: #34495E; +$midnight_blue: #2C3E50; +$sunflower: #F2CA27; +$orange: #F39C12; +$carrot: #E67E22; +$pumpkin: #D35400; +$alizarin: #E74C3C; +$pomegranate: #C0392B; +$clouds: #ECF0F1; +$silver: #BDC3C7; +$concrete: #95A5A6; +$asbestos: #7F8C8D; + +$progress-bar: #50D681; +$star-color: #F8C74A; \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/configuration/nucleus/_base.scss b/themes/learn2-git-sync/scss/configuration/nucleus/_base.scss new file mode 100644 index 0000000..0b7e898 --- /dev/null +++ b/themes/learn2-git-sync/scss/configuration/nucleus/_base.scss @@ -0,0 +1,14 @@ +// Core +@import "core"; + +// Breakpoints +@import "breakpoints"; + +// Layout +@import "layout"; + +// Typography +@import "typography"; + +// Nav +@import "nav"; \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/configuration/nucleus/_breakpoints.scss b/themes/learn2-git-sync/scss/configuration/nucleus/_breakpoints.scss new file mode 100644 index 0000000..55dbbd0 --- /dev/null +++ b/themes/learn2-git-sync/scss/configuration/nucleus/_breakpoints.scss @@ -0,0 +1,17 @@ +// Media Device Breakpoints +$large-desktop-container: 75.000em !default; +$desktop-container: 60.000em !default; +$tablet-container: 48.000em !default; +$large-mobile-container: 30.000em !default; +$mobile-container: 100% !default; + +// Breakpoint Variables For Particles +$media: "all" !default; +$desktop-max: "#{$media} and (max-width:#{$desktop-container - 0.062})" !default; +$mobile-only: "#{$media} and (max-width:#{$tablet-container - 0.062})" !default; +$no-mobile: "#{$media} and (min-width:#{$tablet-container})" !default; +$small-mobile-range: "#{$media} and (max-width:#{$large-mobile-container})" !default; +$large-mobile-range: "#{$media} and (min-width:#{$large-mobile-container + 0.063}) and (max-width:#{$tablet-container - 0.062})" !default; +$tablet-range: "#{$media} and (min-width:#{$tablet-container}) and (max-width:#{$desktop-container - 0.062})" !default; +$desktop-range: "#{$media} and (min-width:#{$desktop-container}) and (max-width:#{$large-desktop-container - 0.062})" !default; +$large-desktop-range: "#{$media} and (min-width:#{$large-desktop-container})" !default; diff --git a/themes/learn2-git-sync/scss/configuration/nucleus/_core.scss b/themes/learn2-git-sync/scss/configuration/nucleus/_core.scss new file mode 100644 index 0000000..49c79ff --- /dev/null +++ b/themes/learn2-git-sync/scss/configuration/nucleus/_core.scss @@ -0,0 +1,2 @@ +// Border Radius +$core-border-radius: rem(3) !default; \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/configuration/nucleus/_layout.scss b/themes/learn2-git-sync/scss/configuration/nucleus/_layout.scss new file mode 100644 index 0000000..98b2803 --- /dev/null +++ b/themes/learn2-git-sync/scss/configuration/nucleus/_layout.scss @@ -0,0 +1,8 @@ +// Content Block Spacing Variables +$content-margin: 0.625rem !default; +$content-padding: 0.938rem !default; + +// Fixed Block Variables +$fixed-block-full: percentage(1/4) !default; +$fixed-block-desktop: percentage(1/3) !default; +$fixed-block-tablet: percentage(1/2) !default; \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/configuration/nucleus/_nav.scss b/themes/learn2-git-sync/scss/configuration/nucleus/_nav.scss new file mode 100644 index 0000000..5a63a55 --- /dev/null +++ b/themes/learn2-git-sync/scss/configuration/nucleus/_nav.scss @@ -0,0 +1,3 @@ +// Dropdowns +$dropdown-width: 140px !default; +$flyout-width: 140px !default; \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/configuration/nucleus/_typography.scss b/themes/learn2-git-sync/scss/configuration/nucleus/_typography.scss new file mode 100644 index 0000000..2a66536 --- /dev/null +++ b/themes/learn2-git-sync/scss/configuration/nucleus/_typography.scss @@ -0,0 +1,14 @@ +// Base Sizes +$core-font-size: 1.05rem !default; +$core-line-height: 1.7 !default; + +// Heading Sizes +$h1-font-size: $core-font-size + 2.20 !default; +$h2-font-size: $core-font-size + 1.50 !default; +$h3-font-size: $core-font-size + 1.10 !default; +$h4-font-size: $core-font-size + 0.75 !default; +$h5-font-size: $core-font-size + 0.35 !default; +$h6-font-size: $core-font-size - 0.15 !default; + +// Spacing +$leading-margin: $core-line-height * 1rem !default; diff --git a/themes/learn2-git-sync/scss/configuration/theme/_base.scss b/themes/learn2-git-sync/scss/configuration/theme/_base.scss new file mode 100644 index 0000000..b97612e --- /dev/null +++ b/themes/learn2-git-sync/scss/configuration/theme/_base.scss @@ -0,0 +1,5 @@ +// Colors +@import "colors"; + +// Typography +@import "bullets"; diff --git a/themes/learn2-git-sync/scss/configuration/theme/_bullets.scss b/themes/learn2-git-sync/scss/configuration/theme/_bullets.scss new file mode 100644 index 0000000..004a88a --- /dev/null +++ b/themes/learn2-git-sync/scss/configuration/theme/_bullets.scss @@ -0,0 +1,5 @@ +$bullet-icon-size: 3.5rem; + +$bullet-icon-color-1: $core-accent; +$bullet-icon-color-2: adjust-hue($core-accent, -20); +$bullet-icon-color-3: adjust-hue($core-accent, -130); \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/configuration/theme/_colors.scss b/themes/learn2-git-sync/scss/configuration/theme/_colors.scss new file mode 100644 index 0000000..f4be185 --- /dev/null +++ b/themes/learn2-git-sync/scss/configuration/theme/_colors.scss @@ -0,0 +1,60 @@ +// Core +$core-text: #555; +$core-accent: #1694CA; +$secondary-link: #F8B450; +$white: #fff; +$black: #000; +$light-gray: #ddd; + +// Borders +$core-border-color: $light-gray; +$core-border-color-hover: darken($core-border-color, 10); +$core-border-color-focus: $core-accent; + +// Shadows +$core-box-shadow: inset 0 1px 3px hsla(0, 0%, 0%, 0.06); +$core-box-shadow-focus: $core-box-shadow, 0 0 5px rgba(darken($core-border-color-focus, 5), 0.7); + +// Background +$page-bg: #fff; + +// Header +$header-text: #aaa; + +// Nav +$nav-link: #aaa; + +// Showcase +$showcase-bg: lighten($core-accent, 6%); +$showcase-text: #fff; + +// Feature +$feature-bg: #fff; + +// Main Body +$main-bg: #f7f7f7; +$body-border: darken($main-bg, 5%); + +// Sidebar +$sidebar-text: #aaa; + +// Bottom +$bottom-bg: #f7f7f7; +$bottom-text: $core-text; + +// Footer +$footer-bg: #404040; +$footer-text: #ccc; + +$rule-color: #F0F2F4; +$code-text: #c7254e; +$code-bg: #f9f2f4; +$pre-text: #237794; +$pre-bg: #f6f6f6; + +// Dark Contrast variation +$dark-navbar-text: #999; +$dark-sidebar: #222; +$dark-sidebar-text: #999; +$dark-main-bg: #333; +$dark-body-border: #666; diff --git a/themes/learn2-git-sync/scss/nucleus.scss b/themes/learn2-git-sync/scss/nucleus.scss new file mode 100644 index 0000000..9cb9575 --- /dev/null +++ b/themes/learn2-git-sync/scss/nucleus.scss @@ -0,0 +1,27 @@ +// REQUIRED DEPENDENCIES - DO NOT CHANGE + +// Load Third Party Libraries +@import "vendor/bourbon/bourbon"; + +// Load Nucleus Configuration +@import "configuration/nucleus/base"; + +// Load Nucleus Mixins and Functions +@import "nucleus/functions/base"; +@import "nucleus/mixins/base"; + +//------------------------------------------- + +// LOAD NUCLEUS COMPONENTS + +// Core +@import "nucleus/core"; + +// Flex +@import "nucleus/flex"; + +// Typography +@import "nucleus/typography"; + +// Forms +@import "nucleus/forms"; diff --git a/themes/learn2-git-sync/scss/nucleus/_core.scss b/themes/learn2-git-sync/scss/nucleus/_core.scss new file mode 100644 index 0000000..0cd0e8d --- /dev/null +++ b/themes/learn2-git-sync/scss/nucleus/_core.scss @@ -0,0 +1,217 @@ +*, *::before, *::after { + @include box-sizing(border-box); +} + +@-webkit-viewport{width:device-width} +@-moz-viewport{width:device-width} +@-ms-viewport{width:device-width} +@-o-viewport{width:device-width} +@viewport{width:device-width} + +html { + font-size: 100%; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} + +body { + margin: 0; +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} + +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} + +audio:not([controls]) { + display: none; + height: 0; +} + +[hidden], +template { + display: none; +} + +a { + background: transparent; + text-decoration: none; +} + +a:active, +a:hover { + outline: 0; +} + +abbr[title] { + border-bottom: 1px dotted; +} + +b, +strong { + font-weight: bold; +} + +dfn { + font-style: italic; +} + +mark { + background: #FFFF27; + color: #333; +} + +sub, +sup { + font-size: $core-font-size - 0.250; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +img { + border: 0; + max-width: 100%; +} + +svg:not(:root) { + overflow: hidden; +} + +figure { + margin: 1em 40px; +} + +hr { + height: 0; +} + +pre { + overflow: auto; +} + +code, +kbd, +pre, +samp { + // font-size: $core-font-size; +} + +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} + +button { + overflow: visible; +} + +button, +select { + text-transform: none; +} + +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} + +button[disabled], +html input[disabled] { + cursor: default; +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +input { + line-height: normal; +} + +input[type="checkbox"], +input[type="radio"] { + padding: 0; +} + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +input[type="search"] { + -webkit-appearance: textfield; +} + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +legend { + border: 0; + padding: 0; +} + +textarea { + overflow: auto; +} + +optgroup { + font-weight: bold; +} + +table { + border-collapse: collapse; + border-spacing: 0; + table-layout: fixed; + width: 100%; +} + +tr, td, th { + vertical-align: middle; +} + +th, td { + padding: ($leading-margin / 4) 0; +} + +th { + text-align: left; +} diff --git a/themes/learn2-git-sync/scss/nucleus/_flex.scss b/themes/learn2-git-sync/scss/nucleus/_flex.scss new file mode 100644 index 0000000..4e9a42e --- /dev/null +++ b/themes/learn2-git-sync/scss/nucleus/_flex.scss @@ -0,0 +1,189 @@ +// Page Container +.container { + width: $large-desktop-container; + margin: 0 auto; + padding: 0; + @include breakpoint(desktop-range) { + width: $desktop-container; + } + @include breakpoint(tablet-range) { + width: $tablet-container; + } + @include breakpoint(large-mobile-range) { + width: $large-mobile-container; + } + @include breakpoint(small-mobile-range) { + width: $mobile-container; + } +} + +// Grid Row and Column Setup +.grid { + @include display(flex); + @include flex-flow(row); + list-style: none; + margin: 0; + padding: 0; + @include breakpoint(mobile-only) { + @include flex-flow(row wrap); + } +} + +.block { + @include flex(1); + min-width: 0; + min-height: 0; + @include breakpoint(mobile-only) { + @include flex(0 100%); + } +} + +// Content Block Spacing +.content { + margin: $content-margin; + padding: $content-padding; +} + +body [class*="size-"] { + @include breakpoint(mobile-only) { + @include flex(0 100%); + } +} + +// Custom Size Modifiers +.size-1-2 { + @include flex(0 percentage(1/2)); +} + +.size-1-3 { + @include flex(0 percentage(1/3)); +} + +.size-1-4 { + @include flex(0 percentage(1/4)); +} + +.size-1-5 { + @include flex(0 percentage(1/5)); +} + +.size-1-6 { + @include flex(0 percentage(1/6)); +} + +.size-1-7 { + @include flex(0 percentage(1/7)); +} + +.size-1-8 { + @include flex(0 percentage(1/8)); +} + +.size-1-9 { + @include flex(0 percentage(1/9)); +} + +.size-1-10 { + @include flex(0 percentage(1/10)); +} + +.size-1-11 { + @include flex(0 percentage(1/11)); +} + +.size-1-12 { + @include flex(0 percentage(1/12)); +} + +@include breakpoint(tablet-range) { + .size-tablet-1-2 { + @include flex(0 percentage(1/2)); + } + + .size-tablet-1-3 { + @include flex(0 percentage(1/3)); + } + + .size-tablet-1-4 { + @include flex(0 percentage(1/4)); + } + + .size-tablet-1-5 { + @include flex(0 percentage(1/5)); + } + + .size-tablet-1-6 { + @include flex(0 percentage(1/6)); + } + + .size-tablet-1-7 { + @include flex(0 percentage(1/7)); + } + + .size-tablet-1-8 { + @include flex(0 percentage(1/8)); + } + + .size-tablet-1-9 { + @include flex(0 percentage(1/9)); + } + + .size-tablet-1-10 { + @include flex(0 percentage(1/10)); + } + + .size-tablet-1-11 { + @include flex(0 percentage(1/11)); + } + + .size-tablet-1-12 { + @include flex(0 percentage(1/12)); + } +} + +// Fix for Firefox versions 27 and below +@include breakpoint(mobile-only) { + @supports not (flex-wrap: wrap) { + .grid { + display: block; + @include flex-wrap(inherit); + } + .block { + display: block; + @include flex(inherit); + } + } +} + +// Reordering +.first-block { + -webkit-box-ordinal-group: 0; + -webkit-order: -1; + -ms-flex-order: -1; + order: -1; +} + +.last-block { + -webkit-box-ordinal-group: 2; + -webkit-order: 1; + -ms-flex-order: 1; + order: 1; +} + +// Fixed Grid Style +.fixed-blocks { + @include flex-flow(row wrap); + .block { + @include flex(inherit); + width: $fixed-block-full; + @include breakpoint(desktop-range) { + width: $fixed-block-desktop; + } + @include breakpoint(tablet-range) { + width: $fixed-block-tablet; + } + @include breakpoint(mobile-only) { + width: 100%; + } + } +} diff --git a/themes/learn2-git-sync/scss/nucleus/_forms.scss b/themes/learn2-git-sync/scss/nucleus/_forms.scss new file mode 100644 index 0000000..0c3e91f --- /dev/null +++ b/themes/learn2-git-sync/scss/nucleus/_forms.scss @@ -0,0 +1,63 @@ +fieldset { + border: 0; + padding: $content-padding; + margin: 0 0 $leading-margin 0; +} + +input, +label, +select { + display: block; +} + +label { + margin-bottom: $leading-margin / 4; + + &.required:after { + content: "*"; + } + + abbr { + display: none; + } +} + +textarea, #{$all-text-inputs}, select[multiple=multiple] { + @include transition(border-color); + border-radius: $core-border-radius; + margin-bottom: $leading-margin / 2; + padding: ($leading-margin / 4) ($leading-margin / 4); + width: 100%; + + &:focus { + outline: none; + } +} + +textarea { + resize: vertical; +} + +input[type="checkbox"], input[type="radio"] { + display: inline; + margin-right: $leading-margin / 4; +} + +input[type="file"] { + width: 100%; +} + +select { + width: auto; + max-width: 100%; + margin-bottom: $leading-margin; +} + +button, +input[type="submit"] { + cursor: pointer; + user-select: none; + vertical-align: middle; + white-space: nowrap; + border: inherit; +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/nucleus/_typography.scss b/themes/learn2-git-sync/scss/nucleus/_typography.scss new file mode 100644 index 0000000..5e74101 --- /dev/null +++ b/themes/learn2-git-sync/scss/nucleus/_typography.scss @@ -0,0 +1,86 @@ +// Body Base +body { + font-size: $core-font-size; + line-height: $core-line-height; +} + +// Headings +h1, h2, h3, h4, h5, h6 { + margin: $leading-margin / 2 0 $leading-margin 0; + text-rendering: optimizeLegibility; +} + +h1 { + font-size: $h1-font-size; +} + +h2 { + font-size: $h2-font-size; +} + +h3 { + font-size: $h3-font-size; +} + +h4 { + font-size: $h4-font-size; +} + +h5 { + font-size: $h5-font-size; +} + +h6 { + font-size: $h6-font-size; +} + +// Paragraph +p { + margin: $leading-margin 0; +} + +// Lists +ul, ol { + margin-top: $leading-margin; + margin-bottom: $leading-margin; + ul, ol { + margin-top: 0; + margin-bottom: 0; + } +} + +// Blockquote +blockquote { + margin: $leading-margin 0; + padding-left: $leading-margin / 2; +} + +cite { + display: block; + font-size: $core-font-size - 0.125; + &:before { + content: "\2014 \0020"; + } +} + +// Inline and Code +pre { + margin: $leading-margin 0; + padding: $content-padding; +} + +code { + vertical-align: bottom; +} + +// Extras +small { + font-size: $core-font-size - 0.125; +} + +hr { + border-left: none; + border-right: none; + border-top: none; + margin: $leading-margin 0; +} diff --git a/themes/learn2-git-sync/scss/nucleus/functions/_base.scss b/themes/learn2-git-sync/scss/nucleus/functions/_base.scss new file mode 100644 index 0000000..ffef250 --- /dev/null +++ b/themes/learn2-git-sync/scss/nucleus/functions/_base.scss @@ -0,0 +1,2 @@ +@import "direction"; +@import "range"; \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/nucleus/functions/_direction.scss b/themes/learn2-git-sync/scss/nucleus/functions/_direction.scss new file mode 100644 index 0000000..e336bb5 --- /dev/null +++ b/themes/learn2-git-sync/scss/nucleus/functions/_direction.scss @@ -0,0 +1,37 @@ +@function opposite-direction($dir) { + @if $dir == 'left' { + @return right; + } + @else if $dir == 'right' { + @return left; + } + @else if $dir == 'ltr' { + @return rtl; + } + @else if $dir == 'rtl' { + @return ltr; + } + @else if $dir == 'top' { + @return bottom; + } + @else if $dir == 'bottom' { + @return top; + } + @else { + @warn "#{$dir} is not a direction! Make sure your direction is all lowercase!"; + @return false; + } +} + +@function named-direction($dir) { + @if $dir == 'ltr' { + @return left; + } + @else if $dir == 'rtl' { + @return right; + } + @else { + @warn "#{$dir} is not a valid HTML direction! Make sure you are using a valid HTML direction"; + @return false; + } +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/nucleus/functions/_range.scss b/themes/learn2-git-sync/scss/nucleus/functions/_range.scss new file mode 100644 index 0000000..0e9dec9 --- /dev/null +++ b/themes/learn2-git-sync/scss/nucleus/functions/_range.scss @@ -0,0 +1,13 @@ +@function lower-bound($range){ + @if length($range) <= 0 { + @return 0; + } + @return nth($range,1); +} + +@function upper-bound($range) { + @if length($range) < 2 { + @return 999999999999; + } + @return nth($range, 2); +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/nucleus/mixins/_base.scss b/themes/learn2-git-sync/scss/nucleus/mixins/_base.scss new file mode 100644 index 0000000..5e4a709 --- /dev/null +++ b/themes/learn2-git-sync/scss/nucleus/mixins/_base.scss @@ -0,0 +1,2 @@ +@import "breakpoints"; +@import "utilities"; \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/nucleus/mixins/_breakpoints.scss b/themes/learn2-git-sync/scss/nucleus/mixins/_breakpoints.scss new file mode 100644 index 0000000..67e1e46 --- /dev/null +++ b/themes/learn2-git-sync/scss/nucleus/mixins/_breakpoints.scss @@ -0,0 +1,27 @@ +// Breakpoints +@mixin breakpoint($breakpoint, $media: all) { + @if $breakpoint == large-desktop-range { + @media only #{$media} and (min-width: $large-desktop-container) { @content; } + } + @else if $breakpoint == desktop-range { + @media only #{$media} and (min-width: $desktop-container) and (max-width: $large-desktop-container - 0.062) { @content; } + } + @else if $breakpoint == tablet-range { + @media only #{$media} and (min-width: $tablet-container) and (max-width: $desktop-container - 0.062) { @content; } + } + @else if $breakpoint == large-mobile-range { + @media only #{$media} and (min-width: $large-mobile-container + 0.063) and (max-width: $tablet-container - 0.062) { @content; } + } + @else if $breakpoint == small-mobile-range { + @media only #{$media} and (max-width: $large-mobile-container) { @content; } + } + @else if $breakpoint == no-mobile { + @media only #{$media} and (min-width: $tablet-container) { @content; } + } + @else if $breakpoint == mobile-only { + @media only #{$media} and (max-width: $tablet-container - 0.062) { @content; } + } + @else if $breakpoint == desktop-only { + @media only #{$media} and (max-width: $desktop-container - 0.062) { @content; } + } +} diff --git a/themes/learn2-git-sync/scss/nucleus/mixins/_utilities.scss b/themes/learn2-git-sync/scss/nucleus/mixins/_utilities.scss new file mode 100644 index 0000000..adda82f --- /dev/null +++ b/themes/learn2-git-sync/scss/nucleus/mixins/_utilities.scss @@ -0,0 +1,31 @@ + + +// List Reset +%list-reset { + margin: 0; + padding: 0; + list-style: none; +} + +// Vertical Centering +%vertical-align { + position: relative; + top: 50%; + -webkit-transform: translateY(-50%); + -moz-transform: translateY(-50%); + -o-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); +} + +// Columns +@mixin columns($columns) { + width: percentage(1/$columns); +} + +// Float with margin variable +@mixin float($direction, $margin: 0) { + float: $direction; + margin-#{opposite-direction($direction)}: $margin; +} + diff --git a/themes/learn2-git-sync/scss/nucleus/particles/_align-text.scss b/themes/learn2-git-sync/scss/nucleus/particles/_align-text.scss new file mode 100644 index 0000000..94ef815 --- /dev/null +++ b/themes/learn2-git-sync/scss/nucleus/particles/_align-text.scss @@ -0,0 +1,46 @@ +// Alignment Classes +$align-class-names: + large-desktop, + desktop, + tablet, + large-mobile, + small-mobile, + no-mobile, + mobile-only; + +// Breakpoints +$align-class-breakpoints: + $large-desktop-range, + $desktop-range, + $tablet-range, + $large-mobile-range, + $small-mobile-range, + $no-mobile, + $mobile-only; + +// Create Responsive Alignment Classes +@mixin align-classes{ + .text-left { + text-align: left !important; + } + .text-right { + text-align: right !important; + } + .text-center { + text-align: center !important; + } + .text-justify { + text-align: justify !important; + } + + @for $i from 1 through length($align-class-names) { + @media #{(nth($align-class-breakpoints, $i))} { + .#{(nth($align-class-names, $i))}-text-left { text-align: left !important; } + .#{(nth($align-class-names, $i))}-text-right { text-align: right !important; } + .#{(nth($align-class-names, $i))}-text-center { text-align: center !important; } + .#{(nth($align-class-names, $i))}-text-justify { text-align: justify !important; } + } + } +} + +@include align-classes; \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/nucleus/particles/_visibility.scss b/themes/learn2-git-sync/scss/nucleus/particles/_visibility.scss new file mode 100644 index 0000000..e69de29 diff --git a/themes/learn2-git-sync/scss/styles/arctic.scss b/themes/learn2-git-sync/scss/styles/arctic.scss new file mode 100644 index 0000000..6b14ea6 --- /dev/null +++ b/themes/learn2-git-sync/scss/styles/arctic.scss @@ -0,0 +1,49 @@ +@import "../prefix"; + +// Theme +$theme-main: #CDCDCD; +$theme-secondary: #49494b; +$theme-main-alt: #99D3DF; +$theme-secondary-alt: #88B8D6; +$theme-text: #333333; +$theme-text-alt: #ffffff; +$theme-background: #E9E9E9; + +// Implementation and customization +$page-bg: $theme-background; +$core-text: $theme-text; +$core-accent: darken($theme-secondary, 25%); +$secondary-link: darken($core-accent, 15%); + +$header-height: 0; +$header-bg: $theme-main-alt; +$sidebar-width: 300px; +$sidebar-width-smaller: 230px; +$sidebar-bg: darken($theme-secondary-alt, 15%); +$sidebar-text: darken($theme-background, 5%); +$sidebar-link: lighten($theme-background, 75%); +$navbar-text: desaturate($core-accent,50%); +$navbar-bg: $theme-background; +$progress-bar: #50D681; +$check-color: lighten($sidebar-bg, 30%); +$star-color: #F8C74A; + +// Font Weights +$font-weight-bold: 600; +$font-weight-medium: 500; +$font-weight-regular: 400; + +// Body +$body-margin: 4rem; + +// Logo +$logo-width: 8rem; +$logo-height: 2rem; + +body { + #sidebar ul li.active > a { + color: $theme-text !important; + } +} + +@import "../affix"; \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/styles/dark_ocean.scss b/themes/learn2-git-sync/scss/styles/dark_ocean.scss new file mode 100644 index 0000000..4f7739c --- /dev/null +++ b/themes/learn2-git-sync/scss/styles/dark_ocean.scss @@ -0,0 +1,49 @@ +@import "../prefix"; + +// Theme +$theme-main: #65737E; +$theme-secondary: #96B5B4; +$theme-main-alt: #65737E; +$theme-secondary-alt: #2B303B; +$theme-text: #2B303B; +$theme-text-alt: #C0C5CE; +$theme-background: #2B303B; + +// Implementation and customization +$page-bg: $theme-background; +$core-text: lighten($theme-text, 75%); +$core-accent: $theme-text-alt; +$secondary-link: darken($core-accent, 15%); + +$header-height: 0; +$header-bg: $theme-secondary; +$sidebar-width: 300px; +$sidebar-width-smaller: 230px; +$sidebar-bg: $theme-secondary-alt; +$sidebar-text: darken($theme-background, 5%); +$sidebar-link: lighten($theme-background, 75%); +$navbar-text: desaturate($core-accent,50%); +$navbar-bg: $theme-background; +$progress-bar: #50D681; +$check-color: lighten($sidebar-bg, 30%); +$star-color: #F8C74A; + +// Font Weights +$font-weight-bold: 600; +$font-weight-medium: 500; +$font-weight-regular: 400; + +// Body +$body-margin: 4rem; + +// Logo +$logo-width: 8rem; +$logo-height: 2rem; + +body { + #sidebar ul li.active > a { + color: $theme-text !important; + } +} + +@import "../affix"; \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/styles/gold.scss b/themes/learn2-git-sync/scss/styles/gold.scss new file mode 100644 index 0000000..8c3668e --- /dev/null +++ b/themes/learn2-git-sync/scss/styles/gold.scss @@ -0,0 +1,49 @@ +@import "../prefix"; + +// Theme +$theme-main: #373737; +$theme-secondary: #333333; +$theme-main-alt: #C0B283; +$theme-secondary-alt: #DCD0C0; +$theme-text: #333333; +$theme-text-alt: #ffffff; +$theme-background: #F4F4F4; + +// Implementation and customization +$page-bg: $theme-background; +$core-text: $theme-text; +$core-accent: darken($theme-secondary, 25%); +$secondary-link: darken($core-accent, 15%); + +$header-height: 0; +$header-bg: $theme-main-alt; +$sidebar-width: 300px; +$sidebar-width-smaller: 230px; +$sidebar-bg: darken($theme-secondary-alt, 15%); +$sidebar-text: darken($theme-background, 5%); +$sidebar-link: lighten($theme-background, 75%); +$navbar-text: desaturate($core-accent,50%); +$navbar-bg: $theme-background; +$progress-bar: #50D681; +$check-color: lighten($sidebar-bg, 30%); +$star-color: #F8C74A; + +// Font Weights +$font-weight-bold: 600; +$font-weight-medium: 500; +$font-weight-regular: 400; + +// Body +$body-margin: 4rem; + +// Logo +$logo-width: 8rem; +$logo-height: 2rem; + +body { + #sidebar ul li.active > a { + color: $theme-text !important; + } +} + +@import "../affix"; \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/styles/grey.scss b/themes/learn2-git-sync/scss/styles/grey.scss new file mode 100644 index 0000000..88f90bc --- /dev/null +++ b/themes/learn2-git-sync/scss/styles/grey.scss @@ -0,0 +1,49 @@ +@import "../prefix"; + +// Theme +$theme-main: #D8D8D8; +$theme-secondary: #D1D1D1; +$theme-main-alt: #848484; +$theme-secondary-alt: #A5A5A5; +$theme-text: #080000; +$theme-text-alt: #ffffff; +$theme-background: #f9f9f9; + +// Implementation and customization +$page-bg: $theme-background; +$core-text: $theme-text; +$core-accent: darken($theme-secondary, 25%); +$secondary-link: darken($core-accent, 15%); + +$header-height: 0; +$header-bg: $theme-main-alt; +$sidebar-width: 300px; +$sidebar-width-smaller: 230px; +$sidebar-bg: $theme-secondary-alt; +$sidebar-text: darken($theme-background, 5%); +$sidebar-link: lighten($theme-background, 75%); +$navbar-text: desaturate($core-accent,50%); +$navbar-bg: $theme-background; +$progress-bar: #50D681; +$check-color: lighten($sidebar-bg, 30%); +$star-color: #F8C74A; + +// Font Weights +$font-weight-bold: 600; +$font-weight-medium: 500; +$font-weight-regular: 400; + +// Body +$body-margin: 4rem; + +// Logo +$logo-width: 8rem; +$logo-height: 2rem; + +body { + #sidebar ul li.active > a { + color: $theme-text !important; + } +} + +@import "../affix"; \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/styles/hoth.scss b/themes/learn2-git-sync/scss/styles/hoth.scss new file mode 100644 index 0000000..b80035f --- /dev/null +++ b/themes/learn2-git-sync/scss/styles/hoth.scss @@ -0,0 +1,41 @@ +@import "../prefix"; + +// Theme +$theme-main: #CAD1D9; +$theme-secondary: #383F45; +$theme-main-alt: #FAFAFA; +$theme-secondary-alt: darken($theme-secondary, 5%); +$theme-text: #383F45; +$theme-text-alt: #2c2d30; +$theme-background: #FAFAFA; + +// Implementation and customization +$page-bg: $theme-background; +$core-text: $theme-text; +$core-accent: $theme-secondary; +$secondary-link: darken($core-accent, 15%); + +$header-height: 0; +$header-bg: darken(desaturate(adjust-hue($theme-main, -2), 11.90), 24.90); +$sidebar-width: 300px; +$sidebar-width-smaller: 230px; +$sidebar-bg: $theme-secondary-alt; +$sidebar-text: darken($theme-background, 5%); +$sidebar-link: $theme-background; +$navbar-text: desaturate($core-accent,50%); +$navbar-bg: $theme-secondary-alt; +$check-color: lighten($sidebar-bg, 30%); + +// Font Weights +$font-weight-bold: 600; +$font-weight-medium: 500; +$font-weight-regular: 400; + +// Body +$body-margin: 4rem; + +// Logo +$logo-width: 8rem; +$logo-height: 2rem; + +@import "../affix"; \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/styles/metal.scss b/themes/learn2-git-sync/scss/styles/metal.scss new file mode 100644 index 0000000..1c48713 --- /dev/null +++ b/themes/learn2-git-sync/scss/styles/metal.scss @@ -0,0 +1,43 @@ +@import "../prefix"; + +// Theme +$theme-main: #bd8c7d; +$theme-secondary: #d1bfa7; +$theme-main-alt: #8e8e90; +$theme-secondary-alt: #49494b; +$theme-text: #000000; +$theme-text-alt: #ffffff; +$theme-background: #e8e8e6; + +// Implementation and customization +$page-bg: $theme-text-alt; +$core-text: $theme-text; +$core-accent: darken(desaturate($theme-main, 0.22), 5.10); +$secondary-link: darken($core-accent, 15%); + +$header-height: 0; +$header-bg: $theme-main; +$sidebar-width: 300px; +$sidebar-width-smaller: 230px; +$sidebar-bg: $theme-secondary-alt; +$sidebar-text: darken($theme-background, 5%); +$sidebar-link: $theme-background; +$navbar-text: desaturate($core-accent,50%); +$navbar-bg: $theme-background; +$progress-bar: #50D681; +$check-color: lighten($sidebar-bg, 30%); +$star-color: #F8C74A; + +// Font Weights +$font-weight-bold: 600; +$font-weight-medium: 500; +$font-weight-regular: 400; + +// Body +$body-margin: 4rem; + +// Logo +$logo-width: 8rem; +$logo-height: 2rem; + +@import "../affix"; \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/styles/navy_sunrise.scss b/themes/learn2-git-sync/scss/styles/navy_sunrise.scss new file mode 100644 index 0000000..8f431b3 --- /dev/null +++ b/themes/learn2-git-sync/scss/styles/navy_sunrise.scss @@ -0,0 +1,49 @@ +@import "../prefix"; + +// Theme +$theme-main: #18121E; +$theme-secondary: #233237; +$theme-main-alt: #984B43; +$theme-secondary-alt: #EAC67A; +$theme-text: #333333; +$theme-text-alt: #ffffff; +$theme-background: #F4F4F4; + +// Implementation and customization +$page-bg: $theme-background; +$core-text: $theme-text; +$core-accent: $theme-secondary; +$secondary-link: darken($core-accent, 15%); + +$header-height: 0; +$header-bg: $theme-secondary-alt; +$sidebar-width: 300px; +$sidebar-width-smaller: 230px; +$sidebar-bg: $theme-main-alt; +$sidebar-text: darken($theme-background, 5%); +$sidebar-link: lighten($theme-background, 75%); +$navbar-text: desaturate($core-accent,50%); +$navbar-bg: $theme-background; +$progress-bar: #50D681; +$check-color: lighten($sidebar-bg, 30%); +$star-color: #F8C74A; + +// Font Weights +$font-weight-bold: 600; +$font-weight-medium: 500; +$font-weight-regular: 400; + +// Body +$body-margin: 4rem; + +// Logo +$logo-width: 8rem; +$logo-height: 2rem; + +body { + #sidebar ul li.active > a { + color: $theme-text !important; + } +} + +@import "../affix"; \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/styles/sunrise.scss b/themes/learn2-git-sync/scss/styles/sunrise.scss new file mode 100644 index 0000000..e0c1d04 --- /dev/null +++ b/themes/learn2-git-sync/scss/styles/sunrise.scss @@ -0,0 +1,49 @@ +@import "../prefix"; + +// Theme +$theme-main: #d56073; +$theme-secondary: lighten($theme-main, 15%); +$theme-main-alt: #ec9e69; +$theme-secondary-alt: darken($theme-main-alt, 15%); +$theme-text: #000000; +$theme-text-alt: #ffffff; +$theme-background: #ffff8f; + +// Implementation and customization +$page-bg: $theme-background; +$core-text: $theme-text; +$core-accent: darken($theme-secondary, 25%); +$secondary-link: darken($core-accent, 15%); + +$header-height: 0; +$header-bg: $theme-main-alt; +$sidebar-width: 300px; +$sidebar-width-smaller: 230px; +$sidebar-bg: darken($theme-secondary-alt, 15%); +$sidebar-text: darken($theme-background, 5%); +$sidebar-link: lighten($theme-background, 75%); +$navbar-text: desaturate($core-accent,50%); +$navbar-bg: $theme-background; +$progress-bar: #50D681; +$check-color: lighten($sidebar-bg, 30%); +$star-color: #F8C74A; + +// Font Weights +$font-weight-bold: 600; +$font-weight-medium: 500; +$font-weight-regular: 400; + +// Body +$body-margin: 4rem; + +// Logo +$logo-width: 8rem; +$logo-height: 2rem; + +body { + #sidebar ul li.active > a { + color: $theme-text !important; + } +} + +@import "../affix"; \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/theme.scss b/themes/learn2-git-sync/scss/theme.scss new file mode 100644 index 0000000..06105f3 --- /dev/null +++ b/themes/learn2-git-sync/scss/theme.scss @@ -0,0 +1,61 @@ +// REQUIRED DEPENDENCIES - DO NOT CHANGE + +// Load Third Party Libraries +@import "vendor/bourbon/bourbon"; + +// Load Nucleus Configuration +@import "configuration/nucleus/base"; + +// Load Template Configuration +@import "configuration/theme/base"; + +// Load Nucleus Mixins and Functions +@import "nucleus/functions/base"; +@import "nucleus/mixins/base"; + +// Load Template Library +@import "theme/modules/base"; + +//------------------------------------------- + +// TEMPLATE COMPONENTS + +// Configuration +@import "theme/configuration"; + +// Core +@import "theme/core"; +@import "theme/fonts"; + +// Forms +@import "theme/forms"; + +// Header +@import "theme/header"; + +// Nav +@import "theme/nav"; + +// Main +@import "theme/main"; + +// Typography +@import "theme/typography"; + +// Tables +@import "theme/tables"; + +// Buttons +@import "theme/buttons"; + +// Bullets +@import "theme/bullets"; + +// Custom +@import "theme/tooltips"; + +// Scrollbar +@import "theme/scrollbar"; + +// Custom +@import "theme/custom"; diff --git a/themes/learn2-git-sync/scss/theme/_bullets.scss b/themes/learn2-git-sync/scss/theme/_bullets.scss new file mode 100644 index 0000000..c1762df --- /dev/null +++ b/themes/learn2-git-sync/scss/theme/_bullets.scss @@ -0,0 +1,60 @@ +.bullets { + margin: $leading-margin 0; + margin-left: -$leading-margin / 2; + margin-right: -$leading-margin / 2; + overflow: auto; +} + +.bullet { + float: left; + padding: 0 $leading-margin / 2; +} + +.two-column-bullet { + @include columns(2); + @include breakpoint(mobile-only) { + @include columns(1); + } +} + +.three-column-bullet { + @include columns(3); + @include breakpoint(mobile-only) { + @include columns(1); + } +} + +.four-column-bullet { + @include columns(4); + @include breakpoint(mobile-only) { + @include columns(1); + } +} + +.bullet-icon { + float: left; + background: $bullet-icon-color-1; + padding: $bullet-icon-size / 4; + width: $bullet-icon-size; + height: $bullet-icon-size; + border-radius: 50%; + color: $white; + font-size: $bullet-icon-size / 2; + text-align: center; +} + +.bullet-icon-1 { + background: $bullet-icon-color-1; +} + +.bullet-icon-2 { + background: $bullet-icon-color-2; +} + +.bullet-icon-3 { + background: $bullet-icon-color-3; +} + +.bullet-content { + margin-left: $bullet-icon-size * 1.3; +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/theme/_buttons.scss b/themes/learn2-git-sync/scss/theme/_buttons.scss new file mode 100644 index 0000000..2402bde --- /dev/null +++ b/themes/learn2-git-sync/scss/theme/_buttons.scss @@ -0,0 +1,9 @@ +.button { + @extend %button; + @include button-color($core-accent); +} + +.button-secondary { + @extend %button; + @include button-color($secondary-link); +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/theme/_configuration.scss b/themes/learn2-git-sync/scss/theme/_configuration.scss new file mode 100644 index 0000000..1e9d777 --- /dev/null +++ b/themes/learn2-git-sync/scss/theme/_configuration.scss @@ -0,0 +1,45 @@ +$header-height: 0; +$header-bg: $core-accent; +$sidebar-width: 300px; +$sidebar-width-smaller: 230px; +$sidebar-bg: #38424D; +$sidebar-text: #bbbbbb; +$sidebar-link: #cccccc; +$navbar-text: desaturate($core-accent,50%); +$navbar-bg: #F6F6F6; +$progress-bar: #50D681; +$check-color: lighten($sidebar-bg, 30%); +$star-color: #F8C74A; + +// Font Weights +$font-weight-bold: 600; +$font-weight-medium: 500; +$font-weight-regular: 400; + +$body-margin: 4rem; + +// Logo +$logo-width: 8rem; +$logo-height: 2rem; + +// Standard Colors +$turquoise: #1ABC9C; +$green_sea: #16A085; +$emerald: #2ECC71; +$nephritis: #27AE60; +$peter_river: #3498DB; +$belize_hole: #2980B9; +$amethyst: #A66BBE; +$wisteria: #8E44AD; +$wet_asphalt: #34495E; +$midnight_blue: #2C3E50; +$sunflower: #F2CA27; +$orange: #F39C12; +$carrot: #E67E22; +$pumpkin: #D35400; +$alizarin: #E74C3C; +$pomegranate: #C0392B; +$clouds: #ECF0F1; +$silver: #BDC3C7; +$concrete: #95A5A6; +$asbestos: #7F8C8D; diff --git a/themes/learn2-git-sync/scss/theme/_core.scss b/themes/learn2-git-sync/scss/theme/_core.scss new file mode 100644 index 0000000..ce23939 --- /dev/null +++ b/themes/learn2-git-sync/scss/theme/_core.scss @@ -0,0 +1,49 @@ +body { + background: $page-bg; + color: $core-text; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + color: contrast-color($page-bg, $core-text); + + &:link, + &:visited { + color: contrast-color($page-bg, $core-text); + } + + &:hover, + &:active { + color: amplify(contrast-color($page-bg, $core-text), 5%); + } +} + +#body-inner { + a { + text-decoration: underline; + text-decoration-style: dotted; + + &:hover { + text-decoration-style: solid; + } + } +} + +pre { + position: relative; +} + +.bg { + background: #fff; + border: 1px solid $body-border; +} + +b, +strong { + font-weight: $font-weight-bold +} + +.default-animation { + @include transition(all 0.5s ease); +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/theme/_custom.scss b/themes/learn2-git-sync/scss/theme/_custom.scss new file mode 100644 index 0000000..438c0ad --- /dev/null +++ b/themes/learn2-git-sync/scss/theme/_custom.scss @@ -0,0 +1,253 @@ +@charset "UTF-8"; + +// Your custom SCSS should be written here... + +//Fluidbox fixes +.lightbox-active { + #body { + overflow: visible; + + .padding { + overflow: visible; + } + } +} + +//Github +#github-contrib { + i { + vertical-align: middle; + } +} + +//Featherlight fixes +.featherlight img { + margin: 0 !important; +} + +//Lifecycle +.lifecycle { + + #body-inner { + + ul { + list-style: none; + margin: 0; + padding: 2rem 0 0; + position: relative; + } + + ol { + margin: 1rem 0 1rem 0; + padding: 2rem; + position: relative; + + li { + margin-left: 1rem; + } + + strong { + text-decoration: underline; + } + + ol { + margin-left: -1rem; + } + + } + + h3[class*='level'] { + font-size: 20px; + position: absolute; + margin: 0; + padding: 4px 10px; + right: 0; + z-index: 1000; + color: #fff; + background: $turquoise; + } + + ol h3 { + margin-top: 1rem !important; + right: 2rem !important; + } + + .level-1+ol { + background: lighten($turquoise, 56%); + border: 4px solid $turquoise; + color: $green_sea; + + h3 { + background: $emerald; + + } + } + + .level-2+ol { + background: lighten($emerald, 49%); + border: 4px solid $emerald; + color: $nephritis; + + h3 { + background: $peter_river; + } + } + + .level-3+ol { + background: lighten($peter_river, 44%); + border: 4px solid $peter_river; + color: $belize_hole; + + h3 { + background: $wet_asphalt; + } + } + + .level-4+ol { + background: lighten($wet_asphalt, 63%); + border: 4px solid $wet_asphalt; + color: $midnight_blue; + + h3 { + background: $wet_asphalt; + } + } + } +} + +#top-bar { + background: $navbar-bg; + border-radius: 2px; + margin: 0rem -1rem 2rem; + padding: 0 1rem; + height: 0; + min-height: 3rem; + color: diminish(maximize-color-contrast($navbar-bg), 20%); + + a { + color: diminish(maximize-color-contrast($navbar-bg), 10%); + + &:hover { + color: diminish(maximize-color-contrast($navbar-bg), 5%); + } + } +} + +// Github link +#top-github-link { + + @extend %vertical-align; + position: relative; + z-index: 1; + + float: right; + display: block; +} + +// Breadcrumbs +#body #breadcrumbs { + + @extend %vertical-align; + + height: auto; + display: block; + margin-bottom: 0; + padding-left: 0; + + line-height: 1.4; + + span { + padding: 0 0.1rem; + } +} + +// Media Query stuff +@include breakpoint(desktop-only) { + #sidebar { + width: $sidebar-width-smaller; + } + + #body { + margin-left: $sidebar-width-smaller; + } +} + +@include breakpoint(mobile-only) { + #sidebar { + width: $sidebar-width-smaller; + left: - $sidebar-width-smaller; + } + + #body { + margin-left: 0; + width: 100%; + } + + .sidebar-hidden { + overflow: hidden; + + #sidebar { + left: 0; + } + + #body { + margin-left: $sidebar-width-smaller; + + overflow: hidden; + } + + #overlay { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + z-index: 10; + background: rgba(255, 255, 255, .5); + cursor: pointer; + } + } +} + +// clipboard +.copy-to-clipboard { + background-image: url(../images/clippy.svg); + background-position: 50% 50%; + background-size: 16px 16px; + background-repeat: no-repeat; + width: 27px; + height: $core-font-size + (.2rem * 2); + top: -1px; + display: inline-block; + vertical-align: middle; + position: relative; + color: darken($core-text, 10%); + background-color: $code-bg; + margin-left: -.2rem; + cursor: pointer; + border-radius: 0 2px 2px 0; + + &:hover { + background-color: darken($code-bg, 5%); + } + + pre & { + position: absolute; + right: 4px; + top: 4px; + background-color: #eee; + border-color: #ddd; + border-radius: 2px; + + &:hover { + background-color: #d9d9d9; + } + } +} + +// Utils +.parent-element { + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + transform-style: preserve-3d; +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/theme/_fonts.scss b/themes/learn2-git-sync/scss/theme/_fonts.scss new file mode 100644 index 0000000..ad04c23 --- /dev/null +++ b/themes/learn2-git-sync/scss/theme/_fonts.scss @@ -0,0 +1,8 @@ +// Import Google Web Fonts +@import url(//fonts.googleapis.com/css?family=Montserrat:400|Muli:300,400|Inconsolata); + +$font-family-default: "Muli", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; +$font-family-header: "Montserrat", "Helvetica", "Tahoma", "Geneva", "Arial", sans-serif; +$font-family-mono: "Inconsolata", monospace; +$font-family-serif: "Georgia", "Times", "Times New Roman", serif; + diff --git a/themes/learn2-git-sync/scss/theme/_forms.scss b/themes/learn2-git-sync/scss/theme/_forms.scss new file mode 100644 index 0000000..8339109 --- /dev/null +++ b/themes/learn2-git-sync/scss/theme/_forms.scss @@ -0,0 +1,22 @@ +fieldset { + border: 1px solid $core-border-color; +} + +textarea, #{$all-text-inputs}, select[multiple=multiple] { + background-color: white; + border: 1px solid $core-border-color; + box-shadow: $core-box-shadow; + + &:hover { + border-color: $core-border-color-hover; + } + + &:focus { + border-color: $core-border-color-focus; + box-shadow: $core-box-shadow-focus; + } +} + +label { + @extend strong; +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/theme/_header.scss b/themes/learn2-git-sync/scss/theme/_header.scss new file mode 100644 index 0000000..8a1cc19 --- /dev/null +++ b/themes/learn2-git-sync/scss/theme/_header.scss @@ -0,0 +1,66 @@ +#header { + background: $header-bg; + color: contrast-color($header-bg, $white); + text-align: center; + + padding: 1rem; + + a { + display: inline-block; + } + + #logo-svg { + @extend .default-animation; + width: $logo-width; + height: $logo-height; + + path { + @extend .default-animation; + fill: $white; + } + } +} + +.searchbox { + margin-top: 0.5rem; + position: relative; + + border: 1px solid diminish($header-bg, 5%); + background: amplify($header-bg, 5%); + border-radius: 4px; + + label { + color: rgba($white, 0.8); + position: absolute; + left: 10px; + top: 3px; + } + + span { + color: rgba($white, 0.6); + position: absolute; + right: 10px; + top: 3px; + cursor: pointer; + + &:hover { + color: rgba($white, 0.9); + } + } + + input { + display: inline-block; + color: contrast-color(amplify($header-bg, 5%), $white); + width: 100%; + height: 30px; + background: transparent; + border: 0; + padding: 0 25px 0 30px; + margin: 0; + font-weight: $font-weight-regular; + + @include placeholder { + color: contrast-color(diminish($header-bg, 5%), $white); + } + } +} diff --git a/themes/learn2-git-sync/scss/theme/_main.scss b/themes/learn2-git-sync/scss/theme/_main.scss new file mode 100644 index 0000000..b6d189a --- /dev/null +++ b/themes/learn2-git-sync/scss/theme/_main.scss @@ -0,0 +1,152 @@ +#main { + background: $main-bg; + margin: 0 0 $content-margin + $content-padding 0; +} + +#body { + img, .video-container { + margin: 3rem auto; + display: block; + text-align: center; + + &.border { + border: 2px solid #e6e6e6 !important; + padding: 2px; + } + + &.shadow { + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); + } + } + + @extend .default-animation; + position: relative; + margin-left: $sidebar-width; + min-height: 100%; + + .bordered { + border: 1px solid #ccc; + } + + .padding { + @extend .default-animation; + padding: 3rem ($body-margin + 2rem); + + @include breakpoint(desktop-only) { + position: static; + padding: 15px ($body-margin - 1rem); + } + + @include breakpoint(mobile-only) { + padding: 5px 1rem; + } + } + + h1 + hr { + margin-top: -1.7rem; + margin-bottom: 3rem; + } + + #navigation { + + @include breakpoint(desktop-only) { + position: static; + margin-right: 0 !important; + width: 100%; + display: table; + } + } + + .nav { + @extend .default-animation; + position: fixed; + top: 0; + bottom: 0; + width: $body-margin; + font-size: 0; + height: 100%; + cursor: pointer; + display: table; + text-align: center; + > i { + display: table-cell; + vertical-align: middle; + text-align: center; + } + + @include breakpoint(desktop-only) { + display: table-cell; + position: static; + top: auto; + width: 50%; + text-align: center; + height: 100px; + line-height: 100px; + padding-top: 0; + > i { + display: inline-block; + } + } + + i { + font-size: 50px; + } + + &:hover { + background: $navbar-bg; + } + + &.nav-pref { + left: 0; + } + + &.nav-next { + right: 0; + } + } +} + +#body-inner { + margin-bottom: 5rem; +} + +// Chapter title +#chapter { + + display: flex; + align-items: center; + justify-content: center; + height: 100%; + padding: 2rem 0; + + #body-inner { + padding-bottom: 3rem; + max-width: 80%; + } + + h3 { + font-family: $font-family-default; + font-weight: $font-weight-regular; + text-align: center; + } + + h1 { + font-size: 5rem; + border-bottom: 4px solid $rule-color; + } + + p { + text-align: center; + font-size: 1.2rem; + } +} + +#footer { + padding: 3rem 1rem; + color: darken($sidebar-link, 10%); + font-size: 13px; + + p { + margin: 0; + } +} diff --git a/themes/learn2-git-sync/scss/theme/_nav.scss b/themes/learn2-git-sync/scss/theme/_nav.scss new file mode 100644 index 0000000..6a85ab3 --- /dev/null +++ b/themes/learn2-git-sync/scss/theme/_nav.scss @@ -0,0 +1,237 @@ +#sidebar-toggle { + display: none; + + @include breakpoint(mobile-only) { + display: inline-block; + } + +} + +#sidebar { + @extend .default-animation; + background-color: $sidebar-bg; + position: fixed; + top: 0; + width: $sidebar-width; + bottom: 0; + left: 0; + font-weight: $font-weight-medium; + font-size: 15px; + border-right: 1px solid diminish($sidebar-bg, 7%); + + a, + i { + color: $sidebar-link; + &:hover { + color: amplify(contrast-color($sidebar-bg, $sidebar-link), 5%); + } + &.subtitle { + color: rgba($sidebar-link, 0.6); + } + } + + hr { + border-bottom: 1px solid amplify($sidebar-bg, 3%); + } + + a.padding { + padding: 0 1rem; + } + + h5 { + margin: 2rem 0 0; + position: relative; + line-height: 2; + + a { + display: block; + margin-left: 0; + margin-right: 0; + padding-left: 1rem; + padding-right: 1rem; + } + + i { + color: rgba($sidebar-link, 0.6); + position: absolute; + right: 0.6rem; + top: 0.7rem; + font-size: 80%; + } + + &.parent { + a { + background: amplify($sidebar-bg, 7%); + color: amplify($sidebar-link, 5%) !important; + } + } + + &.active { + a { + background: $white; + color: $core-text !important; + } + + i { + color: $core-text !important; + } + } + + + } + + h5 + ul.topics { + display: none; + margin-top: 0; + } + + h5.parent, h5.active { + + ul.topics { + display: block; + } + } + + + ul { + @extend .default-animation; + list-style: none; + padding: 0; + margin: 0; + + &.searched { + a { + color: amplify($sidebar-link, 20%); + } + + .search-match { + a { + color: amplify($sidebar-link, 10%); + &:hover { + color: amplify($sidebar-link, 20%); + } + } + } + } + + &.topics { + margin: 0 1rem; + + &.searched { + ul { + display: block; + } + } + + ul { + display: none; + padding-bottom: 1rem; + + ul { + padding-bottom: 0; + } + } + + li.parent ul, > li.active ul { + display: block; + } + + > li { + > a { + line-height: 2rem; + font-size: 1.1rem; + + b { + color: $sidebar-link; + font-weight: normal; + } + + .fa { + margin-top: 9px; + } + } + + &.parent, &.active { + background: amplify($sidebar-bg, 5%); + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; + > a { + b { + color: $sidebar-link; + } + } + } + } + } + + li.active > a { + background: $white; + color: $core-text !important; + margin-left: -1rem; + margin-right: -1rem; + padding-left: 1rem; + padding-right: 1rem; + b { + color: $core-text !important; + } + } + + li { + padding: 0; + &.visited + span { + margin-right: 16px; + } + a { + display: block; + padding: 2px 0; + span { + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + display: block; + } + } + > a { + padding: 4px 0; + } + + .fa { + display: none; + float: right; + font-size: 13px; + min-width: 16px; + margin: 4px 0 0 0; + text-align: right; + } + + &.visited { + > a .read-icon { + color: $core-accent; + display: inline; + } + } + + li { + padding-left: 1rem; + text-indent: 0.2rem; + } + } + + } +} +#body { + #navigation { + .nav { + .fa { + color: amplify(contrast-color($page-bg, $sidebar-bg), 15%); + &:active, + &:focus, + &:hover, + &:visited { + color: contrast-color($page-bg, $sidebar-bg); + } + } + } + } +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/theme/_scrollbar.scss b/themes/learn2-git-sync/scss/theme/_scrollbar.scss new file mode 100644 index 0000000..00c9cfc --- /dev/null +++ b/themes/learn2-git-sync/scss/theme/_scrollbar.scss @@ -0,0 +1,139 @@ +/*************** SCROLLBAR BASE CSS ***************/ + +.highlightable { + padding: 25px 0 15px; +} + +.scroll-wrapper { + overflow: hidden !important; + padding: 0 !important; + position: relative; +} + +.scroll-wrapper > .scroll-content { + border: none !important; + box-sizing: content-box !important; + height: auto; + left: 0; + margin: 0; + max-height: none; + max-width: none !important; + overflow: scroll !important; + padding: 0; + position: relative !important; + top: 0; + width: auto !important; +} + +.scroll-wrapper > .scroll-content::-webkit-scrollbar { + height: 0; + width: 0; +} + +.scroll-element { + display: none; +} +.scroll-element, .scroll-element div { + box-sizing: content-box; +} + +.scroll-element.scroll-x.scroll-scrollx_visible, +.scroll-element.scroll-y.scroll-scrolly_visible { + display: block; +} + +.scroll-element .scroll-bar, +.scroll-element .scroll-arrow { + cursor: default; +} + +.scroll-textarea { + +} +.scroll-textarea > .scroll-content { + overflow: hidden !important; +} +.scroll-textarea > .scroll-content > textarea { + border: none !important; + box-sizing: border-box; + height: 100% !important; + margin: 0; + max-height: none !important; + max-width: none !important; + overflow: scroll !important; + outline: none; + padding: 2px; + position: relative !important; + top: 0; + width: 100% !important; +} +.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar { + height: 0; + width: 0; +} + + + + +/*************** SIMPLE INNER SCROLLBAR ***************/ + +.scrollbar-inner > .scroll-element, +.scrollbar-inner > .scroll-element div +{ + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; +} + +.scrollbar-inner > .scroll-element div { + display: block; + height: 100%; + left: 0; + top: 0; + width: 100%; +} + +.scrollbar-inner > .scroll-element.scroll-x { + bottom: 2px; + height: 8px; + left: 0; + width: 100%; +} + +.scrollbar-inner > .scroll-element.scroll-y { + height: 100%; + right: 2px; + top: 0; + width: 8px; +} + +.scrollbar-inner > .scroll-element .scroll-element_outer { + overflow: hidden; +} + +.scrollbar-inner > .scroll-element .scroll-element_outer, +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -webkit-border-radius: 8px; + -moz-border-radius: 8px; + border-radius: 8px; +} + +.scrollbar-inner > .scroll-element .scroll-element_track, +.scrollbar-inner > .scroll-element .scroll-bar { + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; + filter: alpha(opacity=30); + opacity: 0.3; +} + + +/* update scrollbar offset if both scrolls are visible */ + +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_track { left: -12px; } +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_track { top: -12px; } + + +.scrollbar-inner > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { left: -12px; } +.scrollbar-inner > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size { top: -12px; } diff --git a/themes/learn2-git-sync/scss/theme/_tables.scss b/themes/learn2-git-sync/scss/theme/_tables.scss new file mode 100644 index 0000000..923eb7f --- /dev/null +++ b/themes/learn2-git-sync/scss/theme/_tables.scss @@ -0,0 +1,15 @@ +table { + border: 1px solid lighten($core-border-color,5%); + table-layout: auto; +} + +th { + @extend strong; + background: lighten($core-border-color,10%); + padding: 0.5rem; +} + +td { + padding: 0.5rem; + border: 1px solid lighten($core-border-color,5%); +} diff --git a/themes/learn2-git-sync/scss/theme/_tooltips.scss b/themes/learn2-git-sync/scss/theme/_tooltips.scss new file mode 100644 index 0000000..9ec8ef8 --- /dev/null +++ b/themes/learn2-git-sync/scss/theme/_tooltips.scss @@ -0,0 +1,157 @@ +$multiline-max-width: 250px; +$tooltip-background-color: rgba(0, 0, 0, 0.8); +$tooltip-text-color: #fff; + +.tooltipped { + position: relative; +} + +// This is the tooltip bubble +.tooltipped:after { + position: absolute; + z-index: 1000000; + display: none; + padding: 5px 8px; + font: normal normal 11px/1.5 $font-family-default; + color: $tooltip-text-color; + text-align: center; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-wrap: break-word; + white-space: pre; + pointer-events: none; + content: attr(aria-label); + background: $tooltip-background-color; + border-radius: 3px; + -webkit-font-smoothing: subpixel-antialiased; +} + +// This is the tooltip arrow +.tooltipped:before { + position: absolute; + z-index: 1000001; + display: none; + width: 0; + height: 0; + color: $tooltip-background-color; + pointer-events: none; + content: ""; + border: 5px solid transparent; +} + +// This will indicate when we'll activate the tooltip +.tooltipped:hover, +.tooltipped:active, +.tooltipped:focus { + &:before, + &:after { + display: inline-block; + text-decoration: none; + } +} + +// Tooltipped south +.tooltipped-s, +.tooltipped-se, +.tooltipped-sw { + &:after { + top: 100%; + right: 50%; + margin-top: 5px; + } + + &:before { + top: auto; + right: 50%; + bottom: -5px; + margin-right: -5px; + border-bottom-color: $tooltip-background-color; + } +} + +.tooltipped-se { + &:after { + right: auto; + left: 50%; + margin-left: -15px; + } +} + +.tooltipped-sw:after { + margin-right: -15px; +} + +// Tooltips above the object +.tooltipped-n, +.tooltipped-ne, +.tooltipped-nw { + &:after { + right: 50%; + bottom: 100%; + margin-bottom: 5px; + } + + &:before { + top: -5px; + right: 50%; + bottom: auto; + margin-right: -5px; + border-top-color: $tooltip-background-color; + } +} + +.tooltipped-ne { + &:after { + right: auto; + left: 50%; + margin-left: -15px; + } +} + +.tooltipped-nw:after { + margin-right: -15px; +} + +// Move the tooltip body to the center of the object. +.tooltipped-s:after, +.tooltipped-n:after { + transform: translateX(50%); +} + +// Tooltipped to the left +.tooltipped-w { + &:after { + right: 100%; + bottom: 50%; + margin-right: 5px; + transform: translateY(50%); + } + + &:before { + top: 50%; + bottom: 50%; + left: -5px; + margin-top: -5px; + border-left-color: $tooltip-background-color; + } +} + +// tooltipped to the right +.tooltipped-e { + &:after { + bottom: 50%; + left: 100%; + margin-left: 5px; + transform: translateY(50%); + } + + &:before { + top: 50%; + right: -5px; + bottom: 50%; + margin-top: -5px; + border-right-color: $tooltip-background-color; + } +} diff --git a/themes/learn2-git-sync/scss/theme/_typography.scss b/themes/learn2-git-sync/scss/theme/_typography.scss new file mode 100644 index 0000000..0fdc478 --- /dev/null +++ b/themes/learn2-git-sync/scss/theme/_typography.scss @@ -0,0 +1,181 @@ +// Body Base +body { + font-family: $font-family-default; + letter-spacing: -0.03rem; + font-weight: 400; +} + +// Headings +h1, h2, h3, h4, h5, h6 { + font-family: $font-family-header; + font-weight: 400; + text-rendering: optimizeLegibility; + line-height: 150%; + letter-spacing: -0px; +} + +h1 { + text-align: center; + letter-spacing: -3px; +} + +h2 { + letter-spacing: -2px; +} + +h3 { + letter-spacing: -1px; +} + +// Blockquote +blockquote { + border-left: 10px solid $rule-color; + p { + font-size: 1.1rem; + color: contrast-color($page-bg, #999999); + } + cite { + display: block; + text-align: right; + color: contrast-color($page-bg, #666666); + font-size: 1.2rem; + } +} + +// NOTES!!!! +blockquote { + position: relative; +} + +blockquote blockquote { + position: static; +} + +blockquote > blockquote > blockquote { + + margin: 0; + + p { + padding: 15px; + display: block; + font-size: 1rem; + margin-top: 0rem; + margin-bottom: 0rem; + color: #666; + + &:first-child { + &:before { + position: absolute; + top: 2px; + color: $white; + font-family: FontAwesome; + content: ''; + left: 10px; + } + &:after { + position: absolute; + top: 2px; + color: $white; + left: 2rem; + font-weight: bold; + content: 'Info'; + } + } + } + + > p { + // Yellow + margin-left: -71px; + border-top: 30px solid #F0B37E; + background: #FFF2DB; + } + + > blockquote > p { + // Red + margin-left: -94px; + border-top: 30px solid rgba(#D9534F, 0.8); + background: #FAE2E2; + &:first-child:after { + content: 'Warning'; + } + } + + > blockquote > blockquote > p { + // Blue + margin-left: -118px; + border-top: 30px solid #6AB0DE; + background: #E7F2FA; + &:first-child:after { + content: 'Note'; + } + } + + > blockquote > blockquote > blockquote > p { + // Green + margin-left: -142px; + border-top: 30px solid rgba(#5CB85C, 0.8); + background: #E6F9E6; + &:first-child:after { + content: 'Tip'; + } + } + +} + +// Inline and Code +code, +kbd, +pre, +samp { + font-family: $font-family-mono; +} + +code { + background: $code-bg; + color: amplify($code-text, 10%); + padding: .2rem .4rem; + border-radius: 3px; +} + +pre { + padding: 1rem; + margin: 2rem 0; + background: $pre-bg; + border: 1px solid $core-border-color; + border-radius: 2px; + line-height: 1.15; + font-size: 1rem; + + code { + color: $pre-text; + background: inherit; + font-size: 1rem; + } +} + +// Extras +hr { + border-bottom: 4px solid $rule-color; +} + +// Page Title +.page-title { + margin-top: -25px; + padding: 25px; + float: left; + clear: both; + background: $core-accent; + color: $white; +} + +// Anchor links +#body { + a.anchor-link { color: #ccc; } + a.anchor-link:hover { color: $core-accent; } +} + +// Scrollbar +.scrollbar-inner > .scroll-element .scroll-element_track { background-color: rgba($white, 0.3); } +.scrollbar-inner > .scroll-element .scroll-bar { background-color: amplify(#A1C4E5, 5%); } +.scrollbar-inner > .scroll-element:hover .scroll-bar { background-color: #ccc; } +.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar { background-color: #ccc; } diff --git a/themes/learn2-git-sync/scss/theme/modules/_base.scss b/themes/learn2-git-sync/scss/theme/modules/_base.scss new file mode 100644 index 0000000..1de274b --- /dev/null +++ b/themes/learn2-git-sync/scss/theme/modules/_base.scss @@ -0,0 +1,2 @@ +// Buttons +@import "buttons"; diff --git a/themes/learn2-git-sync/scss/theme/modules/_buttons.scss b/themes/learn2-git-sync/scss/theme/modules/_buttons.scss new file mode 100644 index 0000000..84b3db7 --- /dev/null +++ b/themes/learn2-git-sync/scss/theme/modules/_buttons.scss @@ -0,0 +1,24 @@ +%button { + display: inline-block; + padding: 7px 12px; + &:active { + margin: 2px 0 -2px 0; + } +} + +@mixin button-color($color) { + background: $color !important; + color: maximize-color-contrast($color) !important; + box-shadow: 0 3px 0 amplify($color, 6%) !important; + &:hover { + background: amplify($color, 6%) !important; + box-shadow: 0 3px 0 amplify($color, 12%) !important; + color: maximize-color-contrast($color) !important; + } + &:active { + box-shadow: 0 1px 0 amplify($color, 12%) !important; + } + i { + color: maximize-color-contrast($color) !important; + } +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss b/themes/learn2-git-sync/scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss new file mode 100644 index 0000000..f946b3b --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/_bourbon-deprecated-upcoming.scss @@ -0,0 +1,8 @@ +//************************************************************************// +// These mixins/functions are deprecated +// They will be removed in the next MAJOR version release +//************************************************************************// +@mixin inline-block { + display: inline-block; + @warn "inline-block mixin is deprecated and will be removed in the next major version release"; +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/_bourbon.scss b/themes/learn2-git-sync/scss/vendor/bourbon/_bourbon.scss new file mode 100644 index 0000000..64cb6ea --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/_bourbon.scss @@ -0,0 +1,77 @@ +// Settings +@import "settings/prefixer"; +@import "settings/px-to-em"; + +// Custom Helpers +@import "helpers/convert-units"; +@import "helpers/gradient-positions-parser"; +@import "helpers/is-num"; +@import "helpers/linear-angle-parser"; +@import "helpers/linear-gradient-parser"; +@import "helpers/linear-positions-parser"; +@import "helpers/linear-side-corner-parser"; +@import "helpers/radial-arg-parser"; +@import "helpers/radial-positions-parser"; +@import "helpers/radial-gradient-parser"; +@import "helpers/render-gradients"; +@import "helpers/shape-size-stripper"; +@import "helpers/str-to-num"; + +// Custom Functions +@import "functions/assign"; +@import "functions/color-lightness"; +@import "functions/flex-grid"; +@import "functions/golden-ratio"; +@import "functions/grid-width"; +@import "functions/modular-scale"; +@import "functions/px-to-em"; +@import "functions/px-to-rem"; +@import "functions/strip-units"; +@import "functions/tint-shade"; +@import "functions/transition-property-name"; +@import "functions/unpack"; + +// CSS3 Mixins +@import "css3/animation"; +@import "css3/appearance"; +@import "css3/backface-visibility"; +@import "css3/background"; +@import "css3/background-image"; +@import "css3/border-image"; +@import "css3/border-radius"; +@import "css3/box-sizing"; +@import "css3/calc"; +@import "css3/columns"; +@import "css3/filter"; +@import "css3/flex-box"; +@import "css3/font-face"; +@import "css3/hyphens"; +@import "css3/hidpi-media-query"; +@import "css3/image-rendering"; +@import "css3/keyframes"; +@import "css3/linear-gradient"; +@import "css3/perspective"; +@import "css3/radial-gradient"; +@import "css3/transform"; +@import "css3/transition"; +@import "css3/user-select"; +@import "css3/placeholder"; + +// Addons & other mixins +@import "addons/button"; +@import "addons/clearfix"; +@import "addons/directional-values"; +@import "addons/ellipsis"; +@import "addons/font-family"; +@import "addons/hide-text"; +@import "addons/html5-input-types"; +@import "addons/position"; +@import "addons/prefixer"; +@import "addons/retina-image"; +@import "addons/size"; +@import "addons/timing-functions"; +@import "addons/triangle"; +@import "addons/word-wrap"; + +// Soon to be deprecated Mixins +@import "bourbon-deprecated-upcoming"; diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/addons/_button.scss b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_button.scss new file mode 100644 index 0000000..14a89e4 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_button.scss @@ -0,0 +1,374 @@ +@mixin button ($style: simple, $base-color: #4294f0, $text-size: inherit, $padding: 7px 18px) { + + @if type-of($style) == string and type-of($base-color) == color { + @include buttonstyle($style, $base-color, $text-size, $padding); + } + + @if type-of($style) == string and type-of($base-color) == number { + $padding: $text-size; + $text-size: $base-color; + $base-color: #4294f0; + + @if $padding == inherit { + $padding: 7px 18px; + } + + @include buttonstyle($style, $base-color, $text-size, $padding); + } + + @if type-of($style) == color and type-of($base-color) == color { + $base-color: $style; + $style: simple; + @include buttonstyle($style, $base-color, $text-size, $padding); + } + + @if type-of($style) == color and type-of($base-color) == number { + $padding: $text-size; + $text-size: $base-color; + $base-color: $style; + $style: simple; + + @if $padding == inherit { + $padding: 7px 18px; + } + + @include buttonstyle($style, $base-color, $text-size, $padding); + } + + @if type-of($style) == number { + $padding: $base-color; + $text-size: $style; + $base-color: #4294f0; + $style: simple; + + @if $padding == #4294f0 { + $padding: 7px 18px; + } + + @include buttonstyle($style, $base-color, $text-size, $padding); + } + + &:disabled { + opacity: 0.5; + cursor: not-allowed; + } +} + + +// Selector Style Button +//************************************************************************// +@mixin buttonstyle($type, $b-color, $t-size, $pad) { + // Grayscale button + @if $type == simple and $b-color == grayscale($b-color) { + @include simple($b-color, true, $t-size, $pad); + } + + @if $type == shiny and $b-color == grayscale($b-color) { + @include shiny($b-color, true, $t-size, $pad); + } + + @if $type == pill and $b-color == grayscale($b-color) { + @include pill($b-color, true, $t-size, $pad); + } + + @if $type == flat and $b-color == grayscale($b-color) { + @include flat($b-color, true, $t-size, $pad); + } + + // Colored button + @if $type == simple { + @include simple($b-color, false, $t-size, $pad); + } + + @else if $type == shiny { + @include shiny($b-color, false, $t-size, $pad); + } + + @else if $type == pill { + @include pill($b-color, false, $t-size, $pad); + } + + @else if $type == flat { + @include flat($b-color, false, $t-size, $pad); + } +} + + +// Simple Button +//************************************************************************// +@mixin simple($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { + $color: hsl(0, 0, 100%); + $border: adjust-color($base-color, $saturation: 9%, $lightness: -14%); + $inset-shadow: adjust-color($base-color, $saturation: -8%, $lightness: 15%); + $stop-gradient: adjust-color($base-color, $saturation: 9%, $lightness: -11%); + $text-shadow: adjust-color($base-color, $saturation: 15%, $lightness: -18%); + + @if is-light($base-color) { + $color: hsl(0, 0, 20%); + $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%); + } + + @if $grayscale == true { + $border: grayscale($border); + $inset-shadow: grayscale($inset-shadow); + $stop-gradient: grayscale($stop-gradient); + $text-shadow: grayscale($text-shadow); + } + + border: 1px solid $border; + border-radius: 3px; + box-shadow: inset 0 1px 0 0 $inset-shadow; + color: $color; + display: inline-block; + font-size: $textsize; + font-weight: bold; + @include linear-gradient ($base-color, $stop-gradient); + padding: $padding; + text-decoration: none; + text-shadow: 0 1px 0 $text-shadow; + background-clip: padding-box; + + &:hover:not(:disabled) { + $base-color-hover: adjust-color($base-color, $saturation: -4%, $lightness: -5%); + $inset-shadow-hover: adjust-color($base-color, $saturation: -7%, $lightness: 5%); + $stop-gradient-hover: adjust-color($base-color, $saturation: 8%, $lightness: -14%); + + @if $grayscale == true { + $base-color-hover: grayscale($base-color-hover); + $inset-shadow-hover: grayscale($inset-shadow-hover); + $stop-gradient-hover: grayscale($stop-gradient-hover); + } + + box-shadow: inset 0 1px 0 0 $inset-shadow-hover; + cursor: pointer; + @include linear-gradient ($base-color-hover, $stop-gradient-hover); + } + + &:active:not(:disabled), + &:focus:not(:disabled) { + $border-active: adjust-color($base-color, $saturation: 9%, $lightness: -14%); + $inset-shadow-active: adjust-color($base-color, $saturation: 7%, $lightness: -17%); + + @if $grayscale == true { + $border-active: grayscale($border-active); + $inset-shadow-active: grayscale($inset-shadow-active); + } + + border: 1px solid $border-active; + box-shadow: inset 0 0 8px 4px $inset-shadow-active, inset 0 0 8px 4px $inset-shadow-active; + } +} + + +// Shiny Button +//************************************************************************// +@mixin shiny($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { + $color: hsl(0, 0, 100%); + $border: adjust-color($base-color, $red: -117, $green: -111, $blue: -81); + $border-bottom: adjust-color($base-color, $red: -126, $green: -127, $blue: -122); + $fourth-stop: adjust-color($base-color, $red: -79, $green: -70, $blue: -46); + $inset-shadow: adjust-color($base-color, $red: 37, $green: 29, $blue: 12); + $second-stop: adjust-color($base-color, $red: -56, $green: -50, $blue: -33); + $text-shadow: adjust-color($base-color, $red: -140, $green: -141, $blue: -114); + $third-stop: adjust-color($base-color, $red: -86, $green: -75, $blue: -48); + + @if is-light($base-color) { + $color: hsl(0, 0, 20%); + $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%); + } + + @if $grayscale == true { + $border: grayscale($border); + $border-bottom: grayscale($border-bottom); + $fourth-stop: grayscale($fourth-stop); + $inset-shadow: grayscale($inset-shadow); + $second-stop: grayscale($second-stop); + $text-shadow: grayscale($text-shadow); + $third-stop: grayscale($third-stop); + } + + border: 1px solid $border; + border-bottom: 1px solid $border-bottom; + border-radius: 5px; + box-shadow: inset 0 1px 0 0 $inset-shadow; + color: $color; + display: inline-block; + font-size: $textsize; + font-weight: bold; + @include linear-gradient(top, $base-color 0%, $second-stop 50%, $third-stop 50%, $fourth-stop 100%); + padding: $padding; + text-align: center; + text-decoration: none; + text-shadow: 0 -1px 1px $text-shadow; + + &:hover:not(:disabled) { + $first-stop-hover: adjust-color($base-color, $red: -13, $green: -15, $blue: -18); + $second-stop-hover: adjust-color($base-color, $red: -66, $green: -62, $blue: -51); + $third-stop-hover: adjust-color($base-color, $red: -93, $green: -85, $blue: -66); + $fourth-stop-hover: adjust-color($base-color, $red: -86, $green: -80, $blue: -63); + + @if $grayscale == true { + $first-stop-hover: grayscale($first-stop-hover); + $second-stop-hover: grayscale($second-stop-hover); + $third-stop-hover: grayscale($third-stop-hover); + $fourth-stop-hover: grayscale($fourth-stop-hover); + } + + cursor: pointer; + @include linear-gradient(top, $first-stop-hover 0%, + $second-stop-hover 50%, + $third-stop-hover 50%, + $fourth-stop-hover 100%); + } + + &:active:not(:disabled), + &:focus:not(:disabled) { + $inset-shadow-active: adjust-color($base-color, $red: -111, $green: -116, $blue: -122); + + @if $grayscale == true { + $inset-shadow-active: grayscale($inset-shadow-active); + } + + box-shadow: inset 0 0 20px 0 $inset-shadow-active; + } +} + + +// Pill Button +//************************************************************************// +@mixin pill($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { + $color: hsl(0, 0, 100%); + $border-bottom: adjust-color($base-color, $hue: 8, $saturation: -11%, $lightness: -26%); + $border-sides: adjust-color($base-color, $hue: 4, $saturation: -21%, $lightness: -21%); + $border-top: adjust-color($base-color, $hue: -1, $saturation: -30%, $lightness: -15%); + $inset-shadow: adjust-color($base-color, $hue: -1, $saturation: -1%, $lightness: 7%); + $stop-gradient: adjust-color($base-color, $hue: 8, $saturation: 14%, $lightness: -10%); + $text-shadow: adjust-color($base-color, $hue: 5, $saturation: -19%, $lightness: -15%); + + @if is-light($base-color) { + $color: hsl(0, 0, 20%); + $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%); + } + + @if $grayscale == true { + $border-bottom: grayscale($border-bottom); + $border-sides: grayscale($border-sides); + $border-top: grayscale($border-top); + $inset-shadow: grayscale($inset-shadow); + $stop-gradient: grayscale($stop-gradient); + $text-shadow: grayscale($text-shadow); + } + + border: 1px solid $border-top; + border-color: $border-top $border-sides $border-bottom; + border-radius: 16px; + box-shadow: inset 0 1px 0 0 $inset-shadow; + color: $color; + display: inline-block; + font-size: $textsize; + font-weight: normal; + line-height: 1; + @include linear-gradient ($base-color, $stop-gradient); + padding: $padding; + text-align: center; + text-decoration: none; + text-shadow: 0 -1px 1px $text-shadow; + background-clip: padding-box; + + &:hover:not(:disabled) { + $base-color-hover: adjust-color($base-color, $lightness: -4.5%); + $border-bottom: adjust-color($base-color, $hue: 8, $saturation: 13.5%, $lightness: -32%); + $border-sides: adjust-color($base-color, $hue: 4, $saturation: -2%, $lightness: -27%); + $border-top: adjust-color($base-color, $hue: -1, $saturation: -17%, $lightness: -21%); + $inset-shadow-hover: adjust-color($base-color, $saturation: -1%, $lightness: 3%); + $stop-gradient-hover: adjust-color($base-color, $hue: 8, $saturation: -4%, $lightness: -15.5%); + $text-shadow-hover: adjust-color($base-color, $hue: 5, $saturation: -5%, $lightness: -22%); + + @if $grayscale == true { + $base-color-hover: grayscale($base-color-hover); + $border-bottom: grayscale($border-bottom); + $border-sides: grayscale($border-sides); + $border-top: grayscale($border-top); + $inset-shadow-hover: grayscale($inset-shadow-hover); + $stop-gradient-hover: grayscale($stop-gradient-hover); + $text-shadow-hover: grayscale($text-shadow-hover); + } + + border: 1px solid $border-top; + border-color: $border-top $border-sides $border-bottom; + box-shadow: inset 0 1px 0 0 $inset-shadow-hover; + cursor: pointer; + @include linear-gradient ($base-color-hover, $stop-gradient-hover); + text-shadow: 0 -1px 1px $text-shadow-hover; + background-clip: padding-box; + } + + &:active:not(:disabled), + &:focus:not(:disabled) { + $active-color: adjust-color($base-color, $hue: 4, $saturation: -12%, $lightness: -10%); + $border-active: adjust-color($base-color, $hue: 6, $saturation: -2.5%, $lightness: -30%); + $border-bottom-active: adjust-color($base-color, $hue: 11, $saturation: 6%, $lightness: -31%); + $inset-shadow-active: adjust-color($base-color, $hue: 9, $saturation: 2%, $lightness: -21.5%); + $text-shadow-active: adjust-color($base-color, $hue: 5, $saturation: -12%, $lightness: -21.5%); + + @if $grayscale == true { + $active-color: grayscale($active-color); + $border-active: grayscale($border-active); + $border-bottom-active: grayscale($border-bottom-active); + $inset-shadow-active: grayscale($inset-shadow-active); + $text-shadow-active: grayscale($text-shadow-active); + } + + background: $active-color; + border: 1px solid $border-active; + border-bottom: 1px solid $border-bottom-active; + box-shadow: inset 0 0 6px 3px $inset-shadow-active; + text-shadow: 0 -1px 1px $text-shadow-active; + } +} + + + +// Flat Button +//************************************************************************// +@mixin flat($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { + $color: hsl(0, 0, 100%); + + @if is-light($base-color) { + $color: hsl(0, 0, 20%); + } + + background-color: $base-color; + border-radius: 3px; + border: none; + color: $color; + display: inline-block; + font-size: inherit; + font-weight: bold; + padding: 7px 18px; + text-decoration: none; + background-clip: padding-box; + + &:hover:not(:disabled){ + $base-color-hover: adjust-color($base-color, $saturation: 4%, $lightness: 5%); + + @if $grayscale == true { + $base-color-hover: grayscale($base-color-hover); + } + + background-color: $base-color-hover; + cursor: pointer; + } + + &:active:not(:disabled), + &:focus:not(:disabled) { + $base-color-active: adjust-color($base-color, $saturation: -4%, $lightness: -5%); + + @if $grayscale == true { + $base-color-active: grayscale($base-color-active); + } + + background-color: $base-color-active; + cursor: pointer; + } +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/addons/_clearfix.scss b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_clearfix.scss new file mode 100644 index 0000000..783cfbc --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_clearfix.scss @@ -0,0 +1,23 @@ +// Modern micro clearfix provides an easy way to contain floats without adding additional markup. +// +// Example usage: +// +// // Contain all floats within .wrapper +// .wrapper { +// @include clearfix; +// .content, +// .sidebar { +// float : left; +// } +// } + +@mixin clearfix { + &:after { + content:""; + display:table; + clear:both; + } +} + +// Acknowledgements +// Beat *that* clearfix: [Thierry Koblentz](http://www.css-101.org/articles/clearfix/latest-new-clearfix-so-far.php) diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/addons/_directional-values.scss b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_directional-values.scss new file mode 100644 index 0000000..742f103 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_directional-values.scss @@ -0,0 +1,111 @@ +// directional-property mixins are shorthands +// for writing properties like the following +// +// @include margin(null 0 10px); +// ------ +// margin-right: 0; +// margin-bottom: 10px; +// margin-left: 0; +// +// - or - +// +// @include border-style(dotted null); +// ------ +// border-top-style: dotted; +// border-bottom-style: dotted; +// +// ------ +// +// Note: You can also use false instead of null + +@function collapse-directionals($vals) { + $output: null; + + $A: nth( $vals, 1 ); + $B: if( length($vals) < 2, $A, nth($vals, 2)); + $C: if( length($vals) < 3, $A, nth($vals, 3)); + $D: if( length($vals) < 2, $A, nth($vals, if( length($vals) < 4, 2, 4) )); + + @if $A == 0 { $A: 0 } + @if $B == 0 { $B: 0 } + @if $C == 0 { $C: 0 } + @if $D == 0 { $D: 0 } + + @if $A == $B and $A == $C and $A == $D { $output: $A } + @else if $A == $C and $B == $D { $output: $A $B } + @else if $B == $D { $output: $A $B $C } + @else { $output: $A $B $C $D } + + @return $output; +} + +@function contains-falsy($list) { + @each $item in $list { + @if not $item { + @return true; + } + } + + @return false; +} + +@mixin directional-property($pre, $suf, $vals) { + // Property Names + $top: $pre + "-top" + if($suf, "-#{$suf}", ""); + $bottom: $pre + "-bottom" + if($suf, "-#{$suf}", ""); + $left: $pre + "-left" + if($suf, "-#{$suf}", ""); + $right: $pre + "-right" + if($suf, "-#{$suf}", ""); + $all: $pre + if($suf, "-#{$suf}", ""); + + $vals: collapse-directionals($vals); + + @if contains-falsy($vals) { + @if nth($vals, 1) { #{$top}: nth($vals, 1); } + + @if length($vals) == 1 { + @if nth($vals, 1) { #{$right}: nth($vals, 1); } + } @else { + @if nth($vals, 2) { #{$right}: nth($vals, 2); } + } + + // prop: top/bottom right/left + @if length($vals) == 2 { + @if nth($vals, 1) { #{$bottom}: nth($vals, 1); } + @if nth($vals, 2) { #{$left}: nth($vals, 2); } + + // prop: top right/left bottom + } @else if length($vals) == 3 { + @if nth($vals, 3) { #{$bottom}: nth($vals, 3); } + @if nth($vals, 2) { #{$left}: nth($vals, 2); } + + // prop: top right bottom left + } @else if length($vals) == 4 { + @if nth($vals, 3) { #{$bottom}: nth($vals, 3); } + @if nth($vals, 4) { #{$left}: nth($vals, 4); } + } + + // prop: top/right/bottom/left + } @else { + #{$all}: $vals; + } +} + +@mixin margin($vals...) { + @include directional-property(margin, false, $vals...); +} + +@mixin padding($vals...) { + @include directional-property(padding, false, $vals...); +} + +@mixin border-style($vals...) { + @include directional-property(border, style, $vals...); +} + +@mixin border-color($vals...) { + @include directional-property(border, color, $vals...); +} + +@mixin border-width($vals...) { + @include directional-property(border, width, $vals...); +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/addons/_ellipsis.scss b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_ellipsis.scss new file mode 100644 index 0000000..a8ea2a4 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_ellipsis.scss @@ -0,0 +1,7 @@ +@mixin ellipsis($width: 100%) { + display: inline-block; + max-width: $width; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/addons/_font-family.scss b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_font-family.scss new file mode 100644 index 0000000..31f5d9c --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_font-family.scss @@ -0,0 +1,5 @@ +$georgia: Georgia, Cambria, "Times New Roman", Times, serif; +$helvetica: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; +$lucida-grande: "Lucida Grande", Tahoma, Verdana, Arial, sans-serif; +$monospace: "Bitstream Vera Sans Mono", Consolas, Courier, monospace; +$verdana: Verdana, Geneva, sans-serif; diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/addons/_hide-text.scss b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_hide-text.scss new file mode 100644 index 0000000..fc79438 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_hide-text.scss @@ -0,0 +1,10 @@ +@mixin hide-text { + overflow: hidden; + + &:before { + content: ""; + display: block; + width: 0; + height: 100%; + } +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/addons/_html5-input-types.scss b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_html5-input-types.scss new file mode 100644 index 0000000..9e9324a --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_html5-input-types.scss @@ -0,0 +1,86 @@ +//************************************************************************// +// Generate a variable ($all-text-inputs) with a list of all html5 +// input types that have a text-based input, excluding textarea. +// http://diveintohtml5.org/forms.html +//************************************************************************// +$inputs-list: 'input[type="email"]', + 'input[type="number"]', + 'input[type="password"]', + 'input[type="search"]', + 'input[type="tel"]', + 'input[type="text"]', + 'input[type="url"]', + + // Webkit & Gecko may change the display of these in the future + 'input[type="color"]', + 'input[type="date"]', + 'input[type="datetime"]', + 'input[type="datetime-local"]', + 'input[type="month"]', + 'input[type="time"]', + 'input[type="week"]'; + +// Bare inputs +//************************************************************************// +$all-text-inputs: assign-inputs($inputs-list); + +// Hover Pseudo-class +//************************************************************************// +$all-text-inputs-hover: assign-inputs($inputs-list, hover); + +// Focus Pseudo-class +//************************************************************************// +$all-text-inputs-focus: assign-inputs($inputs-list, focus); + + + +// You must use interpolation on the variable: +// #{$all-text-inputs} +// #{$all-text-inputs-hover} +// #{$all-text-inputs-focus} + +// Example +//************************************************************************// +// #{$all-text-inputs}, textarea { +// border: 1px solid red; +// } + + + +//************************************************************************// +// Generate a variable ($all-button-inputs) with a list of all html5 +// input types that have a button-based input, excluding button. +//************************************************************************// +$inputs-button-list: 'input[type="button"]', + 'input[type="reset"]', + 'input[type="submit"]'; + +// Bare inputs +//************************************************************************// +$all-button-inputs: assign-inputs($inputs-button-list); + +// Hover Pseudo-class +//************************************************************************// +$all-button-inputs-hover: assign-inputs($inputs-button-list, hover); + +// Focus Pseudo-class +//************************************************************************// +$all-button-inputs-focus: assign-inputs($inputs-button-list, focus); + +// Active Pseudo-class +//************************************************************************// +$all-button-inputs-active: assign-inputs($inputs-button-list, active); + + + +// You must use interpolation on the variable: +// #{$all-button-inputs} +// #{$all-button-inputs-hover} +// #{$all-button-inputs-focus} +// #{$all-button-inputs-active} + +// Example +//************************************************************************// +// #{$all-button-inputs}, button { +// border: 1px solid red; +// } diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/addons/_position.scss b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_position.scss new file mode 100644 index 0000000..7de7518 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_position.scss @@ -0,0 +1,32 @@ +@mixin position ($position: relative, $coordinates: null null null null) { + + @if type-of($position) == list { + $coordinates: $position; + $position: relative; + } + + $coordinates: unpack($coordinates); + + $top: nth($coordinates, 1); + $right: nth($coordinates, 2); + $bottom: nth($coordinates, 3); + $left: nth($coordinates, 4); + + position: $position; + + @if ($top and $top == auto) or (type-of($top) == number) { + top: $top; + } + + @if ($right and $right == auto) or (type-of($right) == number) { + right: $right; + } + + @if ($bottom and $bottom == auto) or (type-of($bottom) == number) { + bottom: $bottom; + } + + @if ($left and $left == auto) or (type-of($left) == number) { + left: $left; + } +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/addons/_prefixer.scss b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_prefixer.scss new file mode 100644 index 0000000..c32f502 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_prefixer.scss @@ -0,0 +1,45 @@ +//************************************************************************// +// Example: @include prefixer(border-radius, $radii, webkit ms spec); +//************************************************************************// +// Variables located in /settings/_prefixer.scss + +@mixin prefixer ($property, $value, $prefixes) { + @each $prefix in $prefixes { + @if $prefix == webkit { + @if $prefix-for-webkit { + -webkit-#{$property}: $value; + } + } + @else if $prefix == moz { + @if $prefix-for-mozilla { + -moz-#{$property}: $value; + } + } + @else if $prefix == ms { + @if $prefix-for-microsoft { + -ms-#{$property}: $value; + } + } + @else if $prefix == o { + @if $prefix-for-opera { + -o-#{$property}: $value; + } + } + @else if $prefix == spec { + @if $prefix-for-spec { + #{$property}: $value; + } + } + @else { + @warn "Unrecognized prefix: #{$prefix}"; + } + } +} + +@mixin disable-prefix-for-all() { + $prefix-for-webkit: false !global; + $prefix-for-mozilla: false !global; + $prefix-for-microsoft: false !global; + $prefix-for-opera: false !global; + $prefix-for-spec: false !global; +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/addons/_rem.scss b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_rem.scss new file mode 100644 index 0000000..ddd7022 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_rem.scss @@ -0,0 +1,33 @@ +@mixin rem($property, $size, $base: $em-base) { + @if not unitless($base) { + $base: strip-units($base); + } + + $unitless_values: (); + @each $num in $size { + @if not unitless($num) { + @if unit($num) == "em" { + $num: $num * $base; + } + + $num: strip-units($num); + } + + $unitless_values: append($unitless_values, $num); + } + $size: $unitless_values; + + $pixel_values: (); + $rem_values: (); + @each $value in $pxval { + $pixel_value: $value * 1px; + $pixel_values: append($pixel_values, $pixel_value); + + $rem_value: ($value / $base) * 1rem; + $rem_values: append($rem_values, $rem_value); + } + + #{$property}: $pixel_values; + #{$property}: $rem_values; +} + diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/addons/_retina-image.scss b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_retina-image.scss new file mode 100644 index 0000000..7931bd1 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_retina-image.scss @@ -0,0 +1,31 @@ +@mixin retina-image($filename, $background-size, $extension: png, $retina-filename: null, $retina-suffix: _2x, $asset-pipeline: false) { + @if $asset-pipeline { + background-image: image-url("#{$filename}.#{$extension}"); + } + @else { + background-image: url("#{$filename}.#{$extension}"); + } + + @include hidpi { + @if $asset-pipeline { + @if $retina-filename { + background-image: image-url("#{$retina-filename}.#{$extension}"); + } + @else { + background-image: image-url("#{$filename}#{$retina-suffix}.#{$extension}"); + } + } + + @else { + @if $retina-filename { + background-image: url("#{$retina-filename}.#{$extension}"); + } + @else { + background-image: url("#{$filename}#{$retina-suffix}.#{$extension}"); + } + } + + background-size: $background-size; + + } +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/addons/_size.scss b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_size.scss new file mode 100644 index 0000000..ac705e2 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_size.scss @@ -0,0 +1,16 @@ +@mixin size($size) { + $height: nth($size, 1); + $width: $height; + + @if length($size) > 1 { + $height: nth($size, 2); + } + + @if $height == auto or (type-of($height) == number and not unitless($height)) { + height: $height; + } + + @if $width == auto or (type-of($height) == number and not unitless($width)) { + width: $width; + } +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/addons/_timing-functions.scss b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_timing-functions.scss new file mode 100644 index 0000000..51b2410 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_timing-functions.scss @@ -0,0 +1,32 @@ +// CSS cubic-bezier timing functions. Timing functions courtesy of jquery.easie (github.com/jaukia/easie) +// Timing functions are the same as demo'ed here: http://jqueryui.com/demos/effect/easing.html + +// EASE IN +$ease-in-quad: cubic-bezier(0.550, 0.085, 0.680, 0.530); +$ease-in-cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190); +$ease-in-quart: cubic-bezier(0.895, 0.030, 0.685, 0.220); +$ease-in-quint: cubic-bezier(0.755, 0.050, 0.855, 0.060); +$ease-in-sine: cubic-bezier(0.470, 0.000, 0.745, 0.715); +$ease-in-expo: cubic-bezier(0.950, 0.050, 0.795, 0.035); +$ease-in-circ: cubic-bezier(0.600, 0.040, 0.980, 0.335); +$ease-in-back: cubic-bezier(0.600, -0.280, 0.735, 0.045); + +// EASE OUT +$ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940); +$ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000); +$ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000); +$ease-out-quint: cubic-bezier(0.230, 1.000, 0.320, 1.000); +$ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000); +$ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000); +$ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000); +$ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275); + +// EASE IN OUT +$ease-in-out-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955); +$ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000); +$ease-in-out-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000); +$ease-in-out-quint: cubic-bezier(0.860, 0.000, 0.070, 1.000); +$ease-in-out-sine: cubic-bezier(0.445, 0.050, 0.550, 0.950); +$ease-in-out-expo: cubic-bezier(1.000, 0.000, 0.000, 1.000); +$ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.150, 0.860); +$ease-in-out-back: cubic-bezier(0.680, -0.550, 0.265, 1.550); diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/addons/_triangle.scss b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_triangle.scss new file mode 100644 index 0000000..573954e --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_triangle.scss @@ -0,0 +1,83 @@ +@mixin triangle ($size, $color, $direction) { + height: 0; + width: 0; + + $width: nth($size, 1); + $height: nth($size, length($size)); + + $foreground-color: nth($color, 1); + $background-color: if(length($color) == 2, nth($color, 2), transparent); + + @if ($direction == up) or ($direction == down) or ($direction == right) or ($direction == left) { + + $width: $width / 2; + $height: if(length($size) > 1, $height, $height/2); + + @if $direction == up { + border-left: $width solid $background-color; + border-right: $width solid $background-color; + border-bottom: $height solid $foreground-color; + + } @else if $direction == right { + border-top: $width solid $background-color; + border-bottom: $width solid $background-color; + border-left: $height solid $foreground-color; + + } @else if $direction == down { + border-left: $width solid $background-color; + border-right: $width solid $background-color; + border-top: $height solid $foreground-color; + + } @else if $direction == left { + border-top: $width solid $background-color; + border-bottom: $width solid $background-color; + border-right: $height solid $foreground-color; + } + } + + @else if ($direction == up-right) or ($direction == up-left) { + border-top: $height solid $foreground-color; + + @if $direction == up-right { + border-left: $width solid $background-color; + + } @else if $direction == up-left { + border-right: $width solid $background-color; + } + } + + @else if ($direction == down-right) or ($direction == down-left) { + border-bottom: $height solid $foreground-color; + + @if $direction == down-right { + border-left: $width solid $background-color; + + } @else if $direction == down-left { + border-right: $width solid $background-color; + } + } + + @else if ($direction == inset-up) { + border-width: $height $width; + border-style: solid; + border-color: $background-color $background-color $foreground-color; + } + + @else if ($direction == inset-down) { + border-width: $height $width; + border-style: solid; + border-color: $foreground-color $background-color $background-color; + } + + @else if ($direction == inset-right) { + border-width: $width $height; + border-style: solid; + border-color: $background-color $background-color $background-color $foreground-color; + } + + @else if ($direction == inset-left) { + border-width: $width $height; + border-style: solid; + border-color: $background-color $foreground-color $background-color $background-color; + } +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/addons/_word-wrap.scss b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_word-wrap.scss new file mode 100644 index 0000000..9734a59 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/addons/_word-wrap.scss @@ -0,0 +1,8 @@ +@mixin word-wrap($wrap: break-word) { + word-wrap: $wrap; + + @if $wrap == break-word { + overflow-wrap: break-word; + word-break: break-all; + } +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/css3/_animation.scss b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_animation.scss new file mode 100644 index 0000000..08c3dbf --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_animation.scss @@ -0,0 +1,52 @@ +// http://www.w3.org/TR/css3-animations/#the-animation-name-property- +// Each of these mixins support comma separated lists of values, which allows different transitions for individual properties to be described in a single style rule. Each value in the list corresponds to the value at that same position in the other properties. + +// Official animation shorthand property. +@mixin animation ($animations...) { + @include prefixer(animation, $animations, webkit moz spec); +} + +// Individual Animation Properties +@mixin animation-name ($names...) { + @include prefixer(animation-name, $names, webkit moz spec); +} + + +@mixin animation-duration ($times...) { + @include prefixer(animation-duration, $times, webkit moz spec); +} + + +@mixin animation-timing-function ($motions...) { +// ease | linear | ease-in | ease-out | ease-in-out + @include prefixer(animation-timing-function, $motions, webkit moz spec); +} + + +@mixin animation-iteration-count ($values...) { +// infinite | + @include prefixer(animation-iteration-count, $values, webkit moz spec); +} + + +@mixin animation-direction ($directions...) { +// normal | alternate + @include prefixer(animation-direction, $directions, webkit moz spec); +} + + +@mixin animation-play-state ($states...) { +// running | paused + @include prefixer(animation-play-state, $states, webkit moz spec); +} + + +@mixin animation-delay ($times...) { + @include prefixer(animation-delay, $times, webkit moz spec); +} + + +@mixin animation-fill-mode ($modes...) { +// none | forwards | backwards | both + @include prefixer(animation-fill-mode, $modes, webkit moz spec); +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/css3/_appearance.scss b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_appearance.scss new file mode 100644 index 0000000..3eb16e4 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_appearance.scss @@ -0,0 +1,3 @@ +@mixin appearance ($value) { + @include prefixer(appearance, $value, webkit moz ms o spec); +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/css3/_backface-visibility.scss b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_backface-visibility.scss new file mode 100644 index 0000000..1161fe6 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_backface-visibility.scss @@ -0,0 +1,6 @@ +//************************************************************************// +// Backface-visibility mixin +//************************************************************************// +@mixin backface-visibility($visibility) { + @include prefixer(backface-visibility, $visibility, webkit spec); +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/css3/_background-image.scss b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_background-image.scss new file mode 100644 index 0000000..6abe88b --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_background-image.scss @@ -0,0 +1,42 @@ +//************************************************************************// +// Background-image property for adding multiple background images with +// gradients, or for stringing multiple gradients together. +//************************************************************************// + +@mixin background-image($images...) { + $webkit-images: (); + $spec-images: (); + + @each $image in $images { + $webkit-image: (); + $spec-image: (); + + @if (type-of($image) == string) { + $url-str: str-slice($image, 0, 3); + $gradient-type: str-slice($image, 0, 6); + + @if $url-str == "url" { + $webkit-image: $image; + $spec-image: $image; + } + + @else if $gradient-type == "linear" { + $gradients: _linear-gradient-parser($image); + $webkit-image: map-get($gradients, webkit-image); + $spec-image: map-get($gradients, spec-image); + } + + @else if $gradient-type == "radial" { + $gradients: _radial-gradient-parser($image); + $webkit-image: map-get($gradients, webkit-image); + $spec-image: map-get($gradients, spec-image); + } + } + + $webkit-images: append($webkit-images, $webkit-image, comma); + $spec-images: append($spec-images, $spec-image, comma); + } + + background-image: $webkit-images; + background-image: $spec-images; +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/css3/_background.scss b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_background.scss new file mode 100644 index 0000000..9bce930 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_background.scss @@ -0,0 +1,55 @@ +//************************************************************************// +// Background property for adding multiple backgrounds using shorthand +// notation. +//************************************************************************// + +@mixin background($backgrounds...) { + $webkit-backgrounds: (); + $spec-backgrounds: (); + + @each $background in $backgrounds { + $webkit-background: (); + $spec-background: (); + $background-type: type-of($background); + + @if $background-type == string or list { + $background-str: if($background-type == list, nth($background, 1), $background); + + $url-str: str-slice($background-str, 0, 3); + $gradient-type: str-slice($background-str, 0, 6); + + @if $url-str == "url" { + $webkit-background: $background; + $spec-background: $background; + } + + @else if $gradient-type == "linear" { + $gradients: _linear-gradient-parser("#{$background}"); + $webkit-background: map-get($gradients, webkit-image); + $spec-background: map-get($gradients, spec-image); + } + + @else if $gradient-type == "radial" { + $gradients: _radial-gradient-parser("#{$background}"); + $webkit-background: map-get($gradients, webkit-image); + $spec-background: map-get($gradients, spec-image); + } + + @else { + $webkit-background: $background; + $spec-background: $background; + } + } + + @else { + $webkit-background: $background; + $spec-background: $background; + } + + $webkit-backgrounds: append($webkit-backgrounds, $webkit-background, comma); + $spec-backgrounds: append($spec-backgrounds, $spec-background, comma); + } + + background: $webkit-backgrounds; + background: $spec-backgrounds; +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/css3/_border-image.scss b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_border-image.scss new file mode 100644 index 0000000..e338c2d --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_border-image.scss @@ -0,0 +1,59 @@ +@mixin border-image($borders...) { + $webkit-borders: (); + $spec-borders: (); + + @each $border in $borders { + $webkit-border: (); + $spec-border: (); + $border-type: type-of($border); + + @if $border-type == string or list { + $border-str: if($border-type == list, nth($border, 1), $border); + + $url-str: str-slice($border-str, 0, 3); + $gradient-type: str-slice($border-str, 0, 6); + + @if $url-str == "url" { + $webkit-border: $border; + $spec-border: $border; + } + + @else if $gradient-type == "linear" { + $gradients: _linear-gradient-parser("#{$border}"); + $webkit-border: map-get($gradients, webkit-image); + $spec-border: map-get($gradients, spec-image); + } + + @else if $gradient-type == "radial" { + $gradients: _radial-gradient-parser("#{$border}"); + $webkit-border: map-get($gradients, webkit-image); + $spec-border: map-get($gradients, spec-image); + } + + @else { + $webkit-border: $border; + $spec-border: $border; + } + } + + @else { + $webkit-border: $border; + $spec-border: $border; + } + + $webkit-borders: append($webkit-borders, $webkit-border, comma); + $spec-borders: append($spec-borders, $spec-border, comma); + } + + -webkit-border-image: $webkit-borders; + border-image: $spec-borders; + border-style: solid; +} + +//Examples: +// @include border-image(url("image.png")); +// @include border-image(url("image.png") 20 stretch); +// @include border-image(linear-gradient(45deg, orange, yellow)); +// @include border-image(linear-gradient(45deg, orange, yellow) stretch); +// @include border-image(linear-gradient(45deg, orange, yellow) 20 30 40 50 stretch round); +// @include border-image(radial-gradient(top, cover, orange, yellow, orange)); diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/css3/_border-radius.scss b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_border-radius.scss new file mode 100644 index 0000000..7c17190 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_border-radius.scss @@ -0,0 +1,22 @@ +//************************************************************************// +// Shorthand Border-radius mixins +//************************************************************************// +@mixin border-top-radius($radii) { + @include prefixer(border-top-left-radius, $radii, spec); + @include prefixer(border-top-right-radius, $radii, spec); +} + +@mixin border-bottom-radius($radii) { + @include prefixer(border-bottom-left-radius, $radii, spec); + @include prefixer(border-bottom-right-radius, $radii, spec); +} + +@mixin border-left-radius($radii) { + @include prefixer(border-top-left-radius, $radii, spec); + @include prefixer(border-bottom-left-radius, $radii, spec); +} + +@mixin border-right-radius($radii) { + @include prefixer(border-top-right-radius, $radii, spec); + @include prefixer(border-bottom-right-radius, $radii, spec); +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/css3/_box-sizing.scss b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_box-sizing.scss new file mode 100644 index 0000000..f07e1d4 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_box-sizing.scss @@ -0,0 +1,4 @@ +@mixin box-sizing ($box) { +// content-box | border-box | inherit + @include prefixer(box-sizing, $box, webkit moz spec); +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/css3/_calc.scss b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_calc.scss new file mode 100644 index 0000000..94d7e4c --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_calc.scss @@ -0,0 +1,4 @@ +@mixin calc($property, $value) { + #{$property}: -webkit-calc(#{$value}); + #{$property}: calc(#{$value}); +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/css3/_columns.scss b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_columns.scss new file mode 100644 index 0000000..96f601c --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_columns.scss @@ -0,0 +1,47 @@ +@mixin columns($arg: auto) { +// || + @include prefixer(columns, $arg, webkit moz spec); +} + +@mixin column-count($int: auto) { +// auto || integer + @include prefixer(column-count, $int, webkit moz spec); +} + +@mixin column-gap($length: normal) { +// normal || length + @include prefixer(column-gap, $length, webkit moz spec); +} + +@mixin column-fill($arg: auto) { +// auto || length + @include prefixer(column-fill, $arg, webkit moz spec); +} + +@mixin column-rule($arg) { +// || || + @include prefixer(column-rule, $arg, webkit moz spec); +} + +@mixin column-rule-color($color) { + @include prefixer(column-rule-color, $color, webkit moz spec); +} + +@mixin column-rule-style($style: none) { +// none | hidden | dashed | dotted | double | groove | inset | inset | outset | ridge | solid + @include prefixer(column-rule-style, $style, webkit moz spec); +} + +@mixin column-rule-width ($width: none) { + @include prefixer(column-rule-width, $width, webkit moz spec); +} + +@mixin column-span($arg: none) { +// none || all + @include prefixer(column-span, $arg, webkit moz spec); +} + +@mixin column-width($length: auto) { +// auto || length + @include prefixer(column-width, $length, webkit moz spec); +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/css3/_filter.scss b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_filter.scss new file mode 100644 index 0000000..8560d77 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_filter.scss @@ -0,0 +1,5 @@ +@mixin filter($function: none) { + // [ + @include prefixer(perspective, $depth, webkit moz spec); +} + +@mixin perspective-origin($value: 50% 50%) { + @include prefixer(perspective-origin, $value, webkit moz spec); +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/css3/_placeholder.scss b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_placeholder.scss new file mode 100644 index 0000000..5682fd0 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_placeholder.scss @@ -0,0 +1,8 @@ +@mixin placeholder { + $placeholders: ":-webkit-input" ":-moz" "-moz" "-ms-input"; + @each $placeholder in $placeholders { + &:#{$placeholder}-placeholder { + @content; + } + } +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/css3/_radial-gradient.scss b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_radial-gradient.scss new file mode 100644 index 0000000..7a8c376 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_radial-gradient.scss @@ -0,0 +1,39 @@ +// Requires Sass 3.1+ +@mixin radial-gradient($G1, $G2, + $G3: null, $G4: null, + $G5: null, $G6: null, + $G7: null, $G8: null, + $G9: null, $G10: null, + $pos: null, + $shape-size: null, + $fallback: null) { + + $data: _radial-arg-parser($G1, $G2, $pos, $shape-size); + $G1: nth($data, 1); + $G2: nth($data, 2); + $pos: nth($data, 3); + $shape-size: nth($data, 4); + + $full: $G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10; + + // Strip deprecated cover/contain for spec + $shape-size-spec: _shape-size-stripper($shape-size); + + // Set $G1 as the default fallback color + $first-color: nth($full, 1); + $fallback-color: nth($first-color, 1); + + @if (type-of($fallback) == color) or ($fallback == "transparent") { + $fallback-color: $fallback; + } + + // Add Commas and spaces + $shape-size: if($shape-size, '#{$shape-size}, ', null); + $pos: if($pos, '#{$pos}, ', null); + $pos-spec: if($pos, 'at #{$pos}', null); + $shape-size-spec: if(($shape-size-spec != ' ') and ($pos == null), '#{$shape-size-spec}, ', '#{$shape-size-spec} '); + + background-color: $fallback-color; + background-image: -webkit-radial-gradient(unquote(#{$pos}#{$shape-size}#{$full})); + background-image: unquote("radial-gradient(#{$shape-size-spec}#{$pos-spec}#{$full})"); +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/css3/_transform.scss b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_transform.scss new file mode 100644 index 0000000..8cc3596 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_transform.scss @@ -0,0 +1,15 @@ +@mixin transform($property: none) { +// none | + @include prefixer(transform, $property, webkit moz ms o spec); +} + +@mixin transform-origin($axes: 50%) { +// x-axis - left | center | right | length | % +// y-axis - top | center | bottom | length | % +// z-axis - length + @include prefixer(transform-origin, $axes, webkit moz ms o spec); +} + +@mixin transform-style ($style: flat) { + @include prefixer(transform-style, $style, webkit moz ms o spec); +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/css3/_transition.scss b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_transition.scss new file mode 100644 index 0000000..5ad4c0a --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_transition.scss @@ -0,0 +1,77 @@ +// Shorthand mixin. Supports multiple parentheses-deliminated values for each variable. +// Example: @include transition (all 2s ease-in-out); +// @include transition (opacity 1s ease-in 2s, width 2s ease-out); +// @include transition-property (transform, opacity); + +@mixin transition ($properties...) { + // Fix for vendor-prefix transform property + $needs-prefixes: false; + $webkit: (); + $moz: (); + $spec: (); + + // Create lists for vendor-prefixed transform + @each $list in $properties { + @if nth($list, 1) == "transform" { + $needs-prefixes: true; + $list1: -webkit-transform; + $list2: -moz-transform; + $list3: (); + + @each $var in $list { + $list3: join($list3, $var); + + @if $var != "transform" { + $list1: join($list1, $var); + $list2: join($list2, $var); + } + } + + $webkit: append($webkit, $list1); + $moz: append($moz, $list2); + $spec: append($spec, $list3); + } + + // Create lists for non-prefixed transition properties + @else { + $webkit: append($webkit, $list, comma); + $moz: append($moz, $list, comma); + $spec: append($spec, $list, comma); + } + } + + @if $needs-prefixes { + -webkit-transition: $webkit; + -moz-transition: $moz; + transition: $spec; + } + @else { + @if length($properties) >= 1 { + @include prefixer(transition, $properties, webkit moz spec); + } + + @else { + $properties: all 0.15s ease-out 0s; + @include prefixer(transition, $properties, webkit moz spec); + } + } +} + +@mixin transition-property ($properties...) { + -webkit-transition-property: transition-property-names($properties, 'webkit'); + -moz-transition-property: transition-property-names($properties, 'moz'); + transition-property: transition-property-names($properties, false); +} + +@mixin transition-duration ($times...) { + @include prefixer(transition-duration, $times, webkit moz spec); +} + +@mixin transition-timing-function ($motions...) { +// ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier() + @include prefixer(transition-timing-function, $motions, webkit moz spec); +} + +@mixin transition-delay ($times...) { + @include prefixer(transition-delay, $times, webkit moz spec); +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/css3/_user-select.scss b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_user-select.scss new file mode 100644 index 0000000..1380aa8 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/css3/_user-select.scss @@ -0,0 +1,3 @@ +@mixin user-select($arg: none) { + @include prefixer(user-select, $arg, webkit moz ms spec); +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/functions/_assign.scss b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_assign.scss new file mode 100644 index 0000000..9a1db93 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_assign.scss @@ -0,0 +1,11 @@ +@function assign-inputs($inputs, $pseudo: null) { + $list : (); + + @each $input in $inputs { + $input: unquote($input); + $input: if($pseudo, $input + ":" + $pseudo, $input); + $list: append($list, $input, comma); + } + + @return $list; +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/functions/_color-lightness.scss b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_color-lightness.scss new file mode 100644 index 0000000..8c6df4e --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_color-lightness.scss @@ -0,0 +1,13 @@ +// Programatically determines whether a color is light or dark +// Returns a boolean +// More details here http://robots.thoughtbot.com/closer-look-color-lightness + +@function is-light($hex-color) { + $-local-red: red(rgba($hex-color, 1.0)); + $-local-green: green(rgba($hex-color, 1.0)); + $-local-blue: blue(rgba($hex-color, 1.0)); + + $-local-lightness: ($-local-red * 0.2126 + $-local-green * 0.7152 + $-local-blue * 0.0722) / 255; + + @return $-local-lightness > .6; +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/functions/_flex-grid.scss b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_flex-grid.scss new file mode 100644 index 0000000..3bbd866 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_flex-grid.scss @@ -0,0 +1,39 @@ +// Flexible grid +@function flex-grid($columns, $container-columns: $fg-max-columns) { + $width: $columns * $fg-column + ($columns - 1) * $fg-gutter; + $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; + @return percentage($width / $container-width); +} + +// Flexible gutter +@function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) { + $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; + @return percentage($gutter / $container-width); +} + +// The $fg-column, $fg-gutter and $fg-max-columns variables must be defined in your base stylesheet to properly use the flex-grid function. +// This function takes the fluid grid equation (target / context = result) and uses columns to help define each. +// +// The calculation presumes that your column structure will be missing the last gutter: +// +// -- column -- gutter -- column -- gutter -- column +// +// $fg-column: 60px; // Column Width +// $fg-gutter: 25px; // Gutter Width +// $fg-max-columns: 12; // Total Columns For Main Container +// +// div { +// width: flex-grid(4); // returns (315px / 995px) = 31.65829%; +// margin-left: flex-gutter(); // returns (25px / 995px) = 2.51256%; +// +// p { +// width: flex-grid(2, 4); // returns (145px / 315px) = 46.031746%; +// float: left; +// margin: flex-gutter(4); // returns (25px / 315px) = 7.936508%; +// } +// +// blockquote { +// float: left; +// width: flex-grid(2, 4); // returns (145px / 315px) = 46.031746%; +// } +// } \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/functions/_golden-ratio.scss b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_golden-ratio.scss new file mode 100644 index 0000000..463d14a --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_golden-ratio.scss @@ -0,0 +1,3 @@ +@function golden-ratio($value, $increment) { + @return modular-scale($value, $increment, $golden) +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/functions/_grid-width.scss b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_grid-width.scss new file mode 100644 index 0000000..8e63d83 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_grid-width.scss @@ -0,0 +1,13 @@ +@function grid-width($n) { + @return $n * $gw-column + ($n - 1) * $gw-gutter; +} + +// The $gw-column and $gw-gutter variables must be defined in your base stylesheet to properly use the grid-width function. +// +// $gw-column: 100px; // Column Width +// $gw-gutter: 40px; // Gutter Width +// +// div { +// width: grid-width(4); // returns 520px; +// margin-left: $gw-gutter; // returns 40px; +// } diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/functions/_modular-scale.scss b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_modular-scale.scss new file mode 100644 index 0000000..afc59eb --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_modular-scale.scss @@ -0,0 +1,66 @@ +// Scaling Variables +$golden: 1.618; +$minor-second: 1.067; +$major-second: 1.125; +$minor-third: 1.2; +$major-third: 1.25; +$perfect-fourth: 1.333; +$augmented-fourth: 1.414; +$perfect-fifth: 1.5; +$minor-sixth: 1.6; +$major-sixth: 1.667; +$minor-seventh: 1.778; +$major-seventh: 1.875; +$octave: 2; +$major-tenth: 2.5; +$major-eleventh: 2.667; +$major-twelfth: 3; +$double-octave: 4; + +@function modular-scale($value, $increment, $ratio) { + $v1: nth($value, 1); + $v2: nth($value, length($value)); + $value: $v1; + + // scale $v2 to just above $v1 + @while $v2 > $v1 { + $v2: ($v2 / $ratio); // will be off-by-1 + } + @while $v2 < $v1 { + $v2: ($v2 * $ratio); // will fix off-by-1 + } + + // check AFTER scaling $v2 to prevent double-counting corner-case + $double-stranded: $v2 > $v1; + + @if $increment > 0 { + @for $i from 1 through $increment { + @if $double-stranded and ($v1 * $ratio) > $v2 { + $value: $v2; + $v2: ($v2 * $ratio); + } @else { + $v1: ($v1 * $ratio); + $value: $v1; + } + } + } + + @if $increment < 0 { + // adjust $v2 to just below $v1 + @if $double-stranded { + $v2: ($v2 / $ratio); + } + + @for $i from $increment through -1 { + @if $double-stranded and ($v1 / $ratio) < $v2 { + $value: $v2; + $v2: ($v2 / $ratio); + } @else { + $v1: ($v1 / $ratio); + $value: $v1; + } + } + } + + @return $value; +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/functions/_px-to-em.scss b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_px-to-em.scss new file mode 100644 index 0000000..4832245 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_px-to-em.scss @@ -0,0 +1,13 @@ +// Convert pixels to ems +// eg. for a relational value of 12px write em(12) when the parent is 16px +// if the parent is another value say 24px write em(12, 24) + +@function em($pxval, $base: $em-base) { + @if not unitless($pxval) { + $pxval: strip-units($pxval); + } + @if not unitless($base) { + $base: strip-units($base); + } + @return ($pxval / $base) * 1em; +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/functions/_px-to-rem.scss b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_px-to-rem.scss new file mode 100644 index 0000000..96b244e --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_px-to-rem.scss @@ -0,0 +1,15 @@ +// Convert pixels to rems +// eg. for a relational value of 12px write rem(12) +// Assumes $em-base is the font-size of + +@function rem($pxval) { + @if not unitless($pxval) { + $pxval: strip-units($pxval); + } + + $base: $em-base; + @if not unitless($base) { + $base: strip-units($base); + } + @return ($pxval / $base) * 1rem; +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/functions/_strip-units.scss b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_strip-units.scss new file mode 100644 index 0000000..6afc6e6 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_strip-units.scss @@ -0,0 +1,5 @@ +// Srtips the units from a value. e.g. 12px -> 12 + +@function strip-units($val) { + @return ($val / ($val * 0 + 1)); +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/functions/_tint-shade.scss b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_tint-shade.scss new file mode 100644 index 0000000..f717200 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_tint-shade.scss @@ -0,0 +1,9 @@ +// Add percentage of white to a color +@function tint($color, $percent){ + @return mix(white, $color, $percent); +} + +// Add percentage of black to a color +@function shade($color, $percent){ + @return mix(black, $color, $percent); +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/functions/_transition-property-name.scss b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_transition-property-name.scss new file mode 100644 index 0000000..54cd422 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_transition-property-name.scss @@ -0,0 +1,22 @@ +// Return vendor-prefixed property names if appropriate +// Example: transition-property-names((transform, color, background), moz) -> -moz-transform, color, background +//************************************************************************// +@function transition-property-names($props, $vendor: false) { + $new-props: (); + + @each $prop in $props { + $new-props: append($new-props, transition-property-name($prop, $vendor), comma); + } + + @return $new-props; +} + +@function transition-property-name($prop, $vendor: false) { + // put other properties that need to be prefixed here aswell + @if $vendor and $prop == transform { + @return unquote('-'+$vendor+'-'+$prop); + } + @else { + @return $prop; + } +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/functions/_unpack.scss b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_unpack.scss new file mode 100644 index 0000000..3775963 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/functions/_unpack.scss @@ -0,0 +1,17 @@ +// Convert shorthand to the 4-value syntax + +@function unpack($shorthand) { + @if length($shorthand) == 1 { + @return nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1); + } + @else if length($shorthand) == 2 { + @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 1) nth($shorthand, 2); + } + @else if length($shorthand) == 3 { + @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 3) nth($shorthand, 2); + } + @else { + @return $shorthand; + } +} + diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_convert-units.scss b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_convert-units.scss new file mode 100644 index 0000000..3443db3 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_convert-units.scss @@ -0,0 +1,15 @@ +//************************************************************************// +// Helper function for str-to-num fn. +// Source: http://sassmeister.com/gist/9647408 +//************************************************************************// +@function _convert-units($number, $unit) { + $strings: 'px' 'cm' 'mm' '%' 'ch' 'pica' 'in' 'em' 'rem' 'pt' 'pc' 'ex' 'vw' 'vh' 'vmin' 'vmax', 'deg', 'rad', 'grad', 'turn'; + $units: 1px 1cm 1mm 1% 1ch 1pica 1in 1em 1rem 1pt 1pc 1ex 1vw 1vh 1vmin 1vmax, 1deg, 1rad, 1grad, 1turn; + $index: index($strings, $unit); + + @if not $index { + @warn "Unknown unit `#{$unit}`."; + @return false; + } + @return $number * nth($units, $index); +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_gradient-positions-parser.scss b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_gradient-positions-parser.scss new file mode 100644 index 0000000..07d30b6 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_gradient-positions-parser.scss @@ -0,0 +1,13 @@ +@function _gradient-positions-parser($gradient-type, $gradient-positions) { + @if $gradient-positions + and ($gradient-type == linear) + and (type-of($gradient-positions) != color) { + $gradient-positions: _linear-positions-parser($gradient-positions); + } + @else if $gradient-positions + and ($gradient-type == radial) + and (type-of($gradient-positions) != color) { + $gradient-positions: _radial-positions-parser($gradient-positions); + } + @return $gradient-positions; +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_is-num.scss b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_is-num.scss new file mode 100644 index 0000000..71459e1 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_is-num.scss @@ -0,0 +1,8 @@ +//************************************************************************// +// Helper for linear-gradient-parser +//************************************************************************// +@function _is-num($char) { + $values: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 0 1 2 3 4 5 6 7 8 9; + $index: index($values, $char); + @return if($index, true, false); +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_linear-angle-parser.scss b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_linear-angle-parser.scss new file mode 100644 index 0000000..e0401ed --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_linear-angle-parser.scss @@ -0,0 +1,25 @@ +// Private function for linear-gradient-parser +@function _linear-angle-parser($image, $first-val, $prefix, $suffix) { + $offset: null; + $unit-short: str-slice($first-val, str-length($first-val) - 2, str-length($first-val)); + $unit-long: str-slice($first-val, str-length($first-val) - 3, str-length($first-val)); + + @if ($unit-long == "grad") or + ($unit-long == "turn") { + $offset: if($unit-long == "grad", -100grad * 3, -0.75turn); + } + + @else if ($unit-short == "deg") or + ($unit-short == "rad") { + $offset: if($unit-short == "deg", -90 * 3, 1.6rad); + } + + @if $offset { + $num: _str-to-num($first-val); + + @return ( + webkit-image: -webkit- + $prefix + ($offset - $num) + $suffix, + spec-image: $image + ); + } +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_linear-gradient-parser.scss b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_linear-gradient-parser.scss new file mode 100644 index 0000000..12bcdcd --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_linear-gradient-parser.scss @@ -0,0 +1,41 @@ +@function _linear-gradient-parser($image) { + $image: unquote($image); + $gradients: (); + $start: str-index($image, "("); + $end: str-index($image, ","); + $first-val: str-slice($image, $start + 1, $end - 1); + + $prefix: str-slice($image, 0, $start); + $suffix: str-slice($image, $end, str-length($image)); + + $has-multiple-vals: str-index($first-val, " "); + $has-single-position: unquote(_position-flipper($first-val) + ""); + $has-angle: _is-num(str-slice($first-val, 0, 0)); + + @if $has-multiple-vals { + $gradients: _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals); + } + + @else if $has-single-position != "" { + $pos: unquote($has-single-position + ""); + + $gradients: ( + webkit-image: -webkit- + $image, + spec-image: $prefix + "to " + $pos + $suffix + ); + } + + @else if $has-angle { + // Rotate degree for webkit + $gradients: _linear-angle-parser($image, $first-val, $prefix, $suffix); + } + + @else { + $gradients: ( + webkit-image: -webkit- + $image, + spec-image: $image + ); + } + + @return $gradients; +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_linear-positions-parser.scss b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_linear-positions-parser.scss new file mode 100644 index 0000000..d26383e --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_linear-positions-parser.scss @@ -0,0 +1,61 @@ +@function _linear-positions-parser($pos) { + $type: type-of(nth($pos, 1)); + $spec: null; + $degree: null; + $side: null; + $corner: null; + $length: length($pos); + // Parse Side and corner positions + @if ($length > 1) { + @if nth($pos, 1) == "to" { // Newer syntax + $side: nth($pos, 2); + + @if $length == 2 { // eg. to top + // Swap for backwards compatability + $degree: _position-flipper(nth($pos, 2)); + } + @else if $length == 3 { // eg. to top left + $corner: nth($pos, 3); + } + } + @else if $length == 2 { // Older syntax ("top left") + $side: _position-flipper(nth($pos, 1)); + $corner: _position-flipper(nth($pos, 2)); + } + + @if ("#{$side} #{$corner}" == "left top") or ("#{$side} #{$corner}" == "top left") { + $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); + } + @else if ("#{$side} #{$corner}" == "right top") or ("#{$side} #{$corner}" == "top right") { + $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); + } + @else if ("#{$side} #{$corner}" == "right bottom") or ("#{$side} #{$corner}" == "bottom right") { + $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); + } + @else if ("#{$side} #{$corner}" == "left bottom") or ("#{$side} #{$corner}" == "bottom left") { + $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); + } + $spec: to $side $corner; + } + @else if $length == 1 { + // Swap for backwards compatability + @if $type == string { + $degree: $pos; + $spec: to _position-flipper($pos); + } + @else { + $degree: -270 - $pos; //rotate the gradient opposite from spec + $spec: $pos; + } + } + $degree: unquote($degree + ","); + $spec: unquote($spec + ","); + @return $degree $spec; +} + +@function _position-flipper($pos) { + @return if($pos == left, right, null) + if($pos == right, left, null) + if($pos == top, bottom, null) + if($pos == bottom, top, null); +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss new file mode 100644 index 0000000..86ad88f --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_linear-side-corner-parser.scss @@ -0,0 +1,31 @@ +// Private function for linear-gradient-parser +@function _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals) { + $val-1: str-slice($first-val, 0, $has-multiple-vals - 1 ); + $val-2: str-slice($first-val, $has-multiple-vals + 1, str-length($first-val)); + $val-3: null; + $has-val-3: str-index($val-2, " "); + + @if $has-val-3 { + $val-3: str-slice($val-2, $has-val-3 + 1, str-length($val-2)); + $val-2: str-slice($val-2, 0, $has-val-3 - 1); + } + + $pos: _position-flipper($val-1) _position-flipper($val-2) _position-flipper($val-3); + $pos: unquote($pos + ""); + + // Use old spec for webkit + @if $val-1 == "to" { + @return ( + webkit-image: -webkit- + $prefix + $pos + $suffix, + spec-image: $image + ); + } + + // Bring the code up to spec + @else { + @return ( + webkit-image: -webkit- + $image, + spec-image: $prefix + "to " + $pos + $suffix + ); + } +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_radial-arg-parser.scss b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_radial-arg-parser.scss new file mode 100644 index 0000000..a3a3704 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_radial-arg-parser.scss @@ -0,0 +1,69 @@ +@function _radial-arg-parser($G1, $G2, $pos, $shape-size) { + @each $value in $G1, $G2 { + $first-val: nth($value, 1); + $pos-type: type-of($first-val); + $spec-at-index: null; + + // Determine if spec was passed to mixin + @if type-of($value) == list { + $spec-at-index: if(index($value, at), index($value, at), false); + } + @if $spec-at-index { + @if $spec-at-index > 1 { + @for $i from 1 through ($spec-at-index - 1) { + $shape-size: $shape-size nth($value, $i); + } + @for $i from ($spec-at-index + 1) through length($value) { + $pos: $pos nth($value, $i); + } + } + @else if $spec-at-index == 1 { + @for $i from ($spec-at-index + 1) through length($value) { + $pos: $pos nth($value, $i); + } + } + $G1: null; + } + + // If not spec calculate correct values + @else { + @if ($pos-type != color) or ($first-val != "transparent") { + @if ($pos-type == number) + or ($first-val == "center") + or ($first-val == "top") + or ($first-val == "right") + or ($first-val == "bottom") + or ($first-val == "left") { + + $pos: $value; + + @if $pos == $G1 { + $G1: null; + } + } + + @else if + ($first-val == "ellipse") + or ($first-val == "circle") + or ($first-val == "closest-side") + or ($first-val == "closest-corner") + or ($first-val == "farthest-side") + or ($first-val == "farthest-corner") + or ($first-val == "contain") + or ($first-val == "cover") { + + $shape-size: $value; + + @if $value == $G1 { + $G1: null; + } + + @else if $value == $G2 { + $G2: null; + } + } + } + } + } + @return $G1, $G2, $pos, $shape-size; +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_radial-gradient-parser.scss b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_radial-gradient-parser.scss new file mode 100644 index 0000000..6dde50f --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_radial-gradient-parser.scss @@ -0,0 +1,50 @@ +@function _radial-gradient-parser($image) { + $image: unquote($image); + $gradients: (); + $start: str-index($image, "("); + $end: str-index($image, ","); + $first-val: str-slice($image, $start + 1, $end - 1); + + $prefix: str-slice($image, 0, $start); + $suffix: str-slice($image, $end, str-length($image)); + + $is-spec-syntax: str-index($first-val, "at"); + + @if $is-spec-syntax and $is-spec-syntax > 1 { + $keyword: str-slice($first-val, 1, $is-spec-syntax - 2); + $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val)); + $pos: append($pos, $keyword, comma); + + $gradients: ( + webkit-image: -webkit- + $prefix + $pos + $suffix, + spec-image: $image + ) + } + + @else if $is-spec-syntax == 1 { + $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val)); + + $gradients: ( + webkit-image: -webkit- + $prefix + $pos + $suffix, + spec-image: $image + ) + } + + @else if str-index($image, "cover") or str-index($image, "contain") { + @warn "Radial-gradient needs to be updated to conform to latest spec."; + + $gradients: ( + webkit-image: null, + spec-image: $image + ) + } + + @else { + $gradients: ( + webkit-image: -webkit- + $image, + spec-image: $image + ) + } + + @return $gradients; +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_radial-positions-parser.scss b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_radial-positions-parser.scss new file mode 100644 index 0000000..6a5b477 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_radial-positions-parser.scss @@ -0,0 +1,18 @@ +@function _radial-positions-parser($gradient-pos) { + $shape-size: nth($gradient-pos, 1); + $pos: nth($gradient-pos, 2); + $shape-size-spec: _shape-size-stripper($shape-size); + + $pre-spec: unquote(if($pos, "#{$pos}, ", null)) + unquote(if($shape-size, "#{$shape-size},", null)); + $pos-spec: if($pos, "at #{$pos}", null); + + $spec: "#{$shape-size-spec} #{$pos-spec}"; + + // Add comma + @if ($spec != ' ') { + $spec: "#{$spec}," + } + + @return $pre-spec $spec; +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_render-gradients.scss b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_render-gradients.scss new file mode 100644 index 0000000..5765676 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_render-gradients.scss @@ -0,0 +1,26 @@ +// User for linear and radial gradients within background-image or border-image properties + +@function _render-gradients($gradient-positions, $gradients, $gradient-type, $vendor: false) { + $pre-spec: null; + $spec: null; + $vendor-gradients: null; + @if $gradient-type == linear { + @if $gradient-positions { + $pre-spec: nth($gradient-positions, 1); + $spec: nth($gradient-positions, 2); + } + } + @else if $gradient-type == radial { + $pre-spec: nth($gradient-positions, 1); + $spec: nth($gradient-positions, 2); + } + + @if $vendor { + $vendor-gradients: -#{$vendor}-#{$gradient-type}-gradient(#{$pre-spec} $gradients); + } + @else if $vendor == false { + $vendor-gradients: "#{$gradient-type}-gradient(#{$spec} #{$gradients})"; + $vendor-gradients: unquote($vendor-gradients); + } + @return $vendor-gradients; +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_shape-size-stripper.scss b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_shape-size-stripper.scss new file mode 100644 index 0000000..ee5eda4 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_shape-size-stripper.scss @@ -0,0 +1,10 @@ +@function _shape-size-stripper($shape-size) { + $shape-size-spec: null; + @each $value in $shape-size { + @if ($value == "cover") or ($value == "contain") { + $value: null; + } + $shape-size-spec: "#{$shape-size-spec} #{$value}"; + } + @return $shape-size-spec; +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_str-to-num.scss b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_str-to-num.scss new file mode 100644 index 0000000..b3d6168 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/helpers/_str-to-num.scss @@ -0,0 +1,50 @@ +//************************************************************************// +// Helper function for linear/radial-gradient-parsers. +// Source: http://sassmeister.com/gist/9647408 +//************************************************************************// +@function _str-to-num($string) { + // Matrices + $strings: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9'; + $numbers: 0 1 2 3 4 5 6 7 8 9; + + // Result + $result: 0; + $divider: 0; + $minus: false; + + // Looping through all characters + @for $i from 1 through str-length($string) { + $character: str-slice($string, $i, $i); + $index: index($strings, $character); + + @if $character == '-' { + $minus: true; + } + + @else if $character == '.' { + $divider: 1; + } + + @else { + @if not $index { + $result: if($minus, $result * -1, $result); + @return _convert-units($result, str-slice($string, $i)); + } + + $number: nth($numbers, $index); + + @if $divider == 0 { + $result: $result * 10; + } + + @else { + // Move the decimal dot to the left + $divider: $divider * 10; + $number: $number / $divider; + } + + $result: $result + $number; + } + } + @return if($minus, $result * -1, $result); +} diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/settings/_prefixer.scss b/themes/learn2-git-sync/scss/vendor/bourbon/settings/_prefixer.scss new file mode 100644 index 0000000..ecab49f --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/settings/_prefixer.scss @@ -0,0 +1,6 @@ +// Variable settings for /addons/prefixer.scss +$prefix-for-webkit: true !default; +$prefix-for-mozilla: true !default; +$prefix-for-microsoft: true !default; +$prefix-for-opera: true !default; +$prefix-for-spec: true !default; // required for keyframe mixin diff --git a/themes/learn2-git-sync/scss/vendor/bourbon/settings/_px-to-em.scss b/themes/learn2-git-sync/scss/vendor/bourbon/settings/_px-to-em.scss new file mode 100644 index 0000000..f2f9a3e --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/bourbon/settings/_px-to-em.scss @@ -0,0 +1 @@ +$em-base: 16px !default; diff --git a/themes/learn2-git-sync/scss/vendor/color-schemer/_color-schemer.scss b/themes/learn2-git-sync/scss/vendor/color-schemer/_color-schemer.scss new file mode 100644 index 0000000..469c697 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/color-schemer/_color-schemer.scss @@ -0,0 +1,31 @@ +@import "blend-modes"; + +// Defaults +$cs-primary : #f00 !default; +$cs-scheme : mono !default; // mono, complement, triad, tetrad, analogic, accented-analogic +$cs-hue-offset : 30 !default; +$cs-brightness-offset : false !default; +$cs-color-model : rgb !default; // rgb, ryb +$cs-colorblind : normal !default; +$cs-harmonize-mode : null !default; +$cs-harmonize-color : $cs-primary !default; +$cs-harmonize-amount : 10% !default; + +// Partials +@import "color-schemer/interpolation"; +@import "color-schemer/cmyk"; +@import "color-schemer/ryb"; +@import "color-schemer/colorblind"; +@import "color-schemer/equalize"; +@import "color-schemer/mix"; +@import "color-schemer/tint-shade"; +@import "color-schemer/color-adjustments"; +@import "color-schemer/harmonize"; +@import "color-schemer/color-schemer"; + +@import "color-schemer/comparison"; + +@import "color-schemer/mixins"; + +// Tell other files that this is loaded. +$color-schemer-loaded : true; diff --git a/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_cmyk.scss b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_cmyk.scss new file mode 100644 index 0000000..847115e --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_cmyk.scss @@ -0,0 +1,14 @@ +@function cmyk($cyan, $magenta, $yellow, $black) { + + // Get the color values out of white + $cyan : mix(cyan , white, $cyan ); + $magenta : mix(magenta, white, $magenta); + $yellow : mix(yellow , white, $yellow ); + $black : mix(black , white, $black ); + + // Subtract the colors from white + $color: white - invert($cyan) - invert($magenta) - invert($yellow) - invert($black); + + + @return $color; +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_color-adjustments.scss b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_color-adjustments.scss new file mode 100644 index 0000000..6028b49 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_color-adjustments.scss @@ -0,0 +1,30 @@ +// RGB functions +@function set-red($color, $red) { + @return rgba($red, green($color), blue($color), alpha($color)); +} + +@function set-green($color, $green) { + @return rgba(red($color), $green, blue($color), alpha($color)); +} + +@function set-blue($color, $blue) { + @return rgba(red($color), green($color), $blue, alpha($color)); +} + + +// HSL Functions +@function set-hue($color, $hue) { + @return hsla($hue, saturation($color), lightness($color), alpha($color)); +} + +@function set-saturation($color, $saturation) { + @return hsla(hue($color), $saturation, lightness($color), alpha($color)); +} + +@function set-lightness($color, $lightness) { + @return hsla(hue($color), saturation($color), $lightness, alpha($color)); +} + +@function set-alpha($color, $alpha) { + @return hsla(hue($color), saturation($color), lightness($color), $alpha); +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_color-schemer.scss b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_color-schemer.scss new file mode 100644 index 0000000..c092734 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_color-schemer.scss @@ -0,0 +1,208 @@ +// brightness and hue offsets are based on the lightness and saturation of the color +// unless defined otherwise. +@function cs-brightness-offset($cs-brightness-offset) { + @if $cs-brightness-offset == false { + // find the difference between lightness + @return lightness($cs-primary) - lightness(invert($cs-primary)); + } + @else { + @return $cs-brightness-offset; + } +} + +// Harmonized or Unaltered Color +@function clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount) { + @if $cs-harmonize-mode != null { + @return cs-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } @else { + @return $color; + } +} + +// Primary color +@function cs-primary($cs-primary:$cs-primary, $cs-scheme:$cs-scheme, $cs-hue-offset:$cs-hue-offset, $cs-brightness-offset:$cs-brightness-offset, $cs-harmonize-mode:$cs-harmonize-mode, $cs-harmonize-color:$cs-harmonize-color, $cs-harmonize-amount:$cs-harmonize-amount) { + @return clean-or-harmonize($cs-primary, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); +} + +// Secondary color scheme +@function cs-secondary($cs-primary:$cs-primary, $cs-scheme:$cs-scheme, $cs-hue-offset:$cs-hue-offset, $cs-brightness-offset:$cs-brightness-offset, $cs-harmonize-mode:$cs-harmonize-mode, $cs-harmonize-color:$cs-harmonize-color, $cs-harmonize-amount:$cs-harmonize-amount) { + $cs-brightness-offset: cs-brightness-offset($cs-brightness-offset); + + // mono + @if $cs-scheme == mono { + @if $cs-brightness-offset < 0 { + $color: lighten($cs-primary, abs($cs-brightness-offset)); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + @else { + $color: darken($cs-primary, abs($cs-brightness-offset)); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + } + + // complement + @if $cs-scheme == complement { + @if $cs-color-model == ryb { + $color: ryb-complement($cs-primary); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + @else { + $color: complement($cs-primary); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + } + + // triad + @if $cs-scheme == triad { + @if $cs-color-model == ryb { + $color: ryb-adjust-hue(ryb-complement($cs-primary), $cs-hue-offset); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + @else { + $color: adjust-hue(complement($cs-primary), $cs-hue-offset); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + } + + // tetrad + @if $cs-scheme == tetrad { + @if $cs-color-model == ryb { + $color: ryb-adjust-hue($cs-primary, $cs-hue-offset); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + @else { + $color: adjust-hue($cs-primary, $cs-hue-offset); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + } + + // analogic + @if $cs-scheme == analogic or $cs-scheme == accented-analogic { + @if $cs-color-model == ryb { + $color: ryb-adjust-hue($cs-primary, $cs-hue-offset); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + @else { + $color: adjust-hue($cs-primary, $cs-hue-offset); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + } +} + +// Tertiary color scheme +@function cs-tertiary($cs-primary:$cs-primary, $cs-scheme:$cs-scheme, $cs-hue-offset:$cs-hue-offset, $cs-brightness-offset:$cs-brightness-offset, $cs-harmonize-mode:$cs-harmonize-mode, $cs-harmonize-color:$cs-harmonize-color, $cs-harmonize-amount:$cs-harmonize-amount) { + $cs-brightness-offset: cs-brightness-offset($cs-brightness-offset); + + // mono + @if $cs-scheme == mono { + $color: mix(cs-primary(), cs-secondary()); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + + // complement + @if $cs-scheme == complement { + $color: equalize($cs-primary); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + + // triad + @if $cs-scheme == triad { + @if $cs-color-model == ryb { + $color: ryb-adjust-hue(ryb-complement($cs-primary), $cs-hue-offset * -1); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + @else { + $color: adjust-hue(complement($cs-primary), $cs-hue-offset * -1); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + } + + // tetrad + @if $cs-scheme == tetrad { + @if $cs-color-model == ryb { + $color: ryb-complement($cs-primary); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + @else { + $color: complement($cs-primary); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + } + + // analogic + @if $cs-scheme == analogic or $cs-scheme == accented-analogic { + @if $cs-color-model == ryb { + $color: ryb-adjust-hue($cs-primary, $cs-hue-offset * -1); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + @else { + $color: adjust-hue($cs-primary, $cs-hue-offset * -1); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + } + + // accented-analogic + @if $cs-scheme == accented-analogic { + @if $cs-color-model == ryb { + $color: ryb-complement($cs-primary); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + @else { + $color: complement($cs-primary); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + } +} + +// Quadrary color scheme +@function cs-quadrary($cs-primary:$cs-primary, $cs-scheme:$cs-scheme, $cs-hue-offset:$cs-hue-offset, $cs-brightness-offset:$cs-brightness-offset, $cs-harmonize-mode:$cs-harmonize-mode, $cs-harmonize-color:$cs-harmonize-color, $cs-harmonize-amount:$cs-harmonize-amount) { + $cs-brightness-offset: cs-brightness-offset($cs-brightness-offset); + + // mono + @if $cs-scheme == mono { + $color: equalize($cs-primary); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + + // complement + @if $cs-scheme == complement { + $color: equalize(ryb-complement($cs-primary)); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + + // triad + @if $cs-scheme == triad { + $color: equalize($cs-primary); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + + // tetrad + @if $cs-scheme == tetrad { + @if $cs-color-model == ryb { + $color: ryb-adjust-hue(ryb-complement($cs-primary), $cs-hue-offset); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + @else { + $color: adjust-hue(complement($cs-primary), $cs-hue-offset); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + } + + // analogic + @if $cs-scheme == analogic { + $color: equalize($cs-primary); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + + // accented-analogic + @if $cs-scheme == accented-analogic { + @if $cs-color-model == ryb { + $color: ryb-complement($cs-primary); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + @else { + $color: complement($cs-primary); + @return clean-or-harmonize($color, $cs-harmonize-color, $cs-harmonize-mode, $cs-harmonize-amount); + } + } +} diff --git a/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_colorblind.scss b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_colorblind.scss new file mode 100644 index 0000000..b509183 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_colorblind.scss @@ -0,0 +1,29 @@ +@function cs-colorblind($color, $mode: $cs-colorblind) { + + // Refrence: http://www.w3.org/TR/AERT#color-contrast + + // Deuteranopia + @if $mode == deuteranopia { + @return $color; + } + + // Protanopia + @if $mode == protanopia { + @return $color; + } + + // Tritanopia + @if $mode == tritanopia { + @return $color; + } + + + // Return color if no color blind mode. + @else { + @return $color; + } +} + +@function cs-cb($color, $mode: $cs-colorblind) { + @return cs-colorblind($color, $mode); +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_comparison.scss b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_comparison.scss new file mode 100644 index 0000000..84ed665 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_comparison.scss @@ -0,0 +1,15 @@ +////////////////////////////// +// Color Is Dark +// +// Checks to see if the input color is a dark color taking into account both lightness and hue. +// Suitable for determining, for instance, if a background should have a dark or light text color. +// @return true/false (boolean) +////////////////////////////// + +@function cs-is-dark($color) { + @if (lightness($color) < 60% and (hue($color) >= 210 or hue($color) <= 27)) or (lightness($color) <= 32%) { + @return true; + } @else { + @return false; + } +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_equalize.scss b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_equalize.scss new file mode 100644 index 0000000..d043bc8 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_equalize.scss @@ -0,0 +1,5 @@ +// Color equalize credit to Mason Wendell: +// https://github.com/canarymason/The-Coding-Designers-Survival-Kit/blob/master/sass/partials/lib/variables/_color_schemes.sass +@function equalize($color) { + @return hsl(hue($color), 100%, 50%); +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_harmonize.scss b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_harmonize.scss new file mode 100644 index 0000000..719b43d --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_harmonize.scss @@ -0,0 +1,59 @@ +@function cs-harmonize($background, $foreground: $cs-harmonize-color, $mode: $cs-harmonize-mode, $amount: $cs-harmonize-amount) { + $blend: null; + @if ($mode == normal) { + $blend: blend-normal($foreground, $background); } + @else if ($mode == multiply) { + $blend: blend-multiply($foreground, $background); } + @else if ($mode == lighten) { + $blend: blend-lighten($foreground, $background); } + @else if ($mode == darken) { + $blend: blend-darken($foreground, $background); } + @else if ($mode == darkercolor) { + $blend: blend-darkercolor($foreground, $background); } + @else if ($mode == lightercolor) { + $blend: blend-lightercolor($foreground, $background); } + @else if ($mode == lineardodge) { + $blend: blend-lineardodge($foreground, $background); } + @else if ($mode == linearburn) { + $blend: blend-linearburn($foreground, $background); } + @else if ($mode == difference) { + $blend: blend-difference($foreground, $background); } + @else if ($mode == screen) { + $blend: blend-screen($foreground, $background); } + @else if ($mode == exclusion) { + $blend: blend-exclusion($foreground, $background); } + @else if ($mode == overlay) { + $blend: blend-overlay($foreground, $background); } + @else if ($mode == softlight) { + $blend: blend-softlight($foreground, $background); } + @else if ($mode == hardlight) { + $blend: blend-hardlight($foreground, $background); } + @else if ($mode == colordodge) { + $blend: blend-colordodge($foreground, $background); } + @else if ($mode == colorburn) { + $blend: blend-colorburn($foreground, $background); } + @else if ($mode == linearlight) { + $blend: blend-linearlight($foreground, $background); } + @else if ($mode == vividlight) { + $blend: blend-vividlight($foreground, $background); } + @else if ($mode == pinlight) { + $blend: blend-pinlight($foreground, $background); } + @else if ($mode == hardmix) { + $blend: blend-hardmix($foreground, $background); } + @else if ($mode == colorblend) { + $blend: blend-colorblend($foreground, $background); } + @else if ($mode == dissolve) { + $blend: blend-dissolve($foreground, $background); } + @else if ($mode == divide) { + $blend: blend-divide($foreground, $background); } + @else if ($mode == hue) { + $blend: blend-hue($foreground, $background); } + @else if ($mode == luminosity) { + $blend: blend-luminosity($foreground, $background); } + @else if ($mode == saturation) { + $blend: blend-saturation($foreground, $background); } + @else if ($mode == subtract) { + $blend: blend-subtract($foreground, $background); } + $mixed: mix($blend, $background, $amount); + @return $mixed; +} diff --git a/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_interpolation.scss b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_interpolation.scss new file mode 100644 index 0000000..2ec182e --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_interpolation.scss @@ -0,0 +1,34 @@ +@function cs-interpolate($value, $units: 360, $stops: $ryb-interpolation) { + + // Loop numbers out of scale back into the scale. + @while $value >= 360 { + $value: $value - 360; + } + @while $value < 0 { + $value: $value + 360; + } + + // Find out how many units in each stop + $cs-color-deg: $units / length($stops); + + // Count through stops + $cs-deg-count: $cs-color-deg; + $cs-stop-count: 1; + + // Add the first stop to the end so it will be + // interpolated with the last stop. + $stops: append($stops, nth($stops, 1)); + + // Start interpolating + @for $i from 0 through length($stops) { + @if $value < $cs-deg-count { + @return cs-mix(nth($stops, $cs-stop-count + 1), nth($stops, $cs-stop-count), abs(percentage(($cs-deg-count - $value) / $cs-color-deg) - 100 ), $model: rgb); + } + + // If the value is not in this stop, loop up to another stop. + @else { + $cs-deg-count: $cs-deg-count + $cs-color-deg; + $cs-stop-count: $cs-stop-count + 1 + } + } +} diff --git a/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_mix.scss b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_mix.scss new file mode 100644 index 0000000..4d3a68f --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_mix.scss @@ -0,0 +1,40 @@ +@function cs-mix($color1, $color2, $percent: 50%, $model: $cs-color-model) { + + $decimal : abs($percent - 100%) / 100%; + $hue-offset : (); + + @if $model == rgb { + $hue-offset : (hue($color1) - hue($color2)) * $decimal; + @if (hue($color1) - hue($color2)) * .5 < -90deg { + $hue-offset : (hue($color1) + 360deg - hue($color2)) * $decimal; + } + @if (hue($color1) - hue($color2)) * .5 > 90deg { + $hue-offset : (hue($color1) - 360deg - hue($color2)) * $decimal; + } + } + + @if $model == ryb { + $hue-offset : (ryb-hue($color1) - ryb-hue($color2)) * $decimal; + @if (ryb-hue($color1) - ryb-hue($color2)) * .5 < -90deg { + $hue-offset : (ryb-hue($color1) + 360deg - ryb-hue($color2)) * $decimal; + } + @if (ryb-hue($color1) - ryb-hue($color2)) * .5 > 90deg { + $hue-offset : (ryb-hue($color1) - 360deg - ryb-hue($color2)) * $decimal; + } + } + + $saturation-offset : (saturation($color1) - saturation($color2)) * $decimal; + $lightness-offset : (lightness($color1) - lightness($color2)) * $decimal; + + @if $model == ryb { + $color1: ryb-adjust-hue($color1, $hue-offset * -1); + } + @else { + $color1: adjust-hue($color1, $hue-offset * -1); + } + + $color1: set-saturation($color1, saturation($color1) - $saturation-offset); + $color1: set-lightness($color1, lightness($color1) - $lightness-offset); + + @return $color1; +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_mixins.scss b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_mixins.scss new file mode 100644 index 0000000..7e3a8f4 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_mixins.scss @@ -0,0 +1,29 @@ +//////////////////////////////////////////// +// From Jina Bolton and Eric Meyer -- http://codepen.io/jina/pen/iosjp +@function cs-stripes($position, $colors) { + $colors: if(type-of($colors) != 'list', compact($colors), $colors); + $gradient: (); + $width: 100% / length($colors); + + @for $i from 1 through length($colors) { + $pop: nth($colors,$i); + $new: $pop ($width * ($i - 1)), $pop ($width * $i); + $gradient: join($gradient, $new, comma); + } + + @return linear-gradient($position, $gradient); +} + +//////////////////////////////////////////// +// Color tester + +@mixin cs-test($colors, $height: 2em, $element: "body:before") { + #{$element} { + content: ""; + display: block; + height: $height; + @include background(cs-stripes(left, ($colors))); + position: relative; + z-index: 999999999999; + } +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_ryb.scss b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_ryb.scss new file mode 100644 index 0000000..1a6de0e --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_ryb.scss @@ -0,0 +1,76 @@ +$ryb-interpolation: #FF0000 #FF4900 #FF7400 #FF9200 #FFAA00 #FFBF00 #FFD300 #FFE800 #FFFF00 #CCF600 #9FEE00 #67E300 #00CC00 #00AF64 #009999 #0B61A4 #1240AB #1B1BB3 #3914AF #530FAD #7109AA #A600A6 #CD0074 #E40045; + +// RYB color interpolation +@function find-ryb($hue) { + + // remove units on $hue + @if unit($hue) == deg { $hue: $hue / 1deg; } + + // return an interpolated hue + @return hue(cs-interpolate($hue)); +} + +// Find the RYB hue instead of RGB hue of a color. + +// map of the RYB offset +$ryb-offset: 0 1 2 3 5 6 7 8 9 10 11 13 14 15 16 17 18 19 19 20 21 21 22 23 23 24 25 25 26 27 27 28 28 29 29 30 30 31 31 32 32 32 33 33 34 34 35 35 35 36 36 37 37 37 38 38 38 39 39 40 40 40 41 41 41 42 42 42 43 43 43 44 44 44 45 45 45 46 46 46 47 47 47 47 48 48 48 49 49 49 50 50 50 51 51 51 52 52 52 53 53 53 54 54 54 55 55 55 56 56 56 57 57 57 58 58 59 59 59 60 60 61 61 62 63 63 64 65 65 66 67 68 68 69 70 70 71 72 72 73 73 74 75 75 76 77 77 78 79 79 80 81 82 82 83 84 85 86 87 88 88 89 90 91 92 93 95 96 98 100 102 104 105 107 109 111 113 115 116 118 120 122 125 127 129 131 134 136 138 141 143 145 147 150 152 154 156 158 159 161 163 165 166 168 170 171 173 175 177 178 180 182 184 185 187 189 191 192 194 196 198 199 201 203 205 206 207 208 209 210 212 213 214 215 216 217 218 219 220 221 222 223 224 226 227 228 229 230 232 233 234 235 236 238 239 240 241 242 243 244 245 246 247 248 249 250 251 251 252 253 254 255 256 257 257 258 259 260 260 261 262 263 264 264 265 266 267 268 268 269 270 271 272 273 274 274 275 276 277 278 279 280 282 283 284 286 287 289 290 292 293 294 296 297 299 300 302 303 305 307 309 310 312 314 316 317 319 321 323 324 326 327 328 329 330 331 332 333 334 336 337 338 339 340 341 342 343 344 345 347 348 349 350 352 353 354 355 356 358 359 360; + +// loop through the map to find the matching hue. +@function ryb-hue($color) { + @for $i from 1 through length($ryb-offset) { + @if nth($ryb-offset, $i) > hue($color) { + @return $i - 2deg; + } + } +} + +// Changes the hue of a color. +@function ryb-adjust-hue($color, $degrees) { + + // Convert precentag to degrees. + @if unit($degrees) == "%" { + $degrees: 360 * ($degrees / 100%); + } + + // Start at the current hue and loop in the adjustment. + $hue-adjust: (ryb-hue($color) + $degrees) / 1deg; + + @return hsl(hue(cs-interpolate($hue-adjust)), saturation($color), lightness($color)); +} + +@function ryba($red, $yellow, $blue, $alpha) { + $hue: 0; + $saturation: 0; + $lightness: percentage(($red + $yellow + $blue) / (255 * 3)); + @if $red == $yellow and $yellow == $blue { + @return hsla(0, 0, $lightness, $alpha); + } + @if $red >= $yellow and $red >= $blue { + $hue: 0; + } + @elseif $yellow >= $red and $yellow >= $blue { + $hue: 360 / 3; + } + @elseif $blue >= $red and $blue >= $yellow { + $hue: 360 / 3 * 2; + } + @return hsla(hue(cs-interpolate($hue)), 100%, 50%, 1); +} + +@function ryb($red, $yellow, $blue) { + @return ryba($red, $yellow, $blue, 1); +} + +@function set-ryb-hue($color, $hue) { + @return hsla(hue(cs-interpolate($hue)), saturation($color), lightness($color), alpha($color)); +} + +// Returns the complement of a color. +@function ryb-complement($color) { + @return ryb-adjust-hue($color, 180deg); +} + +// Returns the inverse of a color. +@function ryb-invert($color) { + @return ryb-adjust-hue(hsl(hue($color), saturation(invert($color)), lightness(invert($color))), 180deg); +} \ No newline at end of file diff --git a/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_tint-shade.scss b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_tint-shade.scss new file mode 100644 index 0000000..d1198d0 --- /dev/null +++ b/themes/learn2-git-sync/scss/vendor/color-schemer/color-schemer/_tint-shade.scss @@ -0,0 +1,9 @@ +// Add percentage of white to a color +@function tint($color, $percent) { + @return mix(white, $color, $percent); +} + +// Add percentage of black to a color +@function shade($color, $percent) { + @return mix(black, $color, $percent); +} diff --git a/themes/learn2-git-sync/shortcodes/GoogleSlidesShortcode.php b/themes/learn2-git-sync/shortcodes/GoogleSlidesShortcode.php new file mode 100644 index 0000000..598b8e2 --- /dev/null +++ b/themes/learn2-git-sync/shortcodes/GoogleSlidesShortcode.php @@ -0,0 +1,34 @@ +shortcode->getRawHandlers()->add('googleslides', function(ShortcodeInterface $sc) { + + // Get shortcode content and parameters + $str = $sc->getContent(); + + $googleslidesurl= $sc->getParameter('url', $sc->getBbCode()); + + if ($googleslidesurl) { + $output = '
'; + + return $output; + + } else { + + if ($str) { + + return '
'; + + } + } + + }); + } +} diff --git a/themes/learn2-git-sync/shortcodes/H5PShortcode.php b/themes/learn2-git-sync/shortcodes/H5PShortcode.php new file mode 100644 index 0000000..0af8804 --- /dev/null +++ b/themes/learn2-git-sync/shortcodes/H5PShortcode.php @@ -0,0 +1,36 @@ +shortcode->getHandlers()->add('h5p', function(ShortcodeInterface $sc) { + + // Get shortcode content and parameters + $str = $sc->getContent(); + + $h5purl= $sc->getParameter('url', $sc->getBbCode()); + + if ($h5purl) { + $output = '

'; + + return $output; + + } else { + + if ($str) { + $output = '

'; + + return $output; + } + + } + + }); + } +} diff --git a/themes/learn2-git-sync/shortcodes/PDFShortcode.php b/themes/learn2-git-sync/shortcodes/PDFShortcode.php new file mode 100644 index 0000000..a3e3a42 --- /dev/null +++ b/themes/learn2-git-sync/shortcodes/PDFShortcode.php @@ -0,0 +1,35 @@ +shortcode->getHandlers()->add('pdf', function(ShortcodeInterface $sc) { + + // Get shortcode content and parameters + $str = $sc->getContent(); + + $pdfurl= $sc->getParameter('url', $sc->getBbCode()); + + if ($pdfurl) { + $output = '

'; + + return $output; + + } else { + + if ($str) { + + return '

'; + + } + + } + + }); + } +} diff --git a/themes/learn2-git-sync/templates/chapter.html.twig b/themes/learn2-git-sync/templates/chapter.html.twig new file mode 100644 index 0000000..3cdcd5b --- /dev/null +++ b/themes/learn2-git-sync/templates/chapter.html.twig @@ -0,0 +1,11 @@ +{% extends 'docs.html.twig' %} + +{% block content %} +
+
+

+ {{ page.content|raw }} +

+
+
+{% endblock %} diff --git a/themes/learn2-git-sync/templates/docs.html.twig b/themes/learn2-git-sync/templates/docs.html.twig new file mode 100644 index 0000000..4d594c9 --- /dev/null +++ b/themes/learn2-git-sync/templates/docs.html.twig @@ -0,0 +1,23 @@ +{% extends 'partials/base.html.twig' %} +{% set tags = page.taxonomy.tag %} +{% if tags %} + {% set progress = page.collection({'items':{'@taxonomy':{'category': 'docs', 'tag': tags}},'order': {'by': 'default', 'dir': 'asc'}}) %} +{% else %} + {% set progress = page.collection({'items':{'@taxonomy':{'category': 'docs'}},'order': {'by': 'default', 'dir': 'asc'}}) %} +{% endif %} + +{% block navigation %} + +{% endblock %} + +{% block content %} + {% include 'partials/page.html.twig' %} +{% endblock %} diff --git a/themes/learn2-git-sync/templates/partials/base.html.twig b/themes/learn2-git-sync/templates/partials/base.html.twig new file mode 100644 index 0000000..d843457 --- /dev/null +++ b/themes/learn2-git-sync/templates/partials/base.html.twig @@ -0,0 +1,106 @@ +{% set theme_config = attribute(config.themes, config.system.pages.theme) %} + + + + {% block head %} + + {% if header.title %}{{ header.title }} | {% endif %}{{ site.title }} + {% include 'partials/metadata.html.twig' %} + + + + + + {% block stylesheets %} + {% do assets.addCss('theme://css-compiled/nucleus.css', 102) %} + {% do assets.addCss('theme://css/custom.css', 100) %} + {% do assets.addCss('theme://css/font-awesome.min.css',100) %} + {% do assets.addCss('theme://css/featherlight.min.css') %} + + {% if browser.getBrowser == 'msie' and browser.getVersion >= 8 and browser.getVersion <= 9 %} + {% do assets.addCss('theme://css/nucleus-ie9.css') %} + {% do assets.addCss('theme://css/pure-0.5.0/grids-min.css') %} + {% do assets.addJs('theme://js/html5shiv-printshiv.min.js') %} + {% endif %} + {% endblock %} + + {% block javascripts %} + {% do assets.addJs('jquery',101) %} + {% do assets.addJs('theme://js/modernizr.custom.71422.js',100) %} + {% do assets.addJs('theme://js/featherlight.min.js') %} + {% do assets.addJs('theme://js/clipboard.min.js') %} + {% do assets.addJs('theme://js/jquery.scrollbar.min.js') %} + {% do assets.addJs('theme://js/learn.js') %} + {% endblock %} + + {% block assets deferred %} + {{ assets.css()|raw }} + {{ assets.js()|raw }} + {% endblock %} + + {% endblock %} + + + {% block sidebar %} + + {% endblock %} + + {% block body %} +
+
+ +
+ + + {% block topbar %}{% if theme_config.github.position == 'top' or config.plugins.breadcrumbs.enabled %} +
+ {% if theme_config.github.position == 'top' and not ('search' in page.name) %} + + {% endif %} + + {% if config.plugins.breadcrumbs.enabled %} + {% include 'partials/breadcrumbs.html.twig' %} + {% endif %} +
+ {% endif %}{% endblock %} + + {% block content %}{% endblock %} + + {% block footer %} + {% if theme_config.github.position == 'bottom' and not ('search' in page.name) %} + {% include 'partials/github_note.html.twig' %} + {% endif %} + {% endblock %} + +
+ {% block navigation %}{% endblock %} +
+ {% endblock %} + {% block analytics %} + {% if theme_config.google_analytics_code %} + {% include 'partials/analytics.html.twig' %} + {% endif %} + {% endblock %} + + {% block bottom %} + {{ assets.js('bottom')|raw }} + {% endblock %} + + {# added global scripts - hibbittsdesign.org #} + {% include 'partials/scripts.html.twig' %} + + + diff --git a/themes/learn2-git-sync/templates/partials/github_link.html.twig b/themes/learn2-git-sync/templates/partials/github_link.html.twig new file mode 100644 index 0000000..4c9f4f4 --- /dev/null +++ b/themes/learn2-git-sync/templates/partials/github_link.html.twig @@ -0,0 +1,55 @@ +{% if theme_config.github.tree %} + {% set git_repo_link_url = theme_config.github.tree %} + {% if 'github' in git_repo_link_url %} + {% set git_repo_link_icon = "github" %} + {% elseif 'gitlab' in git_repo_link_url %} + {% set git_repo_link_icon = "gitlab" %} + {% elseif 'bitbucket' in git_repo_link_url %} + {% set git_repo_link_icon = "bitbucket" %} + {% else %} + {% set git_repo_link_icon = "git" %} + {% endif %} + {% if theme_config.github.icon %} + {% set git_repo_link_icon = theme_config.github.icon %} + {% endif %} + {% set git_repo_edit_link_url = git_repo_link_url ~ ('/'~page.filePathClean)|replace({'/user/':'/'}) %} + + + {{ 'THEME_LEARN2_GIT_EDIT_THIS_PAGE'|t }} +{% else %} + {% if not config.plugins['git-sync'].enabled %} + {% set admin_panel_appearance_url = grav.base_url ~ '/admin/plugins/' %} + + + {{ 'THEME_LEARN2_GIT_ADD_SETUP_GIT_SYNC_PLUGIN'|t }} + {% else %} + {% if config.plugins['git-sync'].enabled and config.plugins['git-sync'].repository is empty %} + {% set admin_panel_appearance_url = grav.base_url ~ '/admin/plugins/git-sync' %} + + + {{ 'THEME_LEARN2_GIT_SETUP_GIT_SYNC_PLUGIN'|t }} + {% else %} + {% set git_sync_repo = config.plugins['git-sync'].repository %} + {% set git_sync_repo_link = (git_sync_repo | replace({'.git': '/'})) %} + {% if 'github' in git_sync_repo_link %} + {% set git_repo_link_icon = "github" %} + {% set git_repo_edit_link_url = git_sync_repo_link ~ 'blob/master' ~ (page.filePathClean)|replace({'user/':'/'}) %} + {% elseif 'gitlab' in git_sync_repo_link %} + {% set git_repo_link_icon = "gitlab" %} + {% set git_repo_edit_link_url = git_sync_repo_link ~ 'blob/master' ~ (page.filePathClean)|replace({'user/':'/'}) %} + {% elseif 'bitbucket' in git_sync_repo_link %} + {% set git_repo_link_icon = "bitbucket" %} + {% set git_repo_edit_link_url = git_sync_repo_link ~ 'src/master' ~ (page.filePathClean)|replace({'user/':'/'}) %} + {% else %} + {% set git_repo_link_icon = "git" %} + {% set git_repo_edit_link_url = git_sync_repo_link ~ 'blob/master' ~ (page.filePathClean)|replace({'user/':'/'}) %} + {% endif %} + {% if theme_config.github.icon %} + {% set git_repo_link_icon = theme_config.github.icon %} + {% endif %} + + + {{ 'THEME_LEARN2_GIT_EDIT_THIS_PAGE'|t }} + {% endif %} + {% endif %} +{% endif %} diff --git a/themes/learn2-git-sync/templates/partials/github_note.html.twig b/themes/learn2-git-sync/templates/partials/github_note.html.twig new file mode 100644 index 0000000..a7aa262 --- /dev/null +++ b/themes/learn2-git-sync/templates/partials/github_note.html.twig @@ -0,0 +1,7 @@ +
+

+ {{ 'THEME_LEARN2_GIT_NOTE'|t }} + + {% include 'partials/github_link.html.twig' %} +

+
diff --git a/themes/learn2-git-sync/templates/partials/logo.html.twig b/themes/learn2-git-sync/templates/partials/logo.html.twig new file mode 100644 index 0000000..d17cce1 --- /dev/null +++ b/themes/learn2-git-sync/templates/partials/logo.html.twig @@ -0,0 +1,5 @@ +{% if not (theme_config.hide_site_title) %} +

 

+
{{config.site.title}}
+

 

+{% endif %} diff --git a/themes/learn2-git-sync/templates/partials/page.html.twig b/themes/learn2-git-sync/templates/partials/page.html.twig new file mode 100644 index 0000000..d2614a1 --- /dev/null +++ b/themes/learn2-git-sync/templates/partials/page.html.twig @@ -0,0 +1,6 @@ +
+

{{ page.title }}

+

+ {{ page.content|raw }} +

+
diff --git a/themes/learn2-git-sync/templates/partials/presentation_iframe.html.twig b/themes/learn2-git-sync/templates/partials/presentation_iframe.html.twig new file mode 100644 index 0000000..c55c5ac --- /dev/null +++ b/themes/learn2-git-sync/templates/partials/presentation_iframe.html.twig @@ -0,0 +1,3 @@ +
+ +
diff --git a/themes/learn2-git-sync/templates/partials/scripts.html.twig b/themes/learn2-git-sync/templates/partials/scripts.html.twig new file mode 100644 index 0000000..3ed88cc --- /dev/null +++ b/themes/learn2-git-sync/templates/partials/scripts.html.twig @@ -0,0 +1 @@ + diff --git a/themes/learn2-git-sync/templates/partials/search.html.twig b/themes/learn2-git-sync/templates/partials/search.html.twig new file mode 100644 index 0000000..830ee44 --- /dev/null +++ b/themes/learn2-git-sync/templates/partials/search.html.twig @@ -0,0 +1,13 @@ +{% if config.plugins.simplesearch.enabled %} + +{% endif %} +{% if config.plugins.tntsearch.enabled %} + +{% endif %} diff --git a/themes/learn2-git-sync/templates/partials/sidebar.html.twig b/themes/learn2-git-sync/templates/partials/sidebar.html.twig new file mode 100644 index 0000000..b5ced23 --- /dev/null +++ b/themes/learn2-git-sync/templates/partials/sidebar.html.twig @@ -0,0 +1,72 @@ +{% macro loop(page, parent_loop) %} + {% import _self as self %} + + {% if parent_loop|length > 0 %} + {% set data_level = parent_loop %} + {% else %} + {% set data_level = 0 %} + {% endif %} + {% for p in page.children.visible %} + {% set parent_page = p.activeChild ? ' parent' : '' %} + {% set current_page = p.active ? ' active' : '' %} +
  • + + + {% if data_level == 0 %}{{ loop.index }}. {% endif %}{{ p.menu }} + + {% if p.children.count > 0 %} +
      + {{ self.loop(p, parent_loop|default(0)+loop.index) }} +
    + {% endif %} +
  • + {% endfor %} +{% endmacro %} + +{% macro version(p) %} + {% set parent_page = p.activeChild ? ' parent' : '' %} + {% set current_page = p.active ? ' active' : '' %} +
    + {% if p.activeChild or p.active %} + + {% else %} + + {% endif %} + {{ p.menu }} +
    +{% endmacro %} + +{% import _self as macro %} + +
    +
    + {% if theme_config.top_level_version %} + {% for slug, ver in pages.children.visible %} + {{ macro.version(ver) }} +
      + {{ macro.loop(ver, '') }} +
    + {% endfor %} + {% else %} +
      + {% if theme_config.root_page %} + {{ macro.loop(page.find(theme_config.root_page), '') }} + {% else %} + {{ macro.loop(pages, '') }} + {% endif %} +
    + {% endif %} +
    + + {{ 'THEME_LEARN2_CLEAR_HISTORY'|t }}
    + + +
    +
    diff --git a/themes/learn2-git-sync/templates/partials/versions.html.twig b/themes/learn2-git-sync/templates/partials/versions.html.twig new file mode 100644 index 0000000..9fda56b --- /dev/null +++ b/themes/learn2-git-sync/templates/partials/versions.html.twig @@ -0,0 +1,19 @@ +
    + Version: + +
    + diff --git a/themes/learn2-git-sync/templates/search.html.twig b/themes/learn2-git-sync/templates/search.html.twig new file mode 100644 index 0000000..a6df13c --- /dev/null +++ b/themes/learn2-git-sync/templates/search.html.twig @@ -0,0 +1,11 @@ +{% embed 'partials/base.html.twig' with { github_link_position: false } %} + + {% block content %} + {{ page.content|raw }} + + {% include 'partials/tntsearch.html.twig' with { in_page: true, placeholder: 'THEME_LEARN2_ADVANCED_SEARCH_PLACEHOLDER'|t }%} + {% endblock %} + + {% block footer %}{% endblock %} + +{% endembed %} diff --git a/themes/learn2-git-sync/thumbnail.jpg b/themes/learn2-git-sync/thumbnail.jpg new file mode 100644 index 0000000..6c1e46a Binary files /dev/null and b/themes/learn2-git-sync/thumbnail.jpg differ diff --git a/themes/learn2/js/learn.js b/themes/learn2/js/learn.js index b3d213a..73bd860 100644 --- a/themes/learn2/js/learn.js +++ b/themes/learn2/js/learn.js @@ -179,10 +179,7 @@ jQuery(document).ready(function() { var text, clip = new Clipboard('.copy-to-clipboard', { text: function(trigger) { text = $(trigger).prev('code').text(); - // NOTE custom stuff to strip # or $ from the beginning of my inline command blocks - return text.replace(/^[\$\s\#]{1,4}/gm, ''); - // original code - //return text.replace(/^\$\s/gm, ''); + return text.replace(/^\$\s/gm, ''); } }); @@ -210,7 +207,7 @@ jQuery(document).ready(function() { }); } }); - + // allow keyboard control for prev/next links jQuery(function() { jQuery('.nav-prev').click(function(){ @@ -231,7 +228,7 @@ jQuery(document).ready(function() { if(e.which == '39') { jQuery('.nav.nav-next').click(); } - }); + }); }); diff --git a/themes/learn2/scss/configuration/nucleus/_base.scss b/themes/learn2/scss/configuration/nucleus/_base.scss index 57e38e3..0b7e898 100644 --- a/themes/learn2/scss/configuration/nucleus/_base.scss +++ b/themes/learn2/scss/configuration/nucleus/_base.scss @@ -11,4 +11,4 @@ @import "typography"; // Nav -@import "nav"; +@import "nav"; \ No newline at end of file