Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/devcows/hugo-universal-theme.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillermo Guerrero Ibarra <guillermo.guerrero@deliveroo.co.uk>2021-08-05 00:23:57 +0300
committerGuillermo Guerrero Ibarra <guillermo.guerrero@deliveroo.co.uk>2021-08-05 00:23:57 +0300
commit4b7d1358342159fbdb003c5ef445c22e6126d20e (patch)
treeb2b457bd622bbc99bbe044dd6420133e2e826a6b
parent759e6598fe563dc0511e570fd62c48d61770a7f2 (diff)
parentcb2d782ffa3f198469c54070a7a3c5eb0e5b0849 (diff)
Merge branch 'master' into menu-sections
Conflicts: README.md exampleSite/config.toml layouts/partials/nav.html
-rw-r--r--.github/FUNDING.yml3
-rw-r--r--.github/workflows/build.yml23
-rw-r--r--.github/workflows/deploy-gh-pages.yml33
-rw-r--r--.github/workflows/eslint.yml22
-rw-r--r--.github/workflows/slack-notify.yml12
-rw-r--r--.prettierrc.json1
-rw-r--r--.stylelintrc.json3
-rw-r--r--.travis.yml23
-rw-r--r--README.md111
-rw-r--r--exampleSite/config.toml96
-rw-r--r--exampleSite/content/blog/categories-post.md19
-rw-r--r--exampleSite/content/blog/creating-a-new-theme.md2
-rw-r--r--exampleSite/content/blog/go-is-for-lovers.md1
-rw-r--r--exampleSite/content/blog/linked-post.md2
-rw-r--r--exampleSite/content/blog/migrate-from-jekyll.md2
-rw-r--r--exampleSite/data/features/consulting.yaml3
-rw-r--r--exampleSite/data/features/email.yaml3
-rw-r--r--exampleSite/data/features/print.yaml3
-rw-r--r--exampleSite/data/features/seo.yaml3
-rw-r--r--exampleSite/data/features/uiux.yaml3
-rw-r--r--exampleSite/data/features/webdesign.yaml3
-rw-r--r--exampleSite/static/css/custom.css11
-rw-r--r--exampleSite/static/img/sharing-default.pngbin0 -> 304053 bytes
-rw-r--r--i18n/ca.yaml9
-rw-r--r--i18n/cs.yaml71
-rw-r--r--i18n/da.yaml71
-rw-r--r--i18n/de.yaml21
-rw-r--r--i18n/en.yaml9
-rw-r--r--i18n/es.yaml9
-rw-r--r--i18n/fr.yaml17
-rw-r--r--i18n/id.yaml80
-rw-r--r--i18n/it.yaml80
-rw-r--r--i18n/ja.yaml80
-rw-r--r--i18n/nl.yaml80
-rw-r--r--i18n/pt-br.yaml80
-rw-r--r--i18n/ro.yaml80
-rw-r--r--i18n/ru.yaml9
-rw-r--r--i18n/sv.yaml9
-rw-r--r--i18n/zh-tw.yaml80
-rw-r--r--i18n/zh.yaml80
-rw-r--r--layouts/404.html18
-rw-r--r--layouts/_default/list.html26
-rw-r--r--layouts/_default/single.html16
-rw-r--r--layouts/index.html8
-rw-r--r--layouts/page/single.html6
-rw-r--r--layouts/partials/carousel.html9
-rw-r--r--layouts/partials/clients.html10
-rw-r--r--layouts/partials/contact.html8
-rw-r--r--layouts/partials/features.html30
-rw-r--r--layouts/partials/footer.html14
-rw-r--r--layouts/partials/head.html102
-rw-r--r--layouts/partials/map.html28
-rw-r--r--layouts/partials/nav.html31
-rw-r--r--layouts/partials/recent_posts.html17
-rw-r--r--layouts/partials/scripts.html11
-rw-r--r--layouts/partials/see_more.html15
-rw-r--r--layouts/partials/testimonials.html8
-rw-r--r--layouts/partials/top.html26
-rw-r--r--layouts/partials/widgets/categories.html7
-rw-r--r--layouts/partials/widgets/search.html6
-rw-r--r--layouts/partials/widgets/tags.html8
-rw-r--r--package-lock.json3016
-rw-r--r--package.json11
-rw-r--r--static/css/style.blue.css61
-rw-r--r--static/css/style.default.css61
-rw-r--r--static/css/style.green.css65
-rw-r--r--static/css/style.marsala.css61
-rw-r--r--static/css/style.pink.css61
-rw-r--r--static/css/style.red.css61
-rw-r--r--static/css/style.turquoise.css65
-rw-r--r--static/css/style.violet.css65
-rw-r--r--static/img/texture-green.pngbin0 -> 160087 bytes
-rw-r--r--static/js/front.js41
-rw-r--r--static/js/hpneo.gmaps.js2
74 files changed, 4691 insertions, 530 deletions
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000..e4bb331
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,3 @@
+github: ryanfox1985
+patreon: ryanfox1985
+custom: https://paypal.me/ryanfox1985
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..5902c10
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,23 @@
+name: Build project with Hugo
+on: [push, pull_request]
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ defaults:
+ run:
+ working-directory: ./exampleSite
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ submodules: true # Fetch Hugo themes (true OR recursive)
+ fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
+
+ - name: Setup Hugo
+ uses: peaceiris/actions-hugo@v2
+ with:
+ hugo-version: 'latest'
+ extended: true
+
+ - name: Build
+ run: |
+ hugo --minify
diff --git a/.github/workflows/deploy-gh-pages.yml b/.github/workflows/deploy-gh-pages.yml
new file mode 100644
index 0000000..92b274e
--- /dev/null
+++ b/.github/workflows/deploy-gh-pages.yml
@@ -0,0 +1,33 @@
+name: Deploy Github pages
+on:
+ push:
+ branches:
+ - master # Set a branch to deploy
+jobs:
+ deploy:
+ runs-on: ubuntu-latest
+ defaults:
+ run:
+ working-directory: ./exampleSite
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ submodules: true # Fetch Hugo themes (true OR recursive)
+ fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
+
+ - name: Setup Hugo
+ uses: peaceiris/actions-hugo@v2
+ with:
+ hugo-version: 'latest'
+ extended: true
+
+ - name: Build
+ run: |
+ hugo --minify
+
+ - name: Deploy
+ uses: peaceiris/actions-gh-pages@v3
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ publish_dir: ./exampleSite/public # if not specified it defaults to ./public. source directory of the built files to make the deploy (must match the build to directory in config.toml), eg ./docs, ./public, ./exampleSite/public
+
diff --git a/.github/workflows/eslint.yml b/.github/workflows/eslint.yml
new file mode 100644
index 0000000..37929bd
--- /dev/null
+++ b/.github/workflows/eslint.yml
@@ -0,0 +1,22 @@
+name: Eslint
+on: [push, pull_request]
+jobs:
+ linters:
+ name: Run Eslint
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Check out Git repository
+ uses: actions/checkout@v2
+
+ - name: Set up Node.js
+ uses: actions/setup-node@v1
+ with:
+ node-version: 12
+
+ # ESLint and Prettier must be in `package.json`
+ - name: Install Node.js dependencies
+ run: npm ci
+
+ - name: Run eslint
+ run: npm run eslint
diff --git a/.github/workflows/slack-notify.yml b/.github/workflows/slack-notify.yml
new file mode 100644
index 0000000..f6aaa22
--- /dev/null
+++ b/.github/workflows/slack-notify.yml
@@ -0,0 +1,12 @@
+name: Slack Notification
+on: push
+jobs:
+ slackNotification:
+ name: Slack Notification
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: Slack Notification
+ uses: rtCamp/action-slack-notify@v2
+ env:
+ SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} \ No newline at end of file
diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 0000000..0967ef4
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1 @@
+{}
diff --git a/.stylelintrc.json b/.stylelintrc.json
new file mode 100644
index 0000000..425b4df
--- /dev/null
+++ b/.stylelintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "stylelint-config-standard"
+} \ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index a5072c0..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-sudo: required
-os:
- - osx
-language: ruby
-rvm:
- - 2.3.0
-env:
- - TRAVIS_NODE_VERSION="6"
-install:
- - brew update
- - rm -rf ~/.nvm && git clone https://github.com/creationix/nvm.git ~/.nvm && (cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`) && source ~/.nvm/nvm.sh && nvm install $TRAVIS_NODE_VERSION
- - npm install
- - npm run install_hugo
-script:
- - npm run lint
- - cd exampleSite
- - mkdir themes
- - ln -s ../../ themes/hugo-universal-theme
- - hugo
-notifications:
- slack:
- rooms:
- - devcows:Qs59B9IYFi3IfrejVqNlN5G7#general
diff --git a/README.md b/README.md
index 0def5b7..b7b8bdd 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,15 @@
# Universal Theme for Hugo
-[![Build Status](https://travis-ci.org/devcows/hugo-universal-theme.svg?branch=master)](https://travis-ci.org/devcows/hugo-universal-theme)
[![Code Climate](https://codeclimate.com/github/devcows/hugo-universal-theme/badges/gpa.svg)](https://codeclimate.com/github/devcows/hugo-universal-theme)
Universal is a clean and stylish website template built with Bootstrap. It stands out with its clean design and elegant typography.
+Demo site: [https://devcows.github.io/hugo-universal-theme](https://devcows.github.io/hugo-universal-theme/)
+
+Sponsor this project:
+- [https://paypal.me/ryanfox1985](https://paypal.me/ryanfox1985)
+- [https://www.patreon.com/ryanfox1985](https://www.patreon.com/ryanfox1985)
+
This Hugo theme was ported from [Bootstrapious](http://bootstrapious.com/p/universal-business-e-commerce-template) for training and fun. It has a very nice and customizable landing page, a comments system by Disqus, site search by Google, contact forms by Formspree, Google Analytics, and optional widgets for the sidebar.
![screenshot](https://raw.githubusercontent.com/devcows/hugo-universal-theme/master/images/screenshot.png)
@@ -12,7 +17,7 @@ This Hugo theme was ported from [Bootstrapious](http://bootstrapious.com/p/unive
## Table of Contents
-* [Theme features](#theme-features)
+* [Features](#features)
* [Installation](#installation)
* [Configuration](#configuration)
* [Style](#style)
@@ -30,7 +35,7 @@ This Hugo theme was ported from [Bootstrapious](http://bootstrapious.com/p/unive
* [See more](#see-more)
* [Clients](#clients)
* [Recent posts](#recent-posts)
- * [Meta tags](#meta-tags)
+ * [Meta tags](#meta-tags)
* [Usage](#usage)
* [Contributing](#contributing)
* [License](#license)
@@ -111,6 +116,9 @@ googleAnalytics = "UA-XXXXX-X"
Leave the `googleAnalytics` key empty to disable it.
+### Logo
+
+You can select the logos using the logo and logo_small parameters. The logo_small value will be used when the site is rendered on small screens.
### Contact form
@@ -125,23 +133,29 @@ id = "contact"
+++
```
-You can optionally add the google maps widget defining latitude and longitude in the section `params` at `config.toml`. On pin click opens Google Maps directions with the coordinates. Additionally you can define direction if you want to have a different target set for directions or the google maps entry of your company.:
+You can enable or disable the Google Maps widget on the contact page by setting `params.enableGoogleMaps` to `true` or `false` in `config.toml`. Make sure to also provide a valid `googleMapsApiKey` if you decide to enable the widget – otherwise it likely won't work. By clicking on the pin, Google Maps opens a route description with the coordinates `latitude` and `longitude`. Additionally, you can define the `direction` if you want to have another destination for the directions or the Google Maps entry of your company. If `enableGoogleMaps` is set to `false` on the other hand, the subsequent `googleMapsApiKey`, `latitude`, `longitude` and `direction` will be ignored.
+
+Example configuration:
```yaml
[params]
...
+ enableGoogleMaps = true
+ googleMapsApiKey = "AIzaSyCFhtWLJcE30xOAjcbSFi-0fnoVmQZPb1Y"
+
latitude = "-12.043333"
longitude = "-77.028333"
direction = "Desamparados Station, Distrito de Lima 15001, Peru"
```
-Since this Hugo sites are static, the contact form uses [Formspree](https://formspree.io/) as a proxy. The form makes a POST request to their servers to send the actual email. Visitors can send up to a 1000 emails each month for free.
+Since Hugo sites are static, the contact form uses [Formspree](https://formspree.io/) as a proxy. The form makes a POST request to their servers to send the actual email. Visitors can send up to a 1000 emails each month for free.
-To enable the form in the contact page, just type your Formspree email in the `config.toml` file.
+To enable the form in the contact page, just type your Formspree email in the `config.toml` file, and specify whether to use ajax(paid) to send request or plain HTTP POST(free).
```yaml
[params]
email = "your@email.com"
+contact_form_ajax = false
```
### Menu
@@ -263,6 +277,8 @@ the `url` field of the top level menu item to link the image from our static ass
When a `url` is filled in, only column 1 and 2 (the `post` value in the section menu items) will be displayed.
When using an image, don't configure section menu items in column 3 or 4. **These will not be rendered.**
+**Important:** Do not change the `identifier` key of existing menu entries!
+
### Sidebar widgets
@@ -300,13 +316,13 @@ The social links on the right side are configured as a top-level menu.
weight = 1
name = "GitHub"
url = "https://github.com/devcows/hugo-universal-theme"
- pre = "<i class='fa fa-2x fa-github'></i>"
+ pre = "<i class='fas fa-2x fa-github'></i>"
[[menu.topbar]]
weight = 2
name = "Facebook"
url = "http://facebook.com"
- pre = "<i class='fa fa-2x fa-facebook'></i>"
+ pre = "<i class='fas fa-2x fa-facebook'></i>"
```
### Blog post thumbnails
@@ -352,16 +368,19 @@ image: "img/carousel/template-easy-code.png"
The `weight` field determines the position of the entry. `title` is a text-only field. The `description` field accepts HTML code. And the `image` must contain the relative path to the image inside the `static` directory.
-Once the carousel is configured, it must be explicitly enabled in the `config.toml` file.
+Once the carousel is configured, some options can be defined like: auto play, speed, etc. in the `config.toml` file.
```toml
-[params.carousel]
+[params.carouselHomepage]
enable = true
+ auto_play = true
+ slide_speed = 2000
+ pagination_speed = 1000
```
#### Features
-Features are also defined in the `data` directory just like the carousel.
+Features are also defined in the `data` directory just like the carousel:
```
data
@@ -374,16 +393,25 @@ data
   └── webdesign.yaml
```
-A feature file looks like this.
+The content of the `consulting.yaml` example feature file looks like this:
```yaml
weight: 4
name: "Consulting"
-icon: "fa fa-lightbulb-o"
+icon: "fas fa-lightbulb"
+url: ""
description: "Fifth abundantly made Give sixth hath. Cattle creature i be don't them behold green moved fowl Moved life us beast good yielding. Have bring."
```
-The `icon` field is the CSS class of an icon. In this example we have used icons powered by [FontAwesome](http://fontawesome.io/icons/).
+The meaning of the individual YAML keys is as follows:
+
+| Key | Description |
+| --- | ----------- |
+| `weight` | A means to set the order of multiple features; features with a lower `weight` are displayed first (left to right, top to bottom) |
+| `name` | The title text below the feature icon; Markdown is supported |
+| `icon` | The CSS class of the feature icon; in this example we have used icons powered by [FontAwesome](http://fontawesome.io/icons/) |
+| `url` | An optional URL the feature icon should point to; if specified, the icon will become a clickable hyperlink |
+| `description` | A short text below the title text to describe the feature; Markdown is supported |
Once you have completed your features, enable them in the `config.toml` file.
@@ -434,7 +462,7 @@ You can enable it in the configuration file.
```toml
[params.see_more]
enable = true
- icon = "fa fa-file-code-o"
+ icon = "far fa-file-alt"
title = "Do you want to see more?"
subtitle = "We have prepared for you more than 40 different HTML pages, including 5 variations of homepage."
link_url = "http://your-site.com/more"
@@ -478,7 +506,7 @@ Then, you can enable the section in the configuration file.
#### Recent posts
-The recent posts sections shows the four latest published blog posts, with their featured image and a summary.
+The recent posts sections shows the four latest published blog posts, with their featured image and an optional summary. It defaults to show recent posts from all [main sections](https://gohugo.io/functions/where/#mainsections). This is either the section with the most posts or can be set explicitly in the configuration file (see linked docs).
You can enable it in the configuration file.
@@ -487,29 +515,58 @@ You can enable it in the configuration file.
enable = true
title = "From our blog"
subtitle = "Pellen
+ hide_summary = false
```
-#### Meta tags
+### Meta tags
+
+The following [HTML metadata](https://www.w3schools.com/tags/tag_meta.asp) can be set for every page. While the default value for some of them can be defined in `config.toml`, all of these properties can also be set through the respective [Hugo front matter variables](https://gohugo.io/content-management/front-matter/#front-matter-variables):
-`Description` and `Keywords` meta tags are available and can be customized.
-You can set default values for all pages in the `config.toml` file as below.
+| HTML meta `name`/`property` | Hugo front matter variable | Default variable in `config.toml` |
+| :------------------------------------------------------- | :------------------------- | :-------------------------------- |
+| `article:author` | `facebook_author` | - |
+| `article:publisher` | `facebook_site` | `facebook_site` |
+| `author` | `author` | - |
+| `description` / `og:description` / `twitter:description` | `description` | `defaultDescription` |
+| `keywords` | `keywords` | `defaultKeywords` |
+| `og:image` / `twitter:image` | `banner` | `default_sharing_image` |
+| `title` / `og:title` / `twitter:title` | `title` | - |
+| `twitter:creator` | `twitter_author` | - |
+| `twitter:site` | `twitter_site` | `twitter_site` |
+
+Besides, certain [Open Graph](http://ogp.me/) metadata is automatically set:
+
+- `article:published_time`, `article:modified_time`, `og:updated_time` and `article:expiration_time` are set based on [Hugo's (predefined) front matter variables `date`, `publishDate`, `lastmod` and `expiryDate`](https://gohugo.io/content-management/front-matter/#predefined).
+- `article:section` and `article:tag` are set based on [Hugo's `categories` and `tags` taxonomies](https://gohugo.io/content-management/taxonomies/#default-taxonomies). Since there can only be one `article:section`, only the first element of the `categories` array is used as `article:section`.
+
+You can set default values for all pages in the `config.toml` file as below:
```toml
[params]
defaultKeywords = ["devcows", "hugo", "go"]
defaultDescription = "Site template made by Devcows using Hugo"
+ default_sharing_image = "img/sharing-default.png"
+ facebook_site = "https://www.facebook.com/GolangSociety/"
+ twitter_site = "GoHugoIO"
```
-The result in HTML will be the following.
+The resulting HTML will be the following:
```html
<meta name="keywords" content="devcows, hugo, go">
<meta name="description" content="Site template made by Devcows using Hugo">
+<meta property="og:description" content="Site template made by Devcows using Hugo">
+<meta property="og:image" content="img/sharing-default.png">
+<meta property="og:image:type" content="image/png">
+<meta property="og:image:width" content="800">
+<meta property="og:image:height" content="420">
+<meta property="article:publisher" content="https://www.facebook.com/GolangSociety/">
+<meta name="twitter:description" content="Site template made by Devcows using Hugo">
+<meta name="twitter:site" content="@GoHugoIO">
```
-You can also override the default values from the `config.toml` by setting the `description` and `keywords` in the individual pages meta data.
-See the `faq.md` file in the `exampleSite` directory for an example.
+You can also override the default values from the `config.toml` by setting the respective keys in the individual pages front matter. As an example, here's the front matter from the [`faq.md` file](exampleSite/content/faq.md) in the [`exampleSite` directory](exampleSite):
```yaml
+++
@@ -519,6 +576,16 @@ keywords = ["FAQ","How do I","questions","what if"]
+++
```
+Which results in the following HTML:
+
+```html
+<title>FAQ</title>
+<meta name="keywords" content="FAQ,How do I,questions,what if">
+<meta name="description" content="Frequently asked questions">
+<meta property="og:description" content="Frequently asked questions">
+<meta name="twitter:description" content="Frequently asked questions">
+```
+
## Usage
diff --git a/exampleSite/config.toml b/exampleSite/config.toml
index def7af3..66b7e3c 100644
--- a/exampleSite/config.toml
+++ b/exampleSite/config.toml
@@ -1,6 +1,7 @@
-baseurl = "https://example.org"
+baseurl = "https://devcows.github.io/hugo-universal-theme/" # Configure URL. if using gh-pages https://github.com/<username>/hugo-universal-theme URL: https://<username>.github.io/hugo-universal-theme/
title = "Universal"
theme = "hugo-universal-theme"
+themesDir = "../.."
languageCode = "en-us"
# Site language. Available translations in the theme's `/i18n` directory.
defaultContentLanguage = "en"
@@ -9,13 +10,14 @@ disqusShortname = "devcows"
# Enable Google Analytics by entering your tracking code
googleAnalytics = ""
+
# Define the number of posts per page
paginate = 10
[menu]
-# Main menu
+# Main menu
[[menu.main]]
name = "Home"
identifier = "menu.home"
@@ -317,7 +319,7 @@ paginate = 10
[[menu.main]]
name = "Blog"
identifier = "section.ap-blog"
- url = ""
+ url = "/blog/"
weight = 3
parent = "menu.allpages"
post = 4
@@ -329,15 +331,23 @@ paginate = 10
parent = "section.ap-blog"
[[menu.main]]
+ name = "Blog"
+ identifier = "menu.blog"
+ url = "/blog/"
+ weight = 5
+
+[[menu.main]]
name = "FAQ"
identifier = "menu.faq"
url = "/faq/"
- weight = 5
+ weight = 6
[[menu.main]]
+ identifier = "contact"
name = "Contact"
url = "/contact/"
- weight = 6
+ weight = 7
+
# Top bar social links menu
@@ -345,52 +355,64 @@ paginate = 10
weight = 1
name = "GitHub"
url = "https://github.com/devcows/hugo-universal-theme"
- pre = "<i class='fa fa-2x fa-github'></i>"
+ pre = "<i class='fab fa-2x fa-github'></i>"
[[menu.topbar]]
weight = 2
name = "Facebook"
url = "http://facebook.com"
- pre = "<i class='fa fa-2x fa-facebook'></i>"
+ pre = "<i class='fab fa-2x fa-facebook'></i>"
[[menu.topbar]]
weight = 3
name = "Twitter"
url = "http://twitter.com"
- pre = "<i class='fa fa-2x fa-twitter'></i>"
+ pre = "<i class='fab fa-2x fa-twitter'></i>"
[[menu.topbar]]
weight = 4
name = "Email"
- url = "mailto:your@email.com"
- pre = "<i class='fa fa-2x fa-envelope'></i>"
+ url = "mailto:hello@universal.com"
+ pre = "<i class='fas fa-2x fa-envelope'></i>"
[params]
viewMorePostLink = "/blog/"
author = "DevCows"
defaultKeywords = ["devows", "hugo", "go"]
+ mainSections = ["blog"]
defaultDescription = "Site template made by devcows using hugo"
- # Google Maps API key (if not set will default to not passing a key.)
- googleMapsApiKey = "AIzaSyCFhtWLJcE30xOAjcbSFi-0fnoVmQZPb1Y"
+ # Social media
+ facebook_site = "" # the Facebook handle of your site ('https://www.facebook.com/HANDLE')
+ twitter_site = "GoHugoIO" # the Twitter handle of your site (without the '@')
+ default_sharing_image = "img/sharing-default.png"
+
+ # Google Maps widget: If `googleMapsApiKey` is not set, no key will be passed to Google (which likely results in a broken map widget).
+ enableGoogleMaps = true
+ googleMapsApiKey = "AIzaSyAv7Sza8NSp9_l_g8G2vlo0H4ydEPn_2jY"
+
+ latitude = "-12.043333"
+ longitude = "-77.028333"
# Style options: default (light-blue), blue, green, marsala, pink, red, turquoise, violet
style = "default"
# Since this template is static, the contact form uses www.formspree.io as a
# proxy. The form makes a POST request to their servers to send the actual
- # email. Visitors can send up to a 1000 emails each month for free.
+ # email. Visitors can send up to a 50 emails each month for free.
#
# What you need to do for the setup?
#
- # - set your email address under 'email' below
+ # - register your account to https://formspree.io/register
+ # - login and create new form
+ # - set your form's endpoint url under 'formspree_action' below
# - upload the generated site to your server
- # - send a dummy email yourself to confirm your account
- # - click the confirm link in the email from www.formspree.io
+ # - test a dummy email yourself
# - you're done. Happy mailing!
#
- # Enable the contact form by entering your Formspree.io email
- email = "your@email.com"
+ # Enable the contact form by entering your Formspree.io endpoint url
+ formspree_action = "https://formspree.io/sample/of/endpoint"
+ contact_form_ajax = false
about_us = "<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>"
copyright = "Copyright (c) 2015 - 2016, YourCompany; all rights reserved."
@@ -399,7 +421,8 @@ paginate = 10
date_format = "January 2, 2006"
logo = "img/logo.png"
- address = """<p><strong>Universal Ltd.</strong>
+ logo_small = "img/logo-small.png"
+ address = """<p class="text-uppercase"><strong>Universal Ltd.</strong>
<br>13/25 New Avenue
<br>Newtown upon River
<br>45Y 73J
@@ -408,18 +431,16 @@ paginate = 10
<strong>Great Britain</strong>
</p>
"""
- latitude = "-12.043333"
- longitude = "-77.028333"
-[Permalinks]
+[permalinks]
blog = "/blog/:year/:month/:day/:filename/"
# Enable or disable top bar with social icons
[params.topbar]
enable = true
text = """<p class="hidden-sm hidden-xs">Contact us on +420 777 555 333 or hello@universal.com.</p>
- <p class="hidden-md hidden-lg"><a href="#" data-animate-hover="pulse"><i class="fa fa-phone"></i></a>
- <a href="#" data-animate-hover="pulse"><i class="fa fa-envelope"></i></a>
+ <p class="hidden-md hidden-lg"><a href="tel:+420 777 555 333" data-animate-hover="pulse"><i class="fas fa-phone"></i></a>
+ <a href="mailto:hello@universal.com" data-animate-hover="pulse"><i class="fas fa-envelope"></i></a>
</p>
"""
@@ -429,11 +450,26 @@ paginate = 10
tags = true
search = true
-[params.carousel]
- enable = true
+[params.carouselCustomers]
+ items = 6
+ auto_play = false
+ slide_speed = 2000
+ pagination_speed = 1000
+
+[params.carouselTestimonals]
+ items = 4
+ auto_play = false
+ slide_speed = 2000
+ pagination_speed = 1000
+
+[params.carouselHomepage]
# All carousel items are defined in their own files. You can find example items
# at 'exampleSite/data/carousel'.
# For more informtion take a look at the README.
+ enable = true
+ auto_play = true
+ slide_speed = 2000
+ pagination_speed = 1000
[params.features]
enable = true
@@ -451,7 +487,7 @@ paginate = 10
[params.see_more]
enable = true
- icon = "fa fa-file-code-o"
+ icon = "far fa-file-alt"
title = "Do you want to see more?"
subtitle = "We have prepared for you more than 40 different HTML pages, including 5 variations of homepage."
link_url = "#"
@@ -469,3 +505,9 @@ paginate = 10
enable = true
title = "From our blog"
subtitle = "Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo."
+ hide_summary = false
+
+[taxonomies]
+ category = "categories"
+ tag = "tags"
+ author = "authors"
diff --git a/exampleSite/content/blog/categories-post.md b/exampleSite/content/blog/categories-post.md
new file mode 100644
index 0000000..55f2b78
--- /dev/null
+++ b/exampleSite/content/blog/categories-post.md
@@ -0,0 +1,19 @@
++++
+title = "Categories Post"
+date = "2021-08-01T21:29:20+02:00"
+tags = ["golang", "programming", "theme", "hugo"]
+categories = ["programming","lorem","pseudo"]
+banner = "img/banners/banner-4.jpg"
+authors = ["John Doe"]
++++
+
+I'm a post with multiple categories in the frontmatter:
+
+ categories = ["programming","lorem","pseudo"]
+
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. In mauris nulla, vestibulum vel auctor sed, posuere eu lorem. Aliquam consequat augue ut accumsan mollis. Suspendisse malesuada sodales tincidunt. Vivamus sed erat ac augue bibendum porta sed id ipsum. Ut mollis mauris eget ligula sagittis cursus. Aliquam id pharetra tellus. Pellentesque sed tempus risus. Proin id hendrerit ante. Vestibulum vitae urna ut mauris ultricies dignissim. Ut ante turpis, tristique vitae sagittis quis, sagittis nec diam. Fusce pulvinar cursus porta. Vivamus maximus leo dolor, ut pellentesque lorem fringilla nec. Mauris faucibus turpis posuere sapien euismod, a ullamcorper mi maximus.
+
+Morbi varius ex vel justo dictum placerat. Sed ac arcu pretium, varius elit eget, gravida purus. Fusce sit amet massa mollis eros tincidunt sollicitudin. Suspendisse iaculis cursus mauris ut sagittis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Maecenas elit ligula, molestie quis magna eu, semper posuere lorem. Mauris a justo pharetra, congue ex eget, tincidunt massa. Maecenas sit amet neque lorem.
+
+Curabitur at elementum quam. Curabitur tristique elit non sapien aliquam vulputate. Vivamus in odio tincidunt, tempor sem quis, tincidunt lacus. Mauris pulvinar nunc sed tempus dictum. Nam vel arcu quis mi fermentum ullamcorper non ac lacus. Donec aliquet vitae ante at imperdiet. Aenean scelerisque venenatis urna, eget elementum risus convallis ac. Nullam gravida arcu lacus, non consectetur augue pretium non. Duis dignissim eros id urna pretium congue. Nullam eu magna in sem sollicitudin tempor. Pellentesque vel convallis ligula. Quisque semper, turpis a rhoncus efficitur, magna nibh iaculis elit, eget tempor dolor eros ut mi. Maecenas eu placerat lacus. Praesent congue pretium nulla, sed suscipit metus rutrum vel.
diff --git a/exampleSite/content/blog/creating-a-new-theme.md b/exampleSite/content/blog/creating-a-new-theme.md
index 07f0145..233b293 100644
--- a/exampleSite/content/blog/creating-a-new-theme.md
+++ b/exampleSite/content/blog/creating-a-new-theme.md
@@ -3,7 +3,9 @@ title = "Creating a new theme"
date = "2015-06-24T13:50:46+02:00"
tags = ["theme"]
categories = ["starting"]
+description = "This tutorial will show you how to create a simple theme in Hugo. I assume that you are familiar with HTML, the bash command line, and that you are comfortable using Markdown to format content."
banner = "img/banners/banner-1.jpg"
+authors = ["Jane Doe"]
+++
## Introduction
diff --git a/exampleSite/content/blog/go-is-for-lovers.md b/exampleSite/content/blog/go-is-for-lovers.md
index 8b09d63..b5f3ff0 100644
--- a/exampleSite/content/blog/go-is-for-lovers.md
+++ b/exampleSite/content/blog/go-is-for-lovers.md
@@ -4,6 +4,7 @@ date = "2015-09-17T13:47:08+02:00"
tags = ["go"]
categories = ["programming"]
banner = "img/banners/banner-2.jpg"
+facebook_author = "GolangSociety"
+++
Hugo uses the excellent [go][] [html/template][gohtmltemplate] library for
diff --git a/exampleSite/content/blog/linked-post.md b/exampleSite/content/blog/linked-post.md
index f2793d1..6463eca 100644
--- a/exampleSite/content/blog/linked-post.md
+++ b/exampleSite/content/blog/linked-post.md
@@ -4,7 +4,7 @@ date = "2015-10-02T21:49:20+02:00"
tags = ["golang", "programming", "theme", "hugo"]
categories = ["programming"]
banner = "img/banners/banner-4.jpg"
-author = "John Doe"
+authors = ["John Doe","Jane Doe"]
+++
I'm a linked post in the menu. You can add other posts by adding the following line to the frontmatter:
diff --git a/exampleSite/content/blog/migrate-from-jekyll.md b/exampleSite/content/blog/migrate-from-jekyll.md
index ce21cb5..dfe0018 100644
--- a/exampleSite/content/blog/migrate-from-jekyll.md
+++ b/exampleSite/content/blog/migrate-from-jekyll.md
@@ -1,9 +1,9 @@
+++
title = "Migrate from Jekyll"
-date = "2015-10-10T13:07:31+02:00"
tags = ["ipsum"]
categories = ["lorem"]
banner = "img/banners/banner-5.jpg"
+twitter_author = "jekyllrb"
+++
## Move static content to `static`
diff --git a/exampleSite/data/features/consulting.yaml b/exampleSite/data/features/consulting.yaml
index 7f62850..4284222 100644
--- a/exampleSite/data/features/consulting.yaml
+++ b/exampleSite/data/features/consulting.yaml
@@ -1,4 +1,5 @@
weight: 4
name: "Consulting"
-icon: "fa fa-lightbulb-o"
+icon: "fas fa-lightbulb"
+url: ""
description: "Fifth abundantly made Give sixth hath. Cattle creature i be don't them behold green moved fowl Moved life us beast good yielding. Have bring."
diff --git a/exampleSite/data/features/email.yaml b/exampleSite/data/features/email.yaml
index 327081f..42c6499 100644
--- a/exampleSite/data/features/email.yaml
+++ b/exampleSite/data/features/email.yaml
@@ -1,4 +1,5 @@
weight: 5
name: "Email Marketing"
-icon: "fa fa-envelope-o"
+icon: "far fa-envelope"
+url: ""
description: "Advantage old had otherwise sincerity dependent additions. It in adapted natural hastily is justice. Six draw you him full not mean evil."
diff --git a/exampleSite/data/features/print.yaml b/exampleSite/data/features/print.yaml
index 9057565..6362fa3 100644
--- a/exampleSite/data/features/print.yaml
+++ b/exampleSite/data/features/print.yaml
@@ -1,4 +1,5 @@
weight: 2
name: "Print"
-icon: "fa fa-print"
+icon: "fas fa-print"
+url: ""
description: "Advantage old had otherwise sincerity dependent additions. It in adapted natural hastily is justice. Six draw you him full not mean evil."
diff --git a/exampleSite/data/features/seo.yaml b/exampleSite/data/features/seo.yaml
index c0f165f..29af3d3 100644
--- a/exampleSite/data/features/seo.yaml
+++ b/exampleSite/data/features/seo.yaml
@@ -1,4 +1,5 @@
weight: 3
name: "SEO and SEM"
-icon: "fa fa-globe"
+icon: "fas fa-globe"
+url: ""
description: "Am terminated it excellence invitation projection as. She graceful shy believed distance use nay. Lively is people so basket ladies window expect."
diff --git a/exampleSite/data/features/uiux.yaml b/exampleSite/data/features/uiux.yaml
index 1257208..0533859 100644
--- a/exampleSite/data/features/uiux.yaml
+++ b/exampleSite/data/features/uiux.yaml
@@ -1,4 +1,5 @@
weight: 6
name: "UI/UX"
-icon: "fa fa-user"
+icon: "fas fa-user"
+url: ""
description: "Am terminated it excellence invitation projection as. She graceful shy believed distance use nay. Lively is people so basket ladies window expect."
diff --git a/exampleSite/data/features/webdesign.yaml b/exampleSite/data/features/webdesign.yaml
index 097bc1a..0731ce8 100644
--- a/exampleSite/data/features/webdesign.yaml
+++ b/exampleSite/data/features/webdesign.yaml
@@ -1,4 +1,5 @@
weight: 1
name: "Webdesign"
-icon: "fa fa-desktop"
+icon: "fas fa-desktop"
+url: ""
description: "Fifth abundantly made Give sixth hath. Cattle creature i be don't them behold green moved fowl Moved life us beast good yielding. Have bring."
diff --git a/exampleSite/static/css/custom.css b/exampleSite/static/css/custom.css
new file mode 100644
index 0000000..34b59c5
--- /dev/null
+++ b/exampleSite/static/css/custom.css
@@ -0,0 +1,11 @@
+/* your styles go here */
+/* Example site test */
+
+.box-image-text .image {
+ min-height: 200px;
+ max-height: 200px;
+}
+
+.box-simple {
+ min-height: 230px;
+}
diff --git a/exampleSite/static/img/sharing-default.png b/exampleSite/static/img/sharing-default.png
new file mode 100644
index 0000000..5180bbb
--- /dev/null
+++ b/exampleSite/static/img/sharing-default.png
Binary files differ
diff --git a/i18n/ca.yaml b/i18n/ca.yaml
index 560acf2..5ca1b22 100644
--- a/i18n/ca.yaml
+++ b/i18n/ca.yaml
@@ -69,3 +69,12 @@
- id: publishedOn
translation: "el"
+
+- id: 404Error
+ translation: "Error 404: Pàgina no trobada"
+
+- id: 404Message
+ translation: "Ho sentim – aquesta pàgina no es pot trobar en aquest lloc"
+
+- id: 404NavHome
+ translation: "Anar a l'inici"
diff --git a/i18n/cs.yaml b/i18n/cs.yaml
new file mode 100644
index 0000000..5457b4c
--- /dev/null
+++ b/i18n/cs.yaml
@@ -0,0 +1,71 @@
+- id: home
+ translation: "Domovská stránka"
+
+- id: templateBy
+ translation: "Šablona od"
+
+- id: portedBy
+ translation: "Na Hugo přidal"
+
+- id: contactGoTo
+ translation: "Přejít na stránku s kontakty"
+
+- id: contactAddrTitle
+ translation: "Adresa"
+
+- id: contactTitle
+ translation: "Kontakt"
+
+- id: contactForm
+ translation: "Kontaktní formulář"
+
+- id: contactName
+ translation: "Vaše jméno"
+
+- id: contactMail
+ translation: "Váš e-mail"
+
+- id: contactMessage
+ translation: "Vaše zpráva"
+
+- id: contactSend
+ translation: "Odeslat zprávu"
+
+- id: navHome
+ translation: "Přejít na domovskou stránku"
+
+- id: navToggle
+ translation: "Přepnout prohlížení"
+
+- id: categoriesTitle
+ translation: "Kategorie"
+
+- id: searchTitle
+ translation: "Hledat"
+
+- id: tagsTitle
+ translation: "Tags"
+
+- id: continueReading
+ translation: "Pokračovat ve čtení"
+
+- id: readMore
+ translation: "Více"
+
+- id: authorBy
+ translation: "Autor:"
+
+- id: recentPosts
+ translation: "Poslední články"
+
+- id: aboutUs
+ translation: "O nás"
+
+- id: newer
+ translation: "Nové"
+
+- id: older
+ translation: "Starší"
+
+- id: publishedOn
+ translation: "dne"
diff --git a/i18n/da.yaml b/i18n/da.yaml
new file mode 100644
index 0000000..162a51e
--- /dev/null
+++ b/i18n/da.yaml
@@ -0,0 +1,71 @@
+- id: home
+ translation: "Hjem"
+
+- id: templateBy
+ translation: "Designet af"
+
+- id: portedBy
+ translation: "Porteret til Hugo af"
+
+- id: contactGoTo
+ translation: "Gå til kontaktside"
+
+- id: contactAddrTitle
+ translation: "Adresse"
+
+- id: contactTitle
+ translation: "Kontakt"
+
+- id: contactForm
+ translation: "Kontaktformular"
+
+- id: contactName
+ translation: "Dit navn"
+
+- id: contactMail
+ translation: "Din e-mail adresse"
+
+- id: contactMessage
+ translation: "Din besked"
+
+- id: contactSend
+ translation: "Send besked"
+
+- id: navHome
+ translation: "gå til startside"
+
+- id: navToggle
+ translation: "Slå navigation til/fra"
+
+- id: categoriesTitle
+ translation: "Kategorier"
+
+- id: searchTitle
+ translation: "Søg"
+
+- id: tagsTitle
+ translation: "Tags"
+
+- id: continueReading
+ translation: "Læs videre"
+
+- id: readMore
+ translation: "Læs mere"
+
+- id: authorBy
+ translation: "Af"
+
+- id: recentPosts
+ translation: "Nye indlæg"
+
+- id: aboutUs
+ translation: "Om os"
+
+- id: newer
+ translation: "Nyere"
+
+- id: older
+ translation: "Ældre"
+
+- id: publishedOn
+ translation: "den"
diff --git a/i18n/de.yaml b/i18n/de.yaml
index 91be5bf..46c08d2 100644
--- a/i18n/de.yaml
+++ b/i18n/de.yaml
@@ -8,7 +8,7 @@
translation: "Portiert nach Hugo durch"
- id: contactGoTo
- translation: "Zur Kontakt Seite"
+ translation: "Zur Kontaktseite"
- id: contactAddrTitle
translation: "Adresse"
@@ -17,25 +17,25 @@
translation: "Kontakt"
- id: contactForm
- translation: "Kontakt Formular"
+ translation: "Kontaktformular"
- id: contactName
translation: "Ihr Name"
- id: contactMail
- translation: "Ihre Email Adresse"
+ translation: "Ihre E-Mail-Adresse"
- id: contactMessage
translation: "Ihre Nachricht an uns"
- id: contactSend
- translation: "Nachricht Senden"
+ translation: "Nachricht senden"
- id: navHome
- translation: "zur Hautpseite"
+ translation: "zur Hauptseite"
- id: navToggle
- translation: "Navigation Ein-/Ausblenden"
+ translation: "Navigation ein-/ausblenden"
- id: categoriesTitle
translation: "Kategorien"
@@ -69,3 +69,12 @@
- id: publishedOn
translation: "am"
+
+- id: 404Error
+ translation: "Fehler 404: Seite nicht gefunden"
+
+- id: 404Message
+ translation: "Tut uns leid – diese Seite scheint nicht mehr hier zu sein"
+
+- id: 404NavHome
+ translation: "Zur Startseite gehen"
diff --git a/i18n/en.yaml b/i18n/en.yaml
index 431fd47..56a34de 100644
--- a/i18n/en.yaml
+++ b/i18n/en.yaml
@@ -69,3 +69,12 @@
- id: publishedOn
translation: "on"
+
+- id: 404Error
+ translation: "Error 404: Page not found"
+
+- id: 404Message
+ translation: "We are sorry – this page is not here anymore"
+
+- id: 404NavHome
+ translation: "Go to homepage"
diff --git a/i18n/es.yaml b/i18n/es.yaml
index 19097b9..5d41707 100644
--- a/i18n/es.yaml
+++ b/i18n/es.yaml
@@ -69,3 +69,12 @@
- id: publishedOn
translation: "el"
+
+- id: 404Error
+ translation: "Error 404: Página no encontrada"
+
+- id: 404Message
+ translation: "Lo sentimos – esta página ya no está aquí"
+
+- id: 404NavHome
+ translation: "Ir a la página de inicio"
diff --git a/i18n/fr.yaml b/i18n/fr.yaml
index 4752e4a..6512b74 100644
--- a/i18n/fr.yaml
+++ b/i18n/fr.yaml
@@ -5,13 +5,13 @@
translation: "Template par"
- id: portedBy
- translation: "Porté pour Hugo par"
+ translation: "Porté sur Hugo par"
- id: contactGoTo
translation: "Aller à la page de contact"
- id: contactAddrTitle
- translation: "Addresse"
+ translation: "Adresse"
- id: contactTitle
translation: "Contact"
@@ -38,7 +38,7 @@
translation: "Basculer la Navigation"
- id: categoriesTitle
- translation: "Categories"
+ translation: "Catégories"
- id: searchTitle
translation: "Recherche"
@@ -68,4 +68,13 @@
translation: "Ancien"
- id: publishedOn
- translation: "sur"
+ translation: "le"
+
+- id: 404Error
+ translation: "Erreur 404: Page introuvable"
+
+- id: 404Message
+ translation: "Nous sommes désolés – cette page n'est plus là"
+
+- id: 404NavHome
+ translation: "Aller à l'accueil"
diff --git a/i18n/id.yaml b/i18n/id.yaml
new file mode 100644
index 0000000..d6c81a7
--- /dev/null
+++ b/i18n/id.yaml
@@ -0,0 +1,80 @@
+- id: home
+ translation: "Beranda"
+
+- id: templateBy
+ translation: "Templat dibuat oleh"
+
+- id: portedBy
+ translation: "Diadapatasi ke Hugo oleh"
+
+- id: contactGoTo
+ translation: "Ke laman kontak"
+
+- id: contactAddrTitle
+ translation: "Alamat"
+
+- id: contactTitle
+ translation: "Kontak"
+
+- id: contactForm
+ translation: "Formulir pertanyaan"
+
+- id: contactName
+ translation: "Nama Anda"
+
+- id: contactMail
+ translation: "Surel Anda"
+
+- id: contactMessage
+ translation: "Pesan Anda"
+
+- id: contactSend
+ translation: "Kirim pesan"
+
+- id: navHome
+ translation: "ke laman utama"
+
+- id: navToggle
+ translation: "Buka navigasi"
+
+- id: categoriesTitle
+ translation: "Kategori"
+
+- id: searchTitle
+ translation: "Cari"
+
+- id: tagsTitle
+ translation: "Tags"
+
+- id: continueReading
+ translation: "Lanjutkan membaca"
+
+- id: readMore
+ translation: "Baca selengkapnya"
+
+- id: authorBy
+ translation: "Oleh"
+
+- id: recentPosts
+ translation: "Kiriman terkini"
+
+- id: aboutUs
+ translation: "Tentang kami"
+
+- id: newer
+ translation: "Terbaru"
+
+- id: older
+ translation: "Lebih lama"
+
+- id: publishedOn
+ translation: "pada"
+
+- id: 404Error
+ translation: "Error 404: Page not found"
+
+- id: 404Message
+ translation: "We are sorry – this page is not here anymore"
+
+- id: 404NavHome
+ translation: "Ke laman utama"
diff --git a/i18n/it.yaml b/i18n/it.yaml
new file mode 100644
index 0000000..f302b3e
--- /dev/null
+++ b/i18n/it.yaml
@@ -0,0 +1,80 @@
+- id: home
+ translation: "Home"
+
+- id: templateBy
+ translation: "Design di"
+
+- id: portedBy
+ translation: "Portato in Hugo da"
+
+- id: contactGoTo
+ translation: "Vai alla pagina contatti"
+
+- id: contactAddrTitle
+ translation: "Indirizzo"
+
+- id: contactTitle
+ translation: "Contatti"
+
+- id: contactForm
+ translation: "Modulo di contatto"
+
+- id: contactName
+ translation: "Il tuo nome"
+
+- id: contactMail
+ translation: "La tua email"
+
+- id: contactMessage
+ translation: "Il tuo messaggio"
+
+- id: contactSend
+ translation: "Invia Messaggio"
+
+- id: navHome
+ translation: "vai alla homepage"
+
+- id: navToggle
+ translation: "Attiva Navigazione"
+
+- id: categoriesTitle
+ translation: "Categorie"
+
+- id: searchTitle
+ translation: "Ricerca"
+
+- id: tagsTitle
+ translation: "Tag"
+
+- id: continueReading
+ translation: "Continua lettura"
+
+- id: readMore
+ translation: "Leggi tutto"
+
+- id: authorBy
+ translation: "Da"
+
+- id: recentPosts
+ translation: "Articoli recenti"
+
+- id: aboutUs
+ translation: "Chi siamo"
+
+- id: newer
+ translation: "Ultimi"
+
+- id: older
+ translation: "Precedenti"
+
+- id: publishedOn
+ translation: "il"
+
+- id: 404Error
+ translation: "Errore 404: Pagina non trovata"
+
+- id: 404Message
+ translation: "Siamo spiacenti – questa pagina non è più qui"
+
+- id: 404NavHome
+ translation: "Vai alla homepage"
diff --git a/i18n/ja.yaml b/i18n/ja.yaml
new file mode 100644
index 0000000..33c4581
--- /dev/null
+++ b/i18n/ja.yaml
@@ -0,0 +1,80 @@
+- id: home
+ translation: "ホーム"
+
+- id: templateBy
+ translation: "テンプレート作成"
+
+- id: portedBy
+ translation: "Hugo への移植"
+
+- id: contactGoTo
+ translation: "お問い合わせはこちら"
+
+- id: contactAddrTitle
+ translation: "住所"
+
+- id: contactTitle
+ translation: "お問い合わせ先"
+
+- id: contactForm
+ translation: "お問い合わせフォーム"
+
+- id: contactName
+ translation: "お名前"
+
+- id: contactMail
+ translation: "メールアドレス"
+
+- id: contactMessage
+ translation: "お問い合わせ内容"
+
+- id: contactSend
+ translation: "送信"
+
+- id: navHome
+ translation: "ホームへ戻る"
+
+- id: navToggle
+ translation: "ナビゲーションの切り替え"
+
+- id: categoriesTitle
+ translation: "カテゴリー"
+
+- id: searchTitle
+ translation: "検索"
+
+- id: tagsTitle
+ translation: "タグ"
+
+- id: continueReading
+ translation: "続きを読む"
+
+- id: readMore
+ translation: "記事を読む"
+
+- id: authorBy
+ translation: "投稿者"
+
+- id: recentPosts
+ translation: "最新の投稿"
+
+- id: aboutUs
+ translation: "このサイトについて"
+
+- id: newer
+ translation: "次へ"
+
+- id: older
+ translation: "前へ"
+
+- id: publishedOn
+ translation: "日付"
+
+- id: 404Error
+ translation: "Error 404: Page not found"
+
+- id: 404Message
+ translation: "We are sorry – this page is not here anymore"
+
+- id: 404NavHome
+ translation: "ホームへ戻る"
diff --git a/i18n/nl.yaml b/i18n/nl.yaml
new file mode 100644
index 0000000..68a0477
--- /dev/null
+++ b/i18n/nl.yaml
@@ -0,0 +1,80 @@
+- id: home
+ translation: "Home"
+
+- id: templateBy
+ translation: "Template door"
+
+- id: portedBy
+ translation: "Omgezet naar Hugo door"
+
+- id: contactGoTo
+ translation: "Ga naar de contactpagina"
+
+- id: contactAddrTitle
+ translation: "Adres"
+
+- id: contactTitle
+ translation: "Contact"
+
+- id: contactForm
+ translation: "Contactformulier"
+
+- id: contactName
+ translation: "Je naam"
+
+- id: contactMail
+ translation: "Je e-mailadres"
+
+- id: contactMessage
+ translation: "Je bericht"
+
+- id: contactSend
+ translation: "Verstuur bericht"
+
+- id: navHome
+ translation: "ga naar de homepage"
+
+- id: navToggle
+ translation: "Navigation Aan/Uit"
+
+- id: categoriesTitle
+ translation: "Categorieën"
+
+- id: searchTitle
+ translation: "Zoeken"
+
+- id: tagsTitle
+ translation: "Tags"
+
+- id: continueReading
+ translation: "Ga door met lezen"
+
+- id: readMore
+ translation: "Lees meer"
+
+- id: authorBy
+ translation: "Door"
+
+- id: recentPosts
+ translation: "Recente berichten"
+
+- id: aboutUs
+ translation: "Over ons"
+
+- id: newer
+ translation: "Nieuwer"
+
+- id: older
+ translation: "Ouder"
+
+- id: publishedOn
+ translation: "op"
+
+- id: 404Error
+ translation: "Fout 404: Pagina niet gevonden"
+
+- id: 404Message
+ translation: "Het spijt ons – deze pagina is er niet meer"
+
+- id: 404NavHome
+ translation: "Ga naar de homepage"
diff --git a/i18n/pt-br.yaml b/i18n/pt-br.yaml
new file mode 100644
index 0000000..81fb55e
--- /dev/null
+++ b/i18n/pt-br.yaml
@@ -0,0 +1,80 @@
+- id: home
+ translation: "Página Inicial"
+
+- id: templateBy
+ translation: "Template por"
+
+- id: portedBy
+ translation: "Portado para o Hugo por"
+
+- id: contactGoTo
+ translation: "Vá à página de contato"
+
+- id: contactAddrTitle
+ translation: "Endereço"
+
+- id: contactTitle
+ translation: "Contato"
+
+- id: contactForm
+ translation: "Formulário de contato"
+
+- id: contactName
+ translation: "Seu Nome"
+
+- id: contactMail
+ translation: "Seu Email"
+
+- id: contactMessage
+ translation: "Sua Mensagem"
+
+- id: contactSend
+ translation: "Enviar Mensagem"
+
+- id: navHome
+ translation: "vá à página inicial"
+
+- id: navToggle
+ translation: "Alternar Navegação"
+
+- id: categoriesTitle
+ translation: "Categorias"
+
+- id: searchTitle
+ translation: "Buscar"
+
+- id: tagsTitle
+ translation: "Tags"
+
+- id: continueReading
+ translation: "Continuar lendo"
+
+- id: readMore
+ translation: "Leia mais"
+
+- id: authorBy
+ translation: "Por"
+
+- id: recentPosts
+ translation: "Posts recentes"
+
+- id: aboutUs
+ translation: "Sobre nós"
+
+- id: newer
+ translation: "Mais novos"
+
+- id: older
+ translation: "Mais antigos"
+
+- id: publishedOn
+ translation: "em"
+
+- id: 404Error
+ translation: "Error 404: Page not found"
+
+- id: 404Message
+ translation: "We are sorry – this page is not here anymore"
+
+- id: 404NavHome
+ translation: "Vá à página inicial"
diff --git a/i18n/ro.yaml b/i18n/ro.yaml
new file mode 100644
index 0000000..20b5443
--- /dev/null
+++ b/i18n/ro.yaml
@@ -0,0 +1,80 @@
+- id: home
+ translation: "Acasă"
+
+- id: templateBy
+ translation: "Șablon de"
+
+- id: portedBy
+ translation: "Portat în Hugo de"
+
+- id: contactGoTo
+ translation: "Du-te la pagina de contact"
+
+- id: contactAddrTitle
+ translation: "Adresă"
+
+- id: contactTitle
+ translation: "Contact"
+
+- id: contactForm
+ translation: "Formă de contact"
+
+- id: contactName
+ translation: "Numele tău"
+
+- id: contactMail
+ translation: "Email-ul tău"
+
+- id: contactMessage
+ translation: "Mesajul tău"
+
+- id: contactSend
+ translation: "Trimite mesaj"
+
+- id: navHome
+ translation: "Mergi acasă"
+
+- id: navToggle
+ translation: "Comută Navigarea"
+
+- id: categoriesTitle
+ translation: "Categorii"
+
+- id: searchTitle
+ translation: "Caută"
+
+- id: tagsTitle
+ translation: "Etichete"
+
+- id: continueReading
+ translation: "Citește în continuare"
+
+- id: readMore
+ translation: "Citește mai mult"
+
+- id: authorBy
+ translation: "De"
+
+- id: recentPosts
+ translation: "Articole recente"
+
+- id: aboutUs
+ translation: "Despre Noi"
+
+- id: newer
+ translation: "Mai noi"
+
+- id: older
+ translation: "Mai vechi"
+
+- id: publishedOn
+ translation: "pe"
+
+- id: 404Error
+ translation: "Eroare 404: Pagina nu a fost găsită"
+
+- id: 404Message
+ translation: "Ne pare rău – această pagină nu mai este aici"
+
+- id: 404NavHome
+ translation: "Mergi acasă"
diff --git a/i18n/ru.yaml b/i18n/ru.yaml
index 3bb4174..7456f7e 100644
--- a/i18n/ru.yaml
+++ b/i18n/ru.yaml
@@ -69,3 +69,12 @@
- id: publishedOn
translation: "на"
+
+- id: 404Error
+ translation: "Error 404: Page not found"
+
+- id: 404Message
+ translation: "We are sorry – this page is not here anymore"
+
+- id: 404NavHome
+ translation: "Перейти на главную"
diff --git a/i18n/sv.yaml b/i18n/sv.yaml
index 0d0797e..ab17a84 100644
--- a/i18n/sv.yaml
+++ b/i18n/sv.yaml
@@ -69,3 +69,12 @@
- id: publishedOn
translation: "på"
+
+- id: 404Error
+ translation: "Error 404: Page not found"
+
+- id: 404Message
+ translation: "We are sorry – this page is not here anymore"
+
+- id: 404NavHome
+ translation: "Gå till startsidan"
diff --git a/i18n/zh-tw.yaml b/i18n/zh-tw.yaml
new file mode 100644
index 0000000..98bc4fc
--- /dev/null
+++ b/i18n/zh-tw.yaml
@@ -0,0 +1,80 @@
+- id: home
+ translation: "首頁"
+
+- id: templateBy
+ translation: "模板源自"
+
+- id: portedBy
+ translation: "移植至 Hugo 源自"
+
+- id: contactGoTo
+ translation: "前往聯絡資訊"
+
+- id: contactAddrTitle
+ translation: "地址"
+
+- id: contactTitle
+ translation: "聯絡資訊"
+
+- id: contactForm
+ translation: "聯絡表單"
+
+- id: contactName
+ translation: "你的名字"
+
+- id: contactMail
+ translation: "你的 Email"
+
+- id: contactMessage
+ translation: "你的訊息"
+
+- id: contactSend
+ translation: "發送訊息"
+
+- id: navHome
+ translation: "返回首頁"
+
+- id: navToggle
+ translation: "切換導覽列"
+
+- id: categoriesTitle
+ translation: "分類"
+
+- id: searchTitle
+ translation: "搜尋"
+
+- id: tagsTitle
+ translation: "標籤"
+
+- id: continueReading
+ translation: "繼續閱讀"
+
+- id: readMore
+ translation: "閱讀更多"
+
+- id: authorBy
+ translation: "由"
+
+- id: recentPosts
+ translation: "最新文章"
+
+- id: aboutUs
+ translation: "關於我們"
+
+- id: newer
+ translation: "更新"
+
+- id: older
+ translation: "更舊"
+
+- id: publishedOn
+ translation: "在"
+
+- id: 404Error
+ translation: "Error 404: 找不到該頁面"
+
+- id: 404Message
+ translation: "抱歉 – 你所搜尋的頁面不在這裡"
+
+- id: 404NavHome
+ translation: "返回首頁"
diff --git a/i18n/zh.yaml b/i18n/zh.yaml
new file mode 100644
index 0000000..64545b9
--- /dev/null
+++ b/i18n/zh.yaml
@@ -0,0 +1,80 @@
+- id: home
+ translation: "主页"
+
+- id: templateBy
+ translation: "模板来自"
+
+- id: portedBy
+ translation: "移植到 Hugo 来自"
+
+- id: contactGoTo
+ translation: "跳到联系页面"
+
+- id: contactAddrTitle
+ translation: "地址"
+
+- id: contactTitle
+ translation: "联系"
+
+- id: contactForm
+ translation: "联系表单"
+
+- id: contactName
+ translation: "你的名字"
+
+- id: contactMail
+ translation: "你的 Email"
+
+- id: contactMessage
+ translation: "你的信息"
+
+- id: contactSend
+ translation: "发送信息"
+
+- id: navHome
+ translation: "跳到主页"
+
+- id: navToggle
+ translation: "切换导航"
+
+- id: categoriesTitle
+ translation: "分类"
+
+- id: searchTitle
+ translation: "搜索"
+
+- id: tagsTitle
+ translation: "标签"
+
+- id: continueReading
+ translation: "继续阅读"
+
+- id: readMore
+ translation: "阅读更多"
+
+- id: authorBy
+ translation: "由"
+
+- id: recentPosts
+ translation: "最新博客"
+
+- id: aboutUs
+ translation: "关于我们"
+
+- id: newer
+ translation: "更新"
+
+- id: older
+ translation: "更旧"
+
+- id: publishedOn
+ translation: "在"
+
+- id: 404Error
+ translation: "Error 404: Page not found"
+
+- id: 404Message
+ translation: "We are sorry – this page is not here anymore"
+
+- id: 404NavHome
+ translation: "跳到主页"
diff --git a/layouts/404.html b/layouts/404.html
index 8ca20b2..dffac47 100644
--- a/layouts/404.html
+++ b/layouts/404.html
@@ -7,11 +7,7 @@
<div id="all">
- <header>
-
- {{ partial "nav.html" . }}
-
- </header>
+ {{ partial "nav.html" . }}
<div id="content">
<div class="container">
@@ -20,16 +16,10 @@
<div class="box">
- <p class="text-center">
- <a href="index.html">
- <img src="img/logo.png" alt="Obaju template">
- </a>
- </p>
-
- <h3>We are sorry - this page is not here anymore</h3>
- <h4 class="text-muted">Error 404 - Page not found</h4>
+ <h3>{{ i18n "404Message" | markdownify }}</h3>
+ <h4 class="text-muted">{{ i18n "404Error" | markdownify }}</h4>
- <p class="buttons"><a href="index.html" class="btn btn-template-main"><i class="fa fa-home"></i> Go to Homepage</a>
+ <p class="buttons"><a href="{{ "/" | relURL }}" class="btn btn-template-main"><i class="fas fa-home"></i> {{ i18n "404NavHome" | markdownify }}</a>
</p>
</div>
diff --git a/layouts/_default/list.html b/layouts/_default/list.html
index 55dfb8e..ba95831 100644
--- a/layouts/_default/list.html
+++ b/layouts/_default/list.html
@@ -7,11 +7,7 @@
<div id="all">
- <header>
-
- {{ partial "nav.html" . }}
-
- </header>
+ {{ partial "nav.html" . }}
{{ partial "breadcrumbs.html" . }}
@@ -30,9 +26,9 @@
<div class="image">
<a href="{{ .Permalink }}">
{{ if .Params.banner }}
- <img src="{{ .Site.BaseURL}}{{ .Params.banner }}" class="img-responsive" alt="">
+ <img src="{{ .Params.banner | relURL }}" class="img-responsive" alt="">
{{ else }}
- <img src="{{ .Site.BaseURL}}img/placeholder.png" class="img-responsive" alt="">
+ <img src="{{ "img/placeholder.png" | relURL }}" class="img-responsive" alt="">
{{ end }}
</a>
</div>
@@ -41,19 +37,23 @@
<h2><a href="{{ .Permalink }}">{{ .Title }}</a></h2>
<div class="clearfix">
<p class="author-category">
- {{ if isset .Params "author" }}
- {{ i18n "authorBy" }} <a href="#">{{ .Params.author }}</a>
+ {{ if isset .Params "authors" }}
+ {{ i18n "authorBy" }} {{ range $index, $author := .Params.authors }}{{ if $index }}, {{ end }}<a href="{{ (printf "%s/%s" ("authors" | relURL) ($author | urlize)) }}">{{ $author }}</a>{{ end }}
{{ end }}
{{ if isset .Params "categories" }}
{{ if gt (len .Params.categories) 0 }}
- in <a href="{{ $.Site.BaseURL }}categories/{{ index .Params.categories 0 | urlize | lower }}">{{ index .Params.categories 0 }}</a>
+ in
+ {{ range $index, $category := .Params.categories }}{{ if $index }}, {{ end }}
+ <a href="{{ "categories/" | relURL }}{{ . | urlize | lower }}">{{ $category }}</a>{{ end }}
{{ end }}
{{ end }}
</p>
+ {{ if isset .Params "date" }}
<p class="date-comments">
- <a href="{{ .Permalink }}"><i class="fa fa-calendar-o"></i> {{ .Date.Format .Site.Params.date_format }}</a>
+ <a href="{{ .Permalink }}"><i class="far fa-calendar"></i> {{ .Date.Format .Site.Params.date_format }}</a>
</p>
+ {{ end }}
</div>
<p class="intro">{{ .Summary }}</p>
<p class="read-more"><a href="{{ .Permalink }}" class="btn btn-template-main">{{ i18n "continueReading" }}</a>
@@ -65,13 +65,13 @@
<ul class="pager">
{{ if .Paginator.HasPrev }}
- <li class="previous"><a href="{{ .Site.BaseURL }}{{ .Paginator.Prev.URL }}">&larr; {{ i18n "newer" }}</a></li>
+ <li class="previous"><a href="{{ .Paginator.Prev.URL | relURL }}">&larr; {{ i18n "newer" }}</a></li>
{{ else }}
<li class="previous disabled"><a href="#">&larr; {{ i18n "newer" }}</a></li>
{{ end }}
{{ if .Paginator.HasNext }}
- <li class="next"><a href="{{ .Site.BaseURL }}{{ .Paginator.Next.URL }}">{{ i18n "older" }} &rarr;</a></li>
+ <li class="next"><a href="{{ .Paginator.Next.URL | relURL }}">{{ i18n "older" }} &rarr;</a></li>
{{ else }}
<li class="next disabled"><a href="#">{{ i18n "older" }} &rarr;</a></li>
{{ end }}
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
index 49ea68b..a04e456 100644
--- a/layouts/_default/single.html
+++ b/layouts/_default/single.html
@@ -7,11 +7,7 @@
<div id="all">
- <header>
-
- {{ partial "nav.html" . }}
-
- </header>
+ {{ partial "nav.html" . }}
{{ partial "breadcrumbs.html" . }}
@@ -24,7 +20,15 @@
<div class="col-md-9" id="blog-post">
- <p class="text-muted text-uppercase mb-small text-right">{{ if .Params.author }}{{ i18n "authorBy" }} <a href="#">{{ .Params.author }}</a> | {{ end }}{{ .Date.Format .Site.Params.date_format }}</p>
+ {{ if or .Params.author .Params.date }}
+ <p class="text-muted text-uppercase mb-small text-right">
+ {{ if isset .Params "authors" }}
+ {{ i18n "authorBy" }} {{ range $index, $author := .Params.authors }}{{ if $index }}, {{ end }}<a href="{{ (printf "%s/%s" ("authors" | relURL) ($author | urlize)) }}">{{ $author }}</a>{{ end }}
+ {{ end }}
+ {{ if and .Params.author .Params.date }} | {{ end }}
+ {{ if .Params.date }}{{ .Date.Format .Site.Params.date_format }}{{ end }}
+ </p>
+ {{ end }}
<div id="post-content">
{{ .Content }}
diff --git a/layouts/index.html b/layouts/index.html
index fac2cb5..43151ff 100644
--- a/layouts/index.html
+++ b/layouts/index.html
@@ -7,13 +7,9 @@
<div id="all">
- <header>
+ {{ partial "top.html" . }}
- {{ partial "top.html" . }}
-
- {{ partial "nav.html" . }}
-
- </header>
+ {{ partial "nav.html" . }}
{{ partial "carousel.html" . }}
diff --git a/layouts/page/single.html b/layouts/page/single.html
index 4121d0b..28b4426 100644
--- a/layouts/page/single.html
+++ b/layouts/page/single.html
@@ -7,11 +7,7 @@
<div id="all">
- <header>
-
- {{ partial "nav.html" . }}
-
- </header>
+ {{ partial "nav.html" . }}
{{ partial "breadcrumbs.html" . }}
diff --git a/layouts/partials/carousel.html b/layouts/partials/carousel.html
index e614773..be6c6f0 100644
--- a/layouts/partials/carousel.html
+++ b/layouts/partials/carousel.html
@@ -1,11 +1,13 @@
-{{ if isset .Site.Params "carousel" }}
-{{ if .Site.Params.carousel.enable }}
+{{ if default true .Site.Params.CarouselHomepage.enable }}
{{ if gt (len .Site.Data.carousel) 0 }}
<section>
<div class="home-carousel">
<div class="dark-mask"></div>
<div class="container">
- <div class="homepage owl-carousel">
+ <div class="homepage owl-carousel"
+ data-autoplay="{{ default true .Site.Params.CarouselHomepage.auto_play }}"
+ data-slide-speed="{{ default 2000 .Site.Params.CarouselHomepage.slide_speed }}"
+ data-pagination-speed="{{ default 1000 .Site.Params.CarouselHomepage.pagination_speed }}">
{{ range sort .Site.Data.carousel "weight" }}
<div class="item">
<div class="row">
@@ -26,4 +28,3 @@
</section>
{{ end }}
{{ end }}
-{{ end }}
diff --git a/layouts/partials/clients.html b/layouts/partials/clients.html
index a012367..00583f3 100644
--- a/layouts/partials/clients.html
+++ b/layouts/partials/clients.html
@@ -6,14 +6,18 @@
<div class="row">
<div class="col-md-12">
<div class="heading text-center">
- <h2>{{ .Site.Params.clients.title }}</h2>
+ <h2>{{ .Site.Params.clients.title | markdownify }}</h2>
</div>
<p class="lead">
- {{ .Site.Params.clients.subtitle }}
+ {{ .Site.Params.clients.subtitle | markdownify }}
</p>
- <ul class="owl-carousel customers">
+ <ul class="owl-carousel customers"
+ data-items="{{ default 6 .Site.Params.CarouselCustomers.items }}"
+ data-autoplay="{{ default false .Site.Params.CarouselCustomers.auto_play }}"
+ data-slide-speed="{{ default 2000 .Site.Params.CarouselCustomers.slide_speed }}"
+ data-pagination-speed="{{ default 1000 .Site.Params.CarouselCustomers.pagination_speed }}">
{{ range .Site.Data.clients }}
<li class="item" title="{{ .name }}">
{{ if .url }}
diff --git a/layouts/partials/contact.html b/layouts/partials/contact.html
index af97f15..82304f6 100644
--- a/layouts/partials/contact.html
+++ b/layouts/partials/contact.html
@@ -7,7 +7,7 @@
{{ .Content }}
- {{ if isset .Site.Params "email" }}
+ {{ if isset .Site.Params "formspree_action" }}
<div class="heading">
<h3>{{ i18n "contactForm" }}</h3>
@@ -15,7 +15,7 @@
<div id="contact-message"></div>
- <form class="contact-form" method="post" action="https://formspree.io/{{ .Site.Params.email }}">
+ <form {{ with .Site.Params.contact_form_ajax }}class="contact-form-ajax"{{ else }}{{ end }} method="post" action="{{ .Site.Params.formspree_action }}">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
@@ -26,7 +26,7 @@
<div class="col-sm-6">
<div class="form-group">
<label for="email">{{ i18n "contactMail" }}</label>
- <input type="text" class="form-control" name="email" id="email" required>
+ <input type="email" autocomplete="email" class="form-control" name="email" id="email" required>
</div>
</div>
<div class="col-sm-12">
@@ -37,7 +37,7 @@
</div>
<div class="col-sm-12 text-center">
- <button type="submit" class="btn btn-template-main"><i class="fa fa-envelope-o"></i>{{ i18n "contactSend" }}</button>
+ <button type="submit" class="btn btn-template-main"><i class="far fa-envelope"></i>{{ i18n "contactSend" }}</button>
</div>
</div>
diff --git a/layouts/partials/features.html b/layouts/partials/features.html
index 9260d3f..f41f2a1 100644
--- a/layouts/partials/features.html
+++ b/layouts/partials/features.html
@@ -4,23 +4,29 @@
<section class="bar background-white">
<div class="container">
{{ range $index, $element := sort .Site.Data.features "weight" }}
- {{ if eq (mod $index 3) 0 }}
- <div class="col-md-12">
+ {{ if eq (mod $index 3) 0 }}
+ <div class="col-md-12">
<div class="row">
- {{ end }}
- <div class="col-md-4">
+ {{ end }}
+ <div class="col-md-4">
<div class="box-simple">
- <div class="icon">
- <i class="{{ .icon }}"></i>
- </div>
- <h3>{{ $element.name }}</h3>
+ {{ with $element.url }}
+ <a href="{{ $element.url }}">
+ {{ end }}
+ <div class="icon">
+ <i class="{{ .icon }}"></i>
+ </div>
+ {{ with $element.url }}
+ </a>
+ {{ end }}
+ <h3>{{ $element.name | markdownify }}</h3>
<p>{{ $element.description | markdownify }}</p>
</div>
</div>
- {{ if or (eq (mod $index 3) 2) (eq $index (sub (len $.Site.Data.features) 1 )) }}
- </div>
- </div>
- {{ end }}
+ {{ if or (eq (mod $index 3) 2) (eq $index (sub (len $.Site.Data.features) 1 )) }}
+ </div>
+ </div>
+ {{ end }}
{{ end }}
</div>
</section>
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html
index 06cd6b2..b1ffb80 100644
--- a/layouts/partials/footer.html
+++ b/layouts/partials/footer.html
@@ -5,7 +5,7 @@
<div class="col-md-4 col-sm-6">
<h4>{{ i18n "aboutUs" }}</h4>
- {{ .Site.Params.about_us | markdownify }}
+ {{ .Site.Params.about_us | safeHTML }}
<hr class="hidden-md hidden-lg hidden-sm">
@@ -19,14 +19,14 @@
<h4>{{ i18n "recentPosts" }}</h4>
<div class="blog-entries">
- {{ range first 3 (where .Site.Pages "Type" "blog") }}
+ {{ range first 3 (where .Site.RegularPages "Type" "in" .Site.Params.mainSections) }}
<div class="item same-height-row clearfix">
<div class="image same-height-always">
<a href="{{ .Permalink }}">
{{ if isset .Params "banner" }}
- <img src="{{ .Site.BaseURL}}{{ .Params.banner }}" class="img-responsive" alt="">
+ <img src="{{ .Params.banner | relURL }}" class="img-responsive" alt="{{ .Title }}">
{{ else }}
- <img src="{{ .Site.BaseURL}}img/placeholder.png" class="img-responsive" alt="">
+ <img src="{{ "img/placeholder.png" | relURL }}" class="img-responsive" alt="{{ .Title }}">
{{ end }}
</a>
</div>
@@ -48,7 +48,7 @@
<h4>{{ i18n "contactTitle" }}</h4>
- {{ .Site.Params.address | markdownify }}
+ {{ .Site.Params.address | safeHTML }}
<a href="/contact" class="btn btn-small btn-template-main">{{ i18n "contactGoTo" }}</a>
@@ -76,10 +76,10 @@ _________________________________________________________ -->
<p class="pull-left">{{ .Site.Params.copyright | safeHTML }}</p>
{{ end }}
<p class="pull-right">
- {{ i18n "templateBy" }} <a href="http://bootstrapious.com/free-templates">Bootstrapious</a>.
+ {{ i18n "templateBy" | markdownify }} <a href="https://bootstrapious.com/p/universal-business-e-commerce-template">Bootstrapious</a>.
<!-- Not removing this link is part of the licence conditions of the template. Thanks for understanding :) -->
- {{ i18n "portedBy" }} <a href="https://github.com/devcows/hugo-universal-theme">DevCows</a>
+ {{ i18n "portedBy" | markdownify }} <a href="https://github.com/devcows/hugo-universal-theme">DevCows</a>.
</p>
</div>
</div>
diff --git a/layouts/partials/head.html b/layouts/partials/head.html
index 2651fc9..a368d16 100644
--- a/layouts/partials/head.html
+++ b/layouts/partials/head.html
@@ -3,42 +3,39 @@
<meta name="robots" content="all,follow">
<meta name="googlebot" content="index,follow,snippet,archive">
<meta name="viewport" content="width=device-width, initial-scale=1">
- <title>{{ .Title }}</title>
- <meta name="author" content="{{ .Site.Author.name }}" />
-
- {{ if .Keywords }}
- <meta name="keywords" content="{{ delimit .Keywords ", " }}">
- {{ else if .Site.Params.DefaultKeywords }}
- <meta name="keywords" content="{{ delimit .Site.Params.DefaultKeywords ", " }}">
- {{ end }}
-
- {{ if .Description }}
- <meta name="description" content="{{ .Description }}">
- {{ else if .Site.Params.DefaultDescription }}
- <meta name="description" content="{{ .Site.Params.DefaultDescription }}">
+ {{ $title_plain := .Title | markdownify | plainify }}
+ <title>{{ $title_plain }}</title>
+ <meta name="author" content="{{ .Param "author" }}" />
+ {{ $keywords := .Site.Params.defaultKeywords | default (slice "" | first 0) }}
+ {{ if isset .Params "tags" }}{{ range .Params.tags }}{{ $keywords = $keywords | append . }}{{ end }}{{ end }}
+ {{ if isset .Params "keywords" }}{{ range .Params.keywords }}{{ $keywords = $keywords | append . }}{{ end }}{{ end }}
+ {{ if gt (len $keywords) 0 }}
+ <meta name="keywords" content="{{ delimit (uniq $keywords) ", " }}">
{{ end }}
+ {{ $description_plain := default .Site.Params.defaultDescription .Description | markdownify | plainify }}
+ <meta name="description" content="{{ $description_plain }}">
- {{ .Hugo.Generator }}
+ {{ hugo.Generator }}
+ <!-- Font -->
<link href='//fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,500,700,800' rel='stylesheet' type='text/css'>
- <!-- Bootstrap and Font Awesome css -->
- <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
+ <!-- Bootstrap and Font Awesome CSS -->
+ <link rel="stylesheet" href="//use.fontawesome.com/releases/v5.11.2/css/all.css">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
- <!-- Css animations -->
- <link href="{{ .Site.BaseURL }}css/animate.css" rel="stylesheet">
+ <!-- CSS animations -->
+ <link href="{{ "css/animate.css" | relURL}}" rel="stylesheet">
<!-- Theme stylesheet, if possible do not edit this stylesheet -->
- {{ if and (isset .Site.Params "style") .Site.Params.style }}
- <link href="{{ .Site.BaseURL }}css/style.{{ .Site.Params.style }}.css" rel="stylesheet" id="theme-stylesheet">
+ {{ with .Site.Params.style }}
+ <link href="{{ "css/style" | relURL}}.{{ . }}.css" rel="stylesheet" id="theme-stylesheet">
{{ else }}
- <link href="{{ .Site.BaseURL }}css/style.default.css" rel="stylesheet" id="theme-stylesheet">
+ <link href="{{ "css/style.default.css" | relURL}}" rel="stylesheet" id="theme-stylesheet">
{{ end }}
-
<!-- Custom stylesheet - for your changes -->
- <link href="{{ .Site.BaseURL }}css/custom.css" rel="stylesheet">
+ <link href="{{ "css/custom.css" | relURL}}" rel="stylesheet">
<!-- Responsivity for older IE -->
{{ `
@@ -48,20 +45,59 @@
<![endif]-->
` | safeHTML }}
- <!-- Favicon and apple touch icons-->
- <link rel="shortcut icon" href="{{ .Site.BaseURL }}img/favicon.ico" type="image/x-icon" />
- <link rel="apple-touch-icon" href="{{ .Site.BaseURL }}img/apple-touch-icon.png" />
- <!-- owl carousel css -->
+ <!-- Favicon and Apple touch icons-->
+ <link rel="shortcut icon" href="{{ "img/favicon.ico" | relURL }}" type="image/x-icon" />
+ <link rel="apple-touch-icon" href="{{ "img/apple-touch-icon.png" | relURL }}" />
- <link href="{{ .Site.BaseURL }}css/owl.carousel.css" rel="stylesheet">
- <link href="{{ .Site.BaseURL }}css/owl.theme.css" rel="stylesheet">
+ <!-- owl carousel CSS -->
+ <link href="{{ "css/owl.carousel.css" | relURL}}" rel="stylesheet">
+ <link href="{{ "css/owl.theme.css" | relURL}}" rel="stylesheet">
+ <!-- RSS feed -->
<link rel="alternate" href="{{ "/index.xml" | absURL }}" type="application/rss+xml" title="{{ .Site.Title }}">
<!-- Facebook OpenGraph tags -->
- <meta property="og:title" content="{{ .Title }}" />
- <meta property="og:type" content="website" />
- <meta property="og:url" content="{{ .URL }}/" />
- <meta property="og:image" content="{{ .Site.Params.logo }}" />
+ {{ $is_blog := and (eq .Type "blog") (eq .Kind "page") }}
+ {{ $has_image := isset .Params "banner" }}
+ {{ $image := cond $has_image .Params.banner (.Site.Params.default_sharing_image | default "img/sharing-default.png") }}
+ {{ $is_valid_image := print "static/" $image | fileExists }}
+ {{ if $is_valid_image }}
+ {{ $image_ext := path.Ext $image }}
+ <meta property="og:locale" content="{{ replace .Site.LanguageCode "-" "_" }}">
+ <meta property="og:site_name" content="{{ .Site.Title }}">
+ <meta property="og:title" content="{{ $title_plain }}">
+ <meta property="og:type" content="{{ cond $is_blog "article" "website" }}">
+ <meta property="og:url" content="{{ .Permalink }}" />
+ <meta property="og:description" content="{{ $description_plain }}">
+ <meta property="og:image" content="{{ $image | absURL }}">
+ <meta property="og:image:type" content="image/{{ if eq $image_ext ".svg" }}svg+xml{{ else }}{{ trim $image_ext "." }}{{ end }}">
+ {{ with .Params.banner_alt }}<meta property="og:image:alt" content="{{ . | markdownify | plainify }}">{{ end }}
+ {{ $image_local := printf "/static/%s" $image}}
+ {{ with (imageConfig $image_local) }}
+ <meta property="og:image:width" content="{{ .Width }}">
+ <meta property="og:image:height" content="{{ .Height }}">
+ {{ end }}
+ {{ end }}
+ {{ with .Lastmod }}<meta property="og:updated_time" content="{{ .Format "2006-01-02T15:04:05Z0700" }}">{{ end }}
+ {{ if $is_blog }}
+ {{ with .Param "facebook_site" }}<meta property="article:publisher" content="https://www.facebook.com/{{ . }}/">{{ end }}
+ {{ with .Param "facebook_author" }}<meta property="article:author" content="https://www.facebook.com/{{ . }}/">{{ end }}
+ {{ with .Params.categories }}<meta property="article:section" content="{{ index . 0 }}">{{ end }}
+ {{ range .Params.tags }}<meta property="article:tag" content="{{ . }}">
+ {{ end }}
+ {{ if gt .ExpiryDate .PublishDate }}<meta property="article:expiration_time" content="{{ .ExpiryDate.Format "2006-01-02T15:04:05Z0700" }}">{{ end }}
+ {{ with .PublishDate }}<meta property="article:published_time" content="{{ .Format "2006-01-02T15:04:05Z0700" }}">{{ end }}
+ {{ with .Lastmod }}<meta property="article:modified_time" content="{{ .Format "2006-01-02T15:04:05Z0700" }}">{{ end }}
+ {{ end }}
+
+ <!-- Twitter Card meta tags -->
+ <meta name="twitter:card" content="summary{{ if (and $is_blog (and $has_image $is_valid_image)) }}_large_image{{ end }}">
+ {{ with .Param "twitter_site" }}<meta name="twitter:site" content="@{{ . }}">{{ end }}
+ <meta name="twitter:title" content="{{ $title_plain | truncate 70 }}">
+ {{ if $is_valid_image }}
+ <meta name="twitter:image" content="{{ $image | absURL }}">
+ {{ end }}
+ <meta name="twitter:description" content="{{ $description_plain | truncate 200 }}">
+ {{ with .Param "twitter_author" }}<meta name="twitter:creator" content="@{{ . }}">{{ end }}
</head>
diff --git a/layouts/partials/map.html b/layouts/partials/map.html
index 4b1499e..540546c 100644
--- a/layouts/partials/map.html
+++ b/layouts/partials/map.html
@@ -1,15 +1,17 @@
-{{ if isset .Site.Params "latitude" }}
- {{ if isset .Site.Params "longitude" }}
- <div class="hidden">
- <input id="gmap-lat" value="{{ .Site.Params.latitude }}" />
- <input id="gmap-lng" value="{{ .Site.Params.longitude }}" />
- <input id="gmap-marker" value="{{ .Site.BaseURL }}img/marker.png" />
- {{ if isset .Site.Params "direction" }}
- <input id="gmap-dir" value="{{ .Site.Params.direction }}" />
- {{ else }}
- <input id="gmap-dir" value="{{ .Site.Params.latitude }},{{ .Site.Params.longitude }}" />
- {{ end }}
- </div>
- <div id="map" />
+{{ if .Site.Params.enableGoogleMaps }}
+ {{ if isset .Site.Params "latitude" }}
+ {{ if isset .Site.Params "longitude" }}
+ <div class="hidden">
+ <input id="gmap-lat" value="{{ .Site.Params.latitude }}" />
+ <input id="gmap-lng" value="{{ .Site.Params.longitude }}" />
+ <input id="gmap-marker" value="{{ "img/marker.png" | relURL }}" />
+ {{ if isset .Site.Params "direction" }}
+ <input id="gmap-dir" value="{{ .Site.Params.direction }}" />
+ {{ else }}
+ <input id="gmap-dir" value="{{ .Site.Params.latitude }},{{ .Site.Params.longitude }}" />
+ {{ end }}
+ </div>
+ <div id="map" />
+ {{ end }}
{{ end }}
{{ end }}
diff --git a/layouts/partials/nav.html b/layouts/partials/nav.html
index 8d0a343..325f72b 100644
--- a/layouts/partials/nav.html
+++ b/layouts/partials/nav.html
@@ -1,18 +1,16 @@
-<div class="navbar-affixed-top" data-spy="affix" data-offset-top="200">
-
- <div class="navbar navbar-default yamm" role="navigation" id="navbar">
-
+<header class="navbar-affixed-top" data-spy="affix" data-offset-top="62">
+ <div class="navbar navbar-default yamm" role="navigation" id="navbar">
<div class="container">
<div class="navbar-header">
- <a class="navbar-brand home" href="{{ .Site.BaseURL }}">
- <img src="{{ .Site.BaseURL }}img/logo.png" alt="{{ .Title }} logo" class="hidden-xs hidden-sm">
- <img src="{{ .Site.BaseURL }}img/logo-small.png" alt="{{ .Title }} logo" class="visible-xs visible-sm">
+ <a class="navbar-brand home" href="{{ "/" | relURL }}">
+ <img src="{{ .Site.Params.logo | relURL }}" alt="{{ .Title }} logo" class="hidden-xs hidden-sm">
+ <img src="{{ .Site.Params.logo_small | relURL }}" alt="{{ .Title }} logo" class="visible-xs visible-sm">
<span class="sr-only">{{ .Title }} - {{ i18n "navHome" }}</span>
</a>
<div class="navbar-buttons">
<button type="button" class="navbar-toggle btn-template-main" data-toggle="collapse" data-target="#navigation">
<span class="sr-only">{{ i18n "navToggle" }}</span>
- <i class="fa fa-align-justify"></i>
+ <i class="fas fa-align-justify"></i>
</button>
</div>
</div>
@@ -20,11 +18,13 @@
<div class="navbar-collapse collapse" id="navigation">
<ul class="nav navbar-nav navbar-right">
+ {{ $current := . }}
+ {{ $topLevel := replace .URL "/" "" }}
{{ range .Site.Menus.main.ByWeight }}
{{ if .HasChildren }}
<!-- Check if the first child marks a menu section identifier -->
{{ $hasSections := (hasPrefix (index .Children 0).Identifier "section.") }}
- <li class="dropdown{{ if $hasSections }} use-yamm yamm-fw{{end}}">
+ <li class="dropdown{{ if $hasSections }} use-yamm yamm-fw{{end}} {{ if eq $current.RelPermalink .URL | or (eq $current.Type $topLevel) | or (and (eq (default (trim .URL "/") .Identifier) "blog") (in (slice "taxonomy" "taxonomyTerm") $current.Kind)) }} active{{ end }}">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{ .Name }} <span class="caret"></span></a>
{{ if $hasSections }}
<ul class="dropdown-menu">
@@ -120,26 +120,19 @@
</div>
<!--/.nav-collapse -->
- <div class="collapse clearfix" id="search">
-
+ <div class="collapse clearfix" id="search">
<form class="navbar-form" role="search">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search">
<span class="input-group-btn">
-
- <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button>
-
+ <button type="submit" class="btn btn-template-main"><i class="fas fa-search"></i></button>
</span>
</div>
</form>
-
</div>
<!--/.nav-collapse -->
-
</div>
</div>
- <!-- /#navbar -->
-
-</div>
+</header>
<!-- *** NAVBAR END ***-->
diff --git a/layouts/partials/recent_posts.html b/layouts/partials/recent_posts.html
index 660d61f..d60fb8c 100644
--- a/layouts/partials/recent_posts.html
+++ b/layouts/partials/recent_posts.html
@@ -5,7 +5,7 @@
<div class="col-md-12">
<div class="heading text-center">
- <h2>{{ .Site.Params.recent_posts.title }}</h2>
+ <h2>{{ .Site.Params.recent_posts.title | markdownify }}</h2>
</div>
<p class="lead">
@@ -15,23 +15,22 @@
<!-- *** BLOG HOMEPAGE *** -->
<div class="row">
-
- {{ $posts := .Paginate (where .Data.Pages "Type" "blog") }}
+ {{ $posts := .Paginate (where site.RegularPages "Type" "in" site.Params.mainSections) }}
{{ range first 4 $posts.Pages }}
<div class="col-md-3 col-sm-6">
<div class="box-image-text blog">
<div class="top">
<div class="image" style="overflow:hidden">
{{ if isset .Params "banner" }}
- <img src="{{ .Site.BaseURL}}{{ .Params.banner }}" class="img-responsive" alt="" >
+ <img src="{{ .Params.banner | relURL }}" class="img-responsive" alt="" >
{{ else }}
- <img src="{{ .Site.BaseURL}}img/placeholder.png" class="img-responsive" alt="">
+ <img src="{{ "img/placeholder.png" | relURL }}" class="img-responsive" alt="">
{{ end }}
</div>
<div class="bg"></div>
<div class="text">
<p class="buttons">
- <a href="{{ .Permalink }}" class="btn btn-template-transparent-primary"><i class="fa fa-link"></i> {{ i18n "readMore" }}</a>
+ <a href="{{ .Permalink }}" class="btn btn-template-transparent-primary"><i class="fas fa-link"></i> {{ i18n "readMore" }}</a>
</p>
</div>
</div>
@@ -39,15 +38,17 @@
<div class="content">
<h4><a href="{{ .Permalink }}">{{ .Title }}</a></h4>
<p class="author-category">
- {{ with .Params.author }}
- {{ i18n "authorBy" }} <a href="#">{{ . }}</a>
+ {{ if isset .Params "authors" }}
+ {{ i18n "authorBy" }} {{ range $index, $author := .Params.authors }}{{ if $index }}, {{ end }}<a href="{{ (printf "%s/%s" ("authors" | relURL) ($author | urlize)) }}">{{ $author }}</a>{{ end }}
{{ end }}
{{ i18n "publishedOn" }} {{ .Date.Format .Site.Params.date_format }}
</p>
+ {{ if not .Site.Params.recent_posts.hide_summary }}
<p class="intro">{{ .Summary }}</p>
<p class="read-more">
<a href="{{ .Permalink }}" class="btn btn-template-main">{{ i18n "continueReading" }}</a>
</p>
+ {{ end }}
</div>
</div>
<!-- /.box-image-text -->
diff --git a/layouts/partials/scripts.html b/layouts/partials/scripts.html
index 33d9762..2b8ca63 100644
--- a/layouts/partials/scripts.html
+++ b/layouts/partials/scripts.html
@@ -6,14 +6,17 @@
<script src="//cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/Counter-Up/1.0/jquery.counterup.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-parallax/1.1.3/jquery-parallax.js"></script>
+{{ if .Site.Params.enableGoogleMaps }}
{{ if .Site.Params.googleMapsApiKey }}
<script src="//maps.googleapis.com/maps/api/js?key={{.Site.Params.googleMapsApiKey}}&v=3.exp"></script>
{{ else }}
<script src="//maps.googleapis.com/maps/api/js?v=3.exp"></script>
{{ end }}
-<script src="{{ .Site.BaseURL }}js/hpneo.gmaps.js"></script>
-<script src="{{ .Site.BaseURL }}js/gmaps.init.js"></script>
-<script src="{{ .Site.BaseURL }}js/front.js"></script>
+<script src="{{ "js/hpneo.gmaps.js" | relURL }}"></script>
+<script src="{{ "js/gmaps.init.js" | relURL }}"></script>
+{{ end }}
+<script src="{{ "js/front.js" | relURL }}"></script>
<!-- owl carousel -->
-<script src="{{ .Site.BaseURL }}js/owl.carousel.min.js"></script>
+<script src="{{ "js/owl.carousel.min.js" | relURL }}"></script>
+
diff --git a/layouts/partials/see_more.html b/layouts/partials/see_more.html
index 08301c1..437d9d8 100644
--- a/layouts/partials/see_more.html
+++ b/layouts/partials/see_more.html
@@ -7,13 +7,20 @@
<div class="col-md-12">
<div class="icon icon-lg"><i class="{{ .Site.Params.see_more.icon }}"></i>
</div>
- <h3 class="text-uppercase">{{ .Site.Params.see_more.title }}</h3>
- <p class="lead">{{ .Site.Params.see_more.subtitle }}</p>
+ <h3 class="text-uppercase">{{ .Site.Params.see_more.title | markdownify }}</h3>
+ <p class="lead">{{ .Site.Params.see_more.subtitle | markdownify }}</p>
<p class="text-center">
- <a href="{{ .Site.Params.see_more.link_url }}" class="btn btn-template-transparent-black btn-lg">{{ .Site.Params.see_more.link_text }}</a>
+ {{ with .Site.Params.see_more.link_url }}
+ <a href="{{ . }}" class="btn btn-template-transparent-black btn-lg">
+ {{ end }}
+ {{ with .Site.Params.see_more.link_text }}
+ {{ . | markdownify }}
+ {{ end }}
+ {{ with .Site.Params.see_more.link_url }}
+ </a>
+ {{ end }}
</p>
</div>
-
</div>
</div>
</section>
diff --git a/layouts/partials/testimonials.html b/layouts/partials/testimonials.html
index ec25984..e206217 100644
--- a/layouts/partials/testimonials.html
+++ b/layouts/partials/testimonials.html
@@ -15,7 +15,11 @@
<!-- *** TESTIMONIALS CAROUSEL *** -->
- <ul class="owl-carousel testimonials same-height-row">
+ <ul class="owl-carousel testimonials same-height-row"
+ data-items="{{ default 4 .Site.Params.CarouselTestimonals.items }}"
+ data-autoplay="{{ default false .Site.Params.CarouselTestimonals.auto_play }}"
+ data-slide-speed="{{ default 2000 .Site.Params.CarouselTestimonals.slide_speed }}"
+ data-pagination-speed="{{ default 1000 .Site.Params.CarouselTestimonals.pagination_speed }}">
{{ range .Site.Data.testimonials }}
<li class="item">
<div class="testimonial same-height-always">
@@ -23,7 +27,7 @@
<p>{{ .text | markdownify }}</p>
</div>
<div class="bottom">
- <div class="icon"><i class="fa fa-quote-left"></i>
+ <div class="icon"><i class="fas fa-quote-left"></i>
</div>
<div class="name-picture">
<img class="" alt="" src="{{ .avatar | absURL }}">
diff --git a/layouts/partials/top.html b/layouts/partials/top.html
index 441944b..fd4b7a9 100644
--- a/layouts/partials/top.html
+++ b/layouts/partials/top.html
@@ -1,18 +1,20 @@
{{ if .Site.Params.topbar.enable }}
-<div id="top">
- <div class="container">
- <div class="row">
- <div class="col-xs-5">
- {{ .Site.Params.topbar.text | safeHTML }}
- </div>
- <div class="col-xs-7">
- <div class="social">
- {{ range .Site.Menus.topbar.ByWeight }}
- <a href="{{ .URL }}" target="_blank" style="opacity: 1;">{{ .Pre }}</a>
- {{ end }}
+<header>
+ <div id="top">
+ <div class="container">
+ <div class="row">
+ <div class="col-xs-5">
+ {{ .Site.Params.topbar.text | safeHTML }}
+ </div>
+ <div class="col-xs-7">
+ <div class="social">
+ {{ range .Site.Menus.topbar.ByWeight }}
+ <a href="{{ .URL }}" target="_blank" style="opacity: 1;">{{ .Pre }}</a>
+ {{ end }}
+ </div>
</div>
</div>
</div>
</div>
-</div>
+</header>
{{ end }}
diff --git a/layouts/partials/widgets/categories.html b/layouts/partials/widgets/categories.html
index 2242bab..d40c134 100644
--- a/layouts/partials/widgets/categories.html
+++ b/layouts/partials/widgets/categories.html
@@ -4,17 +4,20 @@
<div class="panel panel-default sidebar-menu">
<div class="panel-heading">
- <h3 class="panel-title">{{ i18n "categoriesTitle" }}</h3>
+ <h3 class="panel-title">{{ i18n "categoriesTitle" }}</h3>
</div>
<div class="panel-body">
<ul class="nav nav-pills nav-stacked">
+ {{ $current := . }}
{{ range $name, $items := .Site.Taxonomies.categories }}
- <li><a href="{{ $.Site.BaseURL }}categories/{{ $name | urlize | lower }}">{{ $name }} ({{ len $items }})</a>
+ <li{{ if eq $current.RelPermalink ($name | urlize | lower | printf "/categories/%s/") }} class="active"{{ end }}>
+ <a href="{{ "categories/" | relURL }}{{ $name | urlize | lower }}">{{ $name | upper }} ({{ len $items }})</a>
</li>
{{ end }}
</ul>
</div>
+
</div>
{{ end }}
{{ end }}
diff --git a/layouts/partials/widgets/search.html b/layouts/partials/widgets/search.html
index 0ac72ce..9a4fde1 100644
--- a/layouts/partials/widgets/search.html
+++ b/layouts/partials/widgets/search.html
@@ -9,10 +9,10 @@
<div class="panel-body">
<form action="//google.com/search" method="get" accept-charset="UTF-8" role="search">
<div class="input-group">
- <input type="search" name="q" results="0" class="form-control" placeholder="{{ i18n "searchTitle" }}">
- <input type="hidden" name="q" value="site:{{ .Site.BaseURL }}">
+ <input type="search" name="q" class="form-control" placeholder="{{ i18n "searchTitle" }}">
+ <input type="hidden" name="sitesearch" value="{{ "/" | absURL }}">
<span class="input-group-btn">
- <button type="submit" class="btn btn-template-main"><i class="fa fa-search"></i></button>
+ <button type="submit" class="btn btn-template-main"><i class="fas fa-search"></i></button>
</span>
</div>
</form>
diff --git a/layouts/partials/widgets/tags.html b/layouts/partials/widgets/tags.html
index 9fa5614..d6aa383 100644
--- a/layouts/partials/widgets/tags.html
+++ b/layouts/partials/widgets/tags.html
@@ -2,18 +2,22 @@
{{ if isset .Site.Taxonomies "tags" }}
{{ if not (eq (len .Site.Taxonomies.tags) 0) }}
<div class="panel sidebar-menu">
+
<div class="panel-heading">
- <h3 class="panel-title">{{ i18n "tagsTitle" }}</h3>
+ <h3 class="panel-title">{{ i18n "tagsTitle" }}</h3>
</div>
<div class="panel-body">
<ul class="tag-cloud">
+ {{ $current := . }}
{{ range $name, $items := .Site.Taxonomies.tags }}
- <li><a href="{{ $.Site.BaseURL }}tags/{{ $name | urlize | lower }}"><i class="fa fa-tags"></i> {{ $name }}</a>
+ <li{{ if eq $current.RelPermalink ($name | urlize | lower | printf "/tags/%s/") }} class="active"{{ end }}>
+ <a href="{{ "tags/" | relURL }}{{ $name | urlize | lower }}"><i class="fas fa-tags"></i> {{ $name }}</a>
</li>
{{ end }}
</ul>
</div>
+
</div>
{{ end }}
{{ end }}
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..3ea6fde
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,3016 @@
+{
+ "name": "hugo-universal-theme",
+ "requires": true,
+ "lockfileVersion": 1,
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+ "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.10.4"
+ }
+ },
+ "@babel/compat-data": {
+ "version": "7.14.7",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz",
+ "integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==",
+ "dev": true
+ },
+ "@babel/core": {
+ "version": "7.14.8",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.8.tgz",
+ "integrity": "sha512-/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.14.5",
+ "@babel/generator": "^7.14.8",
+ "@babel/helper-compilation-targets": "^7.14.5",
+ "@babel/helper-module-transforms": "^7.14.8",
+ "@babel/helpers": "^7.14.8",
+ "@babel/parser": "^7.14.8",
+ "@babel/template": "^7.14.5",
+ "@babel/traverse": "^7.14.8",
+ "@babel/types": "^7.14.8",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.1.2",
+ "semver": "^6.3.0",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz",
+ "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.14.5"
+ }
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.14.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz",
+ "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==",
+ "dev": true
+ },
+ "@babel/highlight": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz",
+ "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.14.5",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/generator": {
+ "version": "7.14.8",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.8.tgz",
+ "integrity": "sha512-cYDUpvIzhBVnMzRoY1fkSEhK/HmwEVwlyULYgn/tMQYd6Obag3ylCjONle3gdErfXBW61SVTlR9QR7uWlgeIkg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.14.8",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
+ }
+ },
+ "@babel/helper-compilation-targets": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz",
+ "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==",
+ "dev": true,
+ "requires": {
+ "@babel/compat-data": "^7.14.5",
+ "@babel/helper-validator-option": "^7.14.5",
+ "browserslist": "^4.16.6",
+ "semver": "^6.3.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz",
+ "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.14.5",
+ "@babel/template": "^7.14.5",
+ "@babel/types": "^7.14.5"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz",
+ "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.14.5"
+ }
+ },
+ "@babel/helper-hoist-variables": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz",
+ "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.14.5"
+ }
+ },
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.14.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz",
+ "integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.14.5"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz",
+ "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.14.5"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.14.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.8.tgz",
+ "integrity": "sha512-RyE+NFOjXn5A9YU1dkpeBaduagTlZ0+fccnIcAGbv1KGUlReBj7utF7oEth8IdIBQPcux0DDgW5MFBH2xu9KcA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.14.5",
+ "@babel/helper-replace-supers": "^7.14.5",
+ "@babel/helper-simple-access": "^7.14.8",
+ "@babel/helper-split-export-declaration": "^7.14.5",
+ "@babel/helper-validator-identifier": "^7.14.8",
+ "@babel/template": "^7.14.5",
+ "@babel/traverse": "^7.14.8",
+ "@babel/types": "^7.14.8"
+ },
+ "dependencies": {
+ "@babel/helper-validator-identifier": {
+ "version": "7.14.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz",
+ "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz",
+ "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.14.5"
+ }
+ },
+ "@babel/helper-replace-supers": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz",
+ "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-member-expression-to-functions": "^7.14.5",
+ "@babel/helper-optimise-call-expression": "^7.14.5",
+ "@babel/traverse": "^7.14.5",
+ "@babel/types": "^7.14.5"
+ }
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.14.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz",
+ "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.14.8"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz",
+ "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.14.5"
+ }
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
+ "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
+ "dev": true
+ },
+ "@babel/helper-validator-option": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz",
+ "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==",
+ "dev": true
+ },
+ "@babel/helpers": {
+ "version": "7.14.8",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.8.tgz",
+ "integrity": "sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.14.5",
+ "@babel/traverse": "^7.14.8",
+ "@babel/types": "^7.14.8"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ }
+ }
+ },
+ "@babel/parser": {
+ "version": "7.14.8",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.8.tgz",
+ "integrity": "sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA==",
+ "dev": true
+ },
+ "@babel/template": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz",
+ "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.14.5",
+ "@babel/parser": "^7.14.5",
+ "@babel/types": "^7.14.5"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz",
+ "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.14.5"
+ }
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.14.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz",
+ "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==",
+ "dev": true
+ },
+ "@babel/highlight": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz",
+ "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.14.5",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ }
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.14.8",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.8.tgz",
+ "integrity": "sha512-kexHhzCljJcFNn1KYAQ6A5wxMRzq9ebYpEDV4+WdNyr3i7O44tanbDOR/xjiG2F3sllan+LgwK+7OMk0EmydHg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.14.5",
+ "@babel/generator": "^7.14.8",
+ "@babel/helper-function-name": "^7.14.5",
+ "@babel/helper-hoist-variables": "^7.14.5",
+ "@babel/helper-split-export-declaration": "^7.14.5",
+ "@babel/parser": "^7.14.8",
+ "@babel/types": "^7.14.8",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz",
+ "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.14.5"
+ }
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.14.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz",
+ "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==",
+ "dev": true
+ },
+ "@babel/highlight": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz",
+ "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.14.5",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/types": {
+ "version": "7.14.8",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.8.tgz",
+ "integrity": "sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.14.8",
+ "to-fast-properties": "^2.0.0"
+ },
+ "dependencies": {
+ "@babel/helper-validator-identifier": {
+ "version": "7.14.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz",
+ "integrity": "sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow==",
+ "dev": true
+ }
+ }
+ },
+ "@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ }
+ },
+ "@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true
+ },
+ "@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ }
+ },
+ "@stylelint/postcss-css-in-js": {
+ "version": "0.37.2",
+ "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.2.tgz",
+ "integrity": "sha512-nEhsFoJurt8oUmieT8qy4nk81WRHmJynmVwn/Vts08PL9fhgIsMhk1GId5yAN643OzqEEb5S/6At2TZW7pqPDA==",
+ "dev": true,
+ "requires": {
+ "@babel/core": ">=7.9.0"
+ }
+ },
+ "@stylelint/postcss-markdown": {
+ "version": "0.36.2",
+ "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz",
+ "integrity": "sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==",
+ "dev": true,
+ "requires": {
+ "remark": "^13.0.0",
+ "unist-util-find-all-after": "^3.0.2"
+ }
+ },
+ "@types/color-name": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
+ "dev": true
+ },
+ "@types/mdast": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.7.tgz",
+ "integrity": "sha512-YwR7OK8aPmaBvMMUi+pZXBNoW2unbVbfok4YRqGMJBe1dpDlzpRkJrYEYmvjxgs5JhuQmKfDexrN98u941Zasg==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "*"
+ }
+ },
+ "@types/minimist": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz",
+ "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==",
+ "dev": true
+ },
+ "@types/normalize-package-data": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz",
+ "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==",
+ "dev": true
+ },
+ "@types/parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
+ "dev": true
+ },
+ "@types/unist": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz",
+ "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==",
+ "dev": true
+ },
+ "acorn": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz",
+ "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==",
+ "dev": true
+ },
+ "acorn-jsx": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz",
+ "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==",
+ "dev": true
+ },
+ "ajv": {
+ "version": "6.12.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+ "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "ansi-colors": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
+ "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true
+ },
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
+ },
+ "astral-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
+ "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "dev": true
+ },
+ "autoprefixer": {
+ "version": "9.8.6",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz",
+ "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "bail": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz",
+ "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==",
+ "dev": true
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "browserslist": {
+ "version": "4.16.6",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz",
+ "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==",
+ "dev": true,
+ "requires": {
+ "caniuse-lite": "^1.0.30001219",
+ "colorette": "^1.2.2",
+ "electron-to-chromium": "^1.3.723",
+ "escalade": "^3.1.1",
+ "node-releases": "^1.1.71"
+ }
+ },
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true
+ },
+ "camelcase-keys": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
+ "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.3.1",
+ "map-obj": "^4.0.0",
+ "quick-lru": "^4.0.1"
+ }
+ },
+ "caniuse-lite": {
+ "version": "1.0.30001248",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001248.tgz",
+ "integrity": "sha512-NwlQbJkxUFJ8nMErnGtT0QTM2TJ33xgz4KXJSMIrjXIbDVdaYueGyjOrLKRtJC+rTiWfi6j5cnZN1NBiSBJGNw==",
+ "dev": true
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "character-entities": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz",
+ "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==",
+ "dev": true
+ },
+ "character-entities-legacy": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz",
+ "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==",
+ "dev": true
+ },
+ "character-reference-invalid": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz",
+ "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==",
+ "dev": true
+ },
+ "clone-regexp": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz",
+ "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==",
+ "dev": true,
+ "requires": {
+ "is-regexp": "^2.0.0"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "colorette": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
+ "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "convert-source-map": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
+ "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "cosmiconfig": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
+ "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
+ "dev": true,
+ "requires": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.2.1",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.10.0"
+ }
+ },
+ "cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "decamelize-keys": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
+ "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
+ "dev": true,
+ "requires": {
+ "decamelize": "^1.1.0",
+ "map-obj": "^1.0.0"
+ },
+ "dependencies": {
+ "map-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
+ }
+ }
+ },
+ "deep-is": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+ "dev": true
+ },
+ "dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
+ "requires": {
+ "path-type": "^4.0.0"
+ }
+ },
+ "doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "dom-serializer": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
+ "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "^2.0.1",
+ "entities": "^2.0.0"
+ },
+ "dependencies": {
+ "domelementtype": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
+ "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
+ "dev": true
+ },
+ "entities": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+ "dev": true
+ }
+ }
+ },
+ "domelementtype": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
+ "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
+ "dev": true
+ },
+ "domhandler": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
+ "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "1"
+ }
+ },
+ "domutils": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
+ "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
+ "dev": true,
+ "requires": {
+ "dom-serializer": "0",
+ "domelementtype": "1"
+ }
+ },
+ "electron-to-chromium": {
+ "version": "1.3.792",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.792.tgz",
+ "integrity": "sha512-RM2O2xrNarM7Cs+XF/OE2qX/aBROyOZqqgP+8FXMXSuWuUqCfUUzg7NytQrzZU3aSqk1Qq6zqnVkJsbfMkIatg==",
+ "dev": true
+ },
+ "emoji-regex": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "dev": true
+ },
+ "enquirer": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.5.tgz",
+ "integrity": "sha512-BNT1C08P9XD0vNg3J475yIUG+mVdp9T6towYFHUv897X0KoHBjB1shyrNmhmtHWKP17iSWgo7Gqh7BBuzLZMSA==",
+ "dev": true,
+ "requires": {
+ "ansi-colors": "^3.2.1"
+ }
+ },
+ "entities": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
+ "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
+ "dev": true
+ },
+ "error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
+ "eslint": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.3.1.tgz",
+ "integrity": "sha512-cQC/xj9bhWUcyi/RuMbRtC3I0eW8MH0jhRELSvpKYkWep3C6YZ2OkvcvJVUeO6gcunABmzptbXBuDoXsjHmfTA==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.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",
+ "eslint-scope": "^5.1.0",
+ "eslint-utils": "^2.0.0",
+ "eslint-visitor-keys": "^1.2.0",
+ "espree": "^7.1.0",
+ "esquery": "^1.2.0",
+ "esutils": "^2.0.2",
+ "file-entry-cache": "^5.0.1",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^5.0.0",
+ "globals": "^12.1.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": "^4.17.14",
+ "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": "^5.2.3",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ }
+ },
+ "eslint-config-standard": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-6.2.1.tgz",
+ "integrity": "sha1-06aKr8cZFjnn7kQec0hzkCY1QpI=",
+ "dev": true
+ },
+ "eslint-plugin-promise": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.8.0.tgz",
+ "integrity": "sha512-JiFL9UFR15NKpHyGii1ZcvmtIqa3UTwiDAGb8atSffe43qJ3+1czVGN6UtkklpcJ2DVnqvTMzEKRaJdBkAL2aQ==",
+ "dev": true
+ },
+ "eslint-plugin-standard": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-2.3.1.tgz",
+ "integrity": "sha1-Z2W9Km2ezce98bFFrkuzDit7hvg=",
+ "dev": true
+ },
+ "eslint-scope": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz",
+ "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "eslint-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
+ "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true
+ },
+ "espree": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-7.1.0.tgz",
+ "integrity": "sha512-dcorZSyfmm4WTuTnE5Y7MEN1DyoPYy1ZR783QW1FJoenn7RailyWFsq/UL6ZAAA7uXurN9FIpYyUs3OfiIW+Qw==",
+ "dev": true,
+ "requires": {
+ "acorn": "^7.2.0",
+ "acorn-jsx": "^5.2.0",
+ "eslint-visitor-keys": "^1.2.0"
+ }
+ },
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true
+ },
+ "esquery": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
+ "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^5.1.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz",
+ "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==",
+ "dev": true
+ }
+ }
+ },
+ "esrecurse": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
+ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^4.1.0"
+ }
+ },
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true
+ },
+ "execall": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz",
+ "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==",
+ "dev": true,
+ "requires": {
+ "clone-regexp": "^2.1.0"
+ }
+ },
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "dev": true
+ },
+ "fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ },
+ "fast-glob": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
+ "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ }
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
+ },
+ "fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "dev": true
+ },
+ "fastest-levenshtein": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
+ "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==",
+ "dev": true
+ },
+ "fastq": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz",
+ "integrity": "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==",
+ "dev": true,
+ "requires": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "file-entry-cache": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
+ "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
+ "dev": true,
+ "requires": {
+ "flat-cache": "^2.0.1"
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "flat-cache": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
+ "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
+ "dev": true,
+ "requires": {
+ "flatted": "^2.0.0",
+ "rimraf": "2.6.3",
+ "write": "1.0.3"
+ }
+ },
+ "flatted": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
+ "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
+ "dev": true
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "dev": true
+ },
+ "gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "dev": true
+ },
+ "get-stdin": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz",
+ "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==",
+ "dev": true
+ },
+ "glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "global-modules": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
+ "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
+ "dev": true,
+ "requires": {
+ "global-prefix": "^3.0.0"
+ }
+ },
+ "global-prefix": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
+ "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
+ "dev": true,
+ "requires": {
+ "ini": "^1.3.5",
+ "kind-of": "^6.0.2",
+ "which": "^1.3.1"
+ },
+ "dependencies": {
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "globals": {
+ "version": "12.4.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
+ "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.8.1"
+ }
+ },
+ "globby": {
+ "version": "11.0.4",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz",
+ "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==",
+ "dev": true,
+ "requires": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.1.1",
+ "ignore": "^5.1.4",
+ "merge2": "^1.3.0",
+ "slash": "^3.0.0"
+ },
+ "dependencies": {
+ "ignore": {
+ "version": "5.1.8",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
+ "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
+ "dev": true
+ }
+ }
+ },
+ "globjoin": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz",
+ "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=",
+ "dev": true
+ },
+ "gonzales-pe": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz",
+ "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.5"
+ }
+ },
+ "hard-rejection": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
+ "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
+ "dev": true
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "hosted-git-info": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz",
+ "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "html-tags": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz",
+ "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==",
+ "dev": true
+ },
+ "htmlparser2": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
+ "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "dev": true
+ },
+ "import-fresh": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
+ "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
+ "dev": true,
+ "requires": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ }
+ },
+ "import-lazy": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz",
+ "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==",
+ "dev": true
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
+ },
+ "indent-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dev": true
+ },
+ "is-alphabetical": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz",
+ "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==",
+ "dev": true
+ },
+ "is-alphanumerical": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz",
+ "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==",
+ "dev": true,
+ "requires": {
+ "is-alphabetical": "^1.0.0",
+ "is-decimal": "^1.0.0"
+ }
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "is-buffer": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
+ "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
+ "dev": true
+ },
+ "is-core-module": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz",
+ "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "is-decimal": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz",
+ "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-hexadecimal": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz",
+ "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==",
+ "dev": true
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
+ },
+ "is-plain-obj": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+ "dev": true
+ },
+ "is-regexp": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz",
+ "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==",
+ "dev": true
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true
+ },
+ "is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "dev": true
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ },
+ "js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.14.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
+ "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+ "dev": true,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true
+ },
+ "json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+ "dev": true
+ },
+ "json5": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
+ "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.5"
+ }
+ },
+ "kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "dev": true
+ },
+ "known-css-properties": {
+ "version": "0.21.0",
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz",
+ "integrity": "sha512-sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw==",
+ "dev": true
+ },
+ "levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ }
+ },
+ "lines-and-columns": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
+ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
+ "dev": true
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "dev": true
+ },
+ "lodash.clonedeep": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
+ "dev": true
+ },
+ "lodash.truncate": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
+ "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=",
+ "dev": true
+ },
+ "log-symbols": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
+ }
+ },
+ "longest-streak": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz",
+ "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==",
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "map-obj": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz",
+ "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==",
+ "dev": true
+ },
+ "mathml-tag-names": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz",
+ "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==",
+ "dev": true
+ },
+ "mdast-util-from-markdown": {
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz",
+ "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==",
+ "dev": true,
+ "requires": {
+ "@types/mdast": "^3.0.0",
+ "mdast-util-to-string": "^2.0.0",
+ "micromark": "~2.11.0",
+ "parse-entities": "^2.0.0",
+ "unist-util-stringify-position": "^2.0.0"
+ }
+ },
+ "mdast-util-to-markdown": {
+ "version": "0.6.5",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz",
+ "integrity": "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "longest-streak": "^2.0.0",
+ "mdast-util-to-string": "^2.0.0",
+ "parse-entities": "^2.0.0",
+ "repeat-string": "^1.0.0",
+ "zwitch": "^1.0.0"
+ }
+ },
+ "mdast-util-to-string": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz",
+ "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==",
+ "dev": true
+ },
+ "meow": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
+ "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
+ "dev": true,
+ "requires": {
+ "@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"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.18.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
+ "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
+ "dev": true
+ }
+ }
+ },
+ "merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true
+ },
+ "micromark": {
+ "version": "2.11.4",
+ "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz",
+ "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.0.0",
+ "parse-entities": "^2.0.0"
+ }
+ },
+ "micromatch": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
+ "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.2.3"
+ }
+ },
+ "min-indent": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
+ "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
+ },
+ "minimist-options": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
+ "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
+ "dev": true,
+ "requires": {
+ "arrify": "^1.0.1",
+ "is-plain-obj": "^1.1.0",
+ "kind-of": "^6.0.3"
+ },
+ "dependencies": {
+ "is-plain-obj": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+ "dev": true
+ }
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+ "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.5"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "dev": true
+ },
+ "node-releases": {
+ "version": "1.1.73",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz",
+ "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==",
+ "dev": true
+ },
+ "normalize-package-data": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz",
+ "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^4.0.1",
+ "resolve": "^1.20.0",
+ "semver": "^7.3.4",
+ "validate-npm-package-license": "^3.0.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ }
+ }
+ },
+ "normalize-range": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
+ "dev": true
+ },
+ "normalize-selector": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz",
+ "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=",
+ "dev": true
+ },
+ "num2fraction": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
+ "dev": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "optionator": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+ "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true
+ },
+ "parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "requires": {
+ "callsites": "^3.0.0"
+ }
+ },
+ "parse-entities": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
+ "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
+ "dev": true,
+ "requires": {
+ "character-entities": "^1.0.0",
+ "character-entities-legacy": "^1.0.0",
+ "character-reference-invalid": "^1.0.0",
+ "is-alphanumerical": "^1.0.0",
+ "is-decimal": "^1.0.0",
+ "is-hexadecimal": "^1.0.0"
+ }
+ },
+ "parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dev": true,
+ "requires": {
+ "@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"
+ }
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
+ },
+ "path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true
+ },
+ "picomatch": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
+ "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
+ "dev": true
+ },
+ "postcss": {
+ "version": "7.0.36",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
+ "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "postcss-html": {
+ "version": "0.36.0",
+ "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz",
+ "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==",
+ "dev": true,
+ "requires": {
+ "htmlparser2": "^3.10.0"
+ }
+ },
+ "postcss-less": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz",
+ "integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.14"
+ }
+ },
+ "postcss-media-query-parser": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
+ "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=",
+ "dev": true
+ },
+ "postcss-resolve-nested-selector": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz",
+ "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=",
+ "dev": true
+ },
+ "postcss-safe-parser": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz",
+ "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.26"
+ }
+ },
+ "postcss-sass": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz",
+ "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==",
+ "dev": true,
+ "requires": {
+ "gonzales-pe": "^4.3.0",
+ "postcss": "^7.0.21"
+ }
+ },
+ "postcss-scss": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz",
+ "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.6"
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "6.0.6",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz",
+ "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==",
+ "dev": true,
+ "requires": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ }
+ },
+ "postcss-syntax": {
+ "version": "0.36.2",
+ "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz",
+ "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==",
+ "dev": true
+ },
+ "postcss-value-parser": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
+ "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
+ "dev": true
+ },
+ "prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true
+ },
+ "prettier": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz",
+ "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==",
+ "dev": true
+ },
+ "progress": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+ "dev": true
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "dev": true
+ },
+ "queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true
+ },
+ "quick-lru": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
+ "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "dev": true,
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "hosted-git-info": {
+ "version": "2.8.9",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+ "dev": true
+ },
+ "normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ }
+ },
+ "readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "redent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
+ "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
+ "dev": true,
+ "requires": {
+ "indent-string": "^4.0.0",
+ "strip-indent": "^3.0.0"
+ }
+ },
+ "regexpp": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
+ "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
+ "dev": true
+ },
+ "remark": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz",
+ "integrity": "sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==",
+ "dev": true,
+ "requires": {
+ "remark-parse": "^9.0.0",
+ "remark-stringify": "^9.0.0",
+ "unified": "^9.1.0"
+ }
+ },
+ "remark-parse": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz",
+ "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==",
+ "dev": true,
+ "requires": {
+ "mdast-util-from-markdown": "^0.8.0"
+ }
+ },
+ "remark-stringify": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz",
+ "integrity": "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==",
+ "dev": true,
+ "requires": {
+ "mdast-util-to-markdown": "^0.6.0"
+ }
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
+ },
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
+ "resolve": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
+ "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
+ "dev": true,
+ "requires": {
+ "is-core-module": "^2.2.0",
+ "path-parse": "^1.0.6"
+ }
+ },
+ "resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true
+ },
+ "reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "requires": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
+ "semver": {
+ "version": "7.3.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+ "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
+ "dev": true
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
+ "slice-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
+ "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.0",
+ "astral-regex": "^1.0.0",
+ "is-fullwidth-code-point": "^2.0.0"
+ }
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "spdx-correct": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
+ "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
+ "dev": true,
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-exceptions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
+ "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
+ "dev": true
+ },
+ "spdx-expression-parse": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+ "dev": true,
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz",
+ "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==",
+ "dev": true
+ },
+ "specificity": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz",
+ "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==",
+ "dev": true
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ }
+ }
+ },
+ "string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.2.0"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true
+ }
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ }
+ },
+ "strip-indent": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
+ "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
+ "dev": true,
+ "requires": {
+ "min-indent": "^1.0.0"
+ }
+ },
+ "strip-json-comments": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz",
+ "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==",
+ "dev": true
+ },
+ "style-search": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
+ "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=",
+ "dev": true
+ },
+ "stylelint": {
+ "version": "13.13.1",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.13.1.tgz",
+ "integrity": "sha512-Mv+BQr5XTUrKqAXmpqm6Ddli6Ief+AiPZkRsIrAoUKFuq/ElkUh9ZMYxXD0iQNZ5ADghZKLOWz1h7hTClB7zgQ==",
+ "dev": true,
+ "requires": {
+ "@stylelint/postcss-css-in-js": "^0.37.2",
+ "@stylelint/postcss-markdown": "^0.36.2",
+ "autoprefixer": "^9.8.6",
+ "balanced-match": "^2.0.0",
+ "chalk": "^4.1.1",
+ "cosmiconfig": "^7.0.0",
+ "debug": "^4.3.1",
+ "execall": "^2.0.0",
+ "fast-glob": "^3.2.5",
+ "fastest-levenshtein": "^1.0.12",
+ "file-entry-cache": "^6.0.1",
+ "get-stdin": "^8.0.0",
+ "global-modules": "^2.0.0",
+ "globby": "^11.0.3",
+ "globjoin": "^0.1.4",
+ "html-tags": "^3.1.0",
+ "ignore": "^5.1.8",
+ "import-lazy": "^4.0.0",
+ "imurmurhash": "^0.1.4",
+ "known-css-properties": "^0.21.0",
+ "lodash": "^4.17.21",
+ "log-symbols": "^4.1.0",
+ "mathml-tag-names": "^2.1.3",
+ "meow": "^9.0.0",
+ "micromatch": "^4.0.4",
+ "normalize-selector": "^0.2.0",
+ "postcss": "^7.0.35",
+ "postcss-html": "^0.36.0",
+ "postcss-less": "^3.1.4",
+ "postcss-media-query-parser": "^0.2.3",
+ "postcss-resolve-nested-selector": "^0.1.1",
+ "postcss-safe-parser": "^4.0.2",
+ "postcss-sass": "^0.4.4",
+ "postcss-scss": "^2.1.1",
+ "postcss-selector-parser": "^6.0.5",
+ "postcss-syntax": "^0.36.2",
+ "postcss-value-parser": "^4.1.0",
+ "resolve-from": "^5.0.0",
+ "slash": "^3.0.0",
+ "specificity": "^0.4.1",
+ "string-width": "^4.2.2",
+ "strip-ansi": "^6.0.0",
+ "style-search": "^0.1.0",
+ "sugarss": "^2.0.0",
+ "svg-tags": "^1.0.0",
+ "table": "^6.6.0",
+ "v8-compile-cache": "^2.3.0",
+ "write-file-atomic": "^3.0.3"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "8.6.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.2.tgz",
+ "integrity": "sha512-9807RlWAgT564wT+DjeyU5OFMPjmzxVobvDFmNAhY+5zD6A2ly3jDp6sgnfyDtlIQ+7H97oc/DGCzzfu9rjw9w==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+ "dev": true
+ },
+ "balanced-match": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz",
+ "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
+ "dev": true
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+ "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "file-entry-cache": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "dev": true,
+ "requires": {
+ "flat-cache": "^3.0.4"
+ }
+ },
+ "flat-cache": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+ "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "dev": true,
+ "requires": {
+ "flatted": "^3.1.0",
+ "rimraf": "^3.0.2"
+ }
+ },
+ "flatted": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz",
+ "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "ignore": {
+ "version": "5.1.8",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
+ "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ },
+ "resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "slice-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ }
+ },
+ "string-width": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
+ "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "table": {
+ "version": "6.7.1",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.7.1.tgz",
+ "integrity": "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==",
+ "dev": true,
+ "requires": {
+ "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"
+ }
+ },
+ "v8-compile-cache": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+ "dev": true
+ }
+ }
+ },
+ "stylelint-config-recommended": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-5.0.0.tgz",
+ "integrity": "sha512-c8aubuARSu5A3vEHLBeOSJt1udOdS+1iue7BmJDTSXoCBmfEQmmWX+59vYIj3NQdJBY6a/QRv1ozVFpaB9jaqA==",
+ "dev": true
+ },
+ "stylelint-config-standard": {
+ "version": "22.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-22.0.0.tgz",
+ "integrity": "sha512-uQVNi87SHjqTm8+4NIP5NMAyY/arXrBgimaaT7skvRfE9u3JKXRK9KBkbr4pVmeciuCcs64kAdjlxfq6Rur7Hw==",
+ "dev": true,
+ "requires": {
+ "stylelint-config-recommended": "^5.0.0"
+ }
+ },
+ "sugarss": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz",
+ "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "svg-tags": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
+ "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=",
+ "dev": true
+ },
+ "table": {
+ "version": "5.4.6",
+ "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
+ "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.10.2",
+ "lodash": "^4.17.14",
+ "slice-ansi": "^2.1.0",
+ "string-width": "^3.0.0"
+ }
+ },
+ "text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "trim-newlines": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
+ "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
+ "dev": true
+ },
+ "trough": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz",
+ "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==",
+ "dev": true
+ },
+ "type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "^1.2.1"
+ }
+ },
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true
+ },
+ "typedarray-to-buffer": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+ "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+ "dev": true,
+ "requires": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "unified": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz",
+ "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==",
+ "dev": true,
+ "requires": {
+ "bail": "^1.0.0",
+ "extend": "^3.0.0",
+ "is-buffer": "^2.0.0",
+ "is-plain-obj": "^2.0.0",
+ "trough": "^1.0.0",
+ "vfile": "^4.0.0"
+ }
+ },
+ "unist-util-find-all-after": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz",
+ "integrity": "sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==",
+ "dev": true,
+ "requires": {
+ "unist-util-is": "^4.0.0"
+ }
+ },
+ "unist-util-is": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz",
+ "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==",
+ "dev": true
+ },
+ "unist-util-stringify-position": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz",
+ "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^2.0.2"
+ }
+ },
+ "uri-js": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "v8-compile-cache": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz",
+ "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==",
+ "dev": true
+ },
+ "validate-npm-package-license": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "dev": true,
+ "requires": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "vfile": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz",
+ "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "is-buffer": "^2.0.0",
+ "unist-util-stringify-position": "^2.0.0",
+ "vfile-message": "^2.0.0"
+ }
+ },
+ "vfile-message": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz",
+ "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-stringify-position": "^2.0.0"
+ }
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "dev": true
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "write": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
+ "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
+ "dev": true,
+ "requires": {
+ "mkdirp": "^0.5.1"
+ }
+ },
+ "write-file-atomic": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
+ "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
+ "dev": true,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ },
+ "yaml": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
+ "dev": true
+ },
+ "yargs-parser": {
+ "version": "20.2.9",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+ "dev": true
+ },
+ "zwitch": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz",
+ "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==",
+ "dev": true
+ }
+ }
+}
diff --git a/package.json b/package.json
index e9e11e9..b936cfb 100644
--- a/package.json
+++ b/package.json
@@ -1,13 +1,18 @@
{
"name": "hugo-universal-theme",
"devDependencies": {
- "eslint": "latest",
+ "eslint": "^7.3.1",
"eslint-config-standard": "^6.2.0",
"eslint-plugin-promise": "^3.0.0",
- "eslint-plugin-standard": "^2.0.1"
+ "eslint-plugin-standard": "^2.0.1",
+ "prettier": "^2.3.2",
+ "stylelint": "^13.13.1",
+ "stylelint-config-standard": "^22.0.0"
},
"scripts": {
- "lint": "eslint .",
+ "stylelint": "stylelint \"**/*.css\"",
+ "prettier": "prettier --check .",
+ "eslint": "eslint .",
"install_hugo": "brew update && brew install hugo"
}
}
diff --git a/static/css/style.blue.css b/static/css/style.blue.css
index a7ebc1e..ae06a09 100644
--- a/static/css/style.blue.css
+++ b/static/css/style.blue.css
@@ -55,10 +55,6 @@ button {
-moz-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;
}
-a i.fa,
-button i.fa {
- margin: 0 5px;
-}
.clickable {
cursor: pointer !important;
}
@@ -107,11 +103,11 @@ div.section {
text-transform: uppercase;
letter-spacing: 0.06em;
}
-.heading h1 i.fa,
-.heading h2 i.fa,
-.heading h3 i.fa,
-.heading h4 i.fa,
-.heading h5 i.fa {
+.heading h1 i[class^="fa"],
+.heading h2 i[class^="fa"],
+.heading h3 i[class^="fa"],
+.heading h4 i[class^="fa"],
+.heading h5 i[class^="fa"] {
display: inline-block;
background: #467fbf;
width: 30px;
@@ -222,7 +218,7 @@ ul.list-style-none {
}
@media (min-width: 1300px) {
body.boxed {
- background: url(http://subtlepatterns.com/patterns/subtle_zebra_3d.png);
+ background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png);
}
body.boxed #all {
position: relative;
@@ -253,13 +249,15 @@ ul.list-style-none {
width: 24px;
height: 24px;
border-radius: 12px;
- line-height: 20px;
+ line-height: 24px;
font-size: 12px;
text-align: center;
- vertical-align: bottom;
}
#top .social a:hover {
color: #fff;
+ background: #467fbf;
+ -webkit-transform: scale(1.1);
+ transform: scale(1.1);
}
#top .social a:hover.facebook {
background-color: #4460ae;
@@ -474,26 +472,24 @@ ul.list-style-none {
margin-left: 7px;
}
.navbar-affixed-top {
- top: -32px;
-}
-.navbar-affixed-top.affix-top {
- -webkit-transition: all 0.5s ease-out;
- -moz-transition: all 0.5s ease-out;
- transition: all 0.5s ease-out;
-}
-.navbar-affixed-top.affix {
- position: fixed;
- width: 100%;
top: 0;
z-index: 1000;
+ width: 100%;
+}
+.navbar-affixed-top.affix {
-webkit-box-shadow: 0 0 5px #cccccc;
box-shadow: 0 0 5px #cccccc;
- -webkit-transition: all 0.5s ease-out;
- -moz-transition: all 0.5s ease-out;
- transition: all 0.5s ease-out;
}
-body.boxed .navbar-affixed-top.affix {
- position: static;
+.navbar-affixed-top.affix + section {
+ margin-top: 62px;
+}
+@supports (position: sticky) {
+ .navbar-affixed-top {
+ position: sticky;
+ }
+ .navbar-affixed-top.affix + section {
+ margin-top: 0;
+ }
}
#login-modal {
overflow: hidden;
@@ -981,12 +977,19 @@ fieldset[disabled] .btn-template-primary.active {
letter-spacing: 0.08em;
font-weight: 700;
font-size: 12px;
+ text-decoration: none;
}
.panel.sidebar-menu ul.tag-cloud li a:hover {
color: #467fbf;
- text-decoration: none;
border-color: #467fbf;
}
+.panel.sidebar-menu ul.tag-cloud li.active a {
+ color: #FFFFFF;
+ background-color: #467fbf;
+}
+.panel.sidebar-menu ul.tag-cloud li.active a:hover {
+ color: #FFFFFF;
+}
.panel.sidebar-menu ul.popular,
.panel.sidebar-menu ul.recent {
list-style: none;
@@ -3529,7 +3532,7 @@ a.list-group-item.active > .badge,
/*!
* Yamm!3 - Yet another megamenu for Bootstrap 3
* http://geedmo.github.com/yamm3
- *
+ *
* @geedmo - Licensed under the MIT license
*/
.yamm .nav,
diff --git a/static/css/style.default.css b/static/css/style.default.css
index 4b2001b..bfa4491 100644
--- a/static/css/style.default.css
+++ b/static/css/style.default.css
@@ -55,10 +55,6 @@ button {
-moz-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;
}
-a i.fa,
-button i.fa {
- margin: 0 5px;
-}
.clickable {
cursor: pointer !important;
}
@@ -107,11 +103,11 @@ div.section {
text-transform: uppercase;
letter-spacing: 0.06em;
}
-.heading h1 i.fa,
-.heading h2 i.fa,
-.heading h3 i.fa,
-.heading h4 i.fa,
-.heading h5 i.fa {
+.heading h1 i[class^="fa"],
+.heading h2 i[class^="fa"],
+.heading h3 i[class^="fa"],
+.heading h4 i[class^="fa"],
+.heading h5 i[class^="fa"] {
display: inline-block;
background: #38a7bb;
width: 30px;
@@ -222,7 +218,7 @@ ul.list-style-none {
}
@media (min-width: 1300px) {
body.boxed {
- background: url(http://subtlepatterns.com/patterns/subtle_zebra_3d.png);
+ background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png);
}
body.boxed #all {
position: relative;
@@ -253,13 +249,15 @@ ul.list-style-none {
width: 24px;
height: 24px;
border-radius: 12px;
- line-height: 20px;
+ line-height: 24px;
font-size: 12px;
text-align: center;
- vertical-align: bottom;
}
#top .social a:hover {
color: #fff;
+ background: #4fbfa8;
+ -webkit-transform: scale(1.1);
+ transform: scale(1.1);
}
#top .social a:hover.facebook {
background-color: #4460ae;
@@ -474,26 +472,24 @@ ul.list-style-none {
margin-left: 7px;
}
.navbar-affixed-top {
- top: -32px;
-}
-.navbar-affixed-top.affix-top {
- -webkit-transition: all 0.5s ease-out;
- -moz-transition: all 0.5s ease-out;
- transition: all 0.5s ease-out;
-}
-.navbar-affixed-top.affix {
- position: fixed;
- width: 100%;
top: 0;
z-index: 1000;
+ width: 100%;
+}
+.navbar-affixed-top.affix {
-webkit-box-shadow: 0 0 5px #cccccc;
box-shadow: 0 0 5px #cccccc;
- -webkit-transition: all 0.5s ease-out;
- -moz-transition: all 0.5s ease-out;
- transition: all 0.5s ease-out;
}
-body.boxed .navbar-affixed-top.affix {
- position: static;
+.navbar-affixed-top.affix + section {
+ margin-top: 62px;
+}
+@supports (position: sticky) {
+ .navbar-affixed-top {
+ position: sticky;
+ }
+ .navbar-affixed-top.affix + section {
+ margin-top: 0;
+ }
}
#login-modal {
overflow: hidden;
@@ -981,12 +977,19 @@ fieldset[disabled] .btn-template-primary.active {
letter-spacing: 0.08em;
font-weight: 700;
font-size: 12px;
+ text-decoration: none;
}
.panel.sidebar-menu ul.tag-cloud li a:hover {
color: #38a7bb;
- text-decoration: none;
border-color: #38a7bb;
}
+.panel.sidebar-menu ul.tag-cloud li.active a {
+ color: #FFFFFF;
+ background-color: #38a7bb;
+}
+.panel.sidebar-menu ul.tag-cloud li.active a:hover {
+ color: #FFFFFF;
+}
.panel.sidebar-menu ul.popular,
.panel.sidebar-menu ul.recent {
list-style: none;
@@ -3529,7 +3532,7 @@ a.list-group-item.active > .badge,
/*!
* Yamm!3 - Yet another megamenu for Bootstrap 3
* http://geedmo.github.com/yamm3
- *
+ *
* @geedmo - Licensed under the MIT license
*/
.yamm .nav,
diff --git a/static/css/style.green.css b/static/css/style.green.css
index bc6e9e0..622f7d7 100644
--- a/static/css/style.green.css
+++ b/static/css/style.green.css
@@ -55,10 +55,6 @@ button {
-moz-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;
}
-a i.fa,
-button i.fa {
- margin: 0 5px;
-}
.clickable {
cursor: pointer !important;
}
@@ -107,11 +103,11 @@ div.section {
text-transform: uppercase;
letter-spacing: 0.06em;
}
-.heading h1 i.fa,
-.heading h2 i.fa,
-.heading h3 i.fa,
-.heading h4 i.fa,
-.heading h5 i.fa {
+.heading h1 i[class^="fa"],
+.heading h2 i[class^="fa"],
+.heading h3 i[class^="fa"],
+.heading h4 i[class^="fa"],
+.heading h5 i[class^="fa"] {
display: inline-block;
background: #6aae7a;
width: 30px;
@@ -222,7 +218,7 @@ ul.list-style-none {
}
@media (min-width: 1300px) {
body.boxed {
- background: url(http://subtlepatterns.com/patterns/subtle_zebra_3d.png);
+ background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png);
}
body.boxed #all {
position: relative;
@@ -253,13 +249,15 @@ ul.list-style-none {
width: 24px;
height: 24px;
border-radius: 12px;
- line-height: 20px;
+ line-height: 24px;
font-size: 12px;
text-align: center;
- vertical-align: bottom;
}
#top .social a:hover {
color: #fff;
+ background: #6aae7a;
+ -webkit-transform: scale(1.1);
+ transform: scale(1.1);
}
#top .social a:hover.facebook {
background-color: #4460ae;
@@ -474,26 +472,24 @@ ul.list-style-none {
margin-left: 7px;
}
.navbar-affixed-top {
- top: -32px;
-}
-.navbar-affixed-top.affix-top {
- -webkit-transition: all 0.5s ease-out;
- -moz-transition: all 0.5s ease-out;
- transition: all 0.5s ease-out;
-}
-.navbar-affixed-top.affix {
- position: fixed;
- width: 100%;
top: 0;
z-index: 1000;
+ width: 100%;
+}
+.navbar-affixed-top.affix {
-webkit-box-shadow: 0 0 5px #cccccc;
box-shadow: 0 0 5px #cccccc;
- -webkit-transition: all 0.5s ease-out;
- -moz-transition: all 0.5s ease-out;
- transition: all 0.5s ease-out;
}
-body.boxed .navbar-affixed-top.affix {
- position: static;
+.navbar-affixed-top.affix + section {
+ margin-top: 62px;
+}
+@supports (position: sticky) {
+ .navbar-affixed-top {
+ position: sticky;
+ }
+ .navbar-affixed-top.affix + section {
+ margin-top: 0;
+ }
}
#login-modal {
overflow: hidden;
@@ -981,12 +977,19 @@ fieldset[disabled] .btn-template-primary.active {
letter-spacing: 0.08em;
font-weight: 700;
font-size: 12px;
+ text-decoration: none;
}
.panel.sidebar-menu ul.tag-cloud li a:hover {
color: #6aae7a;
- text-decoration: none;
border-color: #6aae7a;
}
+.panel.sidebar-menu ul.tag-cloud li.active a {
+ color: #FFFFFF;
+ background-color: #6aae7a;
+}
+.panel.sidebar-menu ul.tag-cloud li.active a:hover {
+ color: #FFFFFF;
+}
.panel.sidebar-menu ul.popular,
.panel.sidebar-menu ul.recent {
list-style: none;
@@ -1726,7 +1729,7 @@ fieldset[disabled] .btn-template-primary.active {
border: none;
}
#heading-breadcrumbs {
- background: url('../img/texture-bw.png') center center repeat;
+ background: url('../img/texture-green.png') center center repeat;
padding: 20px 0;
margin-bottom: 40px;
}
@@ -1755,7 +1758,7 @@ fieldset[disabled] .btn-template-primary.active {
padding: 60px 0;
}
.bar.background-pentagon {
- background: url('../img/texture-bw.png') center center repeat;
+ background: url('../img/texture-green.png') center center repeat;
border-top: solid 1px #999999;
border-bottom: solid 1px #999999;
}
@@ -3529,7 +3532,7 @@ a.list-group-item.active > .badge,
/*!
* Yamm!3 - Yet another megamenu for Bootstrap 3
* http://geedmo.github.com/yamm3
- *
+ *
* @geedmo - Licensed under the MIT license
*/
.yamm .nav,
diff --git a/static/css/style.marsala.css b/static/css/style.marsala.css
index b5ace6c..0296cb5 100644
--- a/static/css/style.marsala.css
+++ b/static/css/style.marsala.css
@@ -55,10 +55,6 @@ button {
-moz-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;
}
-a i.fa,
-button i.fa {
- margin: 0 5px;
-}
.clickable {
cursor: pointer !important;
}
@@ -107,11 +103,11 @@ div.section {
text-transform: uppercase;
letter-spacing: 0.06em;
}
-.heading h1 i.fa,
-.heading h2 i.fa,
-.heading h3 i.fa,
-.heading h4 i.fa,
-.heading h5 i.fa {
+.heading h1 i[class^="fa"],
+.heading h2 i[class^="fa"],
+.heading h3 i[class^="fa"],
+.heading h4 i[class^="fa"],
+.heading h5 i[class^="fa"] {
display: inline-block;
background: #955251;
width: 30px;
@@ -222,7 +218,7 @@ ul.list-style-none {
}
@media (min-width: 1300px) {
body.boxed {
- background: url(http://subtlepatterns.com/patterns/subtle_zebra_3d.png);
+ background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png);
}
body.boxed #all {
position: relative;
@@ -253,13 +249,15 @@ ul.list-style-none {
width: 24px;
height: 24px;
border-radius: 12px;
- line-height: 20px;
+ line-height: 24px;
font-size: 12px;
text-align: center;
- vertical-align: bottom;
}
#top .social a:hover {
color: #fff;
+ background: #955251;
+ -webkit-transform: scale(1.1);
+ transform: scale(1.1);
}
#top .social a:hover.facebook {
background-color: #4460ae;
@@ -474,26 +472,24 @@ ul.list-style-none {
margin-left: 7px;
}
.navbar-affixed-top {
- top: -32px;
-}
-.navbar-affixed-top.affix-top {
- -webkit-transition: all 0.5s ease-out;
- -moz-transition: all 0.5s ease-out;
- transition: all 0.5s ease-out;
-}
-.navbar-affixed-top.affix {
- position: fixed;
- width: 100%;
top: 0;
z-index: 1000;
+ width: 100%;
+}
+.navbar-affixed-top.affix {
-webkit-box-shadow: 0 0 5px #cccccc;
box-shadow: 0 0 5px #cccccc;
- -webkit-transition: all 0.5s ease-out;
- -moz-transition: all 0.5s ease-out;
- transition: all 0.5s ease-out;
}
-body.boxed .navbar-affixed-top.affix {
- position: static;
+.navbar-affixed-top.affix + section {
+ margin-top: 62px;
+}
+@supports (position: sticky) {
+ .navbar-affixed-top {
+ position: sticky;
+ }
+ .navbar-affixed-top.affix + section {
+ margin-top: 0;
+ }
}
#login-modal {
overflow: hidden;
@@ -981,12 +977,19 @@ fieldset[disabled] .btn-template-primary.active {
letter-spacing: 0.08em;
font-weight: 700;
font-size: 12px;
+ text-decoration: none;
}
.panel.sidebar-menu ul.tag-cloud li a:hover {
color: #955251;
- text-decoration: none;
border-color: #955251;
}
+.panel.sidebar-menu ul.tag-cloud li.active a {
+ color: #FFFFFF;
+ background-color: #955251;
+}
+.panel.sidebar-menu ul.tag-cloud li.active a:hover {
+ color: #FFFFFF;
+}
.panel.sidebar-menu ul.popular,
.panel.sidebar-menu ul.recent {
list-style: none;
@@ -3529,7 +3532,7 @@ a.list-group-item.active > .badge,
/*!
* Yamm!3 - Yet another megamenu for Bootstrap 3
* http://geedmo.github.com/yamm3
- *
+ *
* @geedmo - Licensed under the MIT license
*/
.yamm .nav,
diff --git a/static/css/style.pink.css b/static/css/style.pink.css
index adc2599..38e0eac 100644
--- a/static/css/style.pink.css
+++ b/static/css/style.pink.css
@@ -55,10 +55,6 @@ button {
-moz-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;
}
-a i.fa,
-button i.fa {
- margin: 0 5px;
-}
.clickable {
cursor: pointer !important;
}
@@ -107,11 +103,11 @@ div.section {
text-transform: uppercase;
letter-spacing: 0.06em;
}
-.heading h1 i.fa,
-.heading h2 i.fa,
-.heading h3 i.fa,
-.heading h4 i.fa,
-.heading h5 i.fa {
+.heading h1 i[class^="fa"],
+.heading h2 i[class^="fa"],
+.heading h3 i[class^="fa"],
+.heading h4 i[class^="fa"],
+.heading h5 i[class^="fa"] {
display: inline-block;
background: #c27baa;
width: 30px;
@@ -222,7 +218,7 @@ ul.list-style-none {
}
@media (min-width: 1300px) {
body.boxed {
- background: url(http://subtlepatterns.com/patterns/subtle_zebra_3d.png);
+ background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png);
}
body.boxed #all {
position: relative;
@@ -253,13 +249,15 @@ ul.list-style-none {
width: 24px;
height: 24px;
border-radius: 12px;
- line-height: 20px;
+ line-height: 24px;
font-size: 12px;
text-align: center;
- vertical-align: bottom;
}
#top .social a:hover {
color: #fff;
+ background: #c27baa;
+ -webkit-transform: scale(1.1);
+ transform: scale(1.1);
}
#top .social a:hover.facebook {
background-color: #4460ae;
@@ -474,26 +472,24 @@ ul.list-style-none {
margin-left: 7px;
}
.navbar-affixed-top {
- top: -32px;
-}
-.navbar-affixed-top.affix-top {
- -webkit-transition: all 0.5s ease-out;
- -moz-transition: all 0.5s ease-out;
- transition: all 0.5s ease-out;
-}
-.navbar-affixed-top.affix {
- position: fixed;
- width: 100%;
top: 0;
z-index: 1000;
+ width: 100%;
+}
+.navbar-affixed-top.affix {
-webkit-box-shadow: 0 0 5px #cccccc;
box-shadow: 0 0 5px #cccccc;
- -webkit-transition: all 0.5s ease-out;
- -moz-transition: all 0.5s ease-out;
- transition: all 0.5s ease-out;
}
-body.boxed .navbar-affixed-top.affix {
- position: static;
+.navbar-affixed-top.affix + section {
+ margin-top: 62px;
+}
+@supports (position: sticky) {
+ .navbar-affixed-top {
+ position: sticky;
+ }
+ .navbar-affixed-top.affix + section {
+ margin-top: 0;
+ }
}
#login-modal {
overflow: hidden;
@@ -981,12 +977,19 @@ fieldset[disabled] .btn-template-primary.active {
letter-spacing: 0.08em;
font-weight: 700;
font-size: 12px;
+ text-decoration: none;
}
.panel.sidebar-menu ul.tag-cloud li a:hover {
color: #c27baa;
- text-decoration: none;
border-color: #c27baa;
}
+.panel.sidebar-menu ul.tag-cloud li.active a {
+ color: #FFFFFF;
+ background-color: #c27baa;
+}
+.panel.sidebar-menu ul.tag-cloud li.active a:hover {
+ color: #FFFFFF;
+}
.panel.sidebar-menu ul.popular,
.panel.sidebar-menu ul.recent {
list-style: none;
@@ -3529,7 +3532,7 @@ a.list-group-item.active > .badge,
/*!
* Yamm!3 - Yet another megamenu for Bootstrap 3
* http://geedmo.github.com/yamm3
- *
+ *
* @geedmo - Licensed under the MIT license
*/
.yamm .nav,
diff --git a/static/css/style.red.css b/static/css/style.red.css
index b416bbd..0a914e5 100644
--- a/static/css/style.red.css
+++ b/static/css/style.red.css
@@ -55,10 +55,6 @@ button {
-moz-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;
}
-a i.fa,
-button i.fa {
- margin: 0 5px;
-}
.clickable {
cursor: pointer !important;
}
@@ -107,11 +103,11 @@ div.section {
text-transform: uppercase;
letter-spacing: 0.06em;
}
-.heading h1 i.fa,
-.heading h2 i.fa,
-.heading h3 i.fa,
-.heading h4 i.fa,
-.heading h5 i.fa {
+.heading h1 i[class^="fa"],
+.heading h2 i[class^="fa"],
+.heading h3 i[class^="fa"],
+.heading h4 i[class^="fa"],
+.heading h5 i[class^="fa"] {
display: inline-block;
background: #da4d4d;
width: 30px;
@@ -222,7 +218,7 @@ ul.list-style-none {
}
@media (min-width: 1300px) {
body.boxed {
- background: url(http://subtlepatterns.com/patterns/subtle_zebra_3d.png);
+ background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png);
}
body.boxed #all {
position: relative;
@@ -253,13 +249,15 @@ ul.list-style-none {
width: 24px;
height: 24px;
border-radius: 12px;
- line-height: 20px;
+ line-height: 24px;
font-size: 12px;
text-align: center;
- vertical-align: bottom;
}
#top .social a:hover {
color: #fff;
+ background: #da4d4d;
+ -webkit-transform: scale(1.1);
+ transform: scale(1.1);
}
#top .social a:hover.facebook {
background-color: #4460ae;
@@ -474,26 +472,24 @@ ul.list-style-none {
margin-left: 7px;
}
.navbar-affixed-top {
- top: -32px;
-}
-.navbar-affixed-top.affix-top {
- -webkit-transition: all 0.5s ease-out;
- -moz-transition: all 0.5s ease-out;
- transition: all 0.5s ease-out;
-}
-.navbar-affixed-top.affix {
- position: fixed;
- width: 100%;
top: 0;
z-index: 1000;
+ width: 100%;
+}
+.navbar-affixed-top.affix {
-webkit-box-shadow: 0 0 5px #cccccc;
box-shadow: 0 0 5px #cccccc;
- -webkit-transition: all 0.5s ease-out;
- -moz-transition: all 0.5s ease-out;
- transition: all 0.5s ease-out;
}
-body.boxed .navbar-affixed-top.affix {
- position: static;
+.navbar-affixed-top.affix + section {
+ margin-top: 62px;
+}
+@supports (position: sticky) {
+ .navbar-affixed-top {
+ position: sticky;
+ }
+ .navbar-affixed-top.affix + section {
+ margin-top: 0;
+ }
}
#login-modal {
overflow: hidden;
@@ -981,12 +977,19 @@ fieldset[disabled] .btn-template-primary.active {
letter-spacing: 0.08em;
font-weight: 700;
font-size: 12px;
+ text-decoration: none;
}
.panel.sidebar-menu ul.tag-cloud li a:hover {
color: #da4d4d;
- text-decoration: none;
border-color: #da4d4d;
}
+.panel.sidebar-menu ul.tag-cloud li.active a {
+ color: #FFFFFF;
+ background-color: #da4d4d;
+}
+.panel.sidebar-menu ul.tag-cloud li.active a:hover {
+ color: #FFFFFF;
+}
.panel.sidebar-menu ul.popular,
.panel.sidebar-menu ul.recent {
list-style: none;
@@ -3529,7 +3532,7 @@ a.list-group-item.active > .badge,
/*!
* Yamm!3 - Yet another megamenu for Bootstrap 3
* http://geedmo.github.com/yamm3
- *
+ *
* @geedmo - Licensed under the MIT license
*/
.yamm .nav,
diff --git a/static/css/style.turquoise.css b/static/css/style.turquoise.css
index 2697895..752c2e5 100644
--- a/static/css/style.turquoise.css
+++ b/static/css/style.turquoise.css
@@ -55,10 +55,6 @@ button {
-moz-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;
}
-a i.fa,
-button i.fa {
- margin: 0 5px;
-}
.clickable {
cursor: pointer !important;
}
@@ -107,11 +103,11 @@ div.section {
text-transform: uppercase;
letter-spacing: 0.06em;
}
-.heading h1 i.fa,
-.heading h2 i.fa,
-.heading h3 i.fa,
-.heading h4 i.fa,
-.heading h5 i.fa {
+.heading h1 i[class^="fa"],
+.heading h2 i[class^="fa"],
+.heading h3 i[class^="fa"],
+.heading h4 i[class^="fa"],
+.heading h5 i[class^="fa"] {
display: inline-block;
background: #4fbfa8;
width: 30px;
@@ -222,7 +218,7 @@ ul.list-style-none {
}
@media (min-width: 1300px) {
body.boxed {
- background: url(http://subtlepatterns.com/patterns/subtle_zebra_3d.png);
+ background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png);
}
body.boxed #all {
position: relative;
@@ -253,13 +249,15 @@ ul.list-style-none {
width: 24px;
height: 24px;
border-radius: 12px;
- line-height: 20px;
+ line-height: 24px;
font-size: 12px;
text-align: center;
- vertical-align: bottom;
}
#top .social a:hover {
color: #fff;
+ background: #4fbfa8;
+ -webkit-transform: scale(1.1);
+ transform: scale(1.1);
}
#top .social a:hover.facebook {
background-color: #4460ae;
@@ -474,26 +472,24 @@ ul.list-style-none {
margin-left: 7px;
}
.navbar-affixed-top {
- top: -32px;
-}
-.navbar-affixed-top.affix-top {
- -webkit-transition: all 0.5s ease-out;
- -moz-transition: all 0.5s ease-out;
- transition: all 0.5s ease-out;
-}
-.navbar-affixed-top.affix {
- position: fixed;
- width: 100%;
top: 0;
z-index: 1000;
+ width: 100%;
+}
+.navbar-affixed-top.affix {
-webkit-box-shadow: 0 0 5px #cccccc;
box-shadow: 0 0 5px #cccccc;
- -webkit-transition: all 0.5s ease-out;
- -moz-transition: all 0.5s ease-out;
- transition: all 0.5s ease-out;
}
-body.boxed .navbar-affixed-top.affix {
- position: static;
+.navbar-affixed-top.affix + section {
+ margin-top: 62px;
+}
+@supports (position: sticky) {
+ .navbar-affixed-top {
+ position: sticky;
+ }
+ .navbar-affixed-top.affix + section {
+ margin-top: 0;
+ }
}
#login-modal {
overflow: hidden;
@@ -981,12 +977,19 @@ fieldset[disabled] .btn-template-primary.active {
letter-spacing: 0.08em;
font-weight: 700;
font-size: 12px;
+ text-decoration: none;
}
.panel.sidebar-menu ul.tag-cloud li a:hover {
color: #4fbfa8;
- text-decoration: none;
border-color: #4fbfa8;
}
+.panel.sidebar-menu ul.tag-cloud li.active a {
+ color: #FFFFFF;
+ background-color: #4fbfa8;
+}
+.panel.sidebar-menu ul.tag-cloud li.active a:hover {
+ color: #FFFFFF;
+}
.panel.sidebar-menu ul.popular,
.panel.sidebar-menu ul.recent {
list-style: none;
@@ -1726,7 +1729,7 @@ fieldset[disabled] .btn-template-primary.active {
border: none;
}
#heading-breadcrumbs {
- background: url('../img/texture-bw.png') center center repeat;
+ background: url('../img/texture-turquoise.png') center center repeat;
padding: 20px 0;
margin-bottom: 40px;
}
@@ -1755,7 +1758,7 @@ fieldset[disabled] .btn-template-primary.active {
padding: 60px 0;
}
.bar.background-pentagon {
- background: url('../img/texture-bw.png') center center repeat;
+ background: url('../img/texture-turquoise.png') center center repeat;
border-top: solid 1px #999999;
border-bottom: solid 1px #999999;
}
@@ -3529,7 +3532,7 @@ a.list-group-item.active > .badge,
/*!
* Yamm!3 - Yet another megamenu for Bootstrap 3
* http://geedmo.github.com/yamm3
- *
+ *
* @geedmo - Licensed under the MIT license
*/
.yamm .nav,
diff --git a/static/css/style.violet.css b/static/css/style.violet.css
index 55df0ba..9484569 100644
--- a/static/css/style.violet.css
+++ b/static/css/style.violet.css
@@ -55,10 +55,6 @@ button {
-moz-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;
}
-a i.fa,
-button i.fa {
- margin: 0 5px;
-}
.clickable {
cursor: pointer !important;
}
@@ -107,11 +103,11 @@ div.section {
text-transform: uppercase;
letter-spacing: 0.06em;
}
-.heading h1 i.fa,
-.heading h2 i.fa,
-.heading h3 i.fa,
-.heading h4 i.fa,
-.heading h5 i.fa {
+.heading h1 i[class^="fa"],
+.heading h2 i[class^="fa"],
+.heading h3 i[class^="fa"],
+.heading h4 i[class^="fa"],
+.heading h5 i[class^="fa"] {
display: inline-block;
background: #986dbd;
width: 30px;
@@ -222,7 +218,7 @@ ul.list-style-none {
}
@media (min-width: 1300px) {
body.boxed {
- background: url(http://subtlepatterns.com/patterns/subtle_zebra_3d.png);
+ background: url(https://www.toptal.com/designers/subtlepatterns/patterns/subtle_zebra_3d.png);
}
body.boxed #all {
position: relative;
@@ -253,13 +249,15 @@ ul.list-style-none {
width: 24px;
height: 24px;
border-radius: 12px;
- line-height: 20px;
+ line-height: 24px;
font-size: 12px;
text-align: center;
- vertical-align: bottom;
}
#top .social a:hover {
color: #fff;
+ background: #986dbd;
+ -webkit-transform: scale(1.1);
+ transform: scale(1.1);
}
#top .social a:hover.facebook {
background-color: #4460ae;
@@ -474,26 +472,24 @@ ul.list-style-none {
margin-left: 7px;
}
.navbar-affixed-top {
- top: -32px;
-}
-.navbar-affixed-top.affix-top {
- -webkit-transition: all 0.5s ease-out;
- -moz-transition: all 0.5s ease-out;
- transition: all 0.5s ease-out;
-}
-.navbar-affixed-top.affix {
- position: fixed;
- width: 100%;
top: 0;
z-index: 1000;
+ width: 100%;
+}
+.navbar-affixed-top.affix {
-webkit-box-shadow: 0 0 5px #cccccc;
box-shadow: 0 0 5px #cccccc;
- -webkit-transition: all 0.5s ease-out;
- -moz-transition: all 0.5s ease-out;
- transition: all 0.5s ease-out;
}
-body.boxed .navbar-affixed-top.affix {
- position: static;
+.navbar-affixed-top.affix + section {
+ margin-top: 62px;
+}
+@supports (position: sticky) {
+ .navbar-affixed-top {
+ position: sticky;
+ }
+ .navbar-affixed-top.affix + section {
+ margin-top: 0;
+ }
}
#login-modal {
overflow: hidden;
@@ -981,12 +977,19 @@ fieldset[disabled] .btn-template-primary.active {
letter-spacing: 0.08em;
font-weight: 700;
font-size: 12px;
+ text-decoration: none;
}
.panel.sidebar-menu ul.tag-cloud li a:hover {
color: #986dbd;
- text-decoration: none;
border-color: #986dbd;
}
+.panel.sidebar-menu ul.tag-cloud li.active a {
+ color: #FFFFFF;
+ background-color: #986dbd;
+}
+.panel.sidebar-menu ul.tag-cloud li.active a:hover {
+ color: #FFFFFF;
+}
.panel.sidebar-menu ul.popular,
.panel.sidebar-menu ul.recent {
list-style: none;
@@ -1726,7 +1729,7 @@ fieldset[disabled] .btn-template-primary.active {
border: none;
}
#heading-breadcrumbs {
- background: url('../img/texture-bw.png') center center repeat;
+ background: url('../img/texture-violet.png') center center repeat;
padding: 20px 0;
margin-bottom: 40px;
}
@@ -1755,7 +1758,7 @@ fieldset[disabled] .btn-template-primary.active {
padding: 60px 0;
}
.bar.background-pentagon {
- background: url('../img/texture-bw.png') center center repeat;
+ background: url('../img/texture-violet.png') center center repeat;
border-top: solid 1px #999999;
border-bottom: solid 1px #999999;
}
@@ -3529,7 +3532,7 @@ a.list-group-item.active > .badge,
/*!
* Yamm!3 - Yet another megamenu for Bootstrap 3
* http://geedmo.github.com/yamm3
- *
+ *
* @geedmo - Licensed under the MIT license
*/
.yamm .nav,
diff --git a/static/img/texture-green.png b/static/img/texture-green.png
new file mode 100644
index 0000000..21b9231
--- /dev/null
+++ b/static/img/texture-green.png
Binary files differ
diff --git a/static/js/front.js b/static/js/front.js
index 5f35807..c9f073a 100644
--- a/static/js/front.js
+++ b/static/js/front.js
@@ -19,12 +19,13 @@ $(function () {
animations()
counters()
demo()
- contactForm()
+ contactFormAjax()
})
// Ajax contact
-function contactForm () {
- var form = $('.contact-form')
+function contactFormAjax () {
+ var form = $('.contact-form-ajax')
+ if (typeof form === 'undefined') return false
form.submit(function () {
$this = $(this)
$.post($(this).attr('action'),
@@ -94,37 +95,31 @@ function sliderHomepage () {
function sliders () {
if ($('.owl-carousel').length) {
$('.customers').owlCarousel({
- items: 6,
+ items: ($('.customers').attr('data-items') || 6),
+ slideSpeed: ($('.customers').attr('data-slide-speed') || 2000),
+ paginationSpeed: ($('.customers').attr('data-pagination-speed') || 1000),
+ autoPlay: $('.customers').attr('data-autoplay') === 'true',
itemsDesktopSmall: [990, 4],
itemsTablet: [768, 2],
itemsMobile: [480, 1]
})
$('.testimonials').owlCarousel({
- items: 4,
+ items: ($('.testimonials').attr('data-items') || 4),
+ slideSpeed: ($('.testimonials').attr('data-slide-speed') || 2000),
+ paginationSpeed: ($('.testimonials').attr('data-pagination-speed') || 1000),
+ autoPlay: $('.testimonials').attr('data-autoplay') === 'true',
itemsDesktopSmall: [990, 3],
itemsTablet: [768, 2],
itemsMobile: [480, 1]
})
- $('.project').owlCarousel({
- navigation: true, // Show next and prev buttons
- navigationText: ['<i class="fa fa-angle-left"></i>', '<i class="fa fa-angle-right"></i>'],
- slideSpeed: 300,
- paginationSpeed: 400,
- autoPlay: true,
- stopOnHover: true,
- singleItem: true,
- afterInit: '',
- lazyLoad: true
- })
-
$('.homepage').owlCarousel({
navigation: false, // Show next and prev buttons
- navigationText: ['<i class="fa fa-angle-left"></i>', '<i class="fa fa-angle-right"></i>'],
- slideSpeed: 2000,
- paginationSpeed: 1000,
- autoPlay: true,
+ navigationText: ['<i class="fas fa-angle-left"></i>', '<i class="fas fa-angle-right"></i>'],
+ slideSpeed: ($('.homepage').attr('data-slide-speed') || 2000),
+ paginationSpeed: ($('.homepage').attr('data-pagination-speed') || 1000),
+ autoPlay: ($('.homepage').attr('data-autoplay') || 'true') === 'true',
stopOnHover: true,
singleItem: true,
lazyLoad: false,
@@ -221,7 +216,9 @@ function counters () {
function pictureZoom () {
$('.product .image, .post .image, .photostream div').each(function () {
var imgHeight = $(this).find('img').height()
- $(this).height(imgHeight)
+ if (imgHeight) {
+ $(this).height(imgHeight)
+ }
})
}
diff --git a/static/js/hpneo.gmaps.js b/static/js/hpneo.gmaps.js
index dd7b0ae..66b4959 100644
--- a/static/js/hpneo.gmaps.js
+++ b/static/js/hpneo.gmaps.js
@@ -1612,7 +1612,7 @@ GMaps.prototype.toImage = function(options) {
GMaps.staticMapURL = function(options){
var parameters = [],
data,
- static_root = 'http://maps.googleapis.com/maps/api/staticmap';
+ static_root = 'https://maps.googleapis.com/maps/api/staticmap';
if (options.url) {
static_root = options.url;