diff --git a/content/meta/docs.mdx b/content/meta/docs.mdx
new file mode 100644
index 00000000..21bd9245
--- /dev/null
+++ b/content/meta/docs.mdx
@@ -0,0 +1,52 @@
+---
+title: Writing Codewars Docs
+---
+
+The Codewars Docs is built with [Docusaurus][docusaurus], and the docs are written in Markdown.
+Each page has "Edit this page" link that allows you to contribute on GitHub.
+
+Plain Markdown is great for writing, but sometimes we need extra features to make the docs more helpful.
+Docusaurus provides some [Markdown extensions][markdown-features], and has support for [MDX][mdx] to extend Markdown with React components.
+
+This page summarizes the features we use, and is also used to test the styling. See [Docusaurus docs][docusaurus-docs] for more details.
+
+## Admonitions
+
+Use the following syntax to add admonitions:
+
+```markdown
+:::type title?
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+
+:::
+```
+
+`type` is required. `title` is optional and defaults to uppercased `type`.
+
+### Types
+
+:::note
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.
+:::
+
+:::tip
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.
+:::
+
+:::info
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.
+:::
+
+:::warning
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.
+:::
+
+:::caution
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation.
+:::
+
+[docusaurus]: https://docusaurus.io/
+[docusaurus-docs]: https://docusaurus.io/docs
+[mdx]: https://mdxjs.com/
+[markdown-features]: https://docusaurus.io/docs/markdown-features
diff --git a/docusaurus.config.js b/docusaurus.config.js
index 5973b66f..7b6d3905 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -62,6 +62,7 @@ module.exports = {
sidebarPath: require.resolve("./sidebars.js"),
editUrl: "https://github.com/codewars/docs/edit/master/",
},
+ blog: false,
theme: {
customCss: require.resolve("./src/css/custom.css"),
},
diff --git a/package.json b/package.json
index 0b1b41be..a70e21e7 100644
--- a/package.json
+++ b/package.json
@@ -36,6 +36,11 @@
]
},
"devDependencies": {
- "prettier": "^2.2.1"
+ "autoprefixer": "^10.2.5",
+ "postcss": "^8.2.10",
+ "postcss-nested": "^5.0.5",
+ "postcss-preset-env": "^6.7.0",
+ "prettier": "^2.2.1",
+ "tailwindcss": "^2.1.1"
}
}
diff --git a/sidebars.js b/sidebars.js
index 08625f14..5de50d01 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -482,5 +482,10 @@ module.exports = {
],
},
"glossary",
+ {
+ type: "category",
+ label: "Meta",
+ items: ["meta/docs"],
+ },
],
};
diff --git a/sitePlugin.js b/sitePlugin.js
index 358cc306..12f9f859 100644
--- a/sitePlugin.js
+++ b/sitePlugin.js
@@ -1,9 +1,10 @@
const path = require("path");
-// Make `@components/` resolve to `src/components`.
module.exports = () => {
return {
name: "site-plugin",
+
+ // Make `@components/` resolve to `src/components`.
configureWebpack: (_config, _isServer) => ({
resolve: {
alias: {
@@ -11,5 +12,20 @@ module.exports = () => {
},
},
}),
+
+ // Append new PostCSS plugins.
+ configurePostCss: (postcssOptions) => {
+ postcssOptions.plugins.push(
+ require("tailwindcss"),
+ require("postcss-nested"),
+ require("postcss-preset-env")({
+ autoprefixer: {
+ flexbox: "no-2009",
+ },
+ stage: 4,
+ })
+ );
+ return postcssOptions;
+ },
};
};
diff --git a/src/components/Anchored.jsx b/src/components/Anchored.jsx
index e37e858b..2aa62387 100644
--- a/src/components/Anchored.jsx
+++ b/src/components/Anchored.jsx
@@ -2,7 +2,7 @@ import React from "react";
const Anchored = ({ id, children }) => {
return (
-
+
diff --git a/src/css/custom.css b/src/css/custom.css
index d016a42a..96019c70 100644
--- a/src/css/custom.css
+++ b/src/css/custom.css
@@ -4,6 +4,9 @@
* bundles Infima by default. Infima is a CSS framework designed to
* work well for content-centric websites.
*/
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
:root {
--ifm-color-primary: #b1361e;
@@ -47,10 +50,6 @@ html[data-theme="dark"] .header-github-link:before {
no-repeat;
}
-.anchored {
- display: inline;
- position: relative;
-}
.anchored:target {
background-color: var(--cw-anchored-target-bg);
}
@@ -59,13 +58,85 @@ html[data-theme="dark"] .header-github-link:before {
}
.anchored > .anchor-link::before {
content: "*";
- /* -ml-2 pr-2 absolute inset-y-0 opacity-0 float-left text-primary */
- margin-left: -0.5rem;
- padding-right: 0.5rem;
+ @apply -ml-2 pr-2 absolute inset-y-0 opacity-0 float-left;
color: var(--ifm-color-primary);
- position: absolute;
- top: 0;
- bottom: 0;
- opacity: 0;
- float: left;
+}
+
+/* Remove .alert styles from Docusaurus */
+.admonition.alert {
+ border-radius: 0;
+ border-width: 0;
+}
+
+.admonition {
+ @apply mb-4 py-4 pr-8 pl-4;
+
+ & .admonition-heading h5 {
+ @apply flex items-center m-0 mb-2 uppercase text-lg;
+ }
+
+ & .admonition-icon {
+ @apply inline-block align-middle mr-1 mt-1.5;
+
+ & svg {
+ @apply inline-block w-5 h-5;
+ @apply fill-current stroke-current;
+ }
+ }
+}
+
+.admonition.admonition-note {
+ @apply bg-note bg-opacity-10 border-solid border-l-8 border-note;
+
+ & .admonition-heading {
+ @apply text-note;
+ }
+ & .admonition-content {
+ @apply text-note-content;
+ }
+}
+
+.admonition.admonition-tip {
+ @apply bg-tip bg-opacity-10 border-solid border-l-8 border-tip;
+
+ & .admonition-heading {
+ @apply text-tip;
+ }
+ & .admonition-content {
+ @apply text-tip-content;
+ }
+}
+
+.admonition.admonition-info {
+ @apply bg-info bg-opacity-10 border-solid border-l-8 border-info;
+
+ & .admonition-heading {
+ @apply text-info;
+ }
+ & .admonition-content {
+ @apply text-info-content;
+ }
+}
+
+.admonition.admonition-warning {
+ @apply bg-warning bg-opacity-10 border-solid border-l-8 border-warning;
+
+ & .admonition-heading {
+ @apply text-warning;
+ }
+ & .admonition-content {
+ @apply text-warning-content;
+ }
+}
+
+.admonition.admonition-caution,
+.admonition.admonition-danger {
+ @apply bg-caution bg-opacity-10 border-solid border-l-8 border-caution;
+
+ & .admonition-heading {
+ @apply text-caution;
+ }
+ & .admonition-content {
+ @apply text-caution-content;
+ }
}
diff --git a/tailwind.config.js b/tailwind.config.js
new file mode 100644
index 00000000..d83968fd
--- /dev/null
+++ b/tailwind.config.js
@@ -0,0 +1,48 @@
+const colors = require("tailwindcss/colors");
+const plugin = require("tailwindcss/plugin");
+
+module.exports = {
+ mode: "jit",
+ purge: ["./src/**/*.{js,jsx,ts,tsx}", "./content/**/*.mdx"],
+ corePlugins: {
+ preflight: false,
+ },
+ // Using custom dark variant `html[data-theme="dark"]` to match Docusaurus.
+ darkMode: false,
+ theme: {
+ extend: {
+ colors: {
+ brand: "#b1361e",
+ // Admonitions colors
+ note: colors.coolGray[600],
+ "note-content": colors.coolGray[500],
+ tip: colors.emerald[600],
+ "tip-content": colors.emerald[600],
+ info: colors.lightBlue[500],
+ "info-content": colors.lightBlue[700],
+ warning: colors.orange[500],
+ "warning-content": colors.orange[700],
+ caution: colors.red[600],
+ "caution-content": colors.red[500],
+ },
+ },
+ },
+ variants: {
+ extend: {
+ backgroundColor: ["dark"],
+ textColor: ["dark"],
+ display: ["dark"],
+ },
+ },
+ plugins: [
+ plugin(({ addVariant, e }) => {
+ addVariant("dark", ({ modifySelectors, separator }) => {
+ modifySelectors(({ className }) => {
+ return `html[data-theme="dark"] .${e(
+ `dark${separator}${className}`
+ )}`;
+ });
+ });
+ }),
+ ],
+};
diff --git a/yarn.lock b/yarn.lock
index 11ab54c9..634f6655 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1479,6 +1479,13 @@
url "^0.11.0"
webpack-sources "^1.4.3"
+"@fullhuman/postcss-purgecss@^3.1.3":
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/@fullhuman/postcss-purgecss/-/postcss-purgecss-3.1.3.tgz#47af7b87c9bfb3de4bc94a38f875b928fffdf339"
+ integrity sha512-kwOXw8fZ0Lt1QmeOOrd+o4Ibvp4UTEBFQbzvWldjlKv5n+G9sXfIPn1hh63IQIL8K8vbvv1oYMJiIUbuy9bGaA==
+ dependencies:
+ purgecss "^3.1.3"
+
"@hapi/hoek@^9.0.0":
version "9.1.1"
resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.1.1.tgz#9daf5745156fd84b8e9889a2dc721f0c58e894aa"
@@ -1998,6 +2005,20 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7:
mime-types "~2.1.24"
negotiator "0.6.2"
+acorn-node@^1.6.1:
+ version "1.8.2"
+ resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8"
+ integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==
+ dependencies:
+ acorn "^7.0.0"
+ acorn-walk "^7.0.0"
+ xtend "^4.0.2"
+
+acorn-walk@^7.0.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
+ integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
+
acorn-walk@^8.0.0:
version "8.0.2"
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.0.2.tgz#d4632bfc63fd93d0f15fd05ea0e984ffd3f5a8c3"
@@ -2008,6 +2029,11 @@ acorn@^6.4.1:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6"
integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==
+acorn@^7.0.0:
+ version "7.4.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
+ integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
+
acorn@^8.0.4:
version "8.1.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.1.1.tgz#fb0026885b9ac9f48bac1e185e4af472971149ff"
@@ -2640,7 +2666,7 @@ bytes@3.0.0:
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=
-bytes@3.1.0:
+bytes@3.1.0, bytes@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
@@ -2769,7 +2795,7 @@ camel-case@^4.1.1:
pascal-case "^3.1.2"
tslib "^2.0.3"
-camelcase-css@2.0.1:
+camelcase-css@2.0.1, camelcase-css@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5"
integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
@@ -3048,7 +3074,7 @@ color-string@^1.5.4:
color-name "^1.0.0"
simple-swizzle "^0.2.2"
-color@^3.0.0:
+color@^3.0.0, color@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e"
integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==
@@ -3081,7 +3107,7 @@ commander@^5.1.0:
resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
-commander@^6.2.0:
+commander@^6.0.0, commander@^6.2.0:
version "6.2.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c"
integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==
@@ -3454,6 +3480,11 @@ css-tree@^1.1.2:
mdn-data "2.0.14"
source-map "^0.6.1"
+css-unit-converter@^1.1.1:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.2.tgz#4c77f5a1954e6dbff60695ecb214e3270436ab21"
+ integrity sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==
+
css-what@2.1:
version "2.1.3"
resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2"
@@ -3678,6 +3709,11 @@ define-property@^2.0.2:
is-descriptor "^1.0.2"
isobject "^3.0.1"
+defined@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
+ integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=
+
del@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4"
@@ -3756,6 +3792,20 @@ detect-port@^1.3.0:
address "^1.0.1"
debug "^2.6.0"
+detective@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b"
+ integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==
+ dependencies:
+ acorn-node "^1.6.1"
+ defined "^1.0.0"
+ minimist "^1.1.1"
+
+didyoumean@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.1.tgz#e92edfdada6537d484d73c0172fd1eba0c4976ff"
+ integrity sha1-6S7f2tplN9SE1zwBcv0eugxJdv8=
+
diffie-hellman@^5.0.0:
version "5.0.3"
resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
@@ -3772,6 +3822,11 @@ dir-glob@^3.0.1:
dependencies:
path-type "^4.0.0"
+dlv@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79"
+ integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==
+
dns-equal@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d"
@@ -4240,7 +4295,7 @@ fast-deep-equal@^3.1.1:
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
-fast-glob@^3.1.1, fast-glob@^3.2.4:
+fast-glob@^3.1.1, fast-glob@^3.2.4, fast-glob@^3.2.5:
version "3.2.5"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661"
integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==
@@ -4582,6 +4637,21 @@ github-slugger@^1.3.0:
dependencies:
emoji-regex ">=6.0.0 <=6.1.1"
+glob-base@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
+ integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=
+ dependencies:
+ glob-parent "^2.0.0"
+ is-glob "^2.0.0"
+
+glob-parent@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
+ integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=
+ dependencies:
+ is-glob "^2.0.0"
+
glob-parent@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
@@ -4597,7 +4667,7 @@ glob-parent@^5.1.0, glob-parent@^5.1.1, glob-parent@~5.1.0:
dependencies:
is-glob "^4.0.1"
-glob@^7.0.0, glob@^7.0.3, glob@^7.1.3, glob@^7.1.4:
+glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
version "7.1.6"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
@@ -5414,6 +5484,11 @@ is-docker@^2.0.0:
resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
+is-dotfile@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
+ integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=
+
is-extendable@^0.1.0, is-extendable@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
@@ -5426,6 +5501,11 @@ is-extendable@^1.0.1:
dependencies:
is-plain-object "^2.0.4"
+is-extglob@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
+ integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=
+
is-extglob@^2.1.0, is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
@@ -5441,6 +5521,13 @@ is-fullwidth-code-point@^3.0.0:
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+is-glob@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
+ integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=
+ dependencies:
+ is-extglob "^1.0.0"
+
is-glob@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
@@ -5960,6 +6047,11 @@ lodash.toarray@^4.4.0:
resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561"
integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE=
+lodash.topath@^4.5.2:
+ version "4.5.2"
+ resolved "https://registry.yarnpkg.com/lodash.topath/-/lodash.topath-4.5.2.tgz#3616351f3bba61994a0931989660bd03254fd009"
+ integrity sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=
+
lodash.uniq@4.5.0, lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
@@ -6262,7 +6354,7 @@ minimatch@3.0.4, minimatch@^3.0.4:
dependencies:
brace-expansion "^1.1.7"
-minimist@^1.2.0, minimist@^1.2.5:
+minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
@@ -6339,6 +6431,11 @@ mkdirp@^1.0.3, mkdirp@^1.0.4:
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
+modern-normalize@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/modern-normalize/-/modern-normalize-1.0.0.tgz#539d84a1e141338b01b346f3e27396d0ed17601e"
+ integrity sha512-1lM+BMLGuDfsdwf3rsgBSrxJwAZHFIrQ8YR61xIqdHo0uNKI9M52wNpHSrliZATJp51On6JD0AfRxd4YGSU0lw==
+
module-alias@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/module-alias/-/module-alias-2.2.2.tgz#151cdcecc24e25739ff0aa6e51e1c5716974c0e0"
@@ -6439,7 +6536,7 @@ no-case@^3.0.4:
lower-case "^2.0.2"
tslib "^2.0.3"
-node-emoji@^1.10.0:
+node-emoji@^1.10.0, node-emoji@^1.8.1:
version "1.10.0"
resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da"
integrity sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==
@@ -6580,6 +6677,11 @@ object-copy@^0.1.0:
define-property "^0.2.5"
kind-of "^3.0.3"
+object-hash@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.1.1.tgz#9447d0279b4fcf80cff3259bf66a1dc73afabe09"
+ integrity sha512-VOJmgmS+7wvXf8CjbQmimtCnEx3IAoLxI3fp2fbWehxrWBcAQFbk+vcwb6vzR0VZv/eNCJ/27j151ZTwqW/JeQ==
+
object-inspect@^1.9.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a"
@@ -6836,6 +6938,16 @@ parse-entities@^2.0.0:
is-decimal "^1.0.0"
is-hexadecimal "^1.0.0"
+parse-glob@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
+ integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw=
+ dependencies:
+ glob-base "^0.3.0"
+ is-dotfile "^1.0.0"
+ is-extglob "^1.0.0"
+ is-glob "^2.0.0"
+
parse-json@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
@@ -7217,6 +7329,16 @@ postcss-font-variant@^4.0.0:
dependencies:
postcss "^7.0.2"
+postcss-functions@^3:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/postcss-functions/-/postcss-functions-3.0.0.tgz#0e94d01444700a481de20de4d55fb2640564250e"
+ integrity sha1-DpTQFERwCkgd4g3k1V+yZAVkJQ4=
+ dependencies:
+ glob "^7.1.2"
+ object-assign "^4.1.1"
+ postcss "^6.0.9"
+ postcss-value-parser "^3.3.0"
+
postcss-gap-properties@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715"
@@ -7240,6 +7362,14 @@ postcss-initial@^3.0.0:
lodash.template "^4.5.0"
postcss "^7.0.2"
+postcss-js@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-3.0.3.tgz#2f0bd370a2e8599d45439f6970403b5873abda33"
+ integrity sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==
+ dependencies:
+ camelcase-css "^2.0.1"
+ postcss "^8.1.6"
+
postcss-lab-function@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e"
@@ -7374,6 +7504,13 @@ postcss-modules-values@^4.0.0:
dependencies:
icss-utils "^5.0.0"
+postcss-nested@5.0.5, postcss-nested@^5.0.5:
+ version "5.0.5"
+ resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.5.tgz#f0a107d33a9fab11d7637205f5321e27223e3603"
+ integrity sha512-GSRXYz5bccobpTzLQZXOnSOfKl6TwVr5CyAQJUPub4nuRJSOECK5AqurxVgmtxP48p0Kc/ndY/YyS1yqldX0Ew==
+ dependencies:
+ postcss-selector-parser "^6.0.4"
+
postcss-nesting@^7.0.0:
version "7.0.1"
resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052"
@@ -7649,7 +7786,7 @@ postcss-unique-selectors@^4.0.1:
postcss "^7.0.0"
uniqs "^2.0.0"
-postcss-value-parser@^3.0.0:
+postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0:
version "3.3.1"
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
@@ -7677,7 +7814,7 @@ postcss-zindex@^4.0.1:
postcss "^7.0.0"
uniqs "^2.0.0"
-postcss@^6.0.23:
+postcss@^6.0.23, postcss@^6.0.9:
version "6.0.23"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324"
integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==
@@ -7695,7 +7832,7 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2
source-map "^0.6.1"
supports-color "^6.1.0"
-postcss@^8.2.7, postcss@^8.2.8:
+postcss@^8.1.6, postcss@^8.2.1, postcss@^8.2.10, postcss@^8.2.7, postcss@^8.2.8:
version "8.2.10"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.10.tgz#ca7a042aa8aff494b334d0ff3e9e77079f6f702b"
integrity sha512-b/h7CPV7QEdrqIxtAf2j31U5ef05uBDuvoXv6L51Q4rcS1jdlXAVKJv+atCFdUXYl9dyTHGyoMzIepwowRJjFw==
@@ -7727,6 +7864,11 @@ pretty-error@^2.1.1:
lodash "^4.17.20"
renderkid "^2.0.4"
+pretty-hrtime@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1"
+ integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=
+
pretty-time@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e"
@@ -7875,6 +8017,16 @@ pure-color@^1.2.0:
resolved "https://registry.yarnpkg.com/pure-color/-/pure-color-1.3.0.tgz#1fe064fb0ac851f0de61320a8bf796836422f33e"
integrity sha1-H+Bk+wrIUfDeYTIKi/eWg2Qi8z4=
+purgecss@^3.1.3:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/purgecss/-/purgecss-3.1.3.tgz#26987ec09d12eeadc318e22f6e5a9eb0be094f41"
+ integrity sha512-hRSLN9mguJ2lzlIQtW4qmPS2kh6oMnA9RxdIYK8sz18QYqd6ePp4GNDl18oWHA1f2v2NEQIh51CO8s/E3YGckQ==
+ dependencies:
+ commander "^6.0.0"
+ glob "^7.0.0"
+ postcss "^8.2.1"
+ postcss-selector-parser "^6.0.2"
+
q@^1.1.2:
version "1.5.1"
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
@@ -7913,6 +8065,11 @@ queue-microtask@^1.2.2:
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+quick-lru@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
+ integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
+
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
@@ -8183,6 +8340,14 @@ recursive-readdir@2.2.2:
dependencies:
minimatch "3.0.4"
+reduce-css-calc@^2.1.8:
+ version "2.1.8"
+ resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz#7ef8761a28d614980dc0c982f772c93f7a99de03"
+ integrity sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==
+ dependencies:
+ css-unit-converter "^1.1.1"
+ postcss-value-parser "^3.3.0"
+
regenerate-unicode-properties@^8.2.0:
version "8.2.0"
resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"
@@ -8414,7 +8579,7 @@ resolve-url@^0.2.1:
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
-resolve@^1.1.6, resolve@^1.14.2, resolve@^1.3.2:
+resolve@^1.1.6, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.3.2:
version "1.20.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
@@ -9198,6 +9363,39 @@ svgo@^1.0.0, svgo@^1.2.2:
unquote "~1.1.1"
util.promisify "~1.0.0"
+tailwindcss@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-2.1.1.tgz#642f6038c9283a8e1454da34585b8b7c1a1e8877"
+ integrity sha512-zZ6axGqpSZOCBS7wITm/WNHkBzDt5CIZlDlx0eCVldwTxFPELCVGbgh7Xpb3/kZp3cUxOmK7bZUjqhuMrbN6xQ==
+ dependencies:
+ "@fullhuman/postcss-purgecss" "^3.1.3"
+ bytes "^3.0.0"
+ chalk "^4.1.0"
+ chokidar "^3.5.1"
+ color "^3.1.3"
+ detective "^5.2.0"
+ didyoumean "^1.2.1"
+ dlv "^1.1.3"
+ fast-glob "^3.2.5"
+ fs-extra "^9.1.0"
+ html-tags "^3.1.0"
+ lodash "^4.17.21"
+ lodash.topath "^4.5.2"
+ modern-normalize "^1.0.0"
+ node-emoji "^1.8.1"
+ normalize-path "^3.0.0"
+ object-hash "^2.1.1"
+ parse-glob "^3.0.4"
+ postcss-functions "^3"
+ postcss-js "^3.0.3"
+ postcss-nested "5.0.5"
+ postcss-selector-parser "^6.0.4"
+ postcss-value-parser "^4.1.0"
+ pretty-hrtime "^1.0.3"
+ quick-lru "^5.1.1"
+ reduce-css-calc "^2.1.8"
+ resolve "^1.20.0"
+
tapable@^1.0.0, tapable@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
@@ -10113,7 +10311,7 @@ xml-js@^1.6.11:
dependencies:
sax "^1.2.4"
-xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1:
+xtend@^4.0.0, xtend@^4.0.1, xtend@^4.0.2, xtend@~4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==