From a6a3ee761edc44da8736299c48f588b743685728 Mon Sep 17 00:00:00 2001 From: James Panther <4462786+jpanther@users.noreply.github.com> Date: Wed, 11 Aug 2021 15:28:33 +1000 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=89=20Initial=20commit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 140 + .prettierrc | 11 + LICENSE | 20 + README.md | 201 ++ archetypes/default.md | 8 + assets/css/main.css | 362 +++ assets/icons/exclamation-triangle-solid.svg | 1 + assets/icons/github-brands.svg | 1 + assets/icons/keybase-brands.svg | 1 + assets/icons/linkedin-brands.svg | 1 + assets/icons/twitter-brands.svg | 1 + config/_default/author.toml | 9 + config/_default/config.toml | 9 + config/_default/markup.toml | 5 + config/_default/menus.toml | 14 + config/_default/params.toml | 9 + layouts/404.html | 7 + layouts/_default/baseof.html | 11 + layouts/_default/list.html | 13 + layouts/_default/single.html | 20 + layouts/_default/sitemap.xml | 29 + layouts/index.html | 8 + layouts/partials/analytics.html | 9 + layouts/partials/article-link.html | 23 + layouts/partials/author.html | 50 + layouts/partials/footer.html | 34 + layouts/partials/head.html | 68 + layouts/partials/header.html | 14 + layouts/partials/heading-anchor.html | 1 + layouts/partials/icon.html | 4 + layouts/partials/meta.html | 8 + layouts/partials/pagination.html | 46 + layouts/partials/section-heading.html | 4 + layouts/robots.txt | 7 + layouts/shortcodes/alert.html | 8 + layouts/shortcodes/figure.html | 37 + layouts/shortcodes/icon.html | 4 + layouts/shortcodes/lead.html | 3 + layouts/shortcodes/mermaid.html | 3 + layouts/shortcodes/screenshot.html | 35 + layouts/taxonomy/list.html | 22 + layouts/taxonomy/topic.html | 13 + package-lock.json | 2734 +++++++++++++++++++ package.json | 32 + static/android-chrome-192x192.png | Bin 0 -> 2138 bytes static/android-chrome-512x512.png | Bin 0 -> 8978 bytes static/apple-touch-icon.png | Bin 0 -> 2248 bytes static/css/main.css | 2525 +++++++++++++++++ static/favicon-16x16.png | Bin 0 -> 229 bytes static/favicon-32x32.png | Bin 0 -> 307 bytes static/favicon.ico | Bin 0 -> 15406 bytes static/site.webmanifest | 1 + tailwind.config.js | 133 + theme.toml | 14 + 54 files changed, 6713 insertions(+) create mode 100644 .gitignore create mode 100644 .prettierrc create mode 100644 LICENSE create mode 100644 README.md create mode 100644 archetypes/default.md create mode 100644 assets/css/main.css create mode 100644 assets/icons/exclamation-triangle-solid.svg create mode 100644 assets/icons/github-brands.svg create mode 100644 assets/icons/keybase-brands.svg create mode 100644 assets/icons/linkedin-brands.svg create mode 100644 assets/icons/twitter-brands.svg create mode 100644 config/_default/author.toml create mode 100644 config/_default/config.toml create mode 100644 config/_default/markup.toml create mode 100644 config/_default/menus.toml create mode 100644 config/_default/params.toml create mode 100644 layouts/404.html create mode 100644 layouts/_default/baseof.html create mode 100644 layouts/_default/list.html create mode 100644 layouts/_default/single.html create mode 100644 layouts/_default/sitemap.xml create mode 100644 layouts/index.html create mode 100644 layouts/partials/analytics.html create mode 100644 layouts/partials/article-link.html create mode 100644 layouts/partials/author.html create mode 100644 layouts/partials/footer.html create mode 100644 layouts/partials/head.html create mode 100644 layouts/partials/header.html create mode 100644 layouts/partials/heading-anchor.html create mode 100644 layouts/partials/icon.html create mode 100644 layouts/partials/meta.html create mode 100644 layouts/partials/pagination.html create mode 100644 layouts/partials/section-heading.html create mode 100644 layouts/robots.txt create mode 100644 layouts/shortcodes/alert.html create mode 100644 layouts/shortcodes/figure.html create mode 100644 layouts/shortcodes/icon.html create mode 100644 layouts/shortcodes/lead.html create mode 100644 layouts/shortcodes/mermaid.html create mode 100644 layouts/shortcodes/screenshot.html create mode 100644 layouts/taxonomy/list.html create mode 100644 layouts/taxonomy/topic.html create mode 100644 package-lock.json create mode 100644 package.json create mode 100755 static/android-chrome-192x192.png create mode 100755 static/android-chrome-512x512.png create mode 100755 static/apple-touch-icon.png create mode 100644 static/css/main.css create mode 100755 static/favicon-16x16.png create mode 100755 static/favicon-32x32.png create mode 100755 static/favicon.ico create mode 100755 static/site.webmanifest create mode 100644 tailwind.config.js create mode 100644 theme.toml diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..e5d2c8ac --- /dev/null +++ b/.gitignore @@ -0,0 +1,140 @@ + +# Created by https://www.toptal.com/developers/gitignore/api/node, +# Edit at https://www.toptal.com/developers/gitignore?templates=node, + +### Node ### +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test +.env.production + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +# End of https://www.toptal.com/developers/gitignore/api/node, + +# Created by https://www.toptal.com/developers/gitignore/api/hugo +# Edit at https://www.toptal.com/developers/gitignore?templates=hugo + +### Hugo ### +# Generated files by hugo +/public/ +/resources/_gen/ + +# Executable may be added to repository +hugo.exe +hugo.darwin +hugo.linux + +# End of https://www.toptal.com/developers/gitignore/api/hugo diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..f5f5a075 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,11 @@ +{ + "printWidth": 100, + "overrides": [ + { + "files": ["*.html"], + "options": { + "parser": "go-template" + } + } + ] +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..37b1ead4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2021 James Panther (https://jamespanther.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 00000000..ad04c93f --- /dev/null +++ b/README.md @@ -0,0 +1,201 @@ +# Hugo Congo Theme + +Congo is designed to be a lightweight and fast theme for Hugo. It's based upon Tailwind CSS with a clean and minimalist design. + +## Features + +- Built with [Tailwind CSS JIT](https://tailwindcss.com/docs/just-in-time-mode) for minified stylesheets without any excess code +- Theme can be easily edited using simple [Tailwind colour definitions and styles](https://tailwindcss.com/docs) +- Dark mode support (auto-switching based upon browser) +- Highly customisable [configuration](#configuration) +- Custom content types and menus +- Custom taxonomies +- SVG social icons from [FontAwesome 5](https://fontawesome.com/) +- SEO friendly +- [Fathom Analytics](https://usefathom.com/ref/RLAJSV) and Google Analytics +- Favicons support - Generate using [favicon.io](https://favicon.io) +- [Comments support](https://gohugo.io/content-management/comments/) + +## Installation + +Simply follow the standard Hugo [Quick Start](https://gohugo.io/getting-started/quick-start/) procedure to get up and running quickly. + +Detailed instructions can be found below. + +### 1. Install Hugo + +You can find specific instructions for your platform in the official [Hugo docs](https://gohugo.io/getting-started/installing.). + +Make sure you are using **Hugo version 0.86.1** or later as the theme takes advantage of some of the latest Hugo features. + +### 2. Create a new site + +Run the command `hugo new site mywebsite` to create a new Hugo site in a folder named `mywebsite`. + +### 3. Download the Congo theme + +There are a couple of ways to install the Congo theme into your Hugo website. The git method is the easiest to keep the theme up-to-date, but you can also download and install manually if you don't have git available. + +#### Install using git + +Change into the directory for your Hugo website, initialise a new repository and add Congo as a submodule. + +```bash +cd mywebsite +git init +git submodule add https://github.com/jpanther/hugo-congo.git themes/congo +``` + +_**Note:** You need to substitute `mywebsite` for the correct folder name you used in Step 2._ + +#### Install manually + +Download the latest version of the theme from: [https://github.com/jpanther/hugo-congo/archive/master.zip](https://github.com/jpanther/hugo-congo/archive/master.zip) + +Extract the archive and you should have a folder named `hugo-congo-master`. + +Rename the folder to `congo` and move it to the `themes/` directory inside your `mywebsite` folder. + +_**Note:** You need to substitute `mywebsite` for the correct folder name you used in Step 2._ + +### 4. Add Congo to your configuration file + +Open the `config.toml` file in the root of your website and add `theme = "congo"` + +You're now all set up to use Congo. From here you can add some content and start the Hugo server. + +Refer to the Hugo docs for more information or read the next section to learn more about configuring the theme. + +## Configuration + +Congo is a highly customisable theme and uses some of the latest Hugo features to simplify how it is configured. + +The theme ships with a default configuration that gets you up and running with a basic blog or static website. This default configuration can be found in the `themes/congo/config/_default/` folder. + +> Configuration files bundled with the theme are provided in TOML format as this is the default Hugo syntax. Feel free to convert your config to YAML or JSON as you wish. + +The default theme configuration can be overridden on a per-setting basis by copying the relevant setting from the `themes/congo/config/_default/` to your `config.toml` file in the root of your website. Any settings in your config file will take precedence over the theme defaults. + +### Getting started + +The config files that ship with Congo contain all of the possible settings that the theme recognises. By default, many of these are commented out but you can simply uncomment them to activate or change a specific feature. + +A few things you need to set for a new installation: + +```toml +# config.toml + +theme = "congo" +baseURL = "https://your_domain.com" +languageCode = "en-AU" + +title = "My awesome website" +``` + +It's also useful to add an author configuration by copying the settings from the `themes/congo/config/_default/author.toml` file. You can also add links to your profiles here to enable them in the theme. + +```toml +# config.toml + +[author] +name = "Your name" +twitter = "https://twitter.com/username" +``` + +### Organising content + +By default, Congo doesn't force you to use a particular content type. In doing so you are free to define your content as you wish. You might prefer _pages_ for a static site, _posts_ for a blog, or _projects_ for a portfolio. + +The same logic applies to taxonomies. Some people prefer to use _tags_ and _categories_, others prefer to use _topics_. + +Hugo defaults to using posts, tags and categories out of the box and this will work fine if that's what you want. If you wish to customise this, however, you can do so by creating the following files: + +```toml +# config.toml + +[taxonomies] +topic = "topics" +``` + +This will replace the default _tags_ and _categories_ with _topics_. Refer to the [Hugo Taxonomy docs](https://gohugo.io/content-management/taxonomies/) for more information on naming taxonomies. + +When you create a new taxonomy, you will need to adjust the navigation links on the website to point to the new sections: + +```toml +# config.toml + +[[menu.main]] + name = "Blog" + pageRef = "/posts/" + weight = 10 + +[[menu.main]] + name = "Topics" + pageRef = "/topics/" + weight = 20 +``` + +## Customising the theme + +There are a couple of ways you can make style changes to Congo. + +If you just need to add or override some simple styles, you can do so by creating a `custom.css` file in your project's `static/css/` folder. This file will be loaded automatically after the theme's default styles. + +Alternatively, if you'd like to make a major change, you can take advantage of Tailwind CSS's JIT compiler and rebuild the entire theme CSS from scratch. + +> **Note:** Building the theme manually is intended for advanced users. + +Change into the `themes/congo/` folder and install the project dependencies. + +```bash +npm install +``` + +Once installed, you can edit the `themes/congo/tailwind.config.js` to change the styles that are applied throughout the theme. You can also adjust specific styles in `themes/congo/assets/css/main.css`. + +To allow for easy theme colour changes, Congo defines a `primary` and `secondary` colour palette that is used throughout the theme. In order to change the colour across the entire theme, simply edit the `tailwind.config.js` file accordingly. + +For example, to change to a green colour scheme, you could apply these changes: + +```js + // themes/congo/tailwind.config.js + + theme: { + colors: { + transparent: "transparent", + white: colors.white, + gray: colors.gray, + primary: colors.lime, + secondary: colors.teal, + }, + ... + } +``` + +For a full list of colours available, and their corresponding configuration values, see the official [Tailwind docs](https://tailwindcss.com/docs/customizing-colors#color-palette-reference). + +After editing the configuration, you need to rebuild the theme's stylesheets. + +```bash +npm run build +``` + +This will automatically output a minified CSS file to `/themes/congo/static/css/main.css`. + +To aid with testing style changes, you can also run the Tailwind JIT comiler in watch mode. + +```bash +npm run dev +``` + +Now whenever you make a change, the (non-minified) CSS files will be rebuilt automatically. This mode is useful to run when using `hugo server` to preview your site during development. Remember to perform a full build before publishing your website. + +## Contributing + +Congo is still very much a work in progress. I intend to keep adding features and making changes as required. + +### Bugs & Suggestions + +Feel free to get in touch with any issues or suggestions for new features you'd like to see. Please use GitHub issues for all bug reports and suggestions to help keep everything in one spot. + +If you're able to fix a bug or implement a new feature, I welcome PRs for this purpose. diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 00000000..09a04bbe --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,8 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +description: "" +slug: "{{ .File.BaseFileName }}" +topics: [] +--- diff --git a/assets/css/main.css b/assets/css/main.css new file mode 100644 index 00000000..bec0ac1d --- /dev/null +++ b/assets/css/main.css @@ -0,0 +1,362 @@ +@tailwind base; +@tailwind components; + +/* Scale SVG icons to text size */ +.icon svg { + height: 1em; + width: 1em; +} + +/* Heading anchors */ +.prose .heading-anchor { + @apply absolute top-0 w-6 no-underline opacity-0 -left-6; +} +.prose .heading-anchor:hover { + @apply underline bg-transparent opacity-100 text-primary-600; +} +.prose h2:focus > .heading-anchor, +.prose h2:hover > .heading-anchor, +.prose h3:focus > .heading-anchor, +.prose h3:hover > .heading-anchor, +.prose h4:focus > .heading-anchor, +.prose h4:hover > .heading-anchor { + @apply opacity-100; +} + +.no-prose > p { + @apply mt-0 last:mb-0; +} + +/* -- Chroma Highlight -- */ +/* Background */ +.prose .chroma { + @apply text-gray-700 rounded-md bg-gray-50 dark:bg-gray-700 dark:text-gray-200; +} +/* Other */ +.chroma .x { +} +/* Error */ +.chroma .err { +} +/* LineTableTD */ +.chroma .lntd, +.chroma .lntd pre { + @apply p-0 m-0 align-top border-none; +} +/* LineTable */ +.chroma .lntable { + @apply block w-auto px-4 py-3 overflow-hidden text-base; + border-spacing: 0; +} +/* LineHighlight */ +.chroma .hl { + @apply block w-auto px-4 -mx-4 bg-primary-100 dark:bg-primary-900; +} +.chroma .lntd .hl { + @apply p-0 m-0; +} +/* LineNumbersTable */ +.chroma .lnt { + @apply text-gray-600 dark:text-gray-300; + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; +} +/* LineNumbers */ +.chroma .ln { + @apply text-gray-600 dark:text-gray-300; + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; +} +/* Keyword */ +.chroma .k { + @apply text-primary-600 dark:text-primary-300; +} +/* KeywordConstant */ +.chroma .kc { + @apply font-semibold text-secondary-400 dark:text-secondary-500; +} +/* KeywordDeclaration */ +.chroma .kd { + @apply text-primary-600 dark:text-primary-300; +} +/* KeywordNamespace */ +.chroma .kn { + @apply text-primary-600 dark:text-primary-300; +} +/* KeywordPseudo */ +.chroma .kp { + @apply text-primary-600 dark:text-primary-300; +} +/* KeywordReserved */ +.chroma .kr { + @apply text-primary-600 dark:text-primary-300; +} +/* KeywordType */ +.chroma .kt { + @apply text-secondary-400 dark:text-secondary-600; +} +/* Name */ +.chroma .n { + @apply text-secondary-900 dark:text-secondary-200; +} +/* NameAttribute */ +.chroma .na { + @apply text-secondary-800 dark:text-secondary-300; +} +/* NameBuiltin */ +.chroma .nb { + @apply text-secondary-800 dark:text-secondary-300; +} +/* NameBuiltinPseudo */ +.chroma .bp { + @apply text-secondary-800 dark:text-secondary-300; +} +/* NameClass */ +.chroma .nc { + @apply text-primary-600 dark:text-primary-300; +} +/* NameConstant */ +.chroma .no { + @apply font-semibold text-secondary-400 dark:text-secondary-500; +} +/* NameDecorator */ +.chroma .nd { + @apply text-secondary-900 dark:text-secondary-200; +} +/* NameEntity */ +.chroma .ni { + @apply text-secondary-900 dark:text-secondary-200; +} +/* NameException */ +.chroma .ne { + @apply font-semibold text-secondary-400 dark:text-secondary-500; +} +/* NameFunction */ +.chroma .nf { + @apply text-secondary-600 dark:text-secondary-500; +} +/* NameFunctionMagic */ +.chroma .fm { + @apply text-primary-600 dark:text-primary-300; +} +/* NameLabel */ +.chroma .nl { + @apply text-secondary-900 dark:text-secondary-200; +} +/* NameNamespace */ +.chroma .nn { + @apply text-primary-600 dark:text-primary-300; +} +/* NameOther */ +.chroma .nx { + @apply text-secondary-800 dark:text-secondary-300; +} +/* NameProperty */ +.chroma .py { + color: #cebc3a; +} +/* NameTag */ +.chroma .nt { + @apply text-secondary-800 dark:text-secondary-300; +} +/* NameVariable */ +.chroma .nv { + @apply text-secondary-400 dark:text-secondary-600; +} +/* NameVariableClass */ +.chroma .vc { + @apply text-primary-600 dark:text-primary-300; +} +/* NameVariableGlobal */ +.chroma .vg { + @apply font-semibold text-secondary-400 dark:text-secondary-500; +} +/* NameVariableInstance */ +.chroma .vi { + @apply text-secondary-400 dark:text-secondary-600; +} +/* NameVariableMagic */ +.chroma .vm { + @apply text-secondary-400 dark:text-secondary-600; +} +/* Literal */ +.chroma .l { + @apply text-primary-800 dark:text-primary-400; +} +/* LiteralDate */ +.chroma .ld { + @apply text-primary-800 dark:text-primary-400; +} +/* LiteralString */ +.chroma .s { + @apply text-primary-800 dark:text-primary-400; +} +/* LiteralStringAffix */ +.chroma .sa { + @apply text-primary-800 dark:text-primary-400; +} +/* LiteralStringBacktick */ +.chroma .sb { + @apply text-primary-800 dark:text-primary-400; +} +/* LiteralStringChar */ +.chroma .sc { + @apply text-primary-800 dark:text-primary-400; +} +/* LiteralStringDelimiter */ +.chroma .dl { + @apply text-primary-800 dark:text-primary-400; +} +/* LiteralStringDoc */ +.chroma .sd { + @apply text-primary-800 dark:text-primary-400; +} +/* LiteralStringDouble */ +.chroma .s2 { + @apply text-primary-800 dark:text-primary-400; +} +/* LiteralStringEscape */ +.chroma .se { + @apply font-semibold text-secondary-400 dark:text-secondary-500; +} +/* LiteralStringHeredoc */ +.chroma .sh { + @apply text-primary-800 dark:text-primary-400; +} +/* LiteralStringInterpol */ +.chroma .si { + @apply text-primary-800 dark:text-primary-400; +} +/* LiteralStringOther */ +.chroma .sx { + @apply text-primary-800 dark:text-primary-400; +} +/* LiteralStringRegex */ +.chroma .sr { + @apply font-semibold text-primary-800 dark:text-primary-400; +} +/* LiteralStringSingle */ +.chroma .s1 { + @apply text-primary-800 dark:text-primary-400; +} +/* LiteralStringSymbol */ +.chroma .ss { + @apply font-semibold text-primary-800 dark:text-primary-400; +} +/* LiteralNumber */ +.chroma .m { + @apply text-secondary-400 dark:text-secondary-600; +} +/* LiteralNumberBin */ +.chroma .mb { + @apply text-secondary-400 dark:text-secondary-600; +} +/* LiteralNumberFloat */ +.chroma .mf { + @apply text-secondary-400 dark:text-secondary-600; +} +/* LiteralNumberHex */ +.chroma .mh { + @apply text-secondary-400 dark:text-secondary-600; +} +/* LiteralNumberInteger */ +.chroma .mi { + @apply text-secondary-400 dark:text-secondary-600; +} +/* LiteralNumberIntegerLong */ +.chroma .il { + @apply text-secondary-400 dark:text-secondary-600; +} +/* LiteralNumberOct */ +.chroma .mo { + @apply text-secondary-400 dark:text-secondary-600; +} +/* Operator */ +.chroma .o { + @apply text-primary-600; +} +/* OperatorWord */ +.chroma .ow { + @apply font-semibold text-primary-400 dark:text-primary-600; +} +/* Punctuation */ +.chroma .p { +} +/* Comment */ +.chroma .c { + @apply italic text-gray-400 dark:text-gray-500; +} +/* CommentHashbang */ +.chroma .ch { + @apply italic font-semibold text-gray-400 dark:text-gray-500; +} +/* CommentMultiline */ +.chroma .cm { + @apply italic text-gray-400 dark:text-gray-500; +} +/* CommentSingle */ +.chroma .c1 { + @apply italic text-gray-400 dark:text-gray-500; +} +/* CommentSpecial */ +.chroma .cs { + @apply italic text-gray-400 dark:text-gray-500; +} +/* CommentPreproc */ +.chroma .cp { + @apply italic text-gray-400 dark:text-gray-500; +} +/* CommentPreprocFile */ +.chroma .cpf { + @apply italic text-gray-400 dark:text-gray-500; +} +/* Generic */ +.chroma .g { +} +/* GenericDeleted */ +.chroma .gd { +} +/* GenericEmph */ +.chroma .ge { + @apply italic; +} +/* GenericError */ +.chroma .gr { +} +/* GenericHeading */ +.chroma .gh { + @apply font-semibold text-gray-500; +} +/* GenericInserted */ +.chroma .gi { + @apply text-primary-800 dark:text-primary-400; +} +/* GenericOutput */ +.chroma .go { + @apply text-primary-800 dark:text-primary-400; +} +/* GenericPrompt */ +.chroma .gp { + @apply text-primary-800 dark:text-primary-400; +} +/* GenericStrong */ +.chroma .gs { + @apply font-semibold; +} +/* GenericSubheading */ +.chroma .gu { + @apply text-gray-500; +} +/* GenericTraceback */ +.chroma .gt { + @apply text-gray-500; +} +/* GenericUnderline */ +.chroma .gl { + @apply underline; +} +/* TextWhitespace */ +.chroma .w { +} + +@tailwind utilities; diff --git a/assets/icons/exclamation-triangle-solid.svg b/assets/icons/exclamation-triangle-solid.svg new file mode 100644 index 00000000..f316b164 --- /dev/null +++ b/assets/icons/exclamation-triangle-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/github-brands.svg b/assets/icons/github-brands.svg new file mode 100644 index 00000000..7870c06d --- /dev/null +++ b/assets/icons/github-brands.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/keybase-brands.svg b/assets/icons/keybase-brands.svg new file mode 100644 index 00000000..dd1694e0 --- /dev/null +++ b/assets/icons/keybase-brands.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/linkedin-brands.svg b/assets/icons/linkedin-brands.svg new file mode 100644 index 00000000..437b8078 --- /dev/null +++ b/assets/icons/linkedin-brands.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/icons/twitter-brands.svg b/assets/icons/twitter-brands.svg new file mode 100644 index 00000000..9ac9e0b9 --- /dev/null +++ b/assets/icons/twitter-brands.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/config/_default/author.toml b/config/_default/author.toml new file mode 100644 index 00000000..3daffe10 --- /dev/null +++ b/config/_default/author.toml @@ -0,0 +1,9 @@ +[author] + # name = "Your name here" + # image = "/img/author.jpg" + # email = "hello@your_domain.com" + + # twitter = "https://twitter.com/username" + # github = "https://github.com/username" + # keybase = "https://keybase.io/username" + # linkedin = "https://linkedin.com/in/username/" diff --git a/config/_default/config.toml b/config/_default/config.toml new file mode 100644 index 00000000..8d028486 --- /dev/null +++ b/config/_default/config.toml @@ -0,0 +1,9 @@ +theme = "congo" +# baseURL = "https://your_domain.com/" +languageCode = "en" + +title = "Congo" +# copyright = "Copy, _right?_ :thinking_face:" + +enableEmoji = true +enableRobotsTXT = true diff --git a/config/_default/markup.toml b/config/_default/markup.toml new file mode 100644 index 00000000..2e144acd --- /dev/null +++ b/config/_default/markup.toml @@ -0,0 +1,5 @@ +[highlight] + noClasses = false + +[goldmark.renderer] + unsafe = true diff --git a/config/_default/menus.toml b/config/_default/menus.toml new file mode 100644 index 00000000..05445b84 --- /dev/null +++ b/config/_default/menus.toml @@ -0,0 +1,14 @@ +[[main]] + name = "Blog" + pageRef = "posts" + weight = 10 + +[[main]] + name = "Categories" + pageRef = "categories" + weight = 20 + +[[main]] + name = "Tags" + pageRef = "tags" + weight = 30 diff --git a/config/_default/params.toml b/config/_default/params.toml new file mode 100644 index 00000000..40404aef --- /dev/null +++ b/config/_default/params.toml @@ -0,0 +1,9 @@ +[verification] + # google = "" + # bing = "" + # pinterest = "" + # yandex = "" + +[fathomAnalytics] + # site = "ABC12345" + # domain = "llama.yoursite.com" diff --git a/layouts/404.html b/layouts/404.html new file mode 100644 index 00000000..464b13bc --- /dev/null +++ b/layouts/404.html @@ -0,0 +1,7 @@ +{{ define "main" }} +

