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.
- {{ site.description }} + {{ "description" | i18n }}
- djLint © 2021 Riverside Healthcare
Updated {{ page.date | niceDate }}
+ djLint © 2021 Riverside Healthcare
{{ "updated" | i18n }} {{ page.date | niceDate }}
{{ "index_description" | i18n | safe }} + +
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_message" | i18n | safe }}
+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.
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:
- --Contributions are welcome. Send a pr with a new feature, or checkout the issue list and help where you can.
-{% 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()); -// }