From a6df6d093cad672c90b3823496348f97efade1a1 Mon Sep 17 00:00:00 2001
From: Christopher Pickering
Date: Wed, 9 Feb 2022 10:13:56 -0600
Subject: [PATCH] added translation
---
docs/.eleventy.js | 16 +-
docs/package-lock.json | 908 ++++++++++--------
docs/package.json | 6 +-
docs/src/_data/i18n/index.js | 98 ++
docs/src/_includes/docs_layout.njk | 33 +-
docs/src/_includes/foot.njk | 4 +-
docs/src/_includes/index.njk | 169 ++++
docs/src/_includes/layout.njk | 11 +-
docs/src/_includes/nav.njk | 118 ++-
docs/src/_utils/scripts.11ty.js | 3 +-
docs/src/docs/changelog.md | 10 +-
docs/src/docs/formatter.md | 2 +-
docs/src/docs/integrations.md | 4 +-
docs/src/index.njk | 171 +---
docs/src/ru/docs/best-practices.md | 75 ++
docs/src/ru/docs/changelog.md | 408 ++++++++
docs/src/ru/docs/configuration.md | 205 ++++
docs/src/ru/docs/docs.json | 3 +
docs/src/ru/docs/formatter.md | 119 +++
docs/src/ru/docs/getting-started.md | 81 ++
docs/src/ru/docs/integrations.md | 77 ++
docs/src/ru/docs/languages/angular.md | 29 +
docs/src/ru/docs/languages/django.md | 29 +
docs/src/ru/docs/languages/golang.md | 29 +
docs/src/ru/docs/languages/handlebars.md | 29 +
docs/src/ru/docs/languages/jinja.md | 29 +
docs/src/ru/docs/languages/languages.json | 3 +
docs/src/ru/docs/languages/mustache.md | 29 +
docs/src/ru/docs/languages/nunjucks.md | 29 +
docs/src/ru/docs/languages/twig.md | 29 +
docs/src/ru/docs/linter.md | 108 +++
docs/src/ru/index.njk | 4 +
docs/src/ru/ru.json | 4 +
docs/src/search/all.njk | 19 -
docs/src/search/update-algolia-index.js | 14 -
docs/src/static/css/site.scss | 3 +
.../static/font/fontawesome/stylesheet.scss | 1 +
docs/src/static/js/search.js | 95 --
38 files changed, 2195 insertions(+), 809 deletions(-)
create mode 100644 docs/src/_data/i18n/index.js
create mode 100644 docs/src/_includes/index.njk
create mode 100644 docs/src/ru/docs/best-practices.md
create mode 100644 docs/src/ru/docs/changelog.md
create mode 100644 docs/src/ru/docs/configuration.md
create mode 100644 docs/src/ru/docs/docs.json
create mode 100644 docs/src/ru/docs/formatter.md
create mode 100644 docs/src/ru/docs/getting-started.md
create mode 100644 docs/src/ru/docs/integrations.md
create mode 100644 docs/src/ru/docs/languages/angular.md
create mode 100644 docs/src/ru/docs/languages/django.md
create mode 100644 docs/src/ru/docs/languages/golang.md
create mode 100644 docs/src/ru/docs/languages/handlebars.md
create mode 100644 docs/src/ru/docs/languages/jinja.md
create mode 100644 docs/src/ru/docs/languages/languages.json
create mode 100644 docs/src/ru/docs/languages/mustache.md
create mode 100644 docs/src/ru/docs/languages/nunjucks.md
create mode 100644 docs/src/ru/docs/languages/twig.md
create mode 100644 docs/src/ru/docs/linter.md
create mode 100644 docs/src/ru/index.njk
create mode 100644 docs/src/ru/ru.json
delete mode 100644 docs/src/search/all.njk
delete mode 100644 docs/src/search/update-algolia-index.js
delete mode 100644 docs/src/static/js/search.js
diff --git a/docs/.eleventy.js b/docs/.eleventy.js
index 8ae8f2d..2843a19 100644
--- a/docs/.eleventy.js
+++ b/docs/.eleventy.js
@@ -3,7 +3,8 @@ const syntaxHighlight = require("@11ty/eleventy-plugin-syntaxhighlight");
const criticalCss = require("eleventy-critical-css");
const slugify = require("slugify");
const metagen = require("eleventy-plugin-metagen");
-
+const i18n = require('eleventy-plugin-i18n');
+const translations = require('./src/_data/i18n');
const fs = require('fs');
const outdent = require('outdent');
const schema = require("@quasibit/eleventy-plugin-schema");
@@ -141,6 +142,10 @@ module.exports = function(eleventyConfig) {
return JSON.stringify(text).replace(/(?:\\n\s*){2,}/g, "\\n");
});
+ eleventyConfig.addFilter("baseUrl", (text) => {
+ return text.replace(/(?:ru)\//g, "");
+ });
+
eleventyConfig.addFilter("niceDate", (value) => {
try{
const options = {year: 'numeric', month: 'short', day: 'numeric' };
@@ -188,9 +193,16 @@ module.exports = function(eleventyConfig) {
fontawesomeSubset({
brands:['discord', 'github'],
regular:['envelope', 'life-ring'],
- solid: ['arrow-circle-right', 'pencil-alt', 'envelope', 'share', 'infinity', 'search', 'book', 'project-diagram', 'heart', 'address-card', 'server', 'database', 'ship', 'code', 'chart-bar', 'sitemap', 'tasks', 'lock', 'sliders-h', 'user', 'users', 'compass', 'download', 'sync-alt']
+ solid: ['globe', 'arrow-circle-right', 'pencil-alt', 'envelope', 'share', 'infinity', 'search', 'book', 'project-diagram', 'heart', 'address-card', 'server', 'database', 'ship', 'code', 'chart-bar', 'sitemap', 'tasks', 'lock', 'sliders-h', 'user', 'users', 'compass', 'download', 'sync-alt']
}, '_site/static/font/fontawesome/webfonts');
+ eleventyConfig.addPlugin(i18n, {
+ translations,
+ fallbackLocales: {
+ '*': 'en-US'
+ }
+ });
+
return {
dir: {
input: "src",
diff --git a/docs/package-lock.json b/docs/package-lock.json
index 9dcda80..9a11be7 100644
--- a/docs/package-lock.json
+++ b/docs/package-lock.json
@@ -16,7 +16,9 @@
"@quasibit/eleventy-plugin-schema": "^1.6.0",
"@sindresorhus/slugify": "^2.1.0",
"animate-sass": "^0.8.2",
+ "animate.css": "github:animate-css/animate.css",
"eleventy-critical-css": "^1.1.0",
+ "eleventy-plugin-i18n": "^0.1.3",
"md5": "^2.3.0"
},
"devDependencies": {
@@ -31,9 +33,9 @@
"autoprefixer": "^10.4.2",
"bulma": "^0.9.3",
"bulma-pricingtable": "^0.2.0",
- "cssnano": "^5.0.16",
+ "cssnano": "^5.0.17",
"eleventy-plugin-metagen": "^1.5.2",
- "esbuild": "^0.14.18",
+ "esbuild": "^0.14.21",
"eslint": "^8.8.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-import": "^2.25.4",
@@ -1055,6 +1057,11 @@
"resolved": "https://registry.npmjs.org/animate-sass/-/animate-sass-0.8.2.tgz",
"integrity": "sha512-6sZ34dusqb1HdZLNpJUNaZc0CuuLgFI8SqlyaxbSSKE9zqfoNtOeO3IpVUCqvaSm/oMNH1VlEAsJlppjg+idKQ=="
},
+ "node_modules/animate.css": {
+ "version": "4.1.1",
+ "resolved": "git+ssh://git@github.com/animate-css/animate.css.git#b07baf2a0785c2a3c649e39ae962de65a2012951",
+ "license": "Hippocratic-2.1"
+ },
"node_modules/ansi-colors": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
@@ -2760,12 +2767,12 @@
}
},
"node_modules/cssnano": {
- "version": "5.0.16",
- "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.16.tgz",
- "integrity": "sha512-ryhRI9/B9VFCwPbb1z60LLK5/ldoExi7nwdnJzpkLZkm2/r7j2X3jfY+ZvDVJhC/0fPZlrAguYdHNFg0iglPKQ==",
+ "version": "5.0.17",
+ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.17.tgz",
+ "integrity": "sha512-fmjLP7k8kL18xSspeXTzRhaFtRI7DL9b8IcXR80JgtnWBpvAzHT7sCR/6qdn0tnxIaINUN6OEQu83wF57Gs3Xw==",
"dev": true,
"dependencies": {
- "cssnano-preset-default": "^5.1.11",
+ "cssnano-preset-default": "^5.1.12",
"lilconfig": "^2.0.3",
"yaml": "^1.10.2"
},
@@ -2781,40 +2788,40 @@
}
},
"node_modules/cssnano-preset-default": {
- "version": "5.1.11",
- "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.11.tgz",
- "integrity": "sha512-ETet5hqHxmzQq2ynXMOQofKuLm7VOjMiOB7E2zdtm/hSeCKlD9fabzIUV4GoPcRyJRHi+4kGf0vsfGYbQ4nmPw==",
+ "version": "5.1.12",
+ "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.12.tgz",
+ "integrity": "sha512-rO/JZYyjW1QNkWBxMGV28DW7d98UDLaF759frhli58QFehZ+D/LSmwQ2z/ylBAe2hUlsIWTq6NYGfQPq65EF9w==",
"dev": true,
"dependencies": {
"css-declaration-sorter": "^6.0.3",
- "cssnano-utils": "^3.0.1",
+ "cssnano-utils": "^3.0.2",
"postcss-calc": "^8.2.0",
- "postcss-colormin": "^5.2.4",
- "postcss-convert-values": "^5.0.3",
- "postcss-discard-comments": "^5.0.2",
- "postcss-discard-duplicates": "^5.0.2",
- "postcss-discard-empty": "^5.0.2",
- "postcss-discard-overridden": "^5.0.3",
- "postcss-merge-longhand": "^5.0.5",
- "postcss-merge-rules": "^5.0.5",
- "postcss-minify-font-values": "^5.0.3",
- "postcss-minify-gradients": "^5.0.5",
- "postcss-minify-params": "^5.0.4",
- "postcss-minify-selectors": "^5.1.2",
- "postcss-normalize-charset": "^5.0.2",
- "postcss-normalize-display-values": "^5.0.2",
- "postcss-normalize-positions": "^5.0.3",
- "postcss-normalize-repeat-style": "^5.0.3",
- "postcss-normalize-string": "^5.0.3",
- "postcss-normalize-timing-functions": "^5.0.2",
- "postcss-normalize-unicode": "^5.0.3",
- "postcss-normalize-url": "^5.0.4",
- "postcss-normalize-whitespace": "^5.0.3",
- "postcss-ordered-values": "^5.0.4",
- "postcss-reduce-initial": "^5.0.2",
- "postcss-reduce-transforms": "^5.0.3",
- "postcss-svgo": "^5.0.3",
- "postcss-unique-selectors": "^5.0.3"
+ "postcss-colormin": "^5.2.5",
+ "postcss-convert-values": "^5.0.4",
+ "postcss-discard-comments": "^5.0.3",
+ "postcss-discard-duplicates": "^5.0.3",
+ "postcss-discard-empty": "^5.0.3",
+ "postcss-discard-overridden": "^5.0.4",
+ "postcss-merge-longhand": "^5.0.6",
+ "postcss-merge-rules": "^5.0.6",
+ "postcss-minify-font-values": "^5.0.4",
+ "postcss-minify-gradients": "^5.0.6",
+ "postcss-minify-params": "^5.0.5",
+ "postcss-minify-selectors": "^5.1.3",
+ "postcss-normalize-charset": "^5.0.3",
+ "postcss-normalize-display-values": "^5.0.3",
+ "postcss-normalize-positions": "^5.0.4",
+ "postcss-normalize-repeat-style": "^5.0.4",
+ "postcss-normalize-string": "^5.0.4",
+ "postcss-normalize-timing-functions": "^5.0.3",
+ "postcss-normalize-unicode": "^5.0.4",
+ "postcss-normalize-url": "^5.0.5",
+ "postcss-normalize-whitespace": "^5.0.4",
+ "postcss-ordered-values": "^5.0.5",
+ "postcss-reduce-initial": "^5.0.3",
+ "postcss-reduce-transforms": "^5.0.4",
+ "postcss-svgo": "^5.0.4",
+ "postcss-unique-selectors": "^5.0.4"
},
"engines": {
"node": "^10 || ^12 || >=14.0"
@@ -2824,9 +2831,9 @@
}
},
"node_modules/cssnano-utils": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.1.tgz",
- "integrity": "sha512-VNCHL364lh++/ono+S3j9NlUK+d97KNkxI77NlqZU2W3xd2/qmyN61dsa47pTpb55zuU4G4lI7qFjAXZJH1OAQ==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.2.tgz",
+ "integrity": "sha512-KhprijuQv2sP4kT92sSQwhlK3SJTbDIsxcfIEySB0O+3m9esFOai7dP9bMx5enHAh2MwarVIcnwiWoOm01RIbQ==",
"dev": true,
"engines": {
"node": "^10 || ^12 || >=14.0"
@@ -3311,6 +3318,16 @@
"critical": "^4.0.1"
}
},
+ "node_modules/eleventy-plugin-i18n": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/eleventy-plugin-i18n/-/eleventy-plugin-i18n-0.1.3.tgz",
+ "integrity": "sha512-O4FtB4t7g0T3ujH3ciFGCyJ/r1CHzp33WYrDqgnX6s6KZ4R63CkN/RndRKU36ahWWUmF0BrLjQ+IDwj2ntsicw==",
+ "dependencies": {
+ "chalk": "^4.1.1",
+ "lodash.get": "^4.4.2",
+ "templite": "^1.1.0"
+ }
+ },
"node_modules/eleventy-plugin-metagen": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/eleventy-plugin-metagen/-/eleventy-plugin-metagen-1.5.2.tgz",
@@ -3667,9 +3684,9 @@
}
},
"node_modules/esbuild": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.18.tgz",
- "integrity": "sha512-vCUoISSltnX7ax01w70pWOSQT+e55o+2P/a+A9MSTukJAt3T4aDZajcjeG4fnZbkvOEv+dkKgdkvljz6vVQD4A==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.21.tgz",
+ "integrity": "sha512-7WEoNMBJdLN993dr9h0CpFHPRc3yFZD+EAVY9lg6syJJ12gc5fHq8d75QRExuhnMkT2DaRiIKFThRvDWP+fO+A==",
"dev": true,
"hasInstallScript": true,
"bin": {
@@ -3679,30 +3696,31 @@
"node": ">=12"
},
"optionalDependencies": {
- "esbuild-android-arm64": "0.14.18",
- "esbuild-darwin-64": "0.14.18",
- "esbuild-darwin-arm64": "0.14.18",
- "esbuild-freebsd-64": "0.14.18",
- "esbuild-freebsd-arm64": "0.14.18",
- "esbuild-linux-32": "0.14.18",
- "esbuild-linux-64": "0.14.18",
- "esbuild-linux-arm": "0.14.18",
- "esbuild-linux-arm64": "0.14.18",
- "esbuild-linux-mips64le": "0.14.18",
- "esbuild-linux-ppc64le": "0.14.18",
- "esbuild-linux-s390x": "0.14.18",
- "esbuild-netbsd-64": "0.14.18",
- "esbuild-openbsd-64": "0.14.18",
- "esbuild-sunos-64": "0.14.18",
- "esbuild-windows-32": "0.14.18",
- "esbuild-windows-64": "0.14.18",
- "esbuild-windows-arm64": "0.14.18"
+ "esbuild-android-arm64": "0.14.21",
+ "esbuild-darwin-64": "0.14.21",
+ "esbuild-darwin-arm64": "0.14.21",
+ "esbuild-freebsd-64": "0.14.21",
+ "esbuild-freebsd-arm64": "0.14.21",
+ "esbuild-linux-32": "0.14.21",
+ "esbuild-linux-64": "0.14.21",
+ "esbuild-linux-arm": "0.14.21",
+ "esbuild-linux-arm64": "0.14.21",
+ "esbuild-linux-mips64le": "0.14.21",
+ "esbuild-linux-ppc64le": "0.14.21",
+ "esbuild-linux-riscv64": "0.14.21",
+ "esbuild-linux-s390x": "0.14.21",
+ "esbuild-netbsd-64": "0.14.21",
+ "esbuild-openbsd-64": "0.14.21",
+ "esbuild-sunos-64": "0.14.21",
+ "esbuild-windows-32": "0.14.21",
+ "esbuild-windows-64": "0.14.21",
+ "esbuild-windows-arm64": "0.14.21"
}
},
"node_modules/esbuild-android-arm64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.18.tgz",
- "integrity": "sha512-AuE8vIwc6QLquwykyscFk0Ji3RFczoOvjka64FJlcjLLhD6VsS584RYlQrSnPpRkv69PunUvyrBoEF7JFTJijg==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.21.tgz",
+ "integrity": "sha512-Bqgld1TY0wZv8TqiQmVxQFgYzz8ZmyzT7clXBDZFkOOdRybzsnj8AZuK1pwcLVA7Ya6XncHgJqIao7NFd3s0RQ==",
"cpu": [
"arm64"
],
@@ -3716,9 +3734,9 @@
}
},
"node_modules/esbuild-darwin-64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.18.tgz",
- "integrity": "sha512-nN1XziZtDy8QYOggaXC3zu0vVh8YJpS8Bol7bHaxx0enTLDSFBCXUUJEKYpmAAJ4OZRPgjXv8NzEHHQWQvLzXg==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.21.tgz",
+ "integrity": "sha512-j+Eg+e13djzyYINVvAbOo2/zvZ2DivuJJTaBrJnJHSD7kUNuGHRkHoSfFjbI80KHkn091w350wdmXDNSgRjfYQ==",
"cpu": [
"x64"
],
@@ -3732,9 +3750,9 @@
}
},
"node_modules/esbuild-darwin-arm64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.18.tgz",
- "integrity": "sha512-v0i2n6TCsbxco/W1fN8RgQt3RW00Q9zJO2eqiAdmLWg6Hx0HNHloZyfhF11i7nMUUgW8r5n++ZweIXjAFPE/gQ==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.21.tgz",
+ "integrity": "sha512-nDNTKWDPI0RuoPj5BhcSB2z5EmZJJAyRtZLIjyXSqSpAyoB8eyAKXl4lB8U2P78Fnh4Lh1le/fmpewXE04JhBQ==",
"cpu": [
"arm64"
],
@@ -3748,9 +3766,9 @@
}
},
"node_modules/esbuild-freebsd-64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.18.tgz",
- "integrity": "sha512-XLyJZTWbSuQJOqw867tBxvto6GjxULvWZYKs6RFHYQPCqgQ0ODLRtBmp4Fqqpde52yOe45npaaoup9IXNfr32A==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.21.tgz",
+ "integrity": "sha512-zIurkCHXhxELiDZtLGiexi8t8onQc2LtuE+S7457H/pP0g0MLRKMrsn/IN4LDkNe6lvBjuoZZi2OfelOHn831g==",
"cpu": [
"x64"
],
@@ -3764,9 +3782,9 @@
}
},
"node_modules/esbuild-freebsd-arm64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.18.tgz",
- "integrity": "sha512-0ItfrR8hePnDcUXxUQxY+VfICcBfeMJCdK6mcNUXnXw6LyHjyUYXWpFXF+J18pg1/YUWRWO1HbsJ7FEwELcQIA==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.21.tgz",
+ "integrity": "sha512-wdxMmkJfbwcN+q85MpeUEamVZ40FNsBa9mPq8tAszDn8TRT2HoJvVRADPIIBa9SWWwlDChIMjkDKAnS3KS/sPA==",
"cpu": [
"arm64"
],
@@ -3780,9 +3798,9 @@
}
},
"node_modules/esbuild-linux-32": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.18.tgz",
- "integrity": "sha512-mnG84D9NsEsoQdBpBT0IsFjm5iAwnd81SP4tRMXZLl09lPvIWjHHSq6LDlb4+L5H5K5y68WC//X5Dr2MtNY3DQ==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.21.tgz",
+ "integrity": "sha512-fmxvyzOPPh2xiEHojpCeIQP6pXcoKsWbz3ryDDIKLOsk4xp3GbpHIEAWP0xTeuhEbendmvBDVKbAVv3PnODXLg==",
"cpu": [
"ia32"
],
@@ -3796,9 +3814,9 @@
}
},
"node_modules/esbuild-linux-64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.18.tgz",
- "integrity": "sha512-HvExRtkeA8l/p+7Lf6aBrnLH+jTCFJTUMJxGKExh2RD8lCXGTeDJFyP+BOEetP80fuuH+Syj79+LVQ9MihdBsg==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.21.tgz",
+ "integrity": "sha512-edZyNOv1ql+kpmlzdqzzDjRQYls+tSyi4QFi+PdBhATJFUqHsnNELWA9vMSzAaInPOEaVUTA5Ml28XFChcy4DA==",
"cpu": [
"x64"
],
@@ -3812,9 +3830,9 @@
}
},
"node_modules/esbuild-linux-arm": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.18.tgz",
- "integrity": "sha512-+ZL8xfXVNaeaZ2Kxqlw2VYZWRDZ7NSK4zOV9GKNAtkkWURLsPUU84aUOBatRe9BH1O5FDo3LLQSlaA04ed6lhA==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.21.tgz",
+ "integrity": "sha512-aSU5pUueK6afqmLQsbU+QcFBT62L+4G9hHMJDHWfxgid6hzhSmfRH9U/f+ymvxsSTr/HFRU4y7ox8ZyhlVl98w==",
"cpu": [
"arm"
],
@@ -3828,9 +3846,9 @@
}
},
"node_modules/esbuild-linux-arm64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.18.tgz",
- "integrity": "sha512-CCWmilODE1ckw+M7RVqoqKWA4UB0alCyK2bv0ikEeEAwkzinlJeoe94t9CnT/ECSQ2sL+C16idsr+aUviGp7sg==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.21.tgz",
+ "integrity": "sha512-t5qxRkq4zdQC0zXpzSB2bTtfLgOvR0C6BXYaRE/6/k8/4SrkZcTZBeNu+xGvwCU4b5dU9ST9pwIWkK6T1grS8g==",
"cpu": [
"arm64"
],
@@ -3844,9 +3862,9 @@
}
},
"node_modules/esbuild-linux-mips64le": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.18.tgz",
- "integrity": "sha512-8LjO4+6Vxz5gbyCHO4OONYMF689nLderCtzb8lG1Bncs4ZXHpo6bjvuWeTMRbGUkvAhp+P6hMTzia7RHOC53wQ==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.21.tgz",
+ "integrity": "sha512-jLZLQGCNlUsmIHtGqNvBs3zN+7a4D9ckf0JZ+jQTwHdZJ1SgV9mAjbB980OFo66LoY+WeM7t3WEnq3FjI1zw4A==",
"cpu": [
"mips64el"
],
@@ -3860,9 +3878,9 @@
}
},
"node_modules/esbuild-linux-ppc64le": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.18.tgz",
- "integrity": "sha512-0OJk/6iYEmF1J7LXY6+cqf6Ga5vG4an7n1nubTKce7kYqaTyNGfYcTjDZce6lnDVlZTJtwntIMszq1+ZX7Kenw==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.21.tgz",
+ "integrity": "sha512-4TWxpK391en2UBUw6GSrukToTDu6lL9vkm3Ll40HrI08WG3qcnJu7bl8e1+GzelDsiw1QmfAY/nNvJ6iaHRpCQ==",
"cpu": [
"ppc64"
],
@@ -3875,10 +3893,26 @@
"node": ">=12"
}
},
+ "node_modules/esbuild-linux-riscv64": {
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.21.tgz",
+ "integrity": "sha512-fElngqOaOfTsF+u+oetDLHsPG74vB2ZaGZUqmGefAJn3a5z9Z2pNa4WpVbbKgHpaAAy5tWM1m1sbGohj6Ki6+Q==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/esbuild-linux-s390x": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.18.tgz",
- "integrity": "sha512-UNY7YKZHjY31KcNanJK4QaT2/aoIQyS+jViP3QuDRIoYAogRnc6WydylzIkkEzGMaC4fzaXOmQ8fxwpLAXK4Yg==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.21.tgz",
+ "integrity": "sha512-brleZ6R5fYv0qQ7ZBwenQmP6i9TdvJCB092c/3D3pTLQHBGHJb5zWgKxOeS7bdHzmLy6a6W7GbFk6QKpjyD6QA==",
"cpu": [
"s390x"
],
@@ -3892,9 +3926,9 @@
}
},
"node_modules/esbuild-netbsd-64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.18.tgz",
- "integrity": "sha512-wE/2xT9KNzLCfEBw24YbVmMmXH92cFIzrRPUlwWH9dIizjvEYYcyQ+peTMVkqzUum7pdlVLZ2CDDqAaZo/nW/w==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.21.tgz",
+ "integrity": "sha512-nCEgsLCQ8RoFWVV8pVI+kX66ICwbPP/M9vEa0NJGIEB/Vs5sVGMqkf67oln90XNSkbc0bPBDuo4G6FxlF7PN8g==",
"cpu": [
"x64"
],
@@ -3908,9 +3942,9 @@
}
},
"node_modules/esbuild-openbsd-64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.18.tgz",
- "integrity": "sha512-vdymE2jyuH/FRmTvrguCYSrq81/rUwuhMYyvt/6ibv9ac7xQ674c8qTdT+RH73sR9/2WUD/NsYxrBA/wUVTxcg==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.21.tgz",
+ "integrity": "sha512-h9zLMyVD0T73MDTVYIb/qUTokwI6EJH9O6wESuTNq6+XpMSr6C5aYZ4fvFKdNELW+Xsod+yDS2hV2JTUAbFrLA==",
"cpu": [
"x64"
],
@@ -3924,9 +3958,9 @@
}
},
"node_modules/esbuild-sunos-64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.18.tgz",
- "integrity": "sha512-X/Tesy6K1MdJF1d5cbzFDxrIMMn0ye+VgTQRI8P5Vo2CcKxOdckwsKUwpRAvg+VDZ6MxrSOTYS9OOoggPUjxTg==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.21.tgz",
+ "integrity": "sha512-Kl+7Cot32qd9oqpLdB1tEGXEkjBlijrIxMJ0+vlDFaqsODutif25on0IZlFxEBtL2Gosd4p5WCV1U7UskNQfXA==",
"cpu": [
"x64"
],
@@ -3940,9 +3974,9 @@
}
},
"node_modules/esbuild-windows-32": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.18.tgz",
- "integrity": "sha512-glG23I/JzCL4lu7DWFUtVwqFwNwlL0g+ks+mcjjUisHcINoSXTeCNToUN0bHhzn6IlXXnggNQ38Ew/idHPM8+g==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.21.tgz",
+ "integrity": "sha512-V7vnTq67xPBUCk/9UtlolmQ798Ecjdr1ZoI1vcSgw7M82aSSt0eZdP6bh5KAFZU8pxDcx3qoHyWQfHYr11f22A==",
"cpu": [
"ia32"
],
@@ -3956,9 +3990,9 @@
}
},
"node_modules/esbuild-windows-64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.18.tgz",
- "integrity": "sha512-zEiFKHgV/3z14wsVamV98/5mxeOwz+ecyg0pD3fWcBz9j4EOIT1Tg47axypD4QLwiKFvve9mUBYX1cD99qxOyw==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.21.tgz",
+ "integrity": "sha512-kDgHjKOHwjfJDCyRGELzVxiP/RBJBTA+wyspf78MTTJQkyPuxH2vChReNdWc+dU2S4gIZFHMdP1Qrl/k22ZmaA==",
"cpu": [
"x64"
],
@@ -3972,9 +4006,9 @@
}
},
"node_modules/esbuild-windows-arm64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.18.tgz",
- "integrity": "sha512-Mh8lZFcPLat13dABN7lZThGUOn9YxoH5RYkhBq0U3WqQohHzKRhllYh7ibFixnkpMLnv8OZEbl8bGLMy03MpfA==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.21.tgz",
+ "integrity": "sha512-8Sbo0zpzgwWrwjQYLmHF78f7E2xg5Ve63bjB2ng3V2aManilnnTGaliq2snYg+NOX60+hEvJHRdVnuIAHW0lVw==",
"cpu": [
"arm64"
],
@@ -6583,6 +6617,11 @@
"resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz",
"integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM="
},
+ "node_modules/lodash.get": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
+ "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk="
+ },
"node_modules/lodash.isfinite": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz",
@@ -8072,13 +8111,13 @@
}
},
"node_modules/postcss-calc": {
- "version": "8.2.2",
- "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.2.tgz",
- "integrity": "sha512-B5R0UeB4zLJvxNt1FVCaDZULdzsKLPc6FhjFJ+xwFiq7VG4i9cuaJLxVjNtExNK8ocm3n2o4unXXLiVX1SCqxA==",
+ "version": "8.2.4",
+ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz",
+ "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==",
"dev": true,
"dependencies": {
- "postcss-selector-parser": "^6.0.2",
- "postcss-value-parser": "^4.0.2"
+ "postcss-selector-parser": "^6.0.9",
+ "postcss-value-parser": "^4.2.0"
},
"peerDependencies": {
"postcss": "^8.2.2"
@@ -8269,9 +8308,9 @@
}
},
"node_modules/postcss-colormin": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.4.tgz",
- "integrity": "sha512-rYlC5015aNqVQt/B6Cy156g7sH5tRUJGmT9xeagYthtKehetbKx7jHxhyLpulP4bs4vbp8u/B2rac0J7S7qPQg==",
+ "version": "5.2.5",
+ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.5.tgz",
+ "integrity": "sha512-+X30aDaGYq81mFqwyPpnYInsZQnNpdxMX0ajlY7AExCexEFkPVV+KrO7kXwayqEWL2xwEbNQ4nUO0ZsRWGnevg==",
"dev": true,
"dependencies": {
"browserslist": "^4.16.6",
@@ -8287,9 +8326,9 @@
}
},
"node_modules/postcss-convert-values": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.3.tgz",
- "integrity": "sha512-fVkjHm2T0PSMqXUCIhHNWVGjhB9mHEWX2GboVs7j3iCgr6FpIl9c/IdXy0PHWZSQ9LFTRgmj98amxJE6KOnlsA==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.4.tgz",
+ "integrity": "sha512-bugzSAyjIexdObovsPZu/sBCTHccImJxLyFgeV0MmNBm/Lw5h5XnjfML6gzEmJ3A6nyfCW7hb1JXzcsA4Zfbdw==",
"dev": true,
"dependencies": {
"postcss-value-parser": "^4.2.0"
@@ -8316,9 +8355,9 @@
}
},
"node_modules/postcss-discard-comments": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.2.tgz",
- "integrity": "sha512-6VQ3pYTsJHEsN2Bic88Aa7J/Brn4Bv8j/rqaFQZkH+pcVkKYwxCIvoMQkykEW7fBjmofdTnQgcivt5CCBJhtrg==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.3.tgz",
+ "integrity": "sha512-6W5BemziRoqIdAKT+1QjM4bNcJAQ7z7zk073730NHg4cUXh3/rQHHj7pmYxUB9aGhuRhBiUf0pXvIHkRwhQP0Q==",
"dev": true,
"engines": {
"node": "^10 || ^12 || >=14.0"
@@ -8328,9 +8367,9 @@
}
},
"node_modules/postcss-discard-duplicates": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.2.tgz",
- "integrity": "sha512-LKY81YjUjc78p6rbXIsnppsaFo8XzCoMZkXVILJU//sK0DgPkPSpuq/cZvHss3EtdKvWNYgWzQL+wiJFtEET4g==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.3.tgz",
+ "integrity": "sha512-vPtm1Mf+kp7iAENTG7jI1MN1lk+fBqL5y+qxyi4v3H+lzsXEdfS3dwUZD45KVhgzDEgduur8ycB4hMegyMTeRw==",
"dev": true,
"engines": {
"node": "^10 || ^12 || >=14.0"
@@ -8340,9 +8379,9 @@
}
},
"node_modules/postcss-discard-empty": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.2.tgz",
- "integrity": "sha512-SxBsbTjlsKUvZLL+dMrdWauuNZU8TBq5IOL/DHa6jBUSXFEwmDqeXRfTIK/FQpPTa8MJMxEHjSV3UbiuyLARPQ==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.3.tgz",
+ "integrity": "sha512-xGJugpaXKakwKI7sSdZjUuN4V3zSzb2Y0LOlmTajFbNinEjTfVs9PFW2lmKBaC/E64WwYppfqLD03P8l9BuueA==",
"dev": true,
"engines": {
"node": "^10 || ^12 || >=14.0"
@@ -8352,9 +8391,9 @@
}
},
"node_modules/postcss-discard-overridden": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.3.tgz",
- "integrity": "sha512-yRTXknIZA4k8Yo4FiF1xbsLj/VBxfXEWxJNIrtIy6HC9KQ4xJxcPtoaaskh6QptCGrrcGnhKsTsENTRPZOBu4g==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.4.tgz",
+ "integrity": "sha512-3j9QH0Qh1KkdxwiZOW82cId7zdwXVQv/gRXYDnwx5pBtR1sTkU4cXRK9lp5dSdiM0r0OICO/L8J6sV1/7m0kHg==",
"dev": true,
"engines": {
"node": "^10 || ^12 || >=14.0"
@@ -8418,13 +8457,13 @@
}
},
"node_modules/postcss-merge-longhand": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.5.tgz",
- "integrity": "sha512-R2BCPJJ/U2oh1uTWEYn9CcJ7MMcQ1iIbj9wfr2s/zHu5om5MP/ewKdaunpfJqR1WYzqCsgnXuRoVXPAzxdqy8g==",
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.6.tgz",
+ "integrity": "sha512-rkmoPwQO6ymJSmWsX6l2hHeEBQa7C4kJb9jyi5fZB1sE8nSCv7sqchoYPixRwX/yvLoZP2y6FA5kcjiByeJqDg==",
"dev": true,
"dependencies": {
"postcss-value-parser": "^4.2.0",
- "stylehacks": "^5.0.2"
+ "stylehacks": "^5.0.3"
},
"engines": {
"node": "^10 || ^12 || >=14.0"
@@ -8434,14 +8473,14 @@
}
},
"node_modules/postcss-merge-rules": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.5.tgz",
- "integrity": "sha512-3Oa26/Pb9VOFVksJjFG45SNoe4nhGvJ2Uc6TlRimqF8uhfOCEhVCaJ3rvEat5UFOn2UZqTY5Da8dFgCh3Iq0Ug==",
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.6.tgz",
+ "integrity": "sha512-nzJWJ9yXWp8AOEpn/HFAW72WKVGD2bsLiAmgw4hDchSij27bt6TF+sIK0cJUBAYT3SGcjtGGsOR89bwkkMuMgQ==",
"dev": true,
"dependencies": {
"browserslist": "^4.16.6",
"caniuse-api": "^3.0.0",
- "cssnano-utils": "^3.0.1",
+ "cssnano-utils": "^3.0.2",
"postcss-selector-parser": "^6.0.5"
},
"engines": {
@@ -8452,9 +8491,9 @@
}
},
"node_modules/postcss-minify-font-values": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.3.tgz",
- "integrity": "sha512-bC45rVzEwsLhv/cL1eCjoo2OOjbSk9I7HKFBYnBvtyuIZlf7uMipMATXtA0Fc3jwPo3wuPIW1jRJWKzflMh1sA==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.4.tgz",
+ "integrity": "sha512-RN6q3tyuEesvyCYYFCRGJ41J1XFvgV+dvYGHr0CeHv8F00yILlN8Slf4t8XW4IghlfZYCeyRrANO6HpJ948ieA==",
"dev": true,
"dependencies": {
"postcss-value-parser": "^4.2.0"
@@ -8467,13 +8506,13 @@
}
},
"node_modules/postcss-minify-gradients": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.5.tgz",
- "integrity": "sha512-/YjvXs8PepsoiZAIpjstOO4IHKwFAqYNqbA1yVdqklM84tbUUneh6omJxGlRlF3mi6K5Pa067Mg6IwqEnYC8Zg==",
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.6.tgz",
+ "integrity": "sha512-E/dT6oVxB9nLGUTiY/rG5dX9taugv9cbLNTFad3dKxOO+BQg25Q/xo2z2ddG+ZB1CbkZYaVwx5blY8VC7R/43A==",
"dev": true,
"dependencies": {
"colord": "^2.9.1",
- "cssnano-utils": "^3.0.1",
+ "cssnano-utils": "^3.0.2",
"postcss-value-parser": "^4.2.0"
},
"engines": {
@@ -8484,13 +8523,13 @@
}
},
"node_modules/postcss-minify-params": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.4.tgz",
- "integrity": "sha512-Z0vjod9lRZEmEPfEmA2sCfjbfEEFKefMD3RDIQSUfXK4LpCyWkX1CniUgyNvnjJFLDPSxtgKzozhHhPHKoeGkg==",
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.5.tgz",
+ "integrity": "sha512-YBNuq3Rz5LfLFNHb9wrvm6t859b8qIqfXsWeK7wROm3jSKNpO1Y5e8cOyBv6Acji15TgSrAwb3JkVNCqNyLvBg==",
"dev": true,
"dependencies": {
"browserslist": "^4.16.6",
- "cssnano-utils": "^3.0.1",
+ "cssnano-utils": "^3.0.2",
"postcss-value-parser": "^4.2.0"
},
"engines": {
@@ -8501,9 +8540,9 @@
}
},
"node_modules/postcss-minify-selectors": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.2.tgz",
- "integrity": "sha512-gpn1nJDMCf3g32y/7kl+jsdamhiYT+/zmEt57RoT9GmzlixBNRPohI7k8UIHelLABhdLf3MSZhtM33xuH5eQOQ==",
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.3.tgz",
+ "integrity": "sha512-9RJfTiQEKA/kZhMaEXND893nBqmYQ8qYa/G+uPdVnXF6D/FzpfI6kwBtWEcHx5FqDbA79O9n6fQJfrIj6M8jvQ==",
"dev": true,
"dependencies": {
"postcss-selector-parser": "^6.0.5"
@@ -8535,9 +8574,9 @@
}
},
"node_modules/postcss-normalize-charset": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.2.tgz",
- "integrity": "sha512-fEMhYXzO8My+gC009qDc/3bgnFP8Fv1Ic8uw4ec4YTlhIOw63tGPk1YFd7fk9bZUf1DAbkhiL/QPWs9JLqdF2g==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.3.tgz",
+ "integrity": "sha512-iKEplDBco9EfH7sx4ut7R2r/dwTnUqyfACf62Unc9UiyFuI7uUqZZtY+u+qp7g8Qszl/U28HIfcsI3pEABWFfA==",
"dev": true,
"engines": {
"node": "^10 || ^12 || >=14.0"
@@ -8547,9 +8586,9 @@
}
},
"node_modules/postcss-normalize-display-values": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.2.tgz",
- "integrity": "sha512-RxXoJPUR0shSjkMMzgEZDjGPrgXUVYyWA/YwQRicb48H15OClPuaDR7tYokLAlGZ2tCSENEN5WxjgxSD5m4cUw==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.3.tgz",
+ "integrity": "sha512-FIV5FY/qs4Ja32jiDb5mVj5iWBlS3N8tFcw2yg98+8MkRgyhtnBgSC0lxU+16AMHbjX5fbSJgw5AXLMolonuRQ==",
"dev": true,
"dependencies": {
"postcss-value-parser": "^4.2.0"
@@ -8562,9 +8601,9 @@
}
},
"node_modules/postcss-normalize-positions": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.3.tgz",
- "integrity": "sha512-U+rmhjrNBvIGYqr/1tD4wXPFFMKUbXsYXvlUCzLi0tOCUS6LoeEAnmVXXJY/MEB/1CKZZwBSs2tmzGawcygVBA==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.4.tgz",
+ "integrity": "sha512-qynirjBX0Lc73ROomZE3lzzmXXTu48/QiEzKgMeqh28+MfuHLsuqC9po4kj84igZqqFGovz8F8hf44hA3dPYmQ==",
"dev": true,
"dependencies": {
"postcss-value-parser": "^4.2.0"
@@ -8577,9 +8616,9 @@
}
},
"node_modules/postcss-normalize-repeat-style": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.3.tgz",
- "integrity": "sha512-uk1+xYx0AMbA3nLSNhbDrqbf/rx+Iuq5tVad2VNyaxxJzx79oGieJ6D9F6AfOL2GtiIbP7vTYlpYHtG+ERFXTg==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.4.tgz",
+ "integrity": "sha512-Innt+wctD7YpfeDR7r5Ik6krdyppyAg2HBRpX88fo5AYzC1Ut/l3xaxACG0KsbX49cO2n5EB13clPwuYVt8cMA==",
"dev": true,
"dependencies": {
"postcss-value-parser": "^4.2.0"
@@ -8592,9 +8631,9 @@
}
},
"node_modules/postcss-normalize-string": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.3.tgz",
- "integrity": "sha512-Mf2V4JbIDboNGQhW6xW0YREDiYXoX3WrD3EjKkjvnpAJ6W4qqjLnK/c9aioyVFaWWHVdP5zVRw/9DI5S3oLDFw==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.4.tgz",
+ "integrity": "sha512-Dfk42l0+A1CDnVpgE606ENvdmksttLynEqTQf5FL3XGQOyqxjbo25+pglCUvziicTxjtI2NLUR6KkxyUWEVubQ==",
"dev": true,
"dependencies": {
"postcss-value-parser": "^4.2.0"
@@ -8607,9 +8646,9 @@
}
},
"node_modules/postcss-normalize-timing-functions": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.2.tgz",
- "integrity": "sha512-Ao0PP6MoYsRU1LxeVUW740ioknvdIUmfr6uAA3xWlQJ9s69/Tupy8qwhuKG3xWfl+KvLMAP9p2WXF9cwuk/7Bg==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.3.tgz",
+ "integrity": "sha512-QRfjvFh11moN4PYnJ7hia4uJXeFotyK3t2jjg8lM9mswleGsNw2Lm3I5wO+l4k1FzK96EFwEVn8X8Ojrp2gP4g==",
"dev": true,
"dependencies": {
"postcss-value-parser": "^4.2.0"
@@ -8622,9 +8661,9 @@
}
},
"node_modules/postcss-normalize-unicode": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.3.tgz",
- "integrity": "sha512-uNC7BmS/7h6to2UWa4RFH8sOTzu2O9dVWPE/F9Vm9GdhONiD/c1kNaCLbmsFHlKWcEx7alNUChQ+jH/QAlqsQw==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.4.tgz",
+ "integrity": "sha512-W79Regn+a+eXTzB+oV/8XJ33s3pDyFTND2yDuUCo0Xa3QSy1HtNIfRVPXNubHxjhlqmMFADr3FSCHT84ITW3ig==",
"dev": true,
"dependencies": {
"browserslist": "^4.16.6",
@@ -8638,9 +8677,9 @@
}
},
"node_modules/postcss-normalize-url": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.4.tgz",
- "integrity": "sha512-cNj3RzK2pgQQyNp7dzq0dqpUpQ/wYtdDZM3DepPmFjCmYIfceuD9VIAcOdvrNetjIU65g1B4uwdP/Krf6AFdXg==",
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.5.tgz",
+ "integrity": "sha512-Ws3tX+PcekYlXh+ycAt0wyzqGthkvVtZ9SZLutMVvHARxcpu4o7vvXcNoiNKyjKuWecnjS6HDI3fjBuDr5MQxQ==",
"dev": true,
"dependencies": {
"normalize-url": "^6.0.1",
@@ -8654,9 +8693,9 @@
}
},
"node_modules/postcss-normalize-whitespace": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.3.tgz",
- "integrity": "sha512-333JWRnX655fSoUbufJ10HJop3c8mrpKkCCUnEmgz/Cb/QEtW+/TMZwDAUt4lnwqP6tCCk0x0b58jqvDgiQm/A==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.4.tgz",
+ "integrity": "sha512-wsnuHolYZjMwWZJoTC9jeI2AcjA67v4UuidDrPN9RnX8KIZfE+r2Nd6XZRwHVwUiHmRvKQtxiqo64K+h8/imaw==",
"dev": true,
"dependencies": {
"postcss-value-parser": "^4.2.0"
@@ -8669,12 +8708,12 @@
}
},
"node_modules/postcss-ordered-values": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.4.tgz",
- "integrity": "sha512-taKtGDZtyYUMVYkg+MuJeBUiTF6cGHZmo/qcW7ibvW79UlyKuSHbo6dpCIiqI+j9oJsXWzP+ovIxoyLDOeQFdw==",
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.5.tgz",
+ "integrity": "sha512-mfY7lXpq+8bDEHfP+muqibDPhZ5eP9zgBEF9XRvoQgXcQe2Db3G1wcvjbnfjXG6wYsl+0UIjikqq4ym1V2jGMQ==",
"dev": true,
"dependencies": {
- "cssnano-utils": "^3.0.1",
+ "cssnano-utils": "^3.0.2",
"postcss-value-parser": "^4.2.0"
},
"engines": {
@@ -8685,9 +8724,9 @@
}
},
"node_modules/postcss-reduce-initial": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.2.tgz",
- "integrity": "sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.3.tgz",
+ "integrity": "sha512-c88TkSnQ/Dnwgb4OZbKPOBbCaauwEjbECP5uAuFPOzQ+XdjNjRH7SG0dteXrpp1LlIFEKK76iUGgmw2V0xeieA==",
"dev": true,
"dependencies": {
"browserslist": "^4.16.6",
@@ -8701,9 +8740,9 @@
}
},
"node_modules/postcss-reduce-transforms": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.3.tgz",
- "integrity": "sha512-yDnTUab5i7auHiNwdcL1f+pBnqQFf+7eC4cbC7D8Lc1FkvNZhtpkdad+9U4wDdFb84haupMf0rA/Zc5LcTe/3A==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.4.tgz",
+ "integrity": "sha512-VIJB9SFSaL8B/B7AXb7KHL6/GNNbbCHslgdzS9UDfBZYIA2nx8NLY7iD/BXFSO/1sRUILzBTfHCoW5inP37C5g==",
"dev": true,
"dependencies": {
"postcss-value-parser": "^4.2.0"
@@ -8736,9 +8775,9 @@
}
},
"node_modules/postcss-selector-parser": {
- "version": "6.0.8",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.8.tgz",
- "integrity": "sha512-D5PG53d209Z1Uhcc0qAZ5U3t5HagH3cxu+WLZ22jt3gLUpXM4eXXfiO14jiDWST3NNooX/E8wISfOhZ9eIjGTQ==",
+ "version": "6.0.9",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz",
+ "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==",
"dev": true,
"dependencies": {
"cssesc": "^3.0.0",
@@ -8749,12 +8788,12 @@
}
},
"node_modules/postcss-svgo": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.3.tgz",
- "integrity": "sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.4.tgz",
+ "integrity": "sha512-yDKHvULbnZtIrRqhZoA+rxreWpee28JSRH/gy9727u0UCgtpv1M/9WEWY3xySlFa0zQJcqf6oCBJPR5NwkmYpg==",
"dev": true,
"dependencies": {
- "postcss-value-parser": "^4.1.0",
+ "postcss-value-parser": "^4.2.0",
"svgo": "^2.7.0"
},
"engines": {
@@ -8814,9 +8853,9 @@
}
},
"node_modules/postcss-unique-selectors": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.3.tgz",
- "integrity": "sha512-V5tX2hadSSn+miVCluuK1IDGy+7jAXSOfRZ2DQ+s/4uQZb/orDYBjH0CHgFrXsRw78p4QTuEFA9kI6C956UnHQ==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.4.tgz",
+ "integrity": "sha512-5ampwoSDJCxDPoANBIlMgoBcYUHnhaiuLYJR5pj1DLnYQvMRVyFuTA5C3Bvt+aHtiqWpJkD/lXT50Vo1D0ZsAQ==",
"dev": true,
"dependencies": {
"postcss-selector-parser": "^6.0.5"
@@ -10387,9 +10426,9 @@
}
},
"node_modules/stylehacks": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.2.tgz",
- "integrity": "sha512-114zeJdOpTrbQYRD4OU5UWJ99LKUaqCPJTU1HQ/n3q3BwmllFN8kHENaLnOeqVq6AhXrWfxHNZTl33iJ4oy3cQ==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.3.tgz",
+ "integrity": "sha512-ENcUdpf4yO0E1rubu8rkxI+JGQk4CgjchynZ4bDBJDfqdy+uhTRSWb8/F3Jtu+Bw5MW45Po3/aQGeIyyxgQtxg==",
"dev": true,
"dependencies": {
"browserslist": "^4.16.6",
@@ -10702,6 +10741,11 @@
"node": ">=8"
}
},
+ "node_modules/templite": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/templite/-/templite-1.2.0.tgz",
+ "integrity": "sha512-O9BpPXF44a9Pg84Be6mjzlrqOtbP2I/B5PNLWu5hb1n9UQ1GTLsjdMg1z5ROCkF6NFXsO5LQfRXEpgTGrZ7Q0Q=="
+ },
"node_modules/tempy": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/tempy/-/tempy-1.0.1.tgz",
@@ -12423,6 +12467,10 @@
"resolved": "https://registry.npmjs.org/animate-sass/-/animate-sass-0.8.2.tgz",
"integrity": "sha512-6sZ34dusqb1HdZLNpJUNaZc0CuuLgFI8SqlyaxbSSKE9zqfoNtOeO3IpVUCqvaSm/oMNH1VlEAsJlppjg+idKQ=="
},
+ "animate.css": {
+ "version": "git+ssh://git@github.com/animate-css/animate.css.git#b07baf2a0785c2a3c649e39ae962de65a2012951",
+ "from": "animate.css@git+https://github.com/animate-css/animate.css.git"
+ },
"ansi-colors": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
@@ -13753,57 +13801,57 @@
"dev": true
},
"cssnano": {
- "version": "5.0.16",
- "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.16.tgz",
- "integrity": "sha512-ryhRI9/B9VFCwPbb1z60LLK5/ldoExi7nwdnJzpkLZkm2/r7j2X3jfY+ZvDVJhC/0fPZlrAguYdHNFg0iglPKQ==",
+ "version": "5.0.17",
+ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.17.tgz",
+ "integrity": "sha512-fmjLP7k8kL18xSspeXTzRhaFtRI7DL9b8IcXR80JgtnWBpvAzHT7sCR/6qdn0tnxIaINUN6OEQu83wF57Gs3Xw==",
"dev": true,
"requires": {
- "cssnano-preset-default": "^5.1.11",
+ "cssnano-preset-default": "^5.1.12",
"lilconfig": "^2.0.3",
"yaml": "^1.10.2"
}
},
"cssnano-preset-default": {
- "version": "5.1.11",
- "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.11.tgz",
- "integrity": "sha512-ETet5hqHxmzQq2ynXMOQofKuLm7VOjMiOB7E2zdtm/hSeCKlD9fabzIUV4GoPcRyJRHi+4kGf0vsfGYbQ4nmPw==",
+ "version": "5.1.12",
+ "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.12.tgz",
+ "integrity": "sha512-rO/JZYyjW1QNkWBxMGV28DW7d98UDLaF759frhli58QFehZ+D/LSmwQ2z/ylBAe2hUlsIWTq6NYGfQPq65EF9w==",
"dev": true,
"requires": {
"css-declaration-sorter": "^6.0.3",
- "cssnano-utils": "^3.0.1",
+ "cssnano-utils": "^3.0.2",
"postcss-calc": "^8.2.0",
- "postcss-colormin": "^5.2.4",
- "postcss-convert-values": "^5.0.3",
- "postcss-discard-comments": "^5.0.2",
- "postcss-discard-duplicates": "^5.0.2",
- "postcss-discard-empty": "^5.0.2",
- "postcss-discard-overridden": "^5.0.3",
- "postcss-merge-longhand": "^5.0.5",
- "postcss-merge-rules": "^5.0.5",
- "postcss-minify-font-values": "^5.0.3",
- "postcss-minify-gradients": "^5.0.5",
- "postcss-minify-params": "^5.0.4",
- "postcss-minify-selectors": "^5.1.2",
- "postcss-normalize-charset": "^5.0.2",
- "postcss-normalize-display-values": "^5.0.2",
- "postcss-normalize-positions": "^5.0.3",
- "postcss-normalize-repeat-style": "^5.0.3",
- "postcss-normalize-string": "^5.0.3",
- "postcss-normalize-timing-functions": "^5.0.2",
- "postcss-normalize-unicode": "^5.0.3",
- "postcss-normalize-url": "^5.0.4",
- "postcss-normalize-whitespace": "^5.0.3",
- "postcss-ordered-values": "^5.0.4",
- "postcss-reduce-initial": "^5.0.2",
- "postcss-reduce-transforms": "^5.0.3",
- "postcss-svgo": "^5.0.3",
- "postcss-unique-selectors": "^5.0.3"
+ "postcss-colormin": "^5.2.5",
+ "postcss-convert-values": "^5.0.4",
+ "postcss-discard-comments": "^5.0.3",
+ "postcss-discard-duplicates": "^5.0.3",
+ "postcss-discard-empty": "^5.0.3",
+ "postcss-discard-overridden": "^5.0.4",
+ "postcss-merge-longhand": "^5.0.6",
+ "postcss-merge-rules": "^5.0.6",
+ "postcss-minify-font-values": "^5.0.4",
+ "postcss-minify-gradients": "^5.0.6",
+ "postcss-minify-params": "^5.0.5",
+ "postcss-minify-selectors": "^5.1.3",
+ "postcss-normalize-charset": "^5.0.3",
+ "postcss-normalize-display-values": "^5.0.3",
+ "postcss-normalize-positions": "^5.0.4",
+ "postcss-normalize-repeat-style": "^5.0.4",
+ "postcss-normalize-string": "^5.0.4",
+ "postcss-normalize-timing-functions": "^5.0.3",
+ "postcss-normalize-unicode": "^5.0.4",
+ "postcss-normalize-url": "^5.0.5",
+ "postcss-normalize-whitespace": "^5.0.4",
+ "postcss-ordered-values": "^5.0.5",
+ "postcss-reduce-initial": "^5.0.3",
+ "postcss-reduce-transforms": "^5.0.4",
+ "postcss-svgo": "^5.0.4",
+ "postcss-unique-selectors": "^5.0.4"
}
},
"cssnano-utils": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.1.tgz",
- "integrity": "sha512-VNCHL364lh++/ono+S3j9NlUK+d97KNkxI77NlqZU2W3xd2/qmyN61dsa47pTpb55zuU4G4lI7qFjAXZJH1OAQ==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.0.2.tgz",
+ "integrity": "sha512-KhprijuQv2sP4kT92sSQwhlK3SJTbDIsxcfIEySB0O+3m9esFOai7dP9bMx5enHAh2MwarVIcnwiWoOm01RIbQ==",
"dev": true,
"requires": {}
},
@@ -14161,6 +14209,16 @@
"critical": "^4.0.1"
}
},
+ "eleventy-plugin-i18n": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/eleventy-plugin-i18n/-/eleventy-plugin-i18n-0.1.3.tgz",
+ "integrity": "sha512-O4FtB4t7g0T3ujH3ciFGCyJ/r1CHzp33WYrDqgnX6s6KZ4R63CkN/RndRKU36ahWWUmF0BrLjQ+IDwj2ntsicw==",
+ "requires": {
+ "chalk": "^4.1.1",
+ "lodash.get": "^4.4.2",
+ "templite": "^1.1.0"
+ }
+ },
"eleventy-plugin-metagen": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/eleventy-plugin-metagen/-/eleventy-plugin-metagen-1.5.2.tgz",
@@ -14462,154 +14520,162 @@
}
},
"esbuild": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.18.tgz",
- "integrity": "sha512-vCUoISSltnX7ax01w70pWOSQT+e55o+2P/a+A9MSTukJAt3T4aDZajcjeG4fnZbkvOEv+dkKgdkvljz6vVQD4A==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.21.tgz",
+ "integrity": "sha512-7WEoNMBJdLN993dr9h0CpFHPRc3yFZD+EAVY9lg6syJJ12gc5fHq8d75QRExuhnMkT2DaRiIKFThRvDWP+fO+A==",
"dev": true,
"requires": {
- "esbuild-android-arm64": "0.14.18",
- "esbuild-darwin-64": "0.14.18",
- "esbuild-darwin-arm64": "0.14.18",
- "esbuild-freebsd-64": "0.14.18",
- "esbuild-freebsd-arm64": "0.14.18",
- "esbuild-linux-32": "0.14.18",
- "esbuild-linux-64": "0.14.18",
- "esbuild-linux-arm": "0.14.18",
- "esbuild-linux-arm64": "0.14.18",
- "esbuild-linux-mips64le": "0.14.18",
- "esbuild-linux-ppc64le": "0.14.18",
- "esbuild-linux-s390x": "0.14.18",
- "esbuild-netbsd-64": "0.14.18",
- "esbuild-openbsd-64": "0.14.18",
- "esbuild-sunos-64": "0.14.18",
- "esbuild-windows-32": "0.14.18",
- "esbuild-windows-64": "0.14.18",
- "esbuild-windows-arm64": "0.14.18"
+ "esbuild-android-arm64": "0.14.21",
+ "esbuild-darwin-64": "0.14.21",
+ "esbuild-darwin-arm64": "0.14.21",
+ "esbuild-freebsd-64": "0.14.21",
+ "esbuild-freebsd-arm64": "0.14.21",
+ "esbuild-linux-32": "0.14.21",
+ "esbuild-linux-64": "0.14.21",
+ "esbuild-linux-arm": "0.14.21",
+ "esbuild-linux-arm64": "0.14.21",
+ "esbuild-linux-mips64le": "0.14.21",
+ "esbuild-linux-ppc64le": "0.14.21",
+ "esbuild-linux-riscv64": "0.14.21",
+ "esbuild-linux-s390x": "0.14.21",
+ "esbuild-netbsd-64": "0.14.21",
+ "esbuild-openbsd-64": "0.14.21",
+ "esbuild-sunos-64": "0.14.21",
+ "esbuild-windows-32": "0.14.21",
+ "esbuild-windows-64": "0.14.21",
+ "esbuild-windows-arm64": "0.14.21"
}
},
"esbuild-android-arm64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.18.tgz",
- "integrity": "sha512-AuE8vIwc6QLquwykyscFk0Ji3RFczoOvjka64FJlcjLLhD6VsS584RYlQrSnPpRkv69PunUvyrBoEF7JFTJijg==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.21.tgz",
+ "integrity": "sha512-Bqgld1TY0wZv8TqiQmVxQFgYzz8ZmyzT7clXBDZFkOOdRybzsnj8AZuK1pwcLVA7Ya6XncHgJqIao7NFd3s0RQ==",
"dev": true,
"optional": true
},
"esbuild-darwin-64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.18.tgz",
- "integrity": "sha512-nN1XziZtDy8QYOggaXC3zu0vVh8YJpS8Bol7bHaxx0enTLDSFBCXUUJEKYpmAAJ4OZRPgjXv8NzEHHQWQvLzXg==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.21.tgz",
+ "integrity": "sha512-j+Eg+e13djzyYINVvAbOo2/zvZ2DivuJJTaBrJnJHSD7kUNuGHRkHoSfFjbI80KHkn091w350wdmXDNSgRjfYQ==",
"dev": true,
"optional": true
},
"esbuild-darwin-arm64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.18.tgz",
- "integrity": "sha512-v0i2n6TCsbxco/W1fN8RgQt3RW00Q9zJO2eqiAdmLWg6Hx0HNHloZyfhF11i7nMUUgW8r5n++ZweIXjAFPE/gQ==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.21.tgz",
+ "integrity": "sha512-nDNTKWDPI0RuoPj5BhcSB2z5EmZJJAyRtZLIjyXSqSpAyoB8eyAKXl4lB8U2P78Fnh4Lh1le/fmpewXE04JhBQ==",
"dev": true,
"optional": true
},
"esbuild-freebsd-64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.18.tgz",
- "integrity": "sha512-XLyJZTWbSuQJOqw867tBxvto6GjxULvWZYKs6RFHYQPCqgQ0ODLRtBmp4Fqqpde52yOe45npaaoup9IXNfr32A==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.21.tgz",
+ "integrity": "sha512-zIurkCHXhxELiDZtLGiexi8t8onQc2LtuE+S7457H/pP0g0MLRKMrsn/IN4LDkNe6lvBjuoZZi2OfelOHn831g==",
"dev": true,
"optional": true
},
"esbuild-freebsd-arm64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.18.tgz",
- "integrity": "sha512-0ItfrR8hePnDcUXxUQxY+VfICcBfeMJCdK6mcNUXnXw6LyHjyUYXWpFXF+J18pg1/YUWRWO1HbsJ7FEwELcQIA==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.21.tgz",
+ "integrity": "sha512-wdxMmkJfbwcN+q85MpeUEamVZ40FNsBa9mPq8tAszDn8TRT2HoJvVRADPIIBa9SWWwlDChIMjkDKAnS3KS/sPA==",
"dev": true,
"optional": true
},
"esbuild-linux-32": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.18.tgz",
- "integrity": "sha512-mnG84D9NsEsoQdBpBT0IsFjm5iAwnd81SP4tRMXZLl09lPvIWjHHSq6LDlb4+L5H5K5y68WC//X5Dr2MtNY3DQ==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.21.tgz",
+ "integrity": "sha512-fmxvyzOPPh2xiEHojpCeIQP6pXcoKsWbz3ryDDIKLOsk4xp3GbpHIEAWP0xTeuhEbendmvBDVKbAVv3PnODXLg==",
"dev": true,
"optional": true
},
"esbuild-linux-64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.18.tgz",
- "integrity": "sha512-HvExRtkeA8l/p+7Lf6aBrnLH+jTCFJTUMJxGKExh2RD8lCXGTeDJFyP+BOEetP80fuuH+Syj79+LVQ9MihdBsg==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.21.tgz",
+ "integrity": "sha512-edZyNOv1ql+kpmlzdqzzDjRQYls+tSyi4QFi+PdBhATJFUqHsnNELWA9vMSzAaInPOEaVUTA5Ml28XFChcy4DA==",
"dev": true,
"optional": true
},
"esbuild-linux-arm": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.18.tgz",
- "integrity": "sha512-+ZL8xfXVNaeaZ2Kxqlw2VYZWRDZ7NSK4zOV9GKNAtkkWURLsPUU84aUOBatRe9BH1O5FDo3LLQSlaA04ed6lhA==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.21.tgz",
+ "integrity": "sha512-aSU5pUueK6afqmLQsbU+QcFBT62L+4G9hHMJDHWfxgid6hzhSmfRH9U/f+ymvxsSTr/HFRU4y7ox8ZyhlVl98w==",
"dev": true,
"optional": true
},
"esbuild-linux-arm64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.18.tgz",
- "integrity": "sha512-CCWmilODE1ckw+M7RVqoqKWA4UB0alCyK2bv0ikEeEAwkzinlJeoe94t9CnT/ECSQ2sL+C16idsr+aUviGp7sg==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.21.tgz",
+ "integrity": "sha512-t5qxRkq4zdQC0zXpzSB2bTtfLgOvR0C6BXYaRE/6/k8/4SrkZcTZBeNu+xGvwCU4b5dU9ST9pwIWkK6T1grS8g==",
"dev": true,
"optional": true
},
"esbuild-linux-mips64le": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.18.tgz",
- "integrity": "sha512-8LjO4+6Vxz5gbyCHO4OONYMF689nLderCtzb8lG1Bncs4ZXHpo6bjvuWeTMRbGUkvAhp+P6hMTzia7RHOC53wQ==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.21.tgz",
+ "integrity": "sha512-jLZLQGCNlUsmIHtGqNvBs3zN+7a4D9ckf0JZ+jQTwHdZJ1SgV9mAjbB980OFo66LoY+WeM7t3WEnq3FjI1zw4A==",
"dev": true,
"optional": true
},
"esbuild-linux-ppc64le": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.18.tgz",
- "integrity": "sha512-0OJk/6iYEmF1J7LXY6+cqf6Ga5vG4an7n1nubTKce7kYqaTyNGfYcTjDZce6lnDVlZTJtwntIMszq1+ZX7Kenw==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.21.tgz",
+ "integrity": "sha512-4TWxpK391en2UBUw6GSrukToTDu6lL9vkm3Ll40HrI08WG3qcnJu7bl8e1+GzelDsiw1QmfAY/nNvJ6iaHRpCQ==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-linux-riscv64": {
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.21.tgz",
+ "integrity": "sha512-fElngqOaOfTsF+u+oetDLHsPG74vB2ZaGZUqmGefAJn3a5z9Z2pNa4WpVbbKgHpaAAy5tWM1m1sbGohj6Ki6+Q==",
"dev": true,
"optional": true
},
"esbuild-linux-s390x": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.18.tgz",
- "integrity": "sha512-UNY7YKZHjY31KcNanJK4QaT2/aoIQyS+jViP3QuDRIoYAogRnc6WydylzIkkEzGMaC4fzaXOmQ8fxwpLAXK4Yg==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.21.tgz",
+ "integrity": "sha512-brleZ6R5fYv0qQ7ZBwenQmP6i9TdvJCB092c/3D3pTLQHBGHJb5zWgKxOeS7bdHzmLy6a6W7GbFk6QKpjyD6QA==",
"dev": true,
"optional": true
},
"esbuild-netbsd-64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.18.tgz",
- "integrity": "sha512-wE/2xT9KNzLCfEBw24YbVmMmXH92cFIzrRPUlwWH9dIizjvEYYcyQ+peTMVkqzUum7pdlVLZ2CDDqAaZo/nW/w==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.21.tgz",
+ "integrity": "sha512-nCEgsLCQ8RoFWVV8pVI+kX66ICwbPP/M9vEa0NJGIEB/Vs5sVGMqkf67oln90XNSkbc0bPBDuo4G6FxlF7PN8g==",
"dev": true,
"optional": true
},
"esbuild-openbsd-64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.18.tgz",
- "integrity": "sha512-vdymE2jyuH/FRmTvrguCYSrq81/rUwuhMYyvt/6ibv9ac7xQ674c8qTdT+RH73sR9/2WUD/NsYxrBA/wUVTxcg==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.21.tgz",
+ "integrity": "sha512-h9zLMyVD0T73MDTVYIb/qUTokwI6EJH9O6wESuTNq6+XpMSr6C5aYZ4fvFKdNELW+Xsod+yDS2hV2JTUAbFrLA==",
"dev": true,
"optional": true
},
"esbuild-sunos-64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.18.tgz",
- "integrity": "sha512-X/Tesy6K1MdJF1d5cbzFDxrIMMn0ye+VgTQRI8P5Vo2CcKxOdckwsKUwpRAvg+VDZ6MxrSOTYS9OOoggPUjxTg==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.21.tgz",
+ "integrity": "sha512-Kl+7Cot32qd9oqpLdB1tEGXEkjBlijrIxMJ0+vlDFaqsODutif25on0IZlFxEBtL2Gosd4p5WCV1U7UskNQfXA==",
"dev": true,
"optional": true
},
"esbuild-windows-32": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.18.tgz",
- "integrity": "sha512-glG23I/JzCL4lu7DWFUtVwqFwNwlL0g+ks+mcjjUisHcINoSXTeCNToUN0bHhzn6IlXXnggNQ38Ew/idHPM8+g==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.21.tgz",
+ "integrity": "sha512-V7vnTq67xPBUCk/9UtlolmQ798Ecjdr1ZoI1vcSgw7M82aSSt0eZdP6bh5KAFZU8pxDcx3qoHyWQfHYr11f22A==",
"dev": true,
"optional": true
},
"esbuild-windows-64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.18.tgz",
- "integrity": "sha512-zEiFKHgV/3z14wsVamV98/5mxeOwz+ecyg0pD3fWcBz9j4EOIT1Tg47axypD4QLwiKFvve9mUBYX1cD99qxOyw==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.21.tgz",
+ "integrity": "sha512-kDgHjKOHwjfJDCyRGELzVxiP/RBJBTA+wyspf78MTTJQkyPuxH2vChReNdWc+dU2S4gIZFHMdP1Qrl/k22ZmaA==",
"dev": true,
"optional": true
},
"esbuild-windows-arm64": {
- "version": "0.14.18",
- "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.18.tgz",
- "integrity": "sha512-Mh8lZFcPLat13dABN7lZThGUOn9YxoH5RYkhBq0U3WqQohHzKRhllYh7ibFixnkpMLnv8OZEbl8bGLMy03MpfA==",
+ "version": "0.14.21",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.21.tgz",
+ "integrity": "sha512-8Sbo0zpzgwWrwjQYLmHF78f7E2xg5Ve63bjB2ng3V2aManilnnTGaliq2snYg+NOX60+hEvJHRdVnuIAHW0lVw==",
"dev": true,
"optional": true
},
@@ -16575,6 +16641,11 @@
"resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz",
"integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM="
},
+ "lodash.get": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
+ "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk="
+ },
"lodash.isfinite": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz",
@@ -17720,13 +17791,13 @@
}
},
"postcss-calc": {
- "version": "8.2.2",
- "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.2.tgz",
- "integrity": "sha512-B5R0UeB4zLJvxNt1FVCaDZULdzsKLPc6FhjFJ+xwFiq7VG4i9cuaJLxVjNtExNK8ocm3n2o4unXXLiVX1SCqxA==",
+ "version": "8.2.4",
+ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz",
+ "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==",
"dev": true,
"requires": {
- "postcss-selector-parser": "^6.0.2",
- "postcss-value-parser": "^4.0.2"
+ "postcss-selector-parser": "^6.0.9",
+ "postcss-value-parser": "^4.2.0"
}
},
"postcss-cli": {
@@ -17860,9 +17931,9 @@
}
},
"postcss-colormin": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.4.tgz",
- "integrity": "sha512-rYlC5015aNqVQt/B6Cy156g7sH5tRUJGmT9xeagYthtKehetbKx7jHxhyLpulP4bs4vbp8u/B2rac0J7S7qPQg==",
+ "version": "5.2.5",
+ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.5.tgz",
+ "integrity": "sha512-+X30aDaGYq81mFqwyPpnYInsZQnNpdxMX0ajlY7AExCexEFkPVV+KrO7kXwayqEWL2xwEbNQ4nUO0ZsRWGnevg==",
"dev": true,
"requires": {
"browserslist": "^4.16.6",
@@ -17872,9 +17943,9 @@
}
},
"postcss-convert-values": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.3.tgz",
- "integrity": "sha512-fVkjHm2T0PSMqXUCIhHNWVGjhB9mHEWX2GboVs7j3iCgr6FpIl9c/IdXy0PHWZSQ9LFTRgmj98amxJE6KOnlsA==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.4.tgz",
+ "integrity": "sha512-bugzSAyjIexdObovsPZu/sBCTHccImJxLyFgeV0MmNBm/Lw5h5XnjfML6gzEmJ3A6nyfCW7hb1JXzcsA4Zfbdw==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.2.0"
@@ -17892,30 +17963,30 @@
}
},
"postcss-discard-comments": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.2.tgz",
- "integrity": "sha512-6VQ3pYTsJHEsN2Bic88Aa7J/Brn4Bv8j/rqaFQZkH+pcVkKYwxCIvoMQkykEW7fBjmofdTnQgcivt5CCBJhtrg==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.3.tgz",
+ "integrity": "sha512-6W5BemziRoqIdAKT+1QjM4bNcJAQ7z7zk073730NHg4cUXh3/rQHHj7pmYxUB9aGhuRhBiUf0pXvIHkRwhQP0Q==",
"dev": true,
"requires": {}
},
"postcss-discard-duplicates": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.2.tgz",
- "integrity": "sha512-LKY81YjUjc78p6rbXIsnppsaFo8XzCoMZkXVILJU//sK0DgPkPSpuq/cZvHss3EtdKvWNYgWzQL+wiJFtEET4g==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.3.tgz",
+ "integrity": "sha512-vPtm1Mf+kp7iAENTG7jI1MN1lk+fBqL5y+qxyi4v3H+lzsXEdfS3dwUZD45KVhgzDEgduur8ycB4hMegyMTeRw==",
"dev": true,
"requires": {}
},
"postcss-discard-empty": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.2.tgz",
- "integrity": "sha512-SxBsbTjlsKUvZLL+dMrdWauuNZU8TBq5IOL/DHa6jBUSXFEwmDqeXRfTIK/FQpPTa8MJMxEHjSV3UbiuyLARPQ==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.3.tgz",
+ "integrity": "sha512-xGJugpaXKakwKI7sSdZjUuN4V3zSzb2Y0LOlmTajFbNinEjTfVs9PFW2lmKBaC/E64WwYppfqLD03P8l9BuueA==",
"dev": true,
"requires": {}
},
"postcss-discard-overridden": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.3.tgz",
- "integrity": "sha512-yRTXknIZA4k8Yo4FiF1xbsLj/VBxfXEWxJNIrtIy6HC9KQ4xJxcPtoaaskh6QptCGrrcGnhKsTsENTRPZOBu4g==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.4.tgz",
+ "integrity": "sha512-3j9QH0Qh1KkdxwiZOW82cId7zdwXVQv/gRXYDnwx5pBtR1sTkU4cXRK9lp5dSdiM0r0OICO/L8J6sV1/7m0kHg==",
"dev": true,
"requires": {}
},
@@ -17949,62 +18020,62 @@
}
},
"postcss-merge-longhand": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.5.tgz",
- "integrity": "sha512-R2BCPJJ/U2oh1uTWEYn9CcJ7MMcQ1iIbj9wfr2s/zHu5om5MP/ewKdaunpfJqR1WYzqCsgnXuRoVXPAzxdqy8g==",
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.6.tgz",
+ "integrity": "sha512-rkmoPwQO6ymJSmWsX6l2hHeEBQa7C4kJb9jyi5fZB1sE8nSCv7sqchoYPixRwX/yvLoZP2y6FA5kcjiByeJqDg==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.2.0",
- "stylehacks": "^5.0.2"
+ "stylehacks": "^5.0.3"
}
},
"postcss-merge-rules": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.5.tgz",
- "integrity": "sha512-3Oa26/Pb9VOFVksJjFG45SNoe4nhGvJ2Uc6TlRimqF8uhfOCEhVCaJ3rvEat5UFOn2UZqTY5Da8dFgCh3Iq0Ug==",
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.6.tgz",
+ "integrity": "sha512-nzJWJ9yXWp8AOEpn/HFAW72WKVGD2bsLiAmgw4hDchSij27bt6TF+sIK0cJUBAYT3SGcjtGGsOR89bwkkMuMgQ==",
"dev": true,
"requires": {
"browserslist": "^4.16.6",
"caniuse-api": "^3.0.0",
- "cssnano-utils": "^3.0.1",
+ "cssnano-utils": "^3.0.2",
"postcss-selector-parser": "^6.0.5"
}
},
"postcss-minify-font-values": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.3.tgz",
- "integrity": "sha512-bC45rVzEwsLhv/cL1eCjoo2OOjbSk9I7HKFBYnBvtyuIZlf7uMipMATXtA0Fc3jwPo3wuPIW1jRJWKzflMh1sA==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.4.tgz",
+ "integrity": "sha512-RN6q3tyuEesvyCYYFCRGJ41J1XFvgV+dvYGHr0CeHv8F00yILlN8Slf4t8XW4IghlfZYCeyRrANO6HpJ948ieA==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.2.0"
}
},
"postcss-minify-gradients": {
- "version": "5.0.5",
- "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.5.tgz",
- "integrity": "sha512-/YjvXs8PepsoiZAIpjstOO4IHKwFAqYNqbA1yVdqklM84tbUUneh6omJxGlRlF3mi6K5Pa067Mg6IwqEnYC8Zg==",
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.6.tgz",
+ "integrity": "sha512-E/dT6oVxB9nLGUTiY/rG5dX9taugv9cbLNTFad3dKxOO+BQg25Q/xo2z2ddG+ZB1CbkZYaVwx5blY8VC7R/43A==",
"dev": true,
"requires": {
"colord": "^2.9.1",
- "cssnano-utils": "^3.0.1",
+ "cssnano-utils": "^3.0.2",
"postcss-value-parser": "^4.2.0"
}
},
"postcss-minify-params": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.4.tgz",
- "integrity": "sha512-Z0vjod9lRZEmEPfEmA2sCfjbfEEFKefMD3RDIQSUfXK4LpCyWkX1CniUgyNvnjJFLDPSxtgKzozhHhPHKoeGkg==",
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.5.tgz",
+ "integrity": "sha512-YBNuq3Rz5LfLFNHb9wrvm6t859b8qIqfXsWeK7wROm3jSKNpO1Y5e8cOyBv6Acji15TgSrAwb3JkVNCqNyLvBg==",
"dev": true,
"requires": {
"browserslist": "^4.16.6",
- "cssnano-utils": "^3.0.1",
+ "cssnano-utils": "^3.0.2",
"postcss-value-parser": "^4.2.0"
}
},
"postcss-minify-selectors": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.2.tgz",
- "integrity": "sha512-gpn1nJDMCf3g32y/7kl+jsdamhiYT+/zmEt57RoT9GmzlixBNRPohI7k8UIHelLABhdLf3MSZhtM33xuH5eQOQ==",
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.3.tgz",
+ "integrity": "sha512-9RJfTiQEKA/kZhMaEXND893nBqmYQ8qYa/G+uPdVnXF6D/FzpfI6kwBtWEcHx5FqDbA79O9n6fQJfrIj6M8jvQ==",
"dev": true,
"requires": {
"postcss-selector-parser": "^6.0.5"
@@ -18020,61 +18091,61 @@
}
},
"postcss-normalize-charset": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.2.tgz",
- "integrity": "sha512-fEMhYXzO8My+gC009qDc/3bgnFP8Fv1Ic8uw4ec4YTlhIOw63tGPk1YFd7fk9bZUf1DAbkhiL/QPWs9JLqdF2g==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.3.tgz",
+ "integrity": "sha512-iKEplDBco9EfH7sx4ut7R2r/dwTnUqyfACf62Unc9UiyFuI7uUqZZtY+u+qp7g8Qszl/U28HIfcsI3pEABWFfA==",
"dev": true,
"requires": {}
},
"postcss-normalize-display-values": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.2.tgz",
- "integrity": "sha512-RxXoJPUR0shSjkMMzgEZDjGPrgXUVYyWA/YwQRicb48H15OClPuaDR7tYokLAlGZ2tCSENEN5WxjgxSD5m4cUw==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.3.tgz",
+ "integrity": "sha512-FIV5FY/qs4Ja32jiDb5mVj5iWBlS3N8tFcw2yg98+8MkRgyhtnBgSC0lxU+16AMHbjX5fbSJgw5AXLMolonuRQ==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.2.0"
}
},
"postcss-normalize-positions": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.3.tgz",
- "integrity": "sha512-U+rmhjrNBvIGYqr/1tD4wXPFFMKUbXsYXvlUCzLi0tOCUS6LoeEAnmVXXJY/MEB/1CKZZwBSs2tmzGawcygVBA==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.4.tgz",
+ "integrity": "sha512-qynirjBX0Lc73ROomZE3lzzmXXTu48/QiEzKgMeqh28+MfuHLsuqC9po4kj84igZqqFGovz8F8hf44hA3dPYmQ==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.2.0"
}
},
"postcss-normalize-repeat-style": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.3.tgz",
- "integrity": "sha512-uk1+xYx0AMbA3nLSNhbDrqbf/rx+Iuq5tVad2VNyaxxJzx79oGieJ6D9F6AfOL2GtiIbP7vTYlpYHtG+ERFXTg==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.4.tgz",
+ "integrity": "sha512-Innt+wctD7YpfeDR7r5Ik6krdyppyAg2HBRpX88fo5AYzC1Ut/l3xaxACG0KsbX49cO2n5EB13clPwuYVt8cMA==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.2.0"
}
},
"postcss-normalize-string": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.3.tgz",
- "integrity": "sha512-Mf2V4JbIDboNGQhW6xW0YREDiYXoX3WrD3EjKkjvnpAJ6W4qqjLnK/c9aioyVFaWWHVdP5zVRw/9DI5S3oLDFw==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.4.tgz",
+ "integrity": "sha512-Dfk42l0+A1CDnVpgE606ENvdmksttLynEqTQf5FL3XGQOyqxjbo25+pglCUvziicTxjtI2NLUR6KkxyUWEVubQ==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.2.0"
}
},
"postcss-normalize-timing-functions": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.2.tgz",
- "integrity": "sha512-Ao0PP6MoYsRU1LxeVUW740ioknvdIUmfr6uAA3xWlQJ9s69/Tupy8qwhuKG3xWfl+KvLMAP9p2WXF9cwuk/7Bg==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.3.tgz",
+ "integrity": "sha512-QRfjvFh11moN4PYnJ7hia4uJXeFotyK3t2jjg8lM9mswleGsNw2Lm3I5wO+l4k1FzK96EFwEVn8X8Ojrp2gP4g==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.2.0"
}
},
"postcss-normalize-unicode": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.3.tgz",
- "integrity": "sha512-uNC7BmS/7h6to2UWa4RFH8sOTzu2O9dVWPE/F9Vm9GdhONiD/c1kNaCLbmsFHlKWcEx7alNUChQ+jH/QAlqsQw==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.4.tgz",
+ "integrity": "sha512-W79Regn+a+eXTzB+oV/8XJ33s3pDyFTND2yDuUCo0Xa3QSy1HtNIfRVPXNubHxjhlqmMFADr3FSCHT84ITW3ig==",
"dev": true,
"requires": {
"browserslist": "^4.16.6",
@@ -18082,9 +18153,9 @@
}
},
"postcss-normalize-url": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.4.tgz",
- "integrity": "sha512-cNj3RzK2pgQQyNp7dzq0dqpUpQ/wYtdDZM3DepPmFjCmYIfceuD9VIAcOdvrNetjIU65g1B4uwdP/Krf6AFdXg==",
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.5.tgz",
+ "integrity": "sha512-Ws3tX+PcekYlXh+ycAt0wyzqGthkvVtZ9SZLutMVvHARxcpu4o7vvXcNoiNKyjKuWecnjS6HDI3fjBuDr5MQxQ==",
"dev": true,
"requires": {
"normalize-url": "^6.0.1",
@@ -18092,28 +18163,28 @@
}
},
"postcss-normalize-whitespace": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.3.tgz",
- "integrity": "sha512-333JWRnX655fSoUbufJ10HJop3c8mrpKkCCUnEmgz/Cb/QEtW+/TMZwDAUt4lnwqP6tCCk0x0b58jqvDgiQm/A==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.4.tgz",
+ "integrity": "sha512-wsnuHolYZjMwWZJoTC9jeI2AcjA67v4UuidDrPN9RnX8KIZfE+r2Nd6XZRwHVwUiHmRvKQtxiqo64K+h8/imaw==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.2.0"
}
},
"postcss-ordered-values": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.4.tgz",
- "integrity": "sha512-taKtGDZtyYUMVYkg+MuJeBUiTF6cGHZmo/qcW7ibvW79UlyKuSHbo6dpCIiqI+j9oJsXWzP+ovIxoyLDOeQFdw==",
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.5.tgz",
+ "integrity": "sha512-mfY7lXpq+8bDEHfP+muqibDPhZ5eP9zgBEF9XRvoQgXcQe2Db3G1wcvjbnfjXG6wYsl+0UIjikqq4ym1V2jGMQ==",
"dev": true,
"requires": {
- "cssnano-utils": "^3.0.1",
+ "cssnano-utils": "^3.0.2",
"postcss-value-parser": "^4.2.0"
}
},
"postcss-reduce-initial": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.2.tgz",
- "integrity": "sha512-v/kbAAQ+S1V5v9TJvbGkV98V2ERPdU6XvMcKMjqAlYiJ2NtsHGlKYLPjWWcXlaTKNxooId7BGxeraK8qXvzKtw==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.3.tgz",
+ "integrity": "sha512-c88TkSnQ/Dnwgb4OZbKPOBbCaauwEjbECP5uAuFPOzQ+XdjNjRH7SG0dteXrpp1LlIFEKK76iUGgmw2V0xeieA==",
"dev": true,
"requires": {
"browserslist": "^4.16.6",
@@ -18121,9 +18192,9 @@
}
},
"postcss-reduce-transforms": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.3.tgz",
- "integrity": "sha512-yDnTUab5i7auHiNwdcL1f+pBnqQFf+7eC4cbC7D8Lc1FkvNZhtpkdad+9U4wDdFb84haupMf0rA/Zc5LcTe/3A==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.4.tgz",
+ "integrity": "sha512-VIJB9SFSaL8B/B7AXb7KHL6/GNNbbCHslgdzS9UDfBZYIA2nx8NLY7iD/BXFSO/1sRUILzBTfHCoW5inP37C5g==",
"dev": true,
"requires": {
"postcss-value-parser": "^4.2.0"
@@ -18140,9 +18211,9 @@
}
},
"postcss-selector-parser": {
- "version": "6.0.8",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.8.tgz",
- "integrity": "sha512-D5PG53d209Z1Uhcc0qAZ5U3t5HagH3cxu+WLZ22jt3gLUpXM4eXXfiO14jiDWST3NNooX/E8wISfOhZ9eIjGTQ==",
+ "version": "6.0.9",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz",
+ "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==",
"dev": true,
"requires": {
"cssesc": "^3.0.0",
@@ -18150,12 +18221,12 @@
}
},
"postcss-svgo": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.3.tgz",
- "integrity": "sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.4.tgz",
+ "integrity": "sha512-yDKHvULbnZtIrRqhZoA+rxreWpee28JSRH/gy9727u0UCgtpv1M/9WEWY3xySlFa0zQJcqf6oCBJPR5NwkmYpg==",
"dev": true,
"requires": {
- "postcss-value-parser": "^4.1.0",
+ "postcss-value-parser": "^4.2.0",
"svgo": "^2.7.0"
},
"dependencies": {
@@ -18199,9 +18270,9 @@
}
},
"postcss-unique-selectors": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.3.tgz",
- "integrity": "sha512-V5tX2hadSSn+miVCluuK1IDGy+7jAXSOfRZ2DQ+s/4uQZb/orDYBjH0CHgFrXsRw78p4QTuEFA9kI6C956UnHQ==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.4.tgz",
+ "integrity": "sha512-5ampwoSDJCxDPoANBIlMgoBcYUHnhaiuLYJR5pj1DLnYQvMRVyFuTA5C3Bvt+aHtiqWpJkD/lXT50Vo1D0ZsAQ==",
"dev": true,
"requires": {
"postcss-selector-parser": "^6.0.5"
@@ -19464,9 +19535,9 @@
"dev": true
},
"stylehacks": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.2.tgz",
- "integrity": "sha512-114zeJdOpTrbQYRD4OU5UWJ99LKUaqCPJTU1HQ/n3q3BwmllFN8kHENaLnOeqVq6AhXrWfxHNZTl33iJ4oy3cQ==",
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.3.tgz",
+ "integrity": "sha512-ENcUdpf4yO0E1rubu8rkxI+JGQk4CgjchynZ4bDBJDfqdy+uhTRSWb8/F3Jtu+Bw5MW45Po3/aQGeIyyxgQtxg==",
"dev": true,
"requires": {
"browserslist": "^4.16.6",
@@ -19725,6 +19796,11 @@
"resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz",
"integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg=="
},
+ "templite": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/templite/-/templite-1.2.0.tgz",
+ "integrity": "sha512-O9BpPXF44a9Pg84Be6mjzlrqOtbP2I/B5PNLWu5hb1n9UQ1GTLsjdMg1z5ROCkF6NFXsO5LQfRXEpgTGrZ7Q0Q=="
+ },
"tempy": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/tempy/-/tempy-1.0.1.tgz",
diff --git a/docs/package.json b/docs/package.json
index fb2eb18..958e03c 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -20,7 +20,9 @@
"@quasibit/eleventy-plugin-schema": "^1.6.0",
"@sindresorhus/slugify": "^2.1.0",
"animate-sass": "^0.8.2",
+ "animate.css": "github:animate-css/animate.css",
"eleventy-critical-css": "^1.1.0",
+ "eleventy-plugin-i18n": "^0.1.3",
"md5": "^2.3.0"
},
"devDependencies": {
@@ -35,9 +37,9 @@
"autoprefixer": "^10.4.2",
"bulma": "^0.9.3",
"bulma-pricingtable": "^0.2.0",
- "cssnano": "^5.0.16",
+ "cssnano": "^5.0.17",
"eleventy-plugin-metagen": "^1.5.2",
- "esbuild": "^0.14.18",
+ "esbuild": "^0.14.21",
"eslint": "^8.8.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-import": "^2.25.4",
diff --git a/docs/src/_data/i18n/index.js b/docs/src/_data/i18n/index.js
new file mode 100644
index 0000000..61e0d3e
--- /dev/null
+++ b/docs/src/_data/i18n/index.js
@@ -0,0 +1,98 @@
+module.exports = {
+ hello: {
+ 'en-US': 'Hello',
+ 'ru': 'Hola'
+ },
+ title: {
+ 'en-US': "HTML Template Linter and Formatter",
+ ru: "Программа проверки и форматирования шаблонов HTML"
+ },
+ lang_name: {
+ 'en-US': "English",
+ ru: "Русский"
+ },
+ lang_code: {
+ 'en-US': "en",
+ ru: "ru"
+ },
+ lang_code_url: {
+ 'en-US': "",
+ ru: "/ru"
+ },
+ getting_started: {
+ 'en-US': "Getting Started",
+ ru: "Начало Работы"
+ },
+ formatter: {
+ 'en-US': "Formatter",
+ ru: "Форматер"
+ },
+ linter: {
+ 'en-US': "Linter",
+ ru: "Линтер"
+ },
+ configuration: {
+ 'en-US': "configuration",
+ ru: "Конфигурация"
+ },
+ integrations: {
+ 'en-US': "Integrations",
+ ru: "Интеграции"
+ },
+ best_practices: {
+ 'en-US': "Best Practices",
+ ru: "Лучшие Практики"
+ },
+ description: {
+ 'en-US': "Find common syntax errors, reformat to make your HTML templates shine! Supports django, jinja, nunjucks, twig, handlebars, mustache, golang, and more!",
+ ru: "Найдите распространенные синтаксические ошибки, переформатируйте, чтобы ваши HTML-шаблоны сияли! Поддерживает django, jinja, nunjucks, twig, handlebars, mustache, golang и многое другое!"
+ },
+ updated: {
+ 'en-US': "Updated",
+ ru: "Обновлен"
+ },
+ changelog: {
+ 'en-US': "Changelog",
+ ru: "Изменения"
+ },
+ documentation: {
+ 'en-US': "Documentation",
+ ru: "Документация"
+ },
+ index_title: {
+ 'en-US': "Lint & Format HTML Templates",
+ ru: "Проверка и форматирование html-шаблонов"
+ },
+ index_description: {
+ 'en-US': "Once upon a time all the other programming languages had a formatter and linter. Css, javascript, python, the c suite, typescript, ruby, php, go, swift, and you know the others. The cool kids on the block. HTML templates were left out there on their own, in the cold, unformatted and unlinted :( The dirty corner in your repository. Something had to change. Welcome djLint, the free cleaning service for html templates! And the html templates lived happily ever after.
",
+ ru: "Когда-то давно все другие языки программирования имели форматтер и линтер. Css, javascript, python, c suite, typescript, ruby, php, go, swift, и вы знаете другие. Крутые ребята в квартале. HTML-шаблоны остались там сами по себе, на холоде, неформатированные и нелинкованные :( Грязный угол в вашем репозитории. Что-то должно было измениться. Добро пожаловать djLint, бесплатный сервис очистки html-шаблонов! И html-шаблоны жили долго и счастливо."
+ },
+ index_fav_lang: {
+ 'en-US': "find your favorite template language!",
+ ru: "найдите свой любимый язык шаблонов!"
+ },
+ index_show_format: {
+ 'en-US': "Show your format!",
+ ru: "Покажите свой формат!"
+ },
+ index_watch: {
+ 'en-US': "Watch it run!",
+ ru: "Смотрите, как он идет!"
+ },
+ index_add_badge: {
+ 'en-US': "Add a badge to your projects",
+ ru: "Добавьте значок к своим проектам"
+ },
+ index_looks_like: {
+ 'en-US': "Looks like this:",
+ ru: "Выглядит вот так:"
+ },
+ contributing:{
+ 'en-US': "Contributing",
+ ru: "Вклад"
+ },
+ contributing_message: {
+ 'en-US': 'Contributions are welcome. Send a pr with a new feature, or checkout the issue list and help where you can.',
+ ru: 'Вклад в работу сайта приветствуется. Пришлите письмо с новой функцией или ознакомьтесь со списком проблем и помогите, чем можете.'
+ }
+};
\ No newline at end of file
diff --git a/docs/src/_includes/docs_layout.njk b/docs/src/_includes/docs_layout.njk
index 5d14703..4c698a3 100644
--- a/docs/src/_includes/docs_layout.njk
+++ b/docs/src/_includes/docs_layout.njk
@@ -7,36 +7,19 @@ layout: layout.njk
diff --git a/docs/src/_includes/foot.njk b/docs/src/_includes/foot.njk
index 7f40f68..ea52ec3 100644
--- a/docs/src/_includes/foot.njk
+++ b/docs/src/_includes/foot.njk
@@ -6,13 +6,13 @@
{% image "./src/static/img/icon.png", "djlint icon", "(min-width:100px) 50vw, 100vw" %}
- {{ site.description }}
+ {{ "description" | i18n }}
- djLint © 2021 Riverside Healthcare Updated {{ page.date | niceDate }}
+ djLint © 2021 Riverside Healthcare {{ "updated" | i18n }} {{ page.date | niceDate }}
diff --git a/docs/src/_includes/index.njk b/docs/src/_includes/index.njk
new file mode 100644
index 0000000..4b53dfa
--- /dev/null
+++ b/docs/src/_includes/index.njk
@@ -0,0 +1,169 @@
+---
+layout: layout.njk
+date: Last Modified
+
+---
+{% block body %}
+
+
+
dj Lint
+
+
+ {{ "index_title" |i18n }}
+
+
{{ "index_description" | i18n | safe }}
+
+
{{ "index_fav_lang" | i18n }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ "index_watch" | i18n }}
+
+
+
+
+
+
+
+
+
{{ "index_show_format" | i18n }}
+
+
+
+
+{{ "index_add_badge" | i18n }}
readme.md:
+
+{% highlight "md" %}
+[](https://github.com/Riverside-Healthcare/djlint)
+{% endhighlight %}
+
+{{ "index_add_badge" | i18n }}
readme.rst:
+
+{% highlight "md" %}
+
+ .. image:: https://img.shields.io/badge/html%20style-djLint-blue.svg
+ :target: https://github.com/Riverside-Healthcare/djlint
+{% endhighlight %}
+
+
{{ "index_looks_like" | i18n }}
+
+
+
+
+
+
{{ "contributing" | i18n }}
+
+{{ "contributing_message" | i18n | safe }}
+
+
+
+
+
+{% endblock body %}
diff --git a/docs/src/_includes/layout.njk b/docs/src/_includes/layout.njk
index c90e031..09257ca 100644
--- a/docs/src/_includes/layout.njk
+++ b/docs/src/_includes/layout.njk
@@ -1,10 +1,10 @@
-
+
{% block meta %}
{% metagen
- title=(title or site.title) + " | " + site.name,
- desc=desc or description or site.description,
+ title=(title or "title" | i18n or site.title) + " | " + site.name,
+ desc=desc or description or "description" | i18n or site.description,
url=site.url + page.url,
img=image or site.url + site.image,
img_alt=alt or "djlint logo",
@@ -31,6 +31,11 @@
+
+
+
+
+
-
-
-
diff --git a/docs/src/_utils/scripts.11ty.js b/docs/src/_utils/scripts.11ty.js
index bd14f79..809b014 100644
--- a/docs/src/_utils/scripts.11ty.js
+++ b/docs/src/_utils/scripts.11ty.js
@@ -13,9 +13,8 @@ module.exports = class {
async render() {
await esbuild.build({
- entryPoints: ['src/static/js/search.js'],
+ entryPoints: ['src/static/js/hamburger.js'],
inject: [
- './src/static/js/hamburger.js',
'./src/static/js/animate.js',
'./src/static/js/modal.js',
],
diff --git a/docs/src/docs/changelog.md b/docs/src/docs/changelog.md
index 8ef792f..0a41c06 100644
--- a/docs/src/docs/changelog.md
+++ b/docs/src/docs/changelog.md
@@ -19,7 +19,7 @@ keywords: template linter, template formatter, djLint, HTML, templates, formatte
::: content
-- Bug fixes [#173](https://github.com/Riverside-Healthcare/djLint/issues/173), #174(https://github.com/Riverside-Healthcare/djLint/issues/174)
+- Bug fixes [#173](https://github.com/Riverside-Healthcare/djLint/issues/173), [#174](https://github.com/Riverside-Healthcare/djLint/issues/174)
- Dropped Py3.6 from `pyproject.toml`.
:::
@@ -197,7 +197,7 @@ keywords: template linter, template formatter, djLint, HTML, templates, formatte
- Added formatting for template conditions inside attributes
- Added srcset as possible url location in linter rules
- Speed up formatting
-- Special thanks to `jayvdb `\_
+- Special thanks to [jayvdb](https://github.com/jayvdb)
:::
## 0.5.3
@@ -243,14 +243,14 @@ keywords: template linter, template formatter, djLint, HTML, templates, formatte
::: content
-- Fixed bug `#35 `\_
+- Fixed bug [#35](https://github.com/Riverside-Healthcare/djLint/issues/35)
:::
## 0.4.8
::: content
-- Fixed bug `#34 `\_
+- Fixed bug [#34](https://github.com/Riverside-Healthcare/djLint/issues/34)
:::
## 0.4.7
@@ -264,7 +264,7 @@ keywords: template linter, template formatter, djLint, HTML, templates, formatte
::: content
-- Fixed bug `#31 `\_
+- Fixed bug [#31](https://github.com/Riverside-Healthcare/djLint/issues/31)
:::
## 0.4.5
diff --git a/docs/src/docs/formatter.md b/docs/src/docs/formatter.md
index cfb75d1..cd53bf9 100644
--- a/docs/src/docs/formatter.md
+++ b/docs/src/docs/formatter.md
@@ -70,7 +70,7 @@ or as a javascript style comment -
{{ /* djlint:off */ }} {{ /* djlint:on */ }}
```
-or as a golan style comment -
+or as a golang style comment -
```html
{{!-- djlint:off --}} {{!-- djlint:on --}}
diff --git a/docs/src/docs/integrations.md b/docs/src/docs/integrations.md
index 5f15426..a94c536 100644
--- a/docs/src/docs/integrations.md
+++ b/docs/src/docs/integrations.md
@@ -28,7 +28,7 @@ The repo provides multiple pre-configured hooks for specific djLint profiles (it
This will look for files matching `*.tmpl` and set `--profile=golang`.
:::
-Note that these predefined hooks are sometimes too conservative in the inputs they accept (your templates may be using a different extension) so pre-commit explicitly allows you to override any of these pre-defined options. See the `pre-commit docs `\_ for additional configuration
+Note that these predefined hooks are sometimes too conservative in the inputs they accept (your templates may be using a different extension) so pre-commit explicitly allows you to override any of these pre-defined options. See the [pre-commit docs](https://pre-commit.com/#pre-commit-configyaml---hooks) for additional configuration
### Default Django example
@@ -64,7 +64,7 @@ djLint can be used as a SublimeText Linter plugin. It can be installed via [pack
3. Install SublimeLinter-contrib-djlint
:::
-Ensure djLint is installed in your global python, or on yout `PATH`.
+Ensure djLint is installed in your global python, or on your `PATH`.
## Visual Studio Code
diff --git a/docs/src/index.njk b/docs/src/index.njk
index 9add7c3..a25c2ed 100644
--- a/docs/src/index.njk
+++ b/docs/src/index.njk
@@ -1,171 +1,4 @@
---
-layout: layout.njk
+layout: index.njk
date: Last Modified
-
----
-{% block body %}
-
-
-
dj Lint
-
-
- Lint & Format HTML Templates
-
-
Once upon a time all the other programming languages had a formatter and linter. Css, javascript, python, the c suite, typescript, ruby, php, go, swift, and you know the others. The cool kids on the block.
-HTML templates were left out there on their own, in the cold, unformatted and unlinted :( The dirty corner in your repository. Something had to change.
-Welcome djLint, the free cleaning service for html templates! And the html templates lived happily ever after.
-
-
find your favorite template language!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Watch it run!
-
-
-
-
-
-
-
-
-
Show your format!
-
-
-
-
-Add a badge to your projects
readme.md:
-
-{% highlight "md" %}
-[](https://github.com/Riverside-Healthcare/djlint)
-{% endhighlight %}
-
-Add a badge to your
readme.rst:
-
-{% highlight "md" %}
-
- .. image:: https://img.shields.io/badge/html%20style-djLint-blue.svg
- :target: https://github.com/Riverside-Healthcare/djlint
-{% endhighlight %}
-
-
Looks like this:
-
-
-
-
-
-
Contributing
-
-Contributions are welcome. Send a pr with a new feature, or checkout the issue list and help where you can.
-
-
-
-
-
-{% endblock body %}
+---
\ No newline at end of file
diff --git a/docs/src/ru/docs/best-practices.md b/docs/src/ru/docs/best-practices.md
new file mode 100644
index 0000000..0edad95
--- /dev/null
+++ b/docs/src/ru/docs/best-practices.md
@@ -0,0 +1,75 @@
+---
+description: Лучшие практики использования djLint для форматирования HTML-шаблонов.
+title: Лучшие практики
+keywords: облицовка шаблонов, форматер шаблонов, djLint, HTML, шаблоны, форматер, линтер, использование
+---
+
+# {{ "best_practices" | i18n }}
+
+## Пробелы вокруг условных атрибутов
+
+Иногда условия используются для добавления классов в тег. djLint удаляет пробелы внутри условных операторов.
+
+Этот шаблон рекомендуется:
+
+{% raw %}
+
+```html
+содержание
+ ^ место здесь
+```
+
+{% endraw %}
+
+Эта схема не рекомендуется:
+
+{% raw %}
+
+```html
+содержание
+ ^ место здесь
+```
+
+{% endraw %}
+
+## `format_attribute_template_tags` и беспространственные условные атрибуты
+
+Если `format_attribute_template_tags` опция включена, условные атрибуты должны использовать теги без пробелов, например {% raw %}`{% if a -%}`{% endraw %} в nunjuck и jinja, чтобы удалить пробелы внутри.
+
+djLint будет форматировать длинные атрибуты на несколько строк, и пробелы, сохраненные внутри атрибутов, могут сломать ваш код.
+
+Рекомендуется использовать этот шаблон:
+
+{% raw %}
+
+```html
+
+ ^ ^ ^ ^ -- беспространственные метки
+```
+
+{% endraw %}
+
+Эта схема не рекомендуется:
+
+{% raw %}
+
+```html
+
+```
+
+{% endraw %}
+
+После форматирования это может выглядеть следующим образом:
+
+{% raw %}
+
+```html
+
+```
+
+{% endraw %}
diff --git a/docs/src/ru/docs/changelog.md b/docs/src/ru/docs/changelog.md
new file mode 100644
index 0000000..b8ce14c
--- /dev/null
+++ b/docs/src/ru/docs/changelog.md
@@ -0,0 +1,408 @@
+---
+description: djLint Изменения. Ознакомьтесь с обновлениями последних релизов и узнайте, какие функции вы можете ожидать при следующем обновлении.
+title: Изменения
+keywords: облицовка шаблонов, форматер шаблонов, djLint, HTML, шаблоны, форматер, линтер, использование, Изменения
+---
+
+{% raw %}
+
+# Изменения
+
+## 0.7.4
+
+::: content
+
+- Исправления ошибок [#177](https://github.com/Riverside-Healthcare/djLint/issues/177)
+ :::
+
+## 0.7.3
+
+::: content
+
+- Исправления ошибок [#173](https://github.com/Riverside-Healthcare/djLint/issues/173), [#174](https://github.com/Riverside-Healthcare/djLint/issues/174)
+- Упал Py3.6 с сайта `pyproject.toml`.
+ :::
+
+## 0.7.2
+
+::: content
+
+- Исправления ошибок [#167](https://github.com/Riverside-Healthcare/djLint/issues/167), [#166](https://github.com/Riverside-Healthcare/djLint/issues/166), [#171](https://github.com/Riverside-Healthcare/djLint/issues/171), [#169](https://github.com/Riverside-Healthcare/djLint/issues/169)
+ :::
+
+## 0.7.1
+
+::: content
+
+- Исправления ошибок [#166](https://github.com/Riverside-Healthcare/djLint/issues/166)
+ :::
+
+## 0.7.0
+
+::: content
+
+- Добавлена настройка для пользовательских HTML-тегов
+- Исправления ошибок
+ :::
+
+## 0.6.9
+
+::: content
+
+- Добавлены профили HTML и Angular
+- Разрешены некоторые сущности в правиле #H023
+- Исправления ошибок
+ :::
+
+## 0.6.8
+
+::: content
+
+- Исправления ошибок
+- Обновленные документы
+ :::
+
+## 0.6.7
+
+::: content
+
+- Добавлена опция конфигурации `format_attribute_template_tags` как опция для форматирования тегов шаблонов внутри атрибутов
+- Добавлена опция конфигурации `linter_output_format` для настройки порядка переменных сообщений линтера
+- Добавлены правила H030 и H031 для проверки мета-тегов
+ :::
+
+## 0.6.6
+
+::: content
+
+- Большие исправления
+ :::
+
+## 0.6.5
+
+::: content
+
+- Обновлены пути вывода, чтобы они были относительными к корню проекта
+- Исправления ошибок
+ :::
+
+## 0.6.4
+
+::: content
+
+- Исправления ошибок
+ :::
+
+## 0.6.3
+
+::: content
+
+- Добавлена поддержка тега django `blocktrans`.
+- Исправления ошибок
+ :::
+
+## 0.6.2
+
+::: content
+
+- Исправления ошибок
+ :::
+
+## 0.6.1
+
+::: content
+
+- Исправления ошибок
+- Сделать правило T028 более строгим с более четким посланием
+ :::
+
+## 0.6.0
+
+::: content
+
+- Добавлено правило T027 для проверки наличия незакрытых тегов в синтаксисе шаблона
+- Добавлено правило T028 для проверки отсутствия пробельных тегов в атрибутах
+- Добавлено правило H029 для проверки метода формы в нижнем регистре
+- Игнорируются теги djagno blocktranslate, которые не имеют "trimmed" от форматера
+- Исправления ошибок
+ :::
+
+## 0.5.9a
+
+::: content
+
+- Добавлена поддержка тестирования для python 3.10
+- Добавлен крючок предварительного коммита
+ :::
+
+## 0.5.9
+
+::: content
+
+- Добавлена опция `--use-gitignore` для расширения исключений
+- Изменено сопоставление исключений по умолчанию
+- Исправлены пути исключения окон
+- Исправлено форматирование тегов `{%...%}` в атрибутах
+- Исправлено форматирование циклов for и вложенных условий в атрибутах
+ :::
+
+## 0.5.8
+
+::: content
+
+- Добавлена опция require_pragma
+- Обновлен DJ018 для перехвата `data-src` и `action` на входах
+- Исправлен синтаксис игнорирования строк
+- Добавлена опция `--lint` в качестве заполнителя для использования по умолчанию
+- Исправления ошибок
+ :::
+
+## 0.5.7
+
+::: content
+
+- Исправления ошибок
+ :::
+
+## 0.5.6
+
+::: content
+
+- Добавлено правило H026 для поиска пустых тегов id и class
+- Исправления ошибок
+ :::
+
+## 0.5.5
+
+::: content
+
+- Консолидированные настройки и сокращенный код
+- Исправления ошибок
+ :::
+
+## 0.5.4
+
+::: content
+
+- Добавлено правило H020 для поиска пустых пар тегов
+- Добавлено правило H021 для поиска инлайн-стилей
+- Добавлено правило H022 для поиска http-ссылок
+- Добавлено правило H023 для поиска ссылок на сущности
+- Добавлено правило H024 для поиска типов в скриптах и стилях
+- Добавлено правило H025 для проверки сиротских тегов. Благодаря https://stackoverflow.com/a/1736801/10265880
+- Улучшено форматирование атрибутов
+- Обновлена опция `blank_line_after_tag` для добавления новой строки независимо от местоположения
+- Исправлено форматирование тегов django `trans`
+- Добавлено форматирование для встроенных стилей
+- Добавлено форматирование для условий шаблона внутри атрибутов
+- Добавлен srcset как возможное местоположение url в правилах линтера
+- Ускорено форматирование
+- Особая благодарность [jayvdb](https://github.com/jayvdb>)
+ :::
+
+## 0.5.3
+
+::: content
+
+- Измените stdout для опций `--reformat/check`, чтобы выводить новый html только при использовании stdin в качестве входа
+ :::
+
+## 0.5.2
+
+::: content
+
+- Разделите требование `alt` с H006 на H013
+- Добавлен необязательный файл пользовательских правил
+- Добавлен `golang` в качестве опции профиля
+- Исправлено форматирование игнорируемых блоков, содержащих встроенные комментарии
+- Добавлен текст по умолчанию для опций `--indent` и `-e`
+- Обновлены правила url для принятия #
+- Исправлена кодировка файлов в ОС Windows
+- Исправлен регекс для однострочных тегов шаблонов
+- Исправление `blank_line_after_tag` для тегов с пробелами в начале строки
+
+ :::
+
+## 0.5.1
+
+::: content
+
+- Добавлено правило H019
+- Исправлены ошибки в DJ018 и H012
+ :::
+
+## 0.5.0
+
+::: content
+
+- Исправлено несколько ошибок регекс-сопоставления в правилах linter
+- Запрещено возвращать ошибки в игнорируемых блоках
+- Добавлена возможность игнорировать блок кода из linter/formatter с тегами `{% djlint:off %}...{% djlint:on %}`.
+ :::
+
+## 0.4.9
+
+::: content
+
+- Исправлена ошибка [#35](https://github.com/Riverside-Healthcare/djLint/issues/35)
+ :::
+
+## 0.4.8
+
+::: content
+
+- Исправлена ошибка [#34](https://github.com/Riverside-Healthcare/djLint/issues/34)
+ :::
+
+## 0.4.7
+
+::: content
+
+- Перемещение тега `source` в однострочные теги
+ :::
+
+## 0.4.6
+
+::: content
+
+- Исправлена ошибка [#31](https://github.com/Riverside-Healthcare/djLint/issues/31)
+ :::
+
+## 0.4.5
+
+::: content
+
+- Добавлены лучшие практики в документацию
+- Добавлена опция `--profile` для установки правил linter/formatter по умолчанию
+- Добавлены правила linter для шаблонов jinja url
+ :::
+
+## 0.4.4
+
+::: content
+
+- Измените конфигурацию отступа со строки на int. `--indent 3`
+ :::
+
+## 0.4.3
+
+::: content
+
+- Добавлена опция cli для интервала между отступами. `--indent=" "`.
+ :::
+
+## 0.4.2
+
+::: content
+
+- Добавлена поддержка дополнительных пробелов после тегов с помощью опции `blank_line_after_tag`.
+ :::
+
+## 0.4.1
+
+::: content
+
+- Добавлена поддержка одновременной обработки нескольких файлов или папок
+ :::
+
+## 0.4.0
+
+::: content
+
+- Исправлено форматирование тегов django `{# ... #}` тегов
+- Добавлена поддержка отступов для тегов figcaption, details и summary
+- Добавлена поддержка переопределения или расширения списка исключенных путей в `pyproject.toml`.
+ :::
+
+## 0.3.9
+
+::: content
+
+- Обновленная обработка атрибутов
+ :::
+
+## 0.3.8
+
+::: content
+
+- Добавлена поддержка stdin
+ :::
+
+## 0.3.7
+
+::: content
+
+- Исправлено форматирование тегов `small`, `dt` и `dd`.
+ :::
+
+## 0.3.6
+
+::: content
+
+- Добавлена поддержка форматера для открывающих блоков Nunjucks `{%-`
+ :::
+
+## 0.3.5
+
+::: content
+
+- Добавлена поддержка большего количества блоков Django
+- Добавлена поддержка пользовательских блоков
+- Добавлена поддержка конфигурации в `pyproject.toml`
+ :::
+
+## 0.3.4
+
+::: content
+
+- Исправлен тег Nunjucks без пробелов в формате `-%}`
+ :::
+
+## 0.3.3
+
+::: content
+
+- Позволяет коротким тегам `div` быть однострочными
+ :::
+
+## 0.3.2
+
+::: content
+
+- Исправлено форматирование комментариев в Django
+- Игнорирование форматирования текстовой области
+ :::
+
+## 0.3.1
+
+::: content
+
+- Обновлен регекс форматирования атрибутов
+- Обновлено правило притирки W010
+ :::
+
+## 0.3.0
+
+::: content
+
+- Изменен код выхода на 1 в случае изменения форматирования
+- Добавлена поддержка тегов `asset` в Jinja
+ :::
+
+## 0.2.9
+
+::: content
+
+- Обновленный регекс W018
+- Удалены дублирующиеся сообщения lint
+- Обновлен E001 для Handlebars
+ :::
+
+## 0.2.8
+
+::: content
+
+- Исправлена ошибка прогресс-бара для старой версии Click
+ :::
+
+{% endraw %}
diff --git a/docs/src/ru/docs/configuration.md b/docs/src/ru/docs/configuration.md
new file mode 100644
index 0000000..6509a3d
--- /dev/null
+++ b/docs/src/ru/docs/configuration.md
@@ -0,0 +1,205 @@
+---
+description: Конфигурация djLint для линтинга и форматирования HTML-шаблонов. Воспользуйтесь многочисленными возможностями форматирования.
+title: Конфигурация
+keywords: облицовка шаблонов, форматер шаблонов, djLint, HTML, шаблоны, форматер, линтер, использование, configuration
+---
+
+# {{ "configuration" | i18n }}
+
+Конфигурация выполняется через файл `pyproject.toml` вашего проекта. Арги командной строки всегда будут переопределять любые настройки в `pyproject.toml`.
+
+```ini
+[tool.djlint]
+
+```
+
+## ignore
+
+Игнорируйте коды линтера.
+
+Использование:
+
+```ini
+ignore="H014,H015"
+```
+
+## extension
+
+Используется для поиска файлов только с определенным расширением.
+
+Использование:
+
+```ini
+extension="html.dj"
+```
+
+## custom_blocks
+
+Используется для отступов в пользовательских блоках кода. Например, {% raw %}`{% toc %}...{% endtoc %}`{% endraw %}
+
+Использование:
+
+```ini
+custom_blocks="toc,example"
+```
+
+## custom_html
+
+Используется для отступа пользовательских HTML-тегов. Например, `` или `` или ``.
+
+Использование:
+
+```ini
+custom_html="mjml,simple-greeting,mj-\\w+"
+```
+
+## indent
+
+Используется для изменения отступа кода. По умолчанию - 4 (четыре пробела).
+
+Использование:
+
+```ini
+indent=3
+```
+
+## exclude
+
+Переопределите пути исключения по умолчанию.
+
+Использование:
+
+```ini
+exclude=".venv,venv,.tox,.eggs,..."
+```
+
+## extend_exclude
+
+Добавьте дополнительные пути к исключаемым по умолчанию.
+
+Использование:
+
+```ini
+extend_exclude=".custom"
+```
+
+## blank_line_after_tag
+
+Добавьте дополнительную пустую строку после групп тегов {% raw %}`{% ... %}`{% endraw %}.
+
+Использование:
+
+```ini
+blank_line_after_tag="load,extends,include"
+```
+
+## profile
+
+Установите профиль по умолчанию для языка шаблона. Профиль отключает правила линтера, которые не применимы к языку шаблона, а также может изменить переформатирование. Например, в `handlebars` нет пробелов внутри тегов {% raw %}`{{#if}}`{% endraw %}.
+
+Параметры:
+
+:::content
+
+- html
+- django
+- jinja
+- nunjucks (для nunjucks и twig)
+- handlebars (для handlebars и mustache)
+- golang
+- angular
+ :::
+
+Использование:
+
+```ini
+profile="django"
+```
+
+## require_pragma
+
+Форматировать или линтовать только те файлы, которые начинаются с комментария, содержащего только текст 'djlint:on'. Комментарий может быть HTML-комментарием или комментарием на языке шаблонов, определенном настройкой профиля. Если профиль не указан, принимается комментарий на любом из языков шаблонов.
+
+Использование:
+
+```ini
+require_pragma=true
+```
+
+{% raw %}
+
+```html
+
+или {# djlint:on #} или {% comment %} djlint:on {% endcomment %} или {{ /* djlint:on */ }} или {{!-- djlint:on --}}
+```
+
+{% endraw %}
+
+## max_line_length
+
+Форматировщик попытается разместить некоторые html и шаблонные теги на одной строке вместо того, чтобы обернуть их, если длина строки не превышает этого значения.
+
+Использование:
+
+```ini
+max_line_length=120
+```
+
+## max_attribute_length
+
+Форматировщик попытается обернуть атрибуты тега, если длина атрибута превышает это значение.
+
+Использование:
+
+```ini
+max_attribute_length=10
+```
+
+## use_gitignore
+
+Добавьте исключения .gitignore к исключениям по умолчанию.
+
+Использование:
+
+```ini
+use_gitignore=True
+```
+
+## format_attribute_template_tags
+
+Форматировщик будет пытаться форматировать синтаксис шаблона внутри атрибутов тега. По умолчанию отключен.
+
+Использование:
+
+```ini
+format_attribute_template_tags=true
+```
+
+Например, если эта опция включена, то допустимым будет следующий html:
+
+```html
+
+```
+
+## linter_output_format
+
+Настройка порядка вывода сообщения. По умолчанию="{code} {line} {message} {match}". Если `{filename}` не включено в сообщение, то вывод будет сгруппирован по файлам и к каждой группе будет автоматически добавлен заголовок.
+
+Использование:
+
+```ini
+# необязательные переменные:
+# {filename}
+# {line}
+# {code}
+# {message}
+# {match}
+
+linter_output_format="{filename}:{line}: {code} {message} {match}"
+```
diff --git a/docs/src/ru/docs/docs.json b/docs/src/ru/docs/docs.json
new file mode 100644
index 0000000..9b6b75e
--- /dev/null
+++ b/docs/src/ru/docs/docs.json
@@ -0,0 +1,3 @@
+{
+ "layout": "docs_layout.njk"
+}
diff --git a/docs/src/ru/docs/formatter.md b/docs/src/ru/docs/formatter.md
new file mode 100644
index 0000000..103c8f9
--- /dev/null
+++ b/docs/src/ru/docs/formatter.md
@@ -0,0 +1,119 @@
+---
+description: Форматируйте свои HTML-шаблоны с помощью djLint. Быстрый и точный вывод сделает ваши шаблоны блестящими.
+title: Использование форматера
+keywords: облицовка шаблонов, форматер шаблонов, djLint, HTML, шаблоны, форматер, линтер, использование, Использование форматера
+---
+
+# Использование форматера
+
+Форматировщик djLint возьмет неряшливые html-шаблоны и сделает форматирование последовательным и легким!
+
+Форматировщик - это бета-версия инструмента. Прежде чем вносить изменения, проверьте результат.
+
+Чтобы просмотреть, что может измениться в форматировании, выполните следующие действия:
+
+```bash
+djlint . --check
+```
+
+Для форматирования кода и обновления файлов выполните:
+
+```bash
+djlint . --reformat
+```
+
+
+
+{% admonition
+ "note",
+ "Note",
+ "Переформатирование не работает с длинными json/html, встроенными в данные атрибутов."
+%}
+
+{% admonition
+ "note",
+ "Note",
+ "djLint не является парсером html или синтаксическим валидатором."
+%}
+
+## Игнорирование кодекса
+
+Код можно игнорировать, обернув его в теги `djlint`:
+
+{% raw %}
+
+Для простого старого html -
+
+```html
+
+<плохой html, который следует игнорировать>
+```
+
+или как комментарий -
+
+```html
+{# djlint:off #} <плохой html, который следует игнорировать> {# djlint:on #}
+```
+
+или в виде длинного комментария
+
+```html
+{% comment %} djlint:off {% endcomment %}
+<плохой html, который следует игнорировать> {% comment %} djlint:on {% endcomment %}
+```
+
+или как комментарий в стиле javascript -
+
+```html
+{{ /* djlint:off */ }} <плохой html, который следует игнорировать> {{ /* djlint:on */ }}
+```
+
+или как комментарий в стиле golang -
+
+```html
+{{!-- djlint:off --}} <плохой html, который следует игнорировать> {{!-- djlint:on --}}
+```
+
+{% endraw %}
+
+## Вот пример!
+
+### До
+
+Вот кусок HTML, который отчаянно нуждается во внимании -
+{% raw %}
+
+```
+{% load admin_list %}{% load i18n %}{% if pagination_required %}{% for i in page_range %}{% paginator_number cl i %}{% endfor %}{% endif %}{{ cl.result_count }}{% if cl.result_count == 1 %}{{ cl.opts.verbose_name }} {% else %}{{ cl.opts.verbose_name_plural }} {% endif %}{% if show_all_url %} {% translate 'Show all' %} {% endif %}{% if cl.formset and cl.result_count %} {% endif %}
+```
+
+{% endraw %}
+
+### После
+
+Теперь он выглядит немного лучше... мы можем его прочитать :)
+
+{% raw %}
+
+```html
+{% load admin_list %} {% load i18n %}
+
+ {% if pagination_required %} {% for i in page_range %} {% paginator_number cl
+ i %} {% endfor %} {% endif %} {{ cl.result_count }} {% if cl.result_count == 1
+ %} {{ cl.opts.verbose_name }} {% else %} {{ cl.opts.verbose_name_plural }} {%
+ endif %} {% if show_all_url %}
+ {% translate 'Show all' %}
+ {% endif %} {% if cl.formset and cl.result_count %}
+
+ {% endif %}
+
+```
+
+{% endraw %}
diff --git a/docs/src/ru/docs/getting-started.md b/docs/src/ru/docs/getting-started.md
new file mode 100644
index 0000000..956f53b
--- /dev/null
+++ b/docs/src/ru/docs/getting-started.md
@@ -0,0 +1,81 @@
+---
+description: Начало работы с djLint для линтинга и форматирования HTML-шаблонов. Воспользуйтесь простым интерфейсом cli и множеством опций форматирования.
+title: Начало работы
+keywords: облицовка шаблонов, форматер шаблонов, djLint, HTML, шаблоны, форматер, линтер, использование
+---
+
+# {{ "getting_started" | i18n }}
+
+## Установка от [Pypi](https://pypi.org/project/djlint/)
+
+djLint собирается с [Python 3.7+](https://python.org), он может быть установлен простым запуском:
+
+```bash
+pip install djlint
+```
+
+## Использование CLI
+
+djLint - это приложение командной строки. Для расширенной настройки смотрите `конфигурация`.
+
+```bash
+Usage: python -m djlint [OPTIONS] SRC ...
+
+ djLint · lint and reformat HTML templates.
+
+Options:
+ --version Show the version and exit.
+ -e, --extension TEXT File extension to check [default: html]
+ -i, --ignore TEXT Codes to ignore. ex: "H014,H017"
+ --reformat Reformat the file(s).
+ --check Check formatting on the file(s).
+ --indent INTEGER Indent spacing. [default: 4]
+ --quiet Do not print diff when reformatting.
+ --profile TEXT Enable defaults by template language. ops: django,
+ jinja, nunjucks, handlebars, golang
+ --require-pragma Only format or lint files that starts with a comment
+ with the text 'djlint:on'
+ --lint Lint for common issues. [default option]
+ --use-gitignore Use .gitignore file to extend excludes.
+ -h, --help Show this message and exit.
+```
+
+{% admonition
+ "note",
+ "Note",
+ "Если команда `djlint` не найдена, убедитесь, что Python находится [в вашем пути](https://www.geeksforgeeks.org/how-to-add-python-to-windows-path/)."
+%}
+
+## Использование Path против Stdin
+
+djLint работает с путем или stdin.
+
+Бег с тропинкой -
+
+```bash
+djlint /path/to/templates --lint
+```
+
+Или конкретный файл -
+
+```bash
+djlint /path/to/this.mustache --lint
+```
+
+Или с помощью stdin -
+
+```bash
+echo "
" | djlint -
+```
+
+Stdin также может быть использован для переформатирования кода. На выходе будет только отформатированный код без сообщений.
+
+```bash
+echo "
" | djlint - --reformat
+```
+
+Выход -
+
+```html
+
+```
diff --git a/docs/src/ru/docs/integrations.md b/docs/src/ru/docs/integrations.md
new file mode 100644
index 0000000..98c9784
--- /dev/null
+++ b/docs/src/ru/docs/integrations.md
@@ -0,0 +1,77 @@
+---
+description: Интегрируйте djLint с вашим любимым редактором. Автоматическое форматирование ваших шаблонов с помощью Pre-Commit или Visual Studio Code. Lint с SublimeText.
+title: Интеграции
+keywords: облицовка шаблонов, форматер шаблонов, djLint, HTML, шаблоны, форматер, линтер, использование, integrations
+---
+
+# {{ "integrations" | i18n }}
+
+Существует несколько интеграций редакторов для djLint.
+
+## Pre-Commit
+
+djLint можно использовать как [pre-commit](https://pre-commit.com) крючок.
+
+Репозиторий предоставляет несколько предварительно настроенных хуков для определенных профилей djLint (он просто задает аргумент `--profile` и указывает pre-commit, какие расширения файлов искать):
+
+::: content
+
+- `djlint-django` для шаблонов Django:
+ Это будет искать файлы, соответствующие `templates/**.html` и устанавливать `--profile=django`.
+- `djlint-jinja`.
+ Это будет искать файлы, соответствующие `*.j2` и устанавливать `--профиль=jinja`.
+- `djlint-nunjucks`.
+ Будет искать файлы, соответствующие `*.njk` и устанавливать `--profile=nunjucks`.
+- `djlint-handlebars`
+ Будет искать файлы, соответствующие `*.hbs` и устанавливать `--profile=handlebars`.
+- `djlint-golang`
+ Будет искать файлы, соответствующие `*.tmpl` и устанавливать `--profile=golang`.
+ :::
+
+Обратите внимание, что эти предопределенные хуки иногда слишком консервативны в принимаемых ими входных данных (ваши шаблоны могут использовать другое расширение), поэтому pre-commit явно позволяет вам переопределять любые из этих предопределенных опций. См. [pre-commit документы](https://pre-commit.com/#pre-commit-configyaml---hooks) для дополнительной настройки.
+
+### Пример Django по умолчанию
+
+```yaml
+repos:
+- repo: https://github.com/Riverside-Healthcare/djLint
+ rev: 0.5.10 # grab latest tag from GitHub
+ hooks:
+ - id: djlint-django
+```
+
+### Handlebars с расширением .html вместо .hbs
+
+```yaml
+repos:
+- repo: https://github.com/Riverside-Healthcare/djLint
+ rev: 0.5.10 # grab latest tag from GitHub
+ hooks:
+ - id: djlint-handlebars
+ files: "\\.html"
+```
+
+Вы можете использовать параметры `files` или `exclude`, чтобы ограничить каждый хук своим каталогом, что позволит вам поддерживать несколько языков шаблонов в одном репозитории.
+
+## SublimeText Linter
+
+djLint можно использовать в качестве плагина SublimeText Linter. Его можно установить через [package-control](https://packagecontrol.io/packages/SublimeLinter-contrib-djlint).
+
+::: content
+
+1. `cmd + shft + p`
+2. Install SublimeLinter
+3. Install SublimeLinter-contrib-djlint
+ :::
+
+Убедитесь, что djLint установлен в вашем глобальном python или в вашем `PATH`.
+
+## Visual Studio Code
+
+[Страница рынка](https://marketplace.visualstudio.com/items?itemName=monosans.djlint)
+
+[GitHub репозиторий](https://github.com/monosans/djlint-vscode)
+
+## coc.nvim
+
+https://www.npmjs.com/package/coc-htmldjango
diff --git a/docs/src/ru/docs/languages/angular.md b/docs/src/ru/docs/languages/angular.md
new file mode 100644
index 0000000..343d07e
--- /dev/null
+++ b/docs/src/ru/docs/languages/angular.md
@@ -0,0 +1,29 @@
+---
+title: Angular Template Linter
+keywords: angular, djlint, angular template linter, lint angular templates
+description: djLint - это ангулярный линтер шаблонов! Используйте преимущества профиля предварительной сборки при линтинге и форматировании ваших шаблонов с помощью djLint.
+tool: angular
+---
+
+# {{ title }}
+
+{{ description }}
+
+#### Использование командной строки
+
+```bash
+djlint /path/to/templates --profile={{ tool }}
+```
+
+#### Или используйте файл конфигурации
+
+Настройте djLint в вашем проекте `pyproject.toml`.
+
+```toml
+[tool.djlint]
+profile="{{ tool }}"
+```
+
+
diff --git a/docs/src/ru/docs/languages/django.md b/docs/src/ru/docs/languages/django.md
new file mode 100644
index 0000000..1e9cba7
--- /dev/null
+++ b/docs/src/ru/docs/languages/django.md
@@ -0,0 +1,29 @@
+---
+title: Django Template Linter и Formatter
+keywords: django, djlint, django template linter, django template formatter, format django templates
+description: djLint - это линтер шаблонов django и форматер шаблонов django! Используйте преимущества профиля предварительной сборки при линтинге и форматировании ваших шаблонов с помощью djLint.
+tool: django
+---
+
+# {{ title }}
+
+{{ description }}
+
+#### Использование командной строки
+
+```bash
+djlint /path/to/templates --profile={{ tool }}
+```
+
+#### Или используйте файл конфигурации
+
+Настройте djLint в вашем проекте `pyproject.toml`.
+
+```toml
+[tool.djlint]
+profile="{{ tool }}"
+```
+
+
\ No newline at end of file
diff --git a/docs/src/ru/docs/languages/golang.md b/docs/src/ru/docs/languages/golang.md
new file mode 100644
index 0000000..f480c30
--- /dev/null
+++ b/docs/src/ru/docs/languages/golang.md
@@ -0,0 +1,29 @@
+---
+title: GoLang Template Linter and Formatter
+keywords: GoLang, djlint, GoLang template linter, GoLang template formatter, format GoLang templates
+description: djLint - это линтер шаблонов GoLang и форматер шаблонов GoLang! Используйте преимущества профиля предварительной сборки при линтинге и форматировании ваших шаблонов с помощью djLint.
+tool: golang
+---
+
+# {{ title }}
+
+{{ description }}
+
+#### Использование командной строки
+
+```bash
+djlint /path/to/templates --profile={{ tool }}
+```
+
+#### Или используйте файл конфигурации
+
+Настройте djLint в вашем проекте `pyproject.toml`.
+
+```toml
+[tool.djlint]
+profile="{{ tool }}"
+```
+
+
diff --git a/docs/src/ru/docs/languages/handlebars.md b/docs/src/ru/docs/languages/handlebars.md
new file mode 100644
index 0000000..f3877b9
--- /dev/null
+++ b/docs/src/ru/docs/languages/handlebars.md
@@ -0,0 +1,29 @@
+---
+title: Handlebars Template Linter and Formatter
+keywords: handlebars, djlint, handlebars template linter, handlebars template formatter, format handlebars templates
+description: djLint - это линтеры и форматоры шаблонов для ручек! Используйте преимущества профиля предварительной сборки при линтинге и форматировании ваших шаблонов с помощью djLint.
+tool: handlebars
+---
+
+# {{ title }}
+
+{{ description }}
+
+#### Использование командной строки
+
+```bash
+djlint /path/to/templates --profile={{ tool }}
+```
+
+#### Или используйте файл конфигурации
+
+Настройте djLint в вашем проекте `pyproject.toml`.
+
+```toml
+[tool.djlint]
+profile="{{ tool }}"
+```
+
+
diff --git a/docs/src/ru/docs/languages/jinja.md b/docs/src/ru/docs/languages/jinja.md
new file mode 100644
index 0000000..fbc9729
--- /dev/null
+++ b/docs/src/ru/docs/languages/jinja.md
@@ -0,0 +1,29 @@
+---
+title: Jinja Template Linter and Formatter
+keywords: jinja, djlint, jinja template linter, jinja template formatter, format jinja templates
+description: djLint - это линтер шаблонов jinja и форматер шаблонов jinja! Используйте преимущества профиля предварительной сборки при линтинге и форматировании ваших шаблонов с помощью djLint.
+tool: jinja
+---
+
+# {{ title }}
+
+{{ description }}
+
+#### Использование командной строки
+
+```bash
+djlint /path/to/templates --profile={{ tool }}
+```
+
+#### Или используйте файл конфигурации
+
+Настройте djLint в вашем проекте `pyproject.toml`.
+
+```toml
+[tool.djlint]
+profile="{{ tool }}"
+```
+
+
diff --git a/docs/src/ru/docs/languages/languages.json b/docs/src/ru/docs/languages/languages.json
new file mode 100644
index 0000000..6294776
--- /dev/null
+++ b/docs/src/ru/docs/languages/languages.json
@@ -0,0 +1,3 @@
+{
+ "layout": "languages_layout.njk"
+}
diff --git a/docs/src/ru/docs/languages/mustache.md b/docs/src/ru/docs/languages/mustache.md
new file mode 100644
index 0000000..0be76d6
--- /dev/null
+++ b/docs/src/ru/docs/languages/mustache.md
@@ -0,0 +1,29 @@
+---
+title: Mustache Template Linter and Formatter
+keywords: mustache, djlint, mustache template linter, mustache template formatter, format mustache templates
+description: djLint - это линтер шаблонов mustache и форматировщик шаблонов mustache! Используйте преимущества профиля предварительной сборки при линтинге и форматировании ваших шаблонов с помощью djLint.
+tool: handlebars
+---
+
+# {{ title }}
+
+{{ description }}
+
+#### Использование командной строки
+
+```bash
+djlint /path/to/templates --profile={{ tool }}
+```
+
+#### Или используйте файл конфигурации
+
+Настройте djLint в вашем проекте `pyproject.toml`.
+
+```toml
+[tool.djlint]
+profile="{{ tool }}"
+```
+
+
\ No newline at end of file
diff --git a/docs/src/ru/docs/languages/nunjucks.md b/docs/src/ru/docs/languages/nunjucks.md
new file mode 100644
index 0000000..137c2db
--- /dev/null
+++ b/docs/src/ru/docs/languages/nunjucks.md
@@ -0,0 +1,29 @@
+---
+title: Nunjucks Template Linter and Formatter
+keywords: nunjucks, djlint, nunjucks template linter, nunjucks template formatter, format nunjucks templates
+description: djLint - это линтер шаблонов nunjucks и форматер шаблонов nunjucks! Используйте преимущества профиля предварительной сборки при линтинге и форматировании ваших шаблонов с помощью djLint.
+tool: nunjucks
+---
+
+# {{ title }}
+
+{{ description }}
+
+#### Использование командной строки
+
+```bash
+djlint /path/to/templates --profile={{ tool }}
+```
+
+#### Или используйте файл конфигурации
+
+Настройте djLint в вашем проекте `pyproject.toml`.
+
+```toml
+[tool.djlint]
+profile="{{ tool }}"
+```
+
+
diff --git a/docs/src/ru/docs/languages/twig.md b/docs/src/ru/docs/languages/twig.md
new file mode 100644
index 0000000..4672f6b
--- /dev/null
+++ b/docs/src/ru/docs/languages/twig.md
@@ -0,0 +1,29 @@
+---
+title: Twig Template Linter and Formatter
+keywords: twig, djlint, twig template linter, twig template formatter, format twig templates
+description: djLint - это линтер шаблонов twig и форматировщик шаблонов twig! Используйте преимущества профиля предварительной сборки при линтинге и форматировании ваших шаблонов с помощью djLint.
+tool: nunjucks
+---
+
+# {{ title }}
+
+{{ description }}
+
+#### Использование командной строки
+
+```bash
+djlint /path/to/templates --profile={{ tool }}
+```
+
+#### Или используйте файл конфигурации
+
+Настройте djLint в вашем проекте `pyproject.toml`.
+
+```toml
+[tool.djlint]
+profile="{{ tool }}"
+```
+
+
diff --git a/docs/src/ru/docs/linter.md b/docs/src/ru/docs/linter.md
new file mode 100644
index 0000000..2fc81c3
--- /dev/null
+++ b/docs/src/ru/docs/linter.md
@@ -0,0 +1,108 @@
+---
+description: djLint HTML Template linter включает более 30 правил! Найти определения можно здесь. Легко расширить, включив пользовательские правила!
+title: Правила Линтера
+keywords: облицовка шаблонов, форматер шаблонов, djLint, HTML, шаблоны, форматер, линтер, использование, правила
+---
+
+# Использование вкладышей
+
+djLint включает в себя множество правил для проверки стиля и валидности ваших шаблонов. Используйте все преимущества линтера, настроив его на использование предустановленного профиля для выбранного вами языка шаблонов.
+
+```bash
+djlint /path/to/templates --lint
+
+# with custom extensions
+djlint /path/to/templates -e html.dj --profile=django
+
+# or to file
+djlint /path/to/this.html.j2 --profile=jinja
+```
+
+
+
+## Пользовательские правила
+
+Создайте файл `.djlint_rules.yaml` рядом с вашим `pyproject.toml`. Правила могут быть добавлены в этот файл, и djLint подхватит их.
+
+Хорошее правило выглядит следующим образом:
+
+```yaml
+- rule:
+ name: T001
+ message: Найти трихотилломанию
+ flags: re.DOTALL|re.I
+ patterns:
+ - трихотилломанию
+```
+
+## Правила
+
+| Код | Значение |
+| ---- | ------------------------------------------------------------------------------------------------------------------------- |
+| T001 | Переменные должны быть заключены в один пробел. Например: {% raw %}`{{ this }}`{% endraw %} |
+| T002 | В тегах следует использовать двойные кавычки. Ex {% raw %}`{% extends "this.html" %}`{% endraw %} |
+| T003 | Конечный блок должен иметь имя. Например: {% raw %}`{% endblock body %}`{% endraw %}. |
+| D004 | (Django) Статические урлы должны следовать шаблону {% raw %}`{% static path/to/file %}`{% endraw %}. |
+| J004 | (Jinja) Статические урлы должны следовать шаблону {% raw %}`{{ url_for('static'...)}}`{% endraw %}. |
+| H005 | Html-тег должен иметь атрибут `lang`. |
+| H006 | Тег `img` должен иметь атрибуты `height` и `width`. |
+| H007 | `` должен присутствовать перед тегом html. |
+| H008 | Атрибуты должны быть заключены в двойные кавычки. |
+| H009 | Имена тегов должны быть в нижнем регистре. |
+| H010 | Имена атрибутов должны быть в нижнем регистре. |
+| H011 | Значения атрибутов должны быть заключены в кавычки. |
+| H012 | Вокруг атрибута `=` не должно быть пробелов. |
+| H013 | Тег `img` должен иметь атрибуты alt. |
+| H014 | Более 2 пустых строк. |
+| H015 | После тегов `h` следует перевод строки. |
+| H016 | Отсутствие тега `title` в html. |
+| H017 | Тег должен быть самозакрывающимся. |
+| D018 | (Django) Внутренние ссылки должны использовать шаблон {% raw %}`{% url ... %}`{% endraw %}. |
+| J018 | (Jinja) Внутренние ссылки должны использовать шаблон {% raw %}`{% url ... %}`{% endraw %}. |
+| H019 | Замените `javascript:abc()` на событие `on_` и реальный url. |
+| H020 | Найдена пустая пара тегов. Рассмотрите возможность удаления. |
+| H021 | Следует избегать инлайн-стилей. |
+| H022 | Используйте HTTPS для внешних ссылок. |
+| H023 | Не используйте ссылки на сущности. |
+| H024 | Опускайте тип в скриптах и стилях. |
+| H025 | Тег кажется бесхозным. |
+| H026 | Теги Emtpy id и class могут быть удалены. |
+| T027 | В синтаксисе шаблона найдена незакрытая строка. |
+| T028 | Рассмотрите возможность использования тегов без пробелов внутри значений атрибутов. {% raw %}`{%- if/for -%}`{% endraw %} |
+| H029 | Рассмотрите возможность использования строчных значений метода формы. |
+| H030 | Рассмотрите возможность добавления мета-описания. |
+| H031 | Рассмотрите возможность добавления мета-ключевых слов. |
+
+### Добавление правил
+
+Мы приветствуем запросы с новыми правилами!
+
+Хорошее правило состоит из
+
+::: content
+
+- Name
+- Code
+- Message - Сообщение для отображения при обнаружении ошибки.
+- Flags - Флаги регекса. По умолчанию используется re.DOTALL. например: re.I|re.M
+- Patterns - regex-выражения, которые найдут ошибку.
+- Exclude - Необязательный список профилей, из которых нужно исключить правило.
+ :::
+
+Пожалуйста, включите тест для проверки правила.
+
+### Кодовые шаблоны
+
+Первая буква кода соответствует схеме:
+
+::: content
+
+- T: применяется в целом к шаблонам
+- H: применяется к html
+- D: применяется специально для Django
+- J: применяется специально для Jinja
+- N: применяется специально для Nunjucks
+- M: применяется специально для Handlebars
+ :::
diff --git a/docs/src/ru/index.njk b/docs/src/ru/index.njk
new file mode 100644
index 0000000..a25c2ed
--- /dev/null
+++ b/docs/src/ru/index.njk
@@ -0,0 +1,4 @@
+---
+layout: index.njk
+date: Last Modified
+---
\ No newline at end of file
diff --git a/docs/src/ru/ru.json b/docs/src/ru/ru.json
new file mode 100644
index 0000000..79ca439
--- /dev/null
+++ b/docs/src/ru/ru.json
@@ -0,0 +1,4 @@
+{
+ "dir": "ltr",
+ "locale": "ru"
+}
\ No newline at end of file
diff --git a/docs/src/search/all.njk b/docs/src/search/all.njk
deleted file mode 100644
index e670407..0000000
--- a/docs/src/search/all.njk
+++ /dev/null
@@ -1,19 +0,0 @@
----
-permalink: search/all.json
-eleventyExcludeFromCollections: true
----
-{%- set posts = collections.algolia -%}
-[
-{%- for post in posts -%}
- {
- "title": "{{ post.data.title | default(" ") }}",
- "date": "{{ page.date }}",
- "url": "{{ post.url }}",
- "content": {{ post.templateContent | algExcerpt | jsonify | safe }},
- "_tags": [{%- for tag in post.data.tags -%}"{{ tag }}"{%- if not loop.last -%},{% endif %}
-{% endfor %}
-]
-}
-{% if not loop.last %},{% endif %}
-{% endfor %}
-]
diff --git a/docs/src/search/update-algolia-index.js b/docs/src/search/update-algolia-index.js
deleted file mode 100644
index 225c4ee..0000000
--- a/docs/src/search/update-algolia-index.js
+++ /dev/null
@@ -1,14 +0,0 @@
-const algoliasearch = require('algoliasearch');
-
-const objects = require('../../_site/search/all.json');
-
-const client = algoliasearch('QFXNLHI6NP', process.env.ALGOLIA_SEARCH);
-
-const index = client.initIndex('dev_atlas');
-
-index
- .replaceAllObjects(objects, { autoGenerateObjectIDIfNotExist: true })
- .then(() => {
- console.log('updated');
- })
- .catch((error) => console.error('Failed to Algolia update index', error));
diff --git a/docs/src/static/css/site.scss b/docs/src/static/css/site.scss
index 847bf89..6c9ac02 100644
--- a/docs/src/static/css/site.scss
+++ b/docs/src/static/css/site.scss
@@ -565,6 +565,9 @@ a.card:hover {
width: 6rem;
}
+.is-transparent, .is-transparent:hover {
+ background-color: transparent !important;
+}
/* purgecss end ignore */
.navbar-item.is-mega {
diff --git a/docs/src/static/font/fontawesome/stylesheet.scss b/docs/src/static/font/fontawesome/stylesheet.scss
index 83a392d..dfaf1f5 100644
--- a/docs/src/static/font/fontawesome/stylesheet.scss
+++ b/docs/src/static/font/fontawesome/stylesheet.scss
@@ -155,6 +155,7 @@ $icons: (
life-ring: $fa-var-life-ring,
pencil-alt: $fa-var-pencil-alt,
arrow-circle-right: $fa-var-arrow-circle-right,
+ globe: $fa-var-globe,
);
@each $key, $value in $icons {
diff --git a/docs/src/static/js/search.js b/docs/src/static/js/search.js
deleted file mode 100644
index d23eec1..0000000
--- a/docs/src/static/js/search.js
+++ /dev/null
@@ -1,95 +0,0 @@
-// var client = algoliasearch('QFXNLHI6NP', '6b5ccc86ead48e79e587963eeb2d83e8');
-// var searchIndex = client.initIndex("dev_atlas");
-
-// var searchBox = document.getElementById("search");
-// var searchForm = document.getElementById("search-form");
-
-// var runSearch = function(event) {
-// var searchResultsContainer = document.getElementById("search-results");
-// searchResultsContainer.textContent = "";
-
-// var searchTerm = event.target.value;
-// if (searchTerm.length < 2) return;
-
-// var toolToFilterBy = event.target.dataset.filter || false;
-
-// var alogliaArgs = {
-// hitsPerPage: 10,
-// attributesToRetrieve: ["title", "url", "_tags"],
-// attributesToSnippet: ["content"],
-// snippetEllipsisText: "…",
-// };
-
-// if (toolToFilterBy) alogliaArgs.filters = toolToFilterBy;
-
-// searchIndex.search(searchTerm, alogliaArgs).then(function(e){
-// results = e["hits"]
-
-// console.log(results);
-
-// var formattedResults = results.map(function(result){
-// var toolName = extractToolName(result._tags);
-// console.log(toolName)
-// // Create elements
-// var link = document.createElement("a");
-// var title = document.createElement("strong");
-// var excerpt = document.createElement("p");
-// var tool = document.createElement("span");
-
-// link.href = result.url;
-// link.classList.add(
-// "panel-block",
-// "p-3",
-// "is-block"
-// );
-
-// excerpt.classList.add("search-snippet");
-// excerpt.innerHTML = result._snippetResult.content.value;
-
-// title.classList.add("is-flex", "is-justify-content-space-between");
-// title.innerText = result.title;
-
-// tool.innerText = toolName;
-// tool.classList.add(
-// "tag",
-// "is-info",
-// "is-light"
-
-// );
-
-// // Put all the elements together
-// title.appendChild(tool);
-// link.appendChild(title);
-// link.appendChild(excerpt);
-// return link;
-// });
-
-// formattedResults.map(function(el){
-// searchResultsContainer.insertAdjacentElement("beforeend", el)
-// });
-// });
-// };
-
-// var extractToolName = function(tags) {
-// return tags.filter(function(tag){ return tag === "BI Library" || tag === "Automation Hub" || tag === "Atlas"});
-// };
-
-// Function.prototype.debounce = function (delay) {
-// var outter = this,
-// timer;
-
-// return function () {
-// var inner = this,
-// args = [].slice.apply(arguments);
-
-// clearTimeout(timer);
-// timer = setTimeout(function () {
-// outter.apply(inner, args);
-// }, delay);
-// };
-// };
-
-// if(searchBox != undefined || searchForm != undefined){
-// searchBox.addEventListener("input", runSearch.debounce(250));
-// searchForm.addEventListener("submit", (e) => e.preventDefault());
-// }