Page Not Found 🤷‍♂️

+

Error 404

+
+

It seems that the page you've requested does not exist.

+
+{{ end }} diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html new file mode 100644 index 00000000..a4854b31 --- /dev/null +++ b/layouts/_default/baseof.html @@ -0,0 +1,11 @@ + + + {{- partial "head.html" . -}} + + {{- partial "header.html" . -}} +
{{- block "main" . }}{{- end }}
+ {{- partial "footer.html" . -}} + + diff --git a/layouts/_default/list.html b/layouts/_default/list.html new file mode 100644 index 00000000..2d5d6baa --- /dev/null +++ b/layouts/_default/list.html @@ -0,0 +1,13 @@ +{{ define "main" }} + {{ partial "section-heading.html" . }} +
+ {{ range (.Paginate (.Pages.GroupByDate "2006")).PageGroups }} +

{{ .Key }}

+
+ {{ range .Pages }} + {{ partial "article-link.html" . }} + {{ end }} + {{ end }} +
+ {{ partial "pagination.html" . }} +{{ end }} diff --git a/layouts/_default/single.html b/layouts/_default/single.html new file mode 100644 index 00000000..43f1604c --- /dev/null +++ b/layouts/_default/single.html @@ -0,0 +1,20 @@ +{{ define "main" }} +
+
+

{{ .Title }}

+
+ {{ partial "meta.html" . }} +
+
+
+ {{ partial "heading-anchor.html" .Content | emojify }} +
+ + {{/* Comments */}} + {{ if templates.Exists "partials/comments.html" }} + {{ partial "comments.html" . }} + {{ end }} +
+{{ end }} diff --git a/layouts/_default/sitemap.xml b/layouts/_default/sitemap.xml new file mode 100644 index 00000000..0a674458 --- /dev/null +++ b/layouts/_default/sitemap.xml @@ -0,0 +1,29 @@ +{{ printf "" | safeHTML }} + + {{ $excludedKinds := slice "taxonomy" "term" }} + {{ range .Data.Pages }} + {{ if not (in $excludedKinds .Kind) }} + {{ if not (isset .Params "externalurl") }} + {{- if .Permalink -}} + + {{ .Permalink }}{{ if not .Lastmod.IsZero }} + {{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}{{ end }}{{ with .Sitemap.ChangeFreq }} + {{ . }}{{ end }}{{ if ge .Sitemap.Priority 0.0 }} + {{ .Sitemap.Priority }}{{ end }}{{ if .IsTranslated }}{{ range .Translations }} + {{ end }} + {{ end }} + + {{- end -}} + {{ end }} + {{ end }} + {{ end }} + diff --git a/layouts/index.html b/layouts/index.html new file mode 100644 index 00000000..9defb763 --- /dev/null +++ b/layouts/index.html @@ -0,0 +1,8 @@ +{{ define "main" }} +
+
+

{{ .Title }}

+
+
{{ .Content | emojify }}
+
+{{ end }} diff --git a/layouts/partials/analytics.html b/layouts/partials/analytics.html new file mode 100644 index 00000000..0787f40b --- /dev/null +++ b/layouts/partials/analytics.html @@ -0,0 +1,9 @@ +{{ if not .Site.IsServer }} + {{ with .Site.Params.fathomAnalytics.site }} + {{ if isset $.Site.Params.fathomanalytics "domain" }} + + {{ end }} + + {{ end }} + {{ template "_internal/google_analytics.html" . }} +{{ end }} diff --git a/layouts/partials/article-link.html b/layouts/partials/article-link.html new file mode 100644 index 00000000..ab1857ce --- /dev/null +++ b/layouts/partials/article-link.html @@ -0,0 +1,23 @@ +
+

+ {{ if isset .Params "externalurl" }} + {{ .Title }} + + {{ else }} + {{ .Title }} + {{ end }} + {{ if templates.Exists "partials/extend-article-link.html" }} + {{ partial "extend-article-link.html" . }} + {{ end }} +

+
+ {{ partial "meta.html" . }} +
+
diff --git a/layouts/partials/author.html b/layouts/partials/author.html new file mode 100644 index 00000000..df18abad --- /dev/null +++ b/layouts/partials/author.html @@ -0,0 +1,50 @@ +
+ {{ with .Site.Author.image }} + + {{ end }} +
+ {{ with .Site.Author.name }} +
+ {{ . }} +
+ {{ end }} +
+ {{ with .Site.Author.twitter }} + {{ partial "icon.html" "twitter-brands" }} + {{ end }} + {{ with .Site.Author.github }} + {{ partial "icon.html" "github-brands" }} + {{ end }} + {{ with .Site.Author.keybase }} + {{ partial "icon.html" "keybase-brands" }} + {{ end }} + {{ with .Site.Author.linkedin }} + {{ partial "icon.html" "linkedin-brands" }} + {{ end }} +
+
+
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 00000000..c2cb0448 --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,34 @@ + + +{{/* Extend footer - eg. for extra scripts, etc. */}} +{{ if templates.Exists "partials/extend-footer.html" }} + {{ partialCached "extend-footer.html" . }} +{{ end }} + +{{/* Include mermaid.js only on pages that use the shortcode */}} +{{- if (in (string .Content) "class=\"mermaid\"") -}} + + +{{- end -}} diff --git a/layouts/partials/head.html b/layouts/partials/head.html new file mode 100644 index 00000000..9c78cbdf --- /dev/null +++ b/layouts/partials/head.html @@ -0,0 +1,68 @@ + + + {{ with .Site.LanguageCode }} + + {{ end }} + + + {{/* Title */}} + {{ if .IsHome -}} + {{ .Site.Title }} + + {{- else -}} + {{ .Title }} · {{ .Site.Title }} + + {{- end }} + {{/* Metadata */}} + {{ with .Params.Description -}} + + {{- else -}} + + {{- end }} + {{ with .Site.Params.keywords -}} + + {{- end }} + + + {{/* Styles */}} + + {{ if (fileExists "static/css/custom.css") -}} + + {{- end }} + {{/* Icons */}} + + + + + {{/* Site Verification */}} + {{ with .Site.Params.verification.google }} + + {{ end }} + {{ with .Site.Params.verification.bing }} + + {{ end }} + {{ with .Site.Params.verification.pinterest }} + + {{ end }} + {{ with .Site.Params.verification.yandex }} + + {{ end }} + {{/* Social */}} + {{ template "_internal/opengraph.html" . }} + {{ template "_internal/twitter_cards.html" . }} + {{/* Generator */}} + {{ hugo.Generator }} + {{/* Me */}} + {{ with .Site.Author.name }}{{ end }} + {{ with .Site.Author.email }}{{ end }} + {{ with .Site.Author.twitter }}{{ end }} + {{ with .Site.Author.keybase }}{{ end }} + {{ with .Site.Author.github }}{{ end }} + {{ with .Site.Author.linkedin }}{{ end }} + {{/* Analytics */}} + {{ partialCached "analytics.html" .Site }} + {{/* Extend head - eg. for custom analytics scripts, etc. */}} + {{ if templates.Exists "partials/extend-head.html" }} + {{ partialCached "extend-head.html" .Site }} + {{ end }} + diff --git a/layouts/partials/header.html b/layouts/partials/header.html new file mode 100644 index 00000000..2e236aae --- /dev/null +++ b/layouts/partials/header.html @@ -0,0 +1,14 @@ +
+
+ {{ .Site.Title }} +
+ +
diff --git a/layouts/partials/heading-anchor.html b/layouts/partials/heading-anchor.html new file mode 100644 index 00000000..0b5fd2cc --- /dev/null +++ b/layouts/partials/heading-anchor.html @@ -0,0 +1 @@ +{{ . | replaceRE "()" `${1} # ${3}` | safeHTML }} diff --git a/layouts/partials/icon.html b/layouts/partials/icon.html new file mode 100644 index 00000000..da01c1cf --- /dev/null +++ b/layouts/partials/icon.html @@ -0,0 +1,4 @@ + + {{- $icon:=print "themes/congo/assets/icons/" . ".svg" -}} + {{ readFile $icon | safeHTML }} + diff --git a/layouts/partials/meta.html b/layouts/partials/meta.html new file mode 100644 index 00000000..3031fb15 --- /dev/null +++ b/layouts/partials/meta.html @@ -0,0 +1,8 @@ + +{{ if ne .ReadingTime 0 }} + · + + {{ .ReadingTime }} + min{{ if gt .ReadingTime 1 }}s{{ end }} + +{{ end }} diff --git a/layouts/partials/pagination.html b/layouts/partials/pagination.html new file mode 100644 index 00000000..98664c3f --- /dev/null +++ b/layouts/partials/pagination.html @@ -0,0 +1,46 @@ + + +{{ $paginator := .Paginator }} + +{{ if gt $paginator.TotalPages 1 }} + +{{ end }} diff --git a/layouts/partials/section-heading.html b/layouts/partials/section-heading.html new file mode 100644 index 00000000..1e4755f4 --- /dev/null +++ b/layouts/partials/section-heading.html @@ -0,0 +1,4 @@ +
+

{{ .Title }}

+

{{ .Description }}

+
diff --git a/layouts/robots.txt b/layouts/robots.txt new file mode 100644 index 00000000..da3e7e0d --- /dev/null +++ b/layouts/robots.txt @@ -0,0 +1,7 @@ +User-agent: * +{{- if hugo.IsProduction | or (eq .Site.Params.env "production") }} +Disallow: +{{- else }} +Disallow: / +{{- end }} +Sitemap: {{ "sitemap.xml" | absURL }} diff --git a/layouts/shortcodes/alert.html b/layouts/shortcodes/alert.html new file mode 100644 index 00000000..bf17fa4c --- /dev/null +++ b/layouts/shortcodes/alert.html @@ -0,0 +1,8 @@ +
+ + {{ partial "icon.html" "exclamation-triangle-solid" }} + + + {{- .Inner | markdownify -}} + +
diff --git a/layouts/shortcodes/figure.html b/layouts/shortcodes/figure.html new file mode 100644 index 00000000..c1de4995 --- /dev/null +++ b/layouts/shortcodes/figure.html @@ -0,0 +1,37 @@ +{{ if .Get "src" }} + {{ $image := .Page.Resources.GetMatch (printf "*%s*" (.Get "src")) }} + + {{- if .Get "link" -}} + + {{- end -}} + {{ with .Get + {{- if .Get "link" }}{{ end -}} + {{- if or (or (.Get "title") (.Get "caption")) (.Get "attr") -}} +
+ {{ with (.Get "title") -}} +

{{ . }}

+ {{- end -}} + {{- if or (.Get "caption") (.Get "attr") -}}

+ {{- .Get "caption" | markdownify -}} + {{- with .Get "attrlink" }} + + {{- end -}} + {{- .Get "attr" | markdownify -}} + {{- if .Get "attrlink" }}{{ end }}

+ {{- end }} +
+ {{- end }} + +{{ end }} + + + + + + diff --git a/layouts/shortcodes/icon.html b/layouts/shortcodes/icon.html new file mode 100644 index 00000000..da01c1cf --- /dev/null +++ b/layouts/shortcodes/icon.html @@ -0,0 +1,4 @@ + + {{- $icon:=print "themes/congo/assets/icons/" . ".svg" -}} + {{ readFile $icon | safeHTML }} + diff --git a/layouts/shortcodes/lead.html b/layouts/shortcodes/lead.html new file mode 100644 index 00000000..b01563ce --- /dev/null +++ b/layouts/shortcodes/lead.html @@ -0,0 +1,3 @@ +

+ {{ .Inner }} +

diff --git a/layouts/shortcodes/mermaid.html b/layouts/shortcodes/mermaid.html new file mode 100644 index 00000000..7246bf82 --- /dev/null +++ b/layouts/shortcodes/mermaid.html @@ -0,0 +1,3 @@ +
+ {{ .Inner }} +
diff --git a/layouts/shortcodes/screenshot.html b/layouts/shortcodes/screenshot.html new file mode 100644 index 00000000..4d701bdf --- /dev/null +++ b/layouts/shortcodes/screenshot.html @@ -0,0 +1,35 @@ +{{ if .Get "src" }} + {{ $image := .Page.Resources.GetMatch (printf "*%s*" (.Get "src")) }} + + {{- if .Get "link" -}} + + {{- end -}} + {{ with .Get + {{- if .Get "link" }}{{ end -}} + {{- if or (or (.Get "title") (.Get "caption")) (.Get "attr") -}} +
+ {{ with (.Get "title") -}} +

{{ . }}

+ {{- end -}} + {{- if or (.Get "caption") (.Get "attr") -}}

+ {{- .Get "caption" | markdownify -}} + {{- with .Get "attrlink" }} + + {{- end -}} + {{- .Get "attr" | markdownify -}} + {{- if .Get "attrlink" }}{{ end }}

+ {{- end }} +
+ {{- end }} + +{{ end }} + + + diff --git a/layouts/taxonomy/list.html b/layouts/taxonomy/list.html new file mode 100644 index 00000000..fd2a4e68 --- /dev/null +++ b/layouts/taxonomy/list.html @@ -0,0 +1,22 @@ +{{ define "main" }} + {{ partial "section-heading.html" . }} +
+ {{ range .Site.Taxonomies.topics }} + + {{ end }} +
+{{ end }} diff --git a/layouts/taxonomy/topic.html b/layouts/taxonomy/topic.html new file mode 100644 index 00000000..2d5d6baa --- /dev/null +++ b/layouts/taxonomy/topic.html @@ -0,0 +1,13 @@ +{{ define "main" }} + {{ partial "section-heading.html" . }} +
+ {{ range (.Paginate (.Pages.GroupByDate "2006")).PageGroups }} +

{{ .Key }}

+
+ {{ range .Pages }} + {{ partial "article-link.html" . }} + {{ end }} + {{ end }} +
+ {{ partial "pagination.html" . }} +{{ end }} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..6e69057b --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2734 @@ +{ + "name": "hugo-congo", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "@tailwindcss/typography": "^0.4.1", + "prettier": "^2.3.2", + "prettier-plugin-go-template": "^0.0.11", + "tailwindcss": "^2.2.7" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", + "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@tailwindcss/typography": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.4.1.tgz", + "integrity": "sha512-ovPPLUhs7zAIJfr0y1dbGlyCuPhpuv/jpBoFgqAc658DWGGrOBWBMpAWLw2KlzbNeVk4YBJMzue1ekvIbdw6XA==", + "dev": true, + "dependencies": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0" + }, + "peerDependencies": { + "tailwindcss": ">=2.0.0" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.0.tgz", + "integrity": "sha512-4P8Zm2H+BRS+c/xX1LrHw0qKpEhdlZjLCgWy+d78T9vqa2Z2SiD2wMrYuWIAFy5IZUD7nnNXroRttz+0RzlrzQ==", + "dev": true + }, + "node_modules/autoprefixer": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.1.tgz", + "integrity": "sha512-L8AmtKzdiRyYg7BUXJTzigmhbQRCXFKz6SA1Lqo0+AR2FBbQ4aTAPFSDlOutnFkjhiz8my4agGXog1xlMjPJ6A==", + "dev": true, + "peer": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-lite": "^1.0.30001243", + "colorette": "^1.2.2", + "fraction.js": "^4.1.1", + "normalize-range": "^0.1.2", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.16.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.7.tgz", + "integrity": "sha512-7I4qVwqZltJ7j37wObBe3SoTz+nS8APaNcrBOlgoirb6/HbEU2XxW/LpUDTCngM6iauwFqmRTuOMfyKnFGY5JA==", + "dev": true, + "peer": true, + "dependencies": { + "caniuse-lite": "^1.0.30001248", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.793", + "escalade": "^3.1.1", + "node-releases": "^1.1.73" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001249", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001249.tgz", + "integrity": "sha512-vcX4U8lwVXPdqzPWi6cAJ3FnQaqXbBqy/GZseKNQzRj37J7qZdGcBtxq/QLFNLLlfsoXLUdHw8Iwenri86Tagw==", + "dev": true, + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/color-string": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", + "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", + "dev": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true + }, + "node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cosmiconfig/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cosmiconfig/node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/css-unit-converter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", + "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==", + "dev": true + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "node_modules/detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "dev": true, + "dependencies": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.3.800", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.800.tgz", + "integrity": "sha512-qagikPjZJSDWP85uWoxs32oK/xk/y3MhDZELfKRCWI7pBc0ZFlmjnXb+3+aNMaiqboeDJJa0v7CJd5cO1HKwEQ==", + "dev": true, + "peer": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fastq": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz", + "integrity": "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fraction.js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz", + "integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==", + "dev": true, + "peer": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.1.tgz", + "integrity": "sha512-kEVjS71mQazDBHKcsq4E9u/vUzaLcw1A8EtUeydawvIWQCJM0qQ08G1H7/XTjFUulla6XQiDOG6MXSaG0HDKog==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz", + "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==", + "dev": true, + "dependencies": { + "import-from": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", + "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-from/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", + "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/lilconfig": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz", + "integrity": "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha1-wCUTUV4wna3dTCTGDP3c9ZdtkRU=", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.toarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", + "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=", + "dev": true + }, + "node_modules/lodash.topath": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", + "integrity": "sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=", + "dev": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/modern-normalize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.1.0.tgz", + "integrity": "sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nanoid": { + "version": "3.1.23", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", + "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-emoji": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz", + "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==", + "dev": true, + "dependencies": { + "lodash.toarray": "^4.4.0" + } + }, + "node_modules/node-releases": { + "version": "1.1.73", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", + "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", + "dev": true, + "peer": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz", + "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==", + "dev": true, + "dependencies": { + "colorette": "^1.2.2", + "nanoid": "^3.1.23", + "source-map-js": "^0.6.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-3.0.3.tgz", + "integrity": "sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1", + "postcss": "^8.1.6" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.0.tgz", + "integrity": "sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==", + "dev": true, + "dependencies": { + "import-cwd": "^3.0.0", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.5.tgz", + "integrity": "sha512-GSRXYz5bccobpTzLQZXOnSOfKl6TwVr5CyAQJUPub4nuRJSOECK5AqurxVgmtxP48p0Kc/ndY/YyS1yqldX0Ew==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.1.13" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "node_modules/prettier": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", + "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/prettier-plugin-go-template": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/prettier-plugin-go-template/-/prettier-plugin-go-template-0.0.11.tgz", + "integrity": "sha512-qtgoEjvbgmcDp9TOqYNgrPrA41s6S1UMyzMqjcxdxQahTX0webWfbamyA/x3XeBFEEJmgXrRAirzJrIVzImsMg==", + "dev": true, + "dependencies": { + "ulid": "^2.3.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "prettier": "^2.0.0" + } + }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/purgecss": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.0.3.tgz", + "integrity": "sha512-PYOIn5ibRIP34PBU9zohUcCI09c7drPJJtTDAc0Q6QlRz2/CHQ8ywGLdE7ZhxU2VTqB7p5wkvj5Qcm05Rz3Jmw==", + "dev": true, + "dependencies": { + "commander": "^6.0.0", + "glob": "^7.0.0", + "postcss": "^8.2.1", + "postcss-selector-parser": "^6.0.2" + }, + "bin": { + "purgecss": "bin/purgecss.js" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reduce-css-calc": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", + "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", + "dev": true, + "dependencies": { + "css-unit-converter": "^1.1.1", + "postcss-value-parser": "^3.3.0" + } + }, + "node_modules/reduce-css-calc/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + }, + "node_modules/source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", + "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tailwindcss": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.2.7.tgz", + "integrity": "sha512-jv35rugP5j8PpzbXnsria7ZAry7Evh0KtQ4MZqNd+PhF+oIKPwJTVwe/rmfRx9cZw3W7iPZyzBmeoAoNwfJ1yg==", + "dev": true, + "dependencies": { + "arg": "^5.0.0", + "bytes": "^3.0.0", + "chalk": "^4.1.1", + "chokidar": "^3.5.2", + "color": "^3.2.0", + "cosmiconfig": "^7.0.0", + "detective": "^5.2.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.7", + "fs-extra": "^10.0.0", + "glob-parent": "^6.0.0", + "html-tags": "^3.1.0", + "is-glob": "^4.0.1", + "lodash": "^4.17.21", + "lodash.topath": "^4.5.2", + "modern-normalize": "^1.1.0", + "node-emoji": "^1.8.1", + "normalize-path": "^3.0.0", + "object-hash": "^2.2.0", + "postcss-js": "^3.0.3", + "postcss-load-config": "^3.1.0", + "postcss-nested": "5.0.5", + "postcss-selector-parser": "^6.0.6", + "postcss-value-parser": "^4.1.0", + "pretty-hrtime": "^1.0.3", + "purgecss": "^4.0.3", + "quick-lru": "^5.1.1", + "reduce-css-calc": "^2.1.8", + "resolve": "^1.20.0", + "tmp": "^0.2.1" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "autoprefixer": "^10.0.2", + "postcss": "^8.0.9" + } + }, + "node_modules/tailwindcss/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/tailwindcss/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/tailwindcss/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/tailwindcss/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/tailwindcss/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tailwindcss/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ulid": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", + "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==", + "dev": true, + "bin": { + "ulid": "bin/cli.js" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", + "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.14.5" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", + "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "dev": true + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@tailwindcss/typography": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.4.1.tgz", + "integrity": "sha512-ovPPLUhs7zAIJfr0y1dbGlyCuPhpuv/jpBoFgqAc658DWGGrOBWBMpAWLw2KlzbNeVk4YBJMzue1ekvIbdw6XA==", + "dev": true, + "requires": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0" + } + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.0.tgz", + "integrity": "sha512-4P8Zm2H+BRS+c/xX1LrHw0qKpEhdlZjLCgWy+d78T9vqa2Z2SiD2wMrYuWIAFy5IZUD7nnNXroRttz+0RzlrzQ==", + "dev": true + }, + "autoprefixer": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.1.tgz", + "integrity": "sha512-L8AmtKzdiRyYg7BUXJTzigmhbQRCXFKz6SA1Lqo0+AR2FBbQ4aTAPFSDlOutnFkjhiz8my4agGXog1xlMjPJ6A==", + "dev": true, + "peer": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-lite": "^1.0.30001243", + "colorette": "^1.2.2", + "fraction.js": "^4.1.1", + "normalize-range": "^0.1.2", + "postcss-value-parser": "^4.1.0" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.16.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.7.tgz", + "integrity": "sha512-7I4qVwqZltJ7j37wObBe3SoTz+nS8APaNcrBOlgoirb6/HbEU2XxW/LpUDTCngM6iauwFqmRTuOMfyKnFGY5JA==", + "dev": true, + "peer": true, + "requires": { + "caniuse-lite": "^1.0.30001248", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.793", + "escalade": "^3.1.1", + "node-releases": "^1.1.73" + } + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001249", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001249.tgz", + "integrity": "sha512-vcX4U8lwVXPdqzPWi6cAJ3FnQaqXbBqy/GZseKNQzRj37J7qZdGcBtxq/QLFNLLlfsoXLUdHw8Iwenri86Tagw==", + "dev": true, + "peer": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dev": true, + "requires": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-string": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", + "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colorette": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true + }, + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "cosmiconfig": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "dependencies": { + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + } + } + }, + "css-unit-converter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", + "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "dev": true, + "requires": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + } + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.800", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.800.tgz", + "integrity": "sha512-qagikPjZJSDWP85uWoxs32oK/xk/y3MhDZELfKRCWI7pBc0ZFlmjnXb+3+aNMaiqboeDJJa0v7CJd5cO1HKwEQ==", + "dev": true, + "peer": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "peer": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fastq": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz", + "integrity": "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fraction.js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz", + "integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==", + "dev": true, + "peer": true + }, + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.1.tgz", + "integrity": "sha512-kEVjS71mQazDBHKcsq4E9u/vUzaLcw1A8EtUeydawvIWQCJM0qQ08G1H7/XTjFUulla6XQiDOG6MXSaG0HDKog==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", + "dev": true + }, + "import-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz", + "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==", + "dev": true, + "requires": { + "import-from": "^3.0.0" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", + "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", + "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "lilconfig": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz", + "integrity": "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==", + "dev": true + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha1-wCUTUV4wna3dTCTGDP3c9ZdtkRU=", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.toarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", + "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=", + "dev": true + }, + "lodash.topath": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", + "integrity": "sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "modern-normalize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.1.0.tgz", + "integrity": "sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==", + "dev": true + }, + "nanoid": { + "version": "3.1.23", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", + "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==", + "dev": true + }, + "node-emoji": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz", + "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==", + "dev": true, + "requires": { + "lodash.toarray": "^4.4.0" + } + }, + "node-releases": { + "version": "1.1.73", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", + "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==", + "dev": true, + "peer": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true, + "peer": true + }, + "object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true + }, + "postcss": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz", + "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==", + "dev": true, + "requires": { + "colorette": "^1.2.2", + "nanoid": "^3.1.23", + "source-map-js": "^0.6.2" + } + }, + "postcss-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-3.0.3.tgz", + "integrity": "sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==", + "dev": true, + "requires": { + "camelcase-css": "^2.0.1", + "postcss": "^8.1.6" + } + }, + "postcss-load-config": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.0.tgz", + "integrity": "sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==", + "dev": true, + "requires": { + "import-cwd": "^3.0.0", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "postcss-nested": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.5.tgz", + "integrity": "sha512-GSRXYz5bccobpTzLQZXOnSOfKl6TwVr5CyAQJUPub4nuRJSOECK5AqurxVgmtxP48p0Kc/ndY/YyS1yqldX0Ew==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "prettier": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", + "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "dev": true + }, + "prettier-plugin-go-template": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/prettier-plugin-go-template/-/prettier-plugin-go-template-0.0.11.tgz", + "integrity": "sha512-qtgoEjvbgmcDp9TOqYNgrPrA41s6S1UMyzMqjcxdxQahTX0webWfbamyA/x3XeBFEEJmgXrRAirzJrIVzImsMg==", + "dev": true, + "requires": { + "ulid": "^2.3.0" + } + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true + }, + "purgecss": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.0.3.tgz", + "integrity": "sha512-PYOIn5ibRIP34PBU9zohUcCI09c7drPJJtTDAc0Q6QlRz2/CHQ8ywGLdE7ZhxU2VTqB7p5wkvj5Qcm05Rz3Jmw==", + "dev": true, + "requires": { + "commander": "^6.0.0", + "glob": "^7.0.0", + "postcss": "^8.2.1", + "postcss-selector-parser": "^6.0.2" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "reduce-css-calc": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", + "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", + "dev": true, + "requires": { + "css-unit-converter": "^1.1.1", + "postcss-value-parser": "^3.3.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + } + } + }, + "source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", + "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "tailwindcss": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.2.7.tgz", + "integrity": "sha512-jv35rugP5j8PpzbXnsria7ZAry7Evh0KtQ4MZqNd+PhF+oIKPwJTVwe/rmfRx9cZw3W7iPZyzBmeoAoNwfJ1yg==", + "dev": true, + "requires": { + "arg": "^5.0.0", + "bytes": "^3.0.0", + "chalk": "^4.1.1", + "chokidar": "^3.5.2", + "color": "^3.2.0", + "cosmiconfig": "^7.0.0", + "detective": "^5.2.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.7", + "fs-extra": "^10.0.0", + "glob-parent": "^6.0.0", + "html-tags": "^3.1.0", + "is-glob": "^4.0.1", + "lodash": "^4.17.21", + "lodash.topath": "^4.5.2", + "modern-normalize": "^1.1.0", + "node-emoji": "^1.8.1", + "normalize-path": "^3.0.0", + "object-hash": "^2.2.0", + "postcss-js": "^3.0.3", + "postcss-load-config": "^3.1.0", + "postcss-nested": "5.0.5", + "postcss-selector-parser": "^6.0.6", + "postcss-value-parser": "^4.1.0", + "pretty-hrtime": "^1.0.3", + "purgecss": "^4.0.3", + "quick-lru": "^5.1.1", + "reduce-css-calc": "^2.1.8", + "resolve": "^1.20.0", + "tmp": "^0.2.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "ulid": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", + "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==", + "dev": true + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..47190e48 --- /dev/null +++ b/package.json @@ -0,0 +1,32 @@ +{ + "name": "hugo-congo", + "version": "1.0.0", + "description": "Congo theme for Hugo", + "main": "index.js", + "scripts": { + "dev": "NODE_ENV=development ./node_modules/tailwindcss/lib/cli.js -i ./assets/css/main.css -o ./static/css/main.css --jit -w", + "build": "NODE_ENV=production ./node_modules/tailwindcss/lib/cli.js -i ./assets/css/main.css -o ./static/css/main.css --jit --minify" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/jpanther/hugo-congo.git" + }, + "keywords": [ + "hugo", + "hugo-theme", + "tailwind", + "dark-mode" + ], + "author": "James Panther", + "license": "MIT", + "bugs": { + "url": "https://github.com/jpanther/hugo-congo/issues" + }, + "homepage": "https://github.com/jpanther/hugo-congo#readme", + "devDependencies": { + "@tailwindcss/typography": "^0.4.1", + "prettier": "^2.3.2", + "prettier-plugin-go-template": "^0.0.11", + "tailwindcss": "^2.2.7" + } +} diff --git a/static/android-chrome-192x192.png b/static/android-chrome-192x192.png new file mode 100755 index 0000000000000000000000000000000000000000..eeb320e32bbaf3ad8cf6a0367d1f03b56cdd05cf GIT binary patch literal 2138 zcmeHI`7_%I6#phtNgOM-hmLkPQFT|+R$EJ|3F4{^s)|`xX1i`{tI;^BiLi|UXld_Uw1n{A`#G+`7i*K7zjWPB{HbX0046N zAV5yWpu=1~_}?l!U+zEuP)Nj@bOQjCV@EJ|i3F`Oi2*MD#~!lC{>2U5grhn7bV@M1 zomT7=aK6ubv0&C(*EWHo>7EOBy)zWop4Ed^SgZKM;!T_|t>7Nl!YN1lLPpl}-rg~C zXpredG6M$6kTjx<$o>lpt?#4q7??5lABM75w?8B>i+-%02>puxB<&~r`;Rgy3z}*&Q0B+VRb=97#`U*weLJyYwBoElYYP**zE5eG zi(0cF4Iy-!TZV7ct`r3ULQ4rQE;N}O2m*m3HRqV-RTLuww|CvzY|vn7o5A_$GxGG; zTBgV;jB{;Gn`A{!3BrM`q^zmYUNMn7n>uGn@v#UHS9J=bpN-od_S{ufH@jgEJ~4&) zyly)Kg+Y$N36i;s0Z}HlssMurS8Dg|r$#9O2(9!zFQ6>xg--odP#NdzBxP_71c9e) zLsY;pyvlPpDt3DZo(6>DnE==}EpG#chki+Z8OZ;68DbUFJq95#%=f5Qo`U{3tIWIfYth9`0uM9IjaXf zRB4^T<6B3P?r6N>9CTD>*L8e09ZXuE5U_MrKK<;to_4$1ob(Nx6QqNloZM=1biK=4 z-g!DPH`0yd*LHyYu@54j`IVe3ug`5W;cKEf-}>0BZW|Tv3hOKPABU-jAQl<;m;#*S zx}B8+q0)jB_YWEn Bwr2nU literal 0 HcmV?d00001 diff --git a/static/android-chrome-512x512.png b/static/android-chrome-512x512.png new file mode 100755 index 0000000000000000000000000000000000000000..698731a51c4bc72efcdb46d64ae4e97333ae35cb GIT binary patch literal 8978 zcmeHN`Bzid7QTs4!=Q1t4uC@|bpk9hSRi0g5iO!s3koz;D~K`=NgzNH5m_xl>f;s5 z7=#KUlY#_DfTU8T4uCW$gb)Uqg(PSoAqn^17n0l8xB4HvwerJV_a=9ry}!NBK07Dh zK0lm1;kL|hqagqQ%iND1`WgVx>PIwy`AB`6C3Pv)H&oQuZeIeG?VBgn9}Zpeb`S9I z0CuULF#swh2+&&;QC}O?7XU0NKmkkCchur{1?a!tqJe@Xe?Kn@8qL=x1HiU;_d^HI zkWeBa2H0lOa_GArHR`JR3B{F6t|qcIikKId1!kpwKs5j1C}f_3@aIuo=1x6si#p!zf?9ve->b*q@K{A2J>K*$29pa0U%`w6f)$Jp=H+WvALHFnmjh&w?!VBRua<8W$ zWXT=A$k|u)pzJ&#n@$u9ivq+^;P??-kMsNcIQf;9IGkpLRhkRjK&^z&*M+6$WU-gG zg{q+aW;L6w%OWw7Cde*KWZNd>;b+`T7G6BGr5~iKp#`B`S58Njwf@#x6(4z5 zT5%cGL%CWv*Y)foS$UK(nH20dX=TdL_@Rf{EWvMw9~ZX?up&xr)i_ux^x?!H9%MF&&AA8x+*76@fmtbrCcySnC=PYGS+{F}=>|o&7yU#nev)!*VDF3ATc)WR42^~QEE(;6 zaRc2fZX)J|EF|g0H-JopW0k=)9Da&Z55M!8{nvGKmqq_}Z+qp$gMmBr&A$jENC!+4 zA8p1)j;FQa_Jy+G@OjIW;#PG!s0B0hddpI32=-CtLh_wDzerRMdH7++em{9t!tU7D z$+(7C4OAEZIGUn{=^QoQ(Ld=N{C4EiwbTT5djD%P2!2H|{f>|O+3Ni+;n78vdYG3+ zFBuIW-+}TG{@Sy{W_`r|`RRP-RY~*paoHVBkf_{GG0`E!aUtC|X5xbB+d@Nbv#=Gq z4`1U@#Eh9j9CX2=t93DD)e6TAW}T1JgHuat1f1x8rzgwS$5Z7Trrc8b^nDt%B=E;p zg59E7b&@_tgB{rXDf}(?Bz*M-CuXZ>%t3ws0gsNRvQ2a|F=Oz9QS7Q31j3JojsxjO z>`X``0k$|Hvy_7ghslYtuStCgMHK%O_z`PNyK3HHd~vy*E$5s>Jdd-0%uYBlQpQ{$ z!&8P;Su$GNN-fMXb1RKdE}!Q(b;i}4XeQ)QZvCbziFL6?EcRlI1Lwj6Jf+j4-M}6Sbf{$wbs^>Y71rOVY$X0 zZEpL6AbWO-b$sdZ^VLAE1MS5Q za|{n&$hn0Up{sVT$~|eaL%dLBO%lCP_Q$VNKC^47Oa}#hIqd#@s8-RYg9U;})kr6f@+D zQ|v~ZbM_(;h7U(SK|=Bg4SFz;;7@2BvX(eV)>134Lb8`Ac!$;nTPF9{8nE08koC@BELqTzsP8{EFIo=kZ=|eVoE6#{8swuK z@0hbo@lZXxE%{)n#kJ+|V4pQ~7yXJdHNcQ>t@1F~wN&d+cqX^jGJj5L*L((G zogxa(UF_eg#Z#!)?l^_t1$cBPe75VZ72*RQ9hf^O9ngOuR}M7R^7qSmH6@L1+W7u% zkeeMV(9{@cEtSBV2P07W+qBx+S9{w_$Bnr4Q=v{_kC$n+x#V&mXHk^uS>T)8KDkAU zblyT+udmJMr^Zu^FM-#M3L(OSdz}JNJHGr|>&fdL6-;jmZrnTb7+HnK4UGfg z%U$V}=l>zcDpnQ!Lu@9AYT@&@ST^^PE2<|q^Oz};5$?1$sk0&J*-GLntqT!oLzli| zNL*^E=#!hWbT4!vQ5Sz*GAz~+-TKf}OkFbQl0o+~p{t3SVxX&ux|*olC+fBa+CNje zt$}W9pxYYgwg$SbfsRPgu?GLAkwwN z+C~00%NY+W$0d$tfIX`-+=R!pMDlfvVfX+MQuK&)oywc9Up(xUn% z%Ae%|#ARceb%#>+@+g^TW|H{XtJ=W+u>mAN*SV{g1`>Viej2&!1>D&5)I&a+?6BaW zH8Xu{o=EnYmmPlC+vrc?e8trISw?88ZdBv8IIk-Yt*m^Nf!5N&9WS^KQJ>1rdc zRZndW+)mW{YFpGM4T;}_L5qIi1u90a`aJ?R$B)#yse7x$4=D{lYY};Opj$TJaz|7B zh70xm=c#QzOp^(`k@sxUdh*FSP4fVSzPj_3$$^9$mWj)bucLz4N3DVg=`*Osb1$?) zjIiu)ZgES8rcK*t?p6jpLtDiUE;eq;ud>*gaV!4H+bLIn`XtFvdQJCA8jw zP@L0Fzo-yezIOG;?eB(O=8qW`?*ddgghmC{9M^9nI?Z!L+Cnb=G5R;GL@=5@G)p=Pp>P2r}(4);2F5TtRnW182j(@l@SBy`DOR!a6pJmV#K!yf<8- zAH~Db4j{QUsyEg#0tM$g7g-JlS=11_dH!Lk%7N(@gIwrA*!W(E|_zrBKH2K>W zeYHY^o=W@)tXe(SC9TM6*ylv=AMO->)(F$NC9pxW6_;#ZRIK!;kO&>X+%N zYTrapD4cu>|7j~KvlzV)zX!oq?*b=4l*_%H_2JfyoIK zl&ypBCi8pOXa`s|xyZkQ%|zP9sFHpz{zD<>qrtwE%@&s(c}*ph@7~g)BvPDKI@|ya z^1sM^_#$Q=>s1|G1?>5qC1QpKj9aEJ8`x^q7;?T|h^#8EzL7EKreyGzU8pk&21V77 zasDMsz^GH)I5a^PWQ{dLV4hK(B1fBkznuTOOPr_NZs8x!$LWWQqn59440<6W%B%Km zo{;!_@LH9xdf2b+=~nsEhFkata_{U`qhaor8FI5y1!OR+zc(bCUBVF+fvYQ@N98LP zAnj6q!{*M25FSCYX`O?@i%^oOLq~A?9AAI+fOs#%p>fX5n%8d3}h)X+IlGDa#{!7;?Y- z!^sX7zw7LK?>VPF5Ws1=G(!HE0&Jig;bH?f9RX8<_agxfJvL*y1a$)I7ZVTw_+A%-0l>Ui0BE&D z2P+)_0R2iJKwrne)wxQ&f7HfG{V(xqVMt#oQMZMgAIcj;08W(m#?ybXq4qAo&i?G` zbj@m$!9$aE)u4;K?I;&S!BdpQC2mw=Req=%*&*eqI|^KL3ibqy>6w^&NUiP6U8%lW z@Wr#WDa#eb-fxl)-UlvrxEqxbdr9sZO7GOz(VAzB7bFKh93LAOd*}WZyk@?*TR<1h z(`R1r;H8J55t_qEcA!OYj*n(YGD`1$g_#-S!7Iv>&z<7!mN6|0=WvTqw;if%HaUOd z=G~*QL(1&nZjnQ67ePfM43ZK~s_@)q$o;vlM{@F4;>pA_XC(B1hB3eBf>~HrNy|3#DNzZ^M z7%R$HB-b<*cbN75b*nyKw{}xd1ZP!Ll#Y_qXA1X2Uwe{vHGdGd?%`3hzR527)G^1- z4>#-Go5Y!v5L2VaZI7o}ZiFuxVba+T`$m`Fq^$1@t5)1nvOBLXnr-$G<|0UVZNNzZ zkwa7u4LR9sZulpiLq*>J!P7q6TOcx>>d>pPGfoFls9Q+s{DqGhhu z1(bu}UH%K1GZ+Y{QfxbrX`dxIf8lHL^$fn=ga6N4sPx-{SD?>pA=s@D=N}zvMT1#F zvbP=XiY<)AcL}7HWFdHRI);)B0!4BhhSMCq`D-Zzx1wZYAa>R;{o4CmTR59 zGvNjUJ!?8>r8izIyjv}{=62&Ux=j_1+W&Nd)@Yp#D>erW#Eb+}4*7FrUO#zIYF3&~ zwXY_upE9nz^yUCKd3UdG9$Ke&ZUF2z>>3ue^q+7jI zS!R*Zzj~B8t>0LY5tLCEhYjNqD(N%H%iu$u&0g){zd>yqra;-FTnh*Bqex4!icx4% z5C@YoyH@Jw!_Js5c9ziP%$A+ajV~3&EyN5`AJ1jg DaLzrq literal 0 HcmV?d00001 diff --git a/static/css/main.css b/static/css/main.css new file mode 100644 index 00000000..6b6fd613 --- /dev/null +++ b/static/css/main.css @@ -0,0 +1,2525 @@ +/*! tailwindcss v2.2.7 | MIT License | https://tailwindcss.com */ + +/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */ + +/* +Document +======== +*/ + +/** +Use a better box model (opinionated). +*/ + +*, +::before, +::after { + box-sizing: border-box; +} + +/** +Use a more readable tab size (opinionated). +*/ + +html { + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; +} + +/** +1. Correct the line height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +*/ + +html { + line-height: 1.15; + /* 1 */ + -webkit-text-size-adjust: 100%; + /* 2 */ +} + +/* +Sections +======== +*/ + +/** +Remove the margin in all browsers. +*/ + +body { + margin: 0; +} + +/** +Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) +*/ + +body { + font-family: + system-ui, + -apple-system, /* Firefox supports this but not yet `system-ui` */ + 'Segoe UI', + Roboto, + Helvetica, + Arial, + sans-serif, + 'Apple Color Emoji', + 'Segoe UI Emoji'; +} + +/* +Grouping content +================ +*/ + +/** +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +*/ + +hr { + height: 0; + /* 1 */ + color: inherit; + /* 2 */ +} + +/* +Text-level semantics +==================== +*/ + +/** +Add the correct text decoration in Chrome, Edge, and Safari. +*/ + +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; +} + +/** +Add the correct font weight in Edge and Safari. +*/ + +b, +strong { + font-weight: bolder; +} + +/** +1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) +2. Correct the odd 'em' font sizing in all browsers. +*/ + +code, +kbd, +samp, +pre { + font-family: + ui-monospace, + SFMono-Regular, + Consolas, + 'Liberation Mono', + Menlo, + monospace; + /* 1 */ + font-size: 1em; + /* 2 */ +} + +/** +Add the correct font size in all browsers. +*/ + +small { + font-size: 80%; +} + +/** +Prevent 'sub' and 'sup' elements from affecting the line height in all browsers. +*/ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* +Tabular data +============ +*/ + +/** +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +*/ + +table { + text-indent: 0; + /* 1 */ + border-color: inherit; + /* 2 */ +} + +/* +Forms +===== +*/ + +/** +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +*/ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + /* 1 */ + font-size: 100%; + /* 1 */ + line-height: 1.15; + /* 1 */ + margin: 0; + /* 2 */ +} + +/** +Remove the inheritance of text transform in Edge and Firefox. +1. Remove the inheritance of text transform in Firefox. +*/ + +button, +select { + /* 1 */ + text-transform: none; +} + +/** +Correct the inability to style clickable types in iOS and Safari. +*/ + +button, +[type='button'], +[type='reset'], +[type='submit'] { + -webkit-appearance: button; +} + +/** +Remove the inner border and padding in Firefox. +*/ + +::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** +Restore the focus styles unset by the previous rule. +*/ + +:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** +Remove the additional ':invalid' styles in Firefox. +See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737 +*/ + +:-moz-ui-invalid { + box-shadow: none; +} + +/** +Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers. +*/ + +legend { + padding: 0; +} + +/** +Add the correct vertical alignment in Chrome and Firefox. +*/ + +progress { + vertical-align: baseline; +} + +/** +Correct the cursor style of increment and decrement buttons in Safari. +*/ + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +/** +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ + +[type='search'] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} + +/** +Remove the inner padding in Chrome and Safari on macOS. +*/ + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to 'inherit' in Safari. +*/ + +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} + +/* +Interactive +=========== +*/ + +/* +Add the correct display in Chrome and Safari. +*/ + +summary { + display: list-item; +} + +/** + * Manually forked from SUIT CSS Base: https://github.com/suitcss/base + * A thin layer on top of normalize.css that provides a starting point more + * suitable for web applications. + */ + +/** + * Removes the default spacing and border for appropriate elements. + */ + +blockquote, +dl, +dd, +h1, +h2, +h3, +h4, +h5, +h6, +hr, +figure, +p, +pre { + margin: 0; +} + +button { + background-color: transparent; + background-image: none; +} + +fieldset { + margin: 0; + padding: 0; +} + +ol, +ul { + list-style: none; + margin: 0; + padding: 0; +} + +/** + * Tailwind custom reset styles + */ + +/** + * 1. Use the user's configured `sans` font-family (with Tailwind's default + * sans-serif font stack as a fallback) as a sane default. + * 2. Use Tailwind's default "normal" line-height so the user isn't forced + * to override it to ensure consistency even when using the default theme. + */ + +html { + font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + /* 1 */ + line-height: 1.5; + /* 2 */ +} + +/** + * Inherit font-family and line-height from `html` so users can set them as + * a class directly on the `html` element. + */ + +body { + font-family: inherit; + line-height: inherit; +} + +/** + * 1. Prevent padding and border from affecting element width. + * + * We used to set this in the html element and inherit from + * the parent element for everything else. This caused issues + * in shadow-dom-enhanced elements like
where the content + * is wrapped by a div with box-sizing set to `content-box`. + * + * https://github.com/mozdevs/cssremedy/issues/4 + * + * + * 2. Allow adding a border to an element by just adding a border-width. + * + * By default, the way the browser specifies that an element should have no + * border is by setting it's border-style to `none` in the user-agent + * stylesheet. + * + * In order to easily add borders to elements by just setting the `border-width` + * property, we change the default border-style for all elements to `solid`, and + * use border-width to hide them instead. This way our `border` utilities only + * need to set the `border-width` property instead of the entire `border` + * shorthand, making our border utilities much more straightforward to compose. + * + * https://github.com/tailwindcss/tailwindcss/pull/116 + */ + +*, +::before, +::after { + box-sizing: border-box; + /* 1 */ + border-width: 0; + /* 2 */ + border-style: solid; + /* 2 */ + border-color: currentColor; + /* 2 */ +} + +/* + * Ensure horizontal rules are visible by default + */ + +hr { + border-top-width: 1px; +} + +/** + * Undo the `border-style: none` reset that Normalize applies to images so that + * our `border-{width}` utilities have the expected effect. + * + * The Normalize reset is unnecessary for us since we default the border-width + * to 0 on all elements. + * + * https://github.com/tailwindcss/tailwindcss/issues/362 + */ + +img { + border-style: solid; +} + +textarea { + resize: vertical; +} + +input::-moz-placeholder, textarea::-moz-placeholder { + opacity: 1; + color: #a1a1aa; +} + +input:-ms-input-placeholder, textarea:-ms-input-placeholder { + opacity: 1; + color: #a1a1aa; +} + +input::placeholder, +textarea::placeholder { + opacity: 1; + color: #a1a1aa; +} + +button, +[role="button"] { + cursor: pointer; +} + +table { + border-collapse: collapse; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: inherit; + font-weight: inherit; +} + +/** + * Reset links to optimize for opt-in styling instead of + * opt-out. + */ + +a { + color: inherit; + text-decoration: inherit; +} + +/** + * Reset form element properties that are easy to forget to + * style explicitly so you don't inadvertently introduce + * styles that deviate from your design system. These styles + * supplement a partial reset that is already applied by + * normalize.css. + */ + +button, +input, +optgroup, +select, +textarea { + padding: 0; + line-height: inherit; + color: inherit; +} + +/** + * Use the configured 'mono' font family for elements that + * are expected to be rendered with a monospace font, falling + * back to the system monospace stack if there is no configured + * 'mono' font family. + */ + +pre, +code, +kbd, +samp { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +/** + * 1. Make replaced elements `display: block` by default as that's + * the behavior you want almost all of the time. Inspired by + * CSS Remedy, with `svg` added as well. + * + * https://github.com/mozdevs/cssremedy/issues/14 + * + * 2. Add `vertical-align: middle` to align replaced elements more + * sensibly by default when overriding `display` by adding a + * utility like `inline`. + * + * This can trigger a poorly considered linting error in some + * tools but is included by design. + * + * https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210 + */ + +img, +svg, +video, +canvas, +audio, +iframe, +embed, +object { + display: block; + /* 1 */ + vertical-align: middle; + /* 2 */ +} + +/** + * Constrain images and videos to the parent width and preserve + * their intrinsic aspect ratio. + * + * https://github.com/mozdevs/cssremedy/issues/14 + */ + +img, +video { + max-width: 100%; + height: auto; +} + +/** + * Ensure the default browser behavior of the `hidden` attribute. + */ + +[hidden] { + display: none; +} + +.prose { + color: #3f3f46; + max-width: 65ch; +} + +.prose [class~="lead"] { + color: #52525b; + font-size: 1.25em; + line-height: 1.6; + margin-top: 1.2em; + margin-bottom: 1.2em; +} + +.prose a { + color: #6d28d9; + text-decoration: underline; + font-weight: 500; +} + +.prose a:hover { + background-color: #7c3aed; + color: #fff; + text-decoration: none; +} + +.prose strong { + color: #18181b; + font-weight: 600; +} + +.prose ol[type="A"] { + --list-counter-style: upper-alpha; +} + +.prose ol[type="a"] { + --list-counter-style: lower-alpha; +} + +.prose ol[type="A" s] { + --list-counter-style: upper-alpha; +} + +.prose ol[type="a" s] { + --list-counter-style: lower-alpha; +} + +.prose ol[type="I"] { + --list-counter-style: upper-roman; +} + +.prose ol[type="i"] { + --list-counter-style: lower-roman; +} + +.prose ol[type="I" s] { + --list-counter-style: upper-roman; +} + +.prose ol[type="i" s] { + --list-counter-style: lower-roman; +} + +.prose ol[type="1"] { + --list-counter-style: decimal; +} + +.prose ol > li { + position: relative; + padding-left: 1.75em; +} + +.prose ol > li::before { + content: counter(list-item, var(--list-counter-style, decimal)) "."; + position: absolute; + font-weight: 400; + color: #71717a; + left: 0; +} + +.prose ul > li { + position: relative; + padding-left: 1.75em; +} + +.prose ul > li::before { + content: ""; + position: absolute; + background-color: #d4d4d8; + border-radius: 50%; + width: 0.375em; + height: 0.375em; + top: calc(0.875em - 0.1875em); + left: 0.25em; +} + +.prose hr { + border-color: #e4e4e7; + border-top-width: 1px; + margin-top: 3em; + margin-bottom: 3em; +} + +.prose blockquote { + font-weight: 500; + font-style: italic; + color: #18181b; + border-left-width: 0.25rem; + border-left-color: #e4e4e7; + quotes: "\201C""\201D""\2018""\2019"; + margin-top: 1.6em; + margin-bottom: 1.6em; + padding-left: 1em; +} + +.prose blockquote p:first-of-type::before { + content: open-quote; +} + +.prose blockquote p:last-of-type::after { + content: close-quote; +} + +.prose h1 { + color: #18181b; + font-weight: 800; + font-size: 2.25em; + margin-top: 0; + margin-bottom: 0.8888889em; + line-height: 1.1111111; +} + +.prose h2 { + color: #18181b; + font-weight: 700; + font-size: 1.5em; + margin-top: 2em; + margin-bottom: 1em; + line-height: 1.3333333; + position: relative; +} + +.prose h3 { + color: #18181b; + font-weight: 600; + font-size: 1.25em; + margin-top: 1.6em; + margin-bottom: 0.6em; + line-height: 1.6; + position: relative; +} + +.prose h4 { + color: #18181b; + font-weight: 600; + margin-top: 1.5em; + margin-bottom: 0.5em; + line-height: 1.5; + position: relative; +} + +.prose figure figcaption { + color: #71717a; + font-size: 0.875em; + line-height: 1.4285714; + margin-top: 0.8571429em; +} + +.prose code { + color: #a21caf; + font-weight: 600; + font-size: 0.875em; +} + +.prose code::before { + content: "`"; +} + +.prose code::after { + content: "`"; +} + +.prose a code { + color: #18181b; +} + +.prose pre { + color: #e4e4e7; + background-color: #fafafa; + overflow-x: auto; + font-size: 0.875em; + line-height: 1.7142857; + margin-top: 1.7142857em; + margin-bottom: 1.7142857em; + border-radius: 0.375rem; + padding-top: 0.8571429em; + padding-right: 1.1428571em; + padding-bottom: 0.8571429em; + padding-left: 1.1428571em; +} + +.prose pre code { + background-color: transparent; + border-width: 0; + border-radius: 0; + padding: 0; + font-weight: 400; + color: inherit; + font-size: inherit; + font-family: inherit; + line-height: inherit; +} + +.prose pre code::before { + content: none; +} + +.prose pre code::after { + content: none; +} + +.prose table { + width: 100%; + table-layout: auto; + text-align: left; + margin-top: 2em; + margin-bottom: 2em; + font-size: 0.875em; + line-height: 1.7142857; +} + +.prose thead { + color: #18181b; + font-weight: 600; + border-bottom-width: 1px; + border-bottom-color: #d4d4d8; +} + +.prose thead th { + vertical-align: bottom; + padding-right: 0.5714286em; + padding-bottom: 0.5714286em; + padding-left: 0.5714286em; +} + +.prose tbody tr { + border-bottom-width: 1px; + border-bottom-color: #e4e4e7; +} + +.prose tbody tr:last-child { + border-bottom-width: 0; +} + +.prose tbody td { + vertical-align: top; + padding-top: 0.5714286em; + padding-right: 0.5714286em; + padding-bottom: 0.5714286em; + padding-left: 0.5714286em; +} + +.prose { + font-size: 1rem; + line-height: 1.75; +} + +.prose p { + margin-top: 1.25em; + margin-bottom: 1.25em; +} + +.prose img { + margin-top: 2em; + margin-bottom: 2em; +} + +.prose video { + margin-top: 2em; + margin-bottom: 2em; +} + +.prose figure { + margin-top: 2em; + margin-bottom: 2em; +} + +.prose figure > * { + margin-top: 0; + margin-bottom: 0; +} + +.prose h2 code { + font-size: 0.875em; +} + +.prose h3 code { + font-size: 0.9em; +} + +.prose ol { + margin-top: 1.25em; + margin-bottom: 1.25em; +} + +.prose ul { + margin-top: 1.25em; + margin-bottom: 1.25em; +} + +.prose li { + margin-top: 0.5em; + margin-bottom: 0.5em; +} + +.prose > ul > li p { + margin-top: 0.75em; + margin-bottom: 0.75em; +} + +.prose > ul > li > *:first-child { + margin-top: 1.25em; +} + +.prose > ul > li > *:last-child { + margin-bottom: 1.25em; +} + +.prose > ol > li > *:first-child { + margin-top: 1.25em; +} + +.prose > ol > li > *:last-child { + margin-bottom: 1.25em; +} + +.prose ul ul, .prose ul ol, .prose ol ul, .prose ol ol { + margin-top: 0.75em; + margin-bottom: 0.75em; +} + +.prose hr + * { + margin-top: 0; +} + +.prose h2 + * { + margin-top: 0; +} + +.prose h3 + * { + margin-top: 0; +} + +.prose h4 + * { + margin-top: 0; +} + +.prose thead th:first-child { + padding-left: 0; +} + +.prose thead th:last-child { + padding-right: 0; +} + +.prose tbody td:first-child { + padding-left: 0; +} + +.prose tbody td:last-child { + padding-right: 0; +} + +.prose > :first-child { + margin-top: 0; +} + +.prose > :last-child { + margin-bottom: 0; +} + +.prose kbd { + background-color: #e4e4e7; + padding: 0.1rem 0.4rem; + border-radius: 0.25rem; + font-size: 0.9rem; + font-weight: 600; +} + +/* Scale SVG icons to text size */ + +.icon svg { + height: 1em; + width: 1em; +} + +/* Heading anchors */ + +.prose .heading-anchor { + position: absolute; + top: 0px; + left: -1.5rem; + width: 1.5rem; + text-decoration: none; + opacity: 0; +} + +.prose .heading-anchor:hover { + background-color: transparent; + --tw-text-opacity: 1; + color: rgba(124, 58, 237, var(--tw-text-opacity)); + text-decoration: underline; + opacity: 1; +} + +.prose h2:focus > .heading-anchor, .prose h2:hover > .heading-anchor, .prose h3:focus > .heading-anchor, .prose h3:hover > .heading-anchor, .prose h4:focus > .heading-anchor, .prose h4:hover > .heading-anchor { + opacity: 1; +} + +.no-prose > p { + margin-top: 0px; +} + +.no-prose > p:last-child { + margin-bottom: 0px; +} + +/* -- Chroma Highlight -- */ + +/* Background */ + +.prose .chroma { + border-radius: 0.375rem; + --tw-bg-opacity: 1; + background-color: rgba(250, 250, 250, var(--tw-bg-opacity)); + --tw-text-opacity: 1; + color: rgba(63, 63, 70, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .prose .chroma { + --tw-bg-opacity: 1; + background-color: rgba(63, 63, 70, var(--tw-bg-opacity)); + } + + .prose .chroma { + --tw-text-opacity: 1; + color: rgba(228, 228, 231, var(--tw-text-opacity)); + } +} + +/* Other */ + +.chroma .x { +} + +/* Error */ + +.chroma .err { +} + +/* LineTableTD */ + +.chroma .lntd, .chroma .lntd pre { + margin: 0px; + border-style: none; + padding: 0px; + vertical-align: top; +} + +/* LineTable */ + +.chroma .lntable { + display: block; + width: auto; + overflow: hidden; + padding-left: 1rem; + padding-right: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.75rem; + font-size: 1rem; + line-height: 1.5rem; + border-spacing: 0; +} + +/* LineHighlight */ + +.chroma .hl { + margin-left: -1rem; + margin-right: -1rem; + display: block; + width: auto; + --tw-bg-opacity: 1; + background-color: rgba(237, 233, 254, var(--tw-bg-opacity)); + padding-left: 1rem; + padding-right: 1rem; +} + +@media (prefers-color-scheme: dark) { + .chroma .hl { + --tw-bg-opacity: 1; + background-color: rgba(76, 29, 149, var(--tw-bg-opacity)); + } +} + +.chroma .lntd .hl { + margin: 0px; + padding: 0px; +} + +/* LineNumbersTable */ + +.chroma .lnt { + --tw-text-opacity: 1; + color: rgba(82, 82, 91, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .lnt { + --tw-text-opacity: 1; + color: rgba(212, 212, 216, var(--tw-text-opacity)); + } +} + +.chroma .lnt { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; +} + +/* LineNumbers */ + +.chroma .ln { + --tw-text-opacity: 1; + color: rgba(82, 82, 91, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .ln { + --tw-text-opacity: 1; + color: rgba(212, 212, 216, var(--tw-text-opacity)); + } +} + +.chroma .ln { + margin-right: 0.4em; + padding: 0 0.4em 0 0.4em; +} + +/* Keyword */ + +.chroma .k { + --tw-text-opacity: 1; + color: rgba(124, 58, 237, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .k { + --tw-text-opacity: 1; + color: rgba(196, 181, 253, var(--tw-text-opacity)); + } +} + +/* KeywordConstant */ + +.chroma .kc { + font-weight: 600; + --tw-text-opacity: 1; + color: rgba(232, 121, 249, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .kc { + --tw-text-opacity: 1; + color: rgba(217, 70, 239, var(--tw-text-opacity)); + } +} + +/* KeywordDeclaration */ + +.chroma .kd { + --tw-text-opacity: 1; + color: rgba(124, 58, 237, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .kd { + --tw-text-opacity: 1; + color: rgba(196, 181, 253, var(--tw-text-opacity)); + } +} + +/* KeywordNamespace */ + +.chroma .kn { + --tw-text-opacity: 1; + color: rgba(124, 58, 237, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .kn { + --tw-text-opacity: 1; + color: rgba(196, 181, 253, var(--tw-text-opacity)); + } +} + +/* KeywordPseudo */ + +.chroma .kp { + --tw-text-opacity: 1; + color: rgba(124, 58, 237, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .kp { + --tw-text-opacity: 1; + color: rgba(196, 181, 253, var(--tw-text-opacity)); + } +} + +/* KeywordReserved */ + +.chroma .kr { + --tw-text-opacity: 1; + color: rgba(124, 58, 237, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .kr { + --tw-text-opacity: 1; + color: rgba(196, 181, 253, var(--tw-text-opacity)); + } +} + +/* KeywordType */ + +.chroma .kt { + --tw-text-opacity: 1; + color: rgba(232, 121, 249, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .kt { + --tw-text-opacity: 1; + color: rgba(192, 38, 211, var(--tw-text-opacity)); + } +} + +/* Name */ + +.chroma .n { + --tw-text-opacity: 1; + color: rgba(112, 26, 117, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .n { + --tw-text-opacity: 1; + color: rgba(245, 208, 254, var(--tw-text-opacity)); + } +} + +/* NameAttribute */ + +.chroma .na { + --tw-text-opacity: 1; + color: rgba(134, 25, 143, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .na { + --tw-text-opacity: 1; + color: rgba(240, 171, 252, var(--tw-text-opacity)); + } +} + +/* NameBuiltin */ + +.chroma .nb { + --tw-text-opacity: 1; + color: rgba(134, 25, 143, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .nb { + --tw-text-opacity: 1; + color: rgba(240, 171, 252, var(--tw-text-opacity)); + } +} + +/* NameBuiltinPseudo */ + +.chroma .bp { + --tw-text-opacity: 1; + color: rgba(134, 25, 143, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .bp { + --tw-text-opacity: 1; + color: rgba(240, 171, 252, var(--tw-text-opacity)); + } +} + +/* NameClass */ + +.chroma .nc { + --tw-text-opacity: 1; + color: rgba(124, 58, 237, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .nc { + --tw-text-opacity: 1; + color: rgba(196, 181, 253, var(--tw-text-opacity)); + } +} + +/* NameConstant */ + +.chroma .no { + font-weight: 600; + --tw-text-opacity: 1; + color: rgba(232, 121, 249, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .no { + --tw-text-opacity: 1; + color: rgba(217, 70, 239, var(--tw-text-opacity)); + } +} + +/* NameDecorator */ + +.chroma .nd { + --tw-text-opacity: 1; + color: rgba(112, 26, 117, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .nd { + --tw-text-opacity: 1; + color: rgba(245, 208, 254, var(--tw-text-opacity)); + } +} + +/* NameEntity */ + +.chroma .ni { + --tw-text-opacity: 1; + color: rgba(112, 26, 117, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .ni { + --tw-text-opacity: 1; + color: rgba(245, 208, 254, var(--tw-text-opacity)); + } +} + +/* NameException */ + +.chroma .ne { + font-weight: 600; + --tw-text-opacity: 1; + color: rgba(232, 121, 249, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .ne { + --tw-text-opacity: 1; + color: rgba(217, 70, 239, var(--tw-text-opacity)); + } +} + +/* NameFunction */ + +.chroma .nf { + --tw-text-opacity: 1; + color: rgba(192, 38, 211, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .nf { + --tw-text-opacity: 1; + color: rgba(217, 70, 239, var(--tw-text-opacity)); + } +} + +/* NameFunctionMagic */ + +.chroma .fm { + --tw-text-opacity: 1; + color: rgba(124, 58, 237, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .fm { + --tw-text-opacity: 1; + color: rgba(196, 181, 253, var(--tw-text-opacity)); + } +} + +/* NameLabel */ + +.chroma .nl { + --tw-text-opacity: 1; + color: rgba(112, 26, 117, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .nl { + --tw-text-opacity: 1; + color: rgba(245, 208, 254, var(--tw-text-opacity)); + } +} + +/* NameNamespace */ + +.chroma .nn { + --tw-text-opacity: 1; + color: rgba(124, 58, 237, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .nn { + --tw-text-opacity: 1; + color: rgba(196, 181, 253, var(--tw-text-opacity)); + } +} + +/* NameOther */ + +.chroma .nx { + --tw-text-opacity: 1; + color: rgba(134, 25, 143, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .nx { + --tw-text-opacity: 1; + color: rgba(240, 171, 252, var(--tw-text-opacity)); + } +} + +/* NameProperty */ + +.chroma .py { + color: #cebc3a; +} + +/* NameTag */ + +.chroma .nt { + --tw-text-opacity: 1; + color: rgba(134, 25, 143, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .nt { + --tw-text-opacity: 1; + color: rgba(240, 171, 252, var(--tw-text-opacity)); + } +} + +/* NameVariable */ + +.chroma .nv { + --tw-text-opacity: 1; + color: rgba(232, 121, 249, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .nv { + --tw-text-opacity: 1; + color: rgba(192, 38, 211, var(--tw-text-opacity)); + } +} + +/* NameVariableClass */ + +.chroma .vc { + --tw-text-opacity: 1; + color: rgba(124, 58, 237, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .vc { + --tw-text-opacity: 1; + color: rgba(196, 181, 253, var(--tw-text-opacity)); + } +} + +/* NameVariableGlobal */ + +.chroma .vg { + font-weight: 600; + --tw-text-opacity: 1; + color: rgba(232, 121, 249, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .vg { + --tw-text-opacity: 1; + color: rgba(217, 70, 239, var(--tw-text-opacity)); + } +} + +/* NameVariableInstance */ + +.chroma .vi { + --tw-text-opacity: 1; + color: rgba(232, 121, 249, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .vi { + --tw-text-opacity: 1; + color: rgba(192, 38, 211, var(--tw-text-opacity)); + } +} + +/* NameVariableMagic */ + +.chroma .vm { + --tw-text-opacity: 1; + color: rgba(232, 121, 249, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .vm { + --tw-text-opacity: 1; + color: rgba(192, 38, 211, var(--tw-text-opacity)); + } +} + +/* Literal */ + +.chroma .l { + --tw-text-opacity: 1; + color: rgba(91, 33, 182, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .l { + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); + } +} + +/* LiteralDate */ + +.chroma .ld { + --tw-text-opacity: 1; + color: rgba(91, 33, 182, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .ld { + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); + } +} + +/* LiteralString */ + +.chroma .s { + --tw-text-opacity: 1; + color: rgba(91, 33, 182, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .s { + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); + } +} + +/* LiteralStringAffix */ + +.chroma .sa { + --tw-text-opacity: 1; + color: rgba(91, 33, 182, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .sa { + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); + } +} + +/* LiteralStringBacktick */ + +.chroma .sb { + --tw-text-opacity: 1; + color: rgba(91, 33, 182, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .sb { + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); + } +} + +/* LiteralStringChar */ + +.chroma .sc { + --tw-text-opacity: 1; + color: rgba(91, 33, 182, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .sc { + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); + } +} + +/* LiteralStringDelimiter */ + +.chroma .dl { + --tw-text-opacity: 1; + color: rgba(91, 33, 182, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .dl { + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); + } +} + +/* LiteralStringDoc */ + +.chroma .sd { + --tw-text-opacity: 1; + color: rgba(91, 33, 182, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .sd { + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); + } +} + +/* LiteralStringDouble */ + +.chroma .s2 { + --tw-text-opacity: 1; + color: rgba(91, 33, 182, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .s2 { + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); + } +} + +/* LiteralStringEscape */ + +.chroma .se { + font-weight: 600; + --tw-text-opacity: 1; + color: rgba(232, 121, 249, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .se { + --tw-text-opacity: 1; + color: rgba(217, 70, 239, var(--tw-text-opacity)); + } +} + +/* LiteralStringHeredoc */ + +.chroma .sh { + --tw-text-opacity: 1; + color: rgba(91, 33, 182, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .sh { + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); + } +} + +/* LiteralStringInterpol */ + +.chroma .si { + --tw-text-opacity: 1; + color: rgba(91, 33, 182, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .si { + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); + } +} + +/* LiteralStringOther */ + +.chroma .sx { + --tw-text-opacity: 1; + color: rgba(91, 33, 182, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .sx { + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); + } +} + +/* LiteralStringRegex */ + +.chroma .sr { + font-weight: 600; + --tw-text-opacity: 1; + color: rgba(91, 33, 182, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .sr { + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); + } +} + +/* LiteralStringSingle */ + +.chroma .s1 { + --tw-text-opacity: 1; + color: rgba(91, 33, 182, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .s1 { + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); + } +} + +/* LiteralStringSymbol */ + +.chroma .ss { + font-weight: 600; + --tw-text-opacity: 1; + color: rgba(91, 33, 182, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .ss { + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); + } +} + +/* LiteralNumber */ + +.chroma .m { + --tw-text-opacity: 1; + color: rgba(232, 121, 249, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .m { + --tw-text-opacity: 1; + color: rgba(192, 38, 211, var(--tw-text-opacity)); + } +} + +/* LiteralNumberBin */ + +.chroma .mb { + --tw-text-opacity: 1; + color: rgba(232, 121, 249, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .mb { + --tw-text-opacity: 1; + color: rgba(192, 38, 211, var(--tw-text-opacity)); + } +} + +/* LiteralNumberFloat */ + +.chroma .mf { + --tw-text-opacity: 1; + color: rgba(232, 121, 249, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .mf { + --tw-text-opacity: 1; + color: rgba(192, 38, 211, var(--tw-text-opacity)); + } +} + +/* LiteralNumberHex */ + +.chroma .mh { + --tw-text-opacity: 1; + color: rgba(232, 121, 249, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .mh { + --tw-text-opacity: 1; + color: rgba(192, 38, 211, var(--tw-text-opacity)); + } +} + +/* LiteralNumberInteger */ + +.chroma .mi { + --tw-text-opacity: 1; + color: rgba(232, 121, 249, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .mi { + --tw-text-opacity: 1; + color: rgba(192, 38, 211, var(--tw-text-opacity)); + } +} + +/* LiteralNumberIntegerLong */ + +.chroma .il { + --tw-text-opacity: 1; + color: rgba(232, 121, 249, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .il { + --tw-text-opacity: 1; + color: rgba(192, 38, 211, var(--tw-text-opacity)); + } +} + +/* LiteralNumberOct */ + +.chroma .mo { + --tw-text-opacity: 1; + color: rgba(232, 121, 249, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .mo { + --tw-text-opacity: 1; + color: rgba(192, 38, 211, var(--tw-text-opacity)); + } +} + +/* Operator */ + +.chroma .o { + --tw-text-opacity: 1; + color: rgba(124, 58, 237, var(--tw-text-opacity)); +} + +/* OperatorWord */ + +.chroma .ow { + font-weight: 600; + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .ow { + --tw-text-opacity: 1; + color: rgba(124, 58, 237, var(--tw-text-opacity)); + } +} + +/* Punctuation */ + +.chroma .p { +} + +/* Comment */ + +.chroma .c { + font-style: italic; + --tw-text-opacity: 1; + color: rgba(161, 161, 170, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .c { + --tw-text-opacity: 1; + color: rgba(113, 113, 122, var(--tw-text-opacity)); + } +} + +/* CommentHashbang */ + +.chroma .ch { + font-weight: 600; + font-style: italic; + --tw-text-opacity: 1; + color: rgba(161, 161, 170, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .ch { + --tw-text-opacity: 1; + color: rgba(113, 113, 122, var(--tw-text-opacity)); + } +} + +/* CommentMultiline */ + +.chroma .cm { + font-style: italic; + --tw-text-opacity: 1; + color: rgba(161, 161, 170, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .cm { + --tw-text-opacity: 1; + color: rgba(113, 113, 122, var(--tw-text-opacity)); + } +} + +/* CommentSingle */ + +.chroma .c1 { + font-style: italic; + --tw-text-opacity: 1; + color: rgba(161, 161, 170, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .c1 { + --tw-text-opacity: 1; + color: rgba(113, 113, 122, var(--tw-text-opacity)); + } +} + +/* CommentSpecial */ + +.chroma .cs { + font-style: italic; + --tw-text-opacity: 1; + color: rgba(161, 161, 170, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .cs { + --tw-text-opacity: 1; + color: rgba(113, 113, 122, var(--tw-text-opacity)); + } +} + +/* CommentPreproc */ + +.chroma .cp { + font-style: italic; + --tw-text-opacity: 1; + color: rgba(161, 161, 170, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .cp { + --tw-text-opacity: 1; + color: rgba(113, 113, 122, var(--tw-text-opacity)); + } +} + +/* CommentPreprocFile */ + +.chroma .cpf { + font-style: italic; + --tw-text-opacity: 1; + color: rgba(161, 161, 170, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .cpf { + --tw-text-opacity: 1; + color: rgba(113, 113, 122, var(--tw-text-opacity)); + } +} + +/* Generic */ + +.chroma .g { +} + +/* GenericDeleted */ + +.chroma .gd { +} + +/* GenericEmph */ + +.chroma .ge { + font-style: italic; +} + +/* GenericError */ + +.chroma .gr { +} + +/* GenericHeading */ + +.chroma .gh { + font-weight: 600; + --tw-text-opacity: 1; + color: rgba(113, 113, 122, var(--tw-text-opacity)); +} + +/* GenericInserted */ + +.chroma .gi { + --tw-text-opacity: 1; + color: rgba(91, 33, 182, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .gi { + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); + } +} + +/* GenericOutput */ + +.chroma .go { + --tw-text-opacity: 1; + color: rgba(91, 33, 182, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .go { + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); + } +} + +/* GenericPrompt */ + +.chroma .gp { + --tw-text-opacity: 1; + color: rgba(91, 33, 182, var(--tw-text-opacity)); +} + +@media (prefers-color-scheme: dark) { + .chroma .gp { + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); + } +} + +/* GenericStrong */ + +.chroma .gs { + font-weight: 600; +} + +/* GenericSubheading */ + +.chroma .gu { + --tw-text-opacity: 1; + color: rgba(113, 113, 122, var(--tw-text-opacity)); +} + +/* GenericTraceback */ + +.chroma .gt { + --tw-text-opacity: 1; + color: rgba(113, 113, 122, var(--tw-text-opacity)); +} + +/* GenericUnderline */ + +.chroma .gl { + text-decoration: underline; +} + +/* TextWhitespace */ + +.chroma .w { +} + +.relative { + position: relative; +} + +.-mx-2 { + margin-left: -0.5rem; + margin-right: -0.5rem; +} + +.my-3 { + margin-top: 0.75rem; + margin-bottom: 0.75rem; +} + +.mb-3 { + margin-bottom: 0.75rem; +} + +.mt-8 { + margin-top: 2rem; +} + +.mb-12 { + margin-bottom: 3rem; +} + +.mt-12 { + margin-top: 3rem; +} + +.mt-0 { + margin-top: 0px; +} + +.mt-6 { + margin-top: 1.5rem; +} + +.\!mt-0 { + margin-top: 0px !important; +} + +.\!mb-0 { + margin-bottom: 0px !important; +} + +.mr-4 { + margin-right: 1rem; +} + +.mr-2 { + margin-right: 0.5rem; +} + +.mr-7 { + margin-right: 1.75rem; +} + +.\!mb-9 { + margin-bottom: 2.25rem !important; +} + +.block { + display: block; +} + +.inline-block { + display: inline-block; +} + +.flex { + display: flex; +} + +.h-screen { + height: 100vh; +} + +.h-24 { + height: 6rem; +} + +.w-36 { + width: 9rem; +} + +.w-24 { + width: 6rem; +} + +.w-full { + width: 100%; +} + +.max-w-full { + max-width: 100%; +} + +.max-w-prose { + max-width: 65ch; +} + +.flex-grow { + flex-grow: 1; +} + +.cursor-default { + cursor: default; +} + +.list-none { + list-style-type: none; +} + +.flex-col { + flex-direction: column; +} + +.flex-wrap { + flex-wrap: wrap; +} + +.items-center { + align-items: center; +} + +.justify-between { + justify-content: space-between; +} + +.overflow-hidden { + overflow: hidden; +} + +.rounded-full { + border-radius: 9999px; +} + +.rounded-md { + border-radius: 0.375rem; +} + +.border-dotted { + border-style: dotted; +} + +.border-gray-400 { + --tw-border-opacity: 1; + border-color: rgba(161, 161, 170, var(--tw-border-opacity)); +} + +.bg-primary-100 { + --tw-bg-opacity: 1; + background-color: rgba(237, 233, 254, var(--tw-bg-opacity)); +} + +.px-8 { + padding-left: 2rem; + padding-right: 2rem; +} + +.py-10 { + padding-top: 2.5rem; + padding-bottom: 2.5rem; +} + +.px-1 { + padding-left: 0.25rem; + padding-right: 0.25rem; +} + +.px-4 { + padding-left: 1rem; + padding-right: 1rem; +} + +.py-3 { + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} + +.px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; +} + +.pt-8 { + padding-top: 2rem; +} + +.pr-3 { + padding-right: 0.75rem; +} + +.align-text-bottom { + vertical-align: text-bottom; +} + +.text-4xl { + font-size: 2.25rem; + line-height: 2.5rem; +} + +.text-lg { + font-size: 1.125rem; + line-height: 1.75rem; +} + +.text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} + +.text-base { + font-size: 1rem; + line-height: 1.5rem; +} + +.text-xl { + font-size: 1.25rem; + line-height: 1.75rem; +} + +.text-sm { + font-size: 0.875rem; + line-height: 1.25rem; +} + +.text-xs { + font-size: 0.75rem; + line-height: 1rem; +} + +.font-extrabold { + font-weight: 800; +} + +.font-bold { + font-weight: 700; +} + +.font-semibold { + font-weight: 600; +} + +.font-medium { + font-weight: 500; +} + +.leading-7 { + line-height: 1.75rem; +} + +.leading-6 { + line-height: 1.5rem; +} + +.text-gray-400 { + --tw-text-opacity: 1; + color: rgba(161, 161, 170, var(--tw-text-opacity)); +} + +.text-gray-800 { + --tw-text-opacity: 1; + color: rgba(39, 39, 42, var(--tw-text-opacity)); +} + +.text-gray-300 { + --tw-text-opacity: 1; + color: rgba(212, 212, 216, var(--tw-text-opacity)); +} + +.text-primary-400 { + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); +} + +.first\:mt-8:first-child { + margin-top: 2rem; +} + +.last\:mr-0:last-child { + margin-right: 0px; +} + +.hover\:text-primary-700:hover { + --tw-text-opacity: 1; + color: rgba(109, 40, 217, var(--tw-text-opacity)); +} + +.hover\:underline:hover { + text-decoration: underline; +} + +@media (prefers-color-scheme: dark) { + .dark\:prose-light { + color: #a1a1aa; + } + + .dark\:prose-light a { + color: #a78bfa; + } + + .dark\:prose-light strong { + color: #fff; + } + + .dark\:prose-light ol > li::before { + color: #a1a1aa; + } + + .dark\:prose-light ul > li::before { + background-color: #52525b; + } + + .dark\:prose-light hr { + border-color: #e4e4e7; + } + + .dark\:prose-light blockquote { + color: #e4e4e7; + border-left-color: #52525b; + } + + .dark\:prose-light h1 { + color: #fff; + } + + .dark\:prose-light h2 { + color: #fff; + } + + .dark\:prose-light h3 { + color: #fff; + } + + .dark\:prose-light h4 { + color: #fff; + } + + .dark\:prose-light figure figcaption { + color: #a1a1aa; + } + + .dark\:prose-light code { + color: #e879f9; + } + + .dark\:prose-light a code { + color: #fff; + } + + .dark\:prose-light pre { + color: #e4e4e7; + background-color: #3f3f46; + } + + .dark\:prose-light thead { + color: #fff; + border-bottom-color: #a1a1aa; + } + + .dark\:prose-light tbody tr { + border-bottom-color: #52525b; + } + + .dark\:prose-light kbd { + background-color: #3f3f46; + color: #d4d4d8; + } + + .dark\:bg-gray-800 { + --tw-bg-opacity: 1; + background-color: rgba(39, 39, 42, var(--tw-bg-opacity)); + } + + .dark\:bg-primary-900 { + --tw-bg-opacity: 1; + background-color: rgba(76, 29, 149, var(--tw-bg-opacity)); + } + + .dark\:text-gray-500 { + --tw-text-opacity: 1; + color: rgba(113, 113, 122, var(--tw-text-opacity)); + } + + .dark\:text-white { + --tw-text-opacity: 1; + color: rgba(255, 255, 255, var(--tw-text-opacity)); + } + + .dark\:text-gray-300 { + --tw-text-opacity: 1; + color: rgba(212, 212, 216, var(--tw-text-opacity)); + } + + .dark\:text-gray-600 { + --tw-text-opacity: 1; + color: rgba(82, 82, 91, var(--tw-text-opacity)); + } + + .dark\:hover\:text-primary-400:hover { + --tw-text-opacity: 1; + color: rgba(167, 139, 250, var(--tw-text-opacity)); + } +} + +@media (min-width: 640px) { + .sm\:w-1\/2 { + width: 50%; + } + + .sm\:px-14 { + padding-left: 3.5rem; + padding-right: 3.5rem; + } +} + +@media (min-width: 768px) { + .md\:w-1\/3 { + width: 33.333333%; + } + + .md\:px-24 { + padding-left: 6rem; + padding-right: 6rem; + } +} + +@media (min-width: 1024px) { + .lg\:w-1\/4 { + width: 25%; + } + + .lg\:px-32 { + padding-left: 8rem; + padding-right: 8rem; + } +} + +@media (min-width: 1280px) { + .xl\:w-1\/5 { + width: 20%; + } +} diff --git a/static/favicon-16x16.png b/static/favicon-16x16.png new file mode 100755 index 0000000000000000000000000000000000000000..8ecbbe95e78762ec6dddc6a4c19063dc3629d33a GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(-uuz(rC1}QWNE&K$e{5@S9Lo5W7 z*KDhaKYrrJ`dN*Qjl3P6jQjunPtQtSv$5*8@QUt`vj*LDhJgztQ#hngFmxSQ!N|k2 uIME>D&;xPS%%9@I8s1F23daQs%Gekt1q$CXQhxw)Dubu1pUXO@geCwiJUD^? literal 0 HcmV?d00001 diff --git a/static/favicon-32x32.png b/static/favicon-32x32.png new file mode 100755 index 0000000000000000000000000000000000000000..6f409e8f4de4707b5a875a7ae30ecf74504271d1 GIT binary patch literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}E~ycoX}-P; zT0k}j17mw80}DtA5K93u0|WB{Mh0de%?J`(zyz07Sip>6gA}f5OZp6?=6bp~hD30_ zy}pr`$&jb@;q&qisf!1+41|)H{5&{VgcaPHLKiq*@tB^_{f@0*)^xp0yXWt7*hBbU zpI?`7Ln^1SB{(qNrTp!?&8MI2uKLc>*Qb7=Udb*h&@WHgGw0G1K@qdSjWTU{=U&DomVJqM&f^lB6D>!;ni=igBgTe~DWM4fdLdfo literal 0 HcmV?d00001 diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100755 index 0000000000000000000000000000000000000000..879d75557d4bd69082f5a74e68ca3ac51fe17101 GIT binary patch literal 15406 zcmeI2y-ve05XX;?oieazLLDn1A;l~_2ttg!0aBYFUZN|HgLo4d(snGJ%3VIBinfS2 zY7&c|CCkbs&i!rwY{eIg9Lb3c2BKvokEbHnA`(T#_3&KeRc)hDdH+)6?LuUz&uA5` zQP{QEnHKTndFGOp=5@`yYEZZG<>R-iOId%+=(GOyS(7=?WDe$acPh$c(j;?}&zkFuH?!u;e46iBJWkv4yXD7x-y|Pf_O@8;(sx^J#E5NOp zj4^`&7=Qs7fB_hQ0T?(G16}Tc%y-B8&#w31`{Dxs#cpvD4bjSj=HKEZdRyjKPiJ$N z-f7I>J#)#juluuHn`$(zrg=mARAVn+ebxO_mub~DOsx%BJiZS}d({@xoNL$dsBEE? zS)skRy#Jv;L)Ol>$DzJGcrR?h01UtY48Q;kzyJ)u01UtY48Q;kzyJ)u01UtY48Q;k szyJ*RGZ6AW$YuEtILPrg?V+C^D9@e*dwyf%3`&saXG}kd9`NmfZ?u8EK>z>% literal 0 HcmV?d00001 diff --git a/static/site.webmanifest b/static/site.webmanifest new file mode 100755 index 00000000..45dc8a20 --- /dev/null +++ b/static/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 00000000..784b945e --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,133 @@ +const colors = require("tailwindcss/colors"); + +module.exports = { + mode: "jit", + purge: { + content: [ + "./layouts/**/*.html", + "./content/**/*.{html,md}", + "./themes/congo/layouts/**/*.html", + "./themes/congo/content/**/*.{html,md}", + ], + }, + darkMode: "media", + theme: { + colors: { + transparent: "transparent", + white: colors.white, + gray: colors.gray, + primary: colors.violet, + secondary: colors.fuchsia, + }, + extend: { + typography: (theme) => ({ + DEFAULT: { + css: [ + { + a: { + color: theme("colors.primary.700"), + textDecoration: "underline", + fontWeight: "500", + "&:hover": { + backgroundColor: theme("colors.primary.600"), + color: theme("colors.white"), + textDecoration: "none", + }, + }, + h2: { + position: "relative", + }, + h3: { + position: "relative", + }, + h4: { + position: "relative", + }, + code: { + color: theme("colors.secondary.700"), + }, + pre: { + backgroundColor: theme("colors.gray.50"), + }, + kbd: { + backgroundColor: theme("colors.gray.200"), + padding: "0.1rem 0.4rem", + borderRadius: "0.25rem", + fontSize: "0.9rem", + fontWeight: "600", + }, + }, + ], + }, + light: { + css: [ + { + color: theme("colors.gray.400"), + a: { + color: theme("colors.primary.400"), + }, + strong: { + color: theme("colors.white"), + }, + "ol > li::before": { + color: theme("colors.gray.400"), + }, + "ul > li::before": { + backgroundColor: theme("colors.gray.600"), + }, + hr: { + borderColor: theme("colors.gray.200"), + }, + blockquote: { + color: theme("colors.gray.200"), + borderLeftColor: theme("colors.gray.600"), + }, + h1: { + color: theme("colors.white"), + }, + h2: { + color: theme("colors.white"), + }, + h3: { + color: theme("colors.white"), + }, + h4: { + color: theme("colors.white"), + }, + "figure figcaption": { + color: theme("colors.gray.400"), + }, + code: { + color: theme("colors.secondary.400"), + }, + "a code": { + color: theme("colors.white"), + }, + pre: { + color: theme("colors.gray.200"), + backgroundColor: theme("colors.gray.700"), + }, + thead: { + color: theme("colors.white"), + borderBottomColor: theme("colors.gray.400"), + }, + "tbody tr": { + borderBottomColor: theme("colors.gray.600"), + }, + kbd: { + backgroundColor: theme("colors.gray.700"), + color: theme("colors.gray.300"), + }, + }, + ], + }, + }), + }, + }, + variants: { + extend: { + typography: ["dark"], + }, + }, + plugins: [require("@tailwindcss/typography")], +}; diff --git a/theme.toml b/theme.toml new file mode 100644 index 00000000..ceb3a4ac --- /dev/null +++ b/theme.toml @@ -0,0 +1,14 @@ +# Congo theme for Hugo + +name = "Congo" +license = "MIT" +licenselink = "https://github.com/jpanther/hugo-congo/blob/master/LICENSE" +description = "A simple, clean Hugo theme based on Tailwind CSS" +homepage = "http://github.com/jpanther/hugo-congo/" +tags = ["blog", "minimal", "dark mode", "dark", "light", "tailwind"] +features = ["syntax higlighting", "dark mode", "emoji"] +min_version = "0.86.1" + +[author] + name = "James Panther" + homepage = "https://jamespanther.com/"