feat: add qsv section (CLI, pro, web) & GitHub and qsv pro setups (#20)

* Add qsv Sub-section and GitHub for Beginners guide

* Add qsv, qsv pro & setup, qsv web, & GitHub setup

Co-authored-by: Abdurrahman <mabdurrahman303@gmail.com>

* chore: remove section

---------

Co-authored-by: Abdurrahman <mabdurrahman303@gmail.com>
This commit is contained in:
Mueez Khan 2024-03-04 11:59:58 -05:00 committed by GitHub
parent 0fbfd9f1e7
commit a07a6f7d26
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
27 changed files with 8876 additions and 102 deletions

View file

@ -1,24 +0,0 @@
name: Test deployment
on:
pull_request:
branches:
- main
# Review gh actions docs if you want to further define triggers, paths, etc
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on
jobs:
test-deploy:
name: Test deployment
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
cache: npm
- name: Install dependencies
run: npm ci
- name: Test build website
run: npm run build

View file

@ -1,6 +1,6 @@
{
"label": "✈ Onboarding Setup",
"position": 1,
"position": 2,
"link": {
"type": "generated-index",
"description": "Installation instructions to setting up your workspace with the necessary software and tools."

View file

@ -0,0 +1,55 @@
---
sidebar_position: 7
---
# 🖥 GitHub Setup
## 👋 Welcome!
You may have seen GitHub before or heard about it, and now it's time to learn more and set up your GitHub account!
## 💭 What's GitHub?
GitHub is like a virtual playground for coders. You may store your code, share it with others, and even collaborate on projects using Git.
:::info Git & GitHub: What's the difference?
- **Git** is a version control system (also a command line tool) which can assist in managing code history.
- **GitHub** is a service where code can be hosted.
There are many more differences and explanations, so feel free to take a search in your search engine!
:::
## ✨ Cool Features
Here are some _very_ brief descriptions of features you may find often using GitHub:
| Feature | Brief description |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| Version control | GitHub can host code repositories which use Git, and GitHub provides a GUI that works with Git |
| Collaboration | Work with friends, coworkers, or even anyone random users from around the world on projects |
| Issues | Track ideas, tasks, feedback, bugs, plans, and more |
| Pull requests | Propose a set of (code) changes from one branch to another and review changes (commonly abbreviated as 'PR') |
| Projects | Project management tool that can help keep track of issues & PRs, including views like [kanban boards](/technical-writing/kanban-board) & tables |
| Discussions | Similar to an online forum, another avenue for a repository's community to connect |
There are plenty more features GitHub has to offer. Get started with GitHub by following the quest below!
## 🗺 Your GitHub Quest
1. Create a GitHub account at [github.com](https://github.com).
2. Explore repositories and find one you think is interesting.
3. Skim the issues for the repository and see if you think you can solve one of them.
4. Fork the repository.
5. Clone the fork to your device, make changes, push the changes to your fork, then create a PR to the original repository.
If you get stuck, are not sure what something means, or can't find an issue that you think you can solve, try searching on your search engine and if that doesn't work then contact your team.
## 💻 Your GitHub Super Move: Collaboration
GitHub is not just for code; it's for making cool (and hopefully useful!) things together. Try collaborating on a project, and have fun working with people around the world!
## 🚀 Ready to code?
Explore, collaborate, and have fun coding! 👋

View file

@ -0,0 +1,35 @@
---
sidebar_position: 6
---
# ⚙️ qsv pro Setup
## About qsv pro
Welcome to qsv pro, a powerful desktop app designed for spreadsheet data wrangling. Built on the foundation of the [qsv CLI tool](/qsv/qsv-cli), qsv pro offers a feature-packed local GUI for an enhanced user experience.
Learn more about qsv pro at [qsvpro.dathere.com](https://qsvpro.dathere.com) or read [the intern guide post](/qsv/qsv-pro).
## 🗺 Installation Guide
Follow these steps to install and try out qsv pro on your system.
### 📥 Step 1: Download the Installer
Visit the [qsv pro Releases](https://github.com/dathere/qsv-pro-releases/releases) page on GitHub.
### 💻 Step 2: Choose the Installer Package
Select and download the installer package compatible with your operating system.
### 🛠 Step 3: Installation Procedure
Run the installer and complete the installation procedure following the on-screen instructions for your operating system.
### 🧪 Step 4: Testing (Under Development)
Explore qsv pro's features! Manipulate spreadsheets, navigate the user interface, and provide valuable feedback to the development team.
### 🚀 Step 5: Have fun!
Have fun experiencing the efficiency and convenience of qsv pro's data wrangling capabilities on your computer!

8
docs/qsv/_category_.json Normal file
View file

@ -0,0 +1,8 @@
{
"label": "⚡ qsv",
"position": 3,
"link": {
"type": "generated-index",
"description": "Learn about qsv, the data wrangling tool!"
}
}

48
docs/qsv/qsv-cli.mdx Normal file
View file

@ -0,0 +1,48 @@
# ⚡ qsv
Meet **qsv**, your new command line tool for data wrangling!
## 💭 What's qsv?
qsv is a command line tool with 50+ commands that can perform data wrangling tasks in a relatively efficient manner.
For example, if I had a csv file that looked like this:
```csv title=prices.csv
id,fruit,cost
1,apple,5.00
2,banana,10.00
3,celery,2.00
```
Then I can use qsv to perform all sorts of commands based on the data. Maybe I want to simply count how many rows there are (not including the header row). I can run:
```bash
qsv count prices.csv
```
And the output would be `3`. But I can add flags for even more options like additionally getting the number of characters in the longest row by adding `--width` (e.g., `qsv count prices.csv --width`), and other commands also have subcommands!
## ✨ Cool Features
- **50+ commands:** There's plenty of options for users for all sorts of backgrounds to use qsv in their workflow
- **Blazingly fast:** qsv is built primarily with the Rust programming language, offering fast speeds even for very large datasets
- **Mix and match:** Combine different qsv commands and integrate qsv with other tools to enhance data wrangling
## 🛠 Install qsv
1. [Install qsv](/onboarding/qsv-setup).
2. Once installed, run `qsv --list` to list the commands available to you, and you can further learn about them by running `qsv <command> --help` where `<command>` is the command you want to learn about (e.g., `qsv count --help`).
3. Try running qsv commands on your files!
## 📊 Your first command: `qsv count`
Navigate to your desired `.csv` file on the terminal and try typing `qsv count <filename>` (where `<filename>` is the name of your file) and see what happens!
See if you can try following along in [the intro-to-count.ipynb notebook](https://nbviewer.org/github/jqnatividad/qsv/blob/master/contrib/notebooks/intro-to-count.ipynb).
## 🚀 Ready for some data wrangling?
That's just the beginning! Explore more commands, use qsv to perform various transformations, and have fun wrangling data with qsv!
Remember, qsv can help make data exciting and easy, even if you're just starting on your data journey!

63
docs/qsv/qsv-pro.mdx Normal file
View file

@ -0,0 +1,63 @@
# 💻 qsv pro
Get ready to level up your data game with **qsv pro**! 🚀
## 💭 What's qsv pro?
qsv pro is a spreadsheet data wrangling desktop app.
It offers a graphical user interface (GUI) based on the [qsv](/qsv/qsv-cli) command line interface (CLI).
## ✨ Super Features
### Spreadsheet data table viewer
![Data table viewer demo](/img/docs/qsv/qsv-pro/data-table-viewer.gif)
### Stats, frequency, and metadata data tables
import metaDemo from "/img/docs/qsv/qsv-pro/stats-frequency-metadata-demo.mp4";
<video width="100%" autoPlay loop>
<source src={metaDemo} type="video/mp4" />
</video>
### Recipes (scripts) to transform data
import recipesDemo from "/img/docs/qsv/qsv-pro/recipes-demo.mp4";
<video width="100%" autoPlay loop>
<source src={recipesDemo} type="video/mp4" />
</video>
### CKAN upload workflow
> The upload feature is getting a major update soon!
import uploadDemo from "/img/docs/qsv/qsv-pro/legacy-upload-demo.mp4";
<video width="100%" autoPlay loop>
<source src={uploadDemo} type="video/mp4" />
</video>
### Resizable panels
import resizablePanelsDemo from "/img/docs/qsv/qsv-pro/resizable-panels-demo.mp4";
<video width="100%" autoPlay loop>
<source src={resizablePanelsDemo} type="video/mp4" />
</video>
### Light & Dark themes
![Theme switch demo](/img/docs/qsv/qsv-pro/themes-demo.gif)
## 🌊 Let's Dive In!
1. [Set up qsv pro](/onboarding/qsv-pro-setup).
2. Launch qsv pro and explore the various features on your files. Just drag and drop a spreadsheet (CSV, Excel file, and more) into qsv pro and watch what happens!
3. Share your experience with your team and provide feedback to the developers.
## 🚀 Ready for a pro experience?
View, transform, and upload your spreadsheets with a streamlined GUI using qsv pro.

70
docs/qsv/qsv-web.mdx Normal file
View file

@ -0,0 +1,70 @@
# 🖱 qsv.dathere.com
qsv is also available on the web! A subset of qsv commands are available to run at [qsv.dathere.com](https://qsv.dathere.com).
## 🌱 Benefits
Here are some benefits of qsv.dathere.com:
- 👋 **User-Friendly Interface**: Built with daisyUI, qsv.dathere.com is a neat way to interact with qsv
- 🔌 **No Installation Required**: Hosted on the web and powered by the qsv CLI, no need to install the qsv CLI or qsv pro GUI
- 📱 **Platform Independence**: Simply go to the web app on a desktop/mobile browser
- 📊 **Interactive Data Previews**: A data table is generated based on command outputs
## 🌐 Accessing qsv.dathere.com
To access the qsv.dathere.com, simply visit the website: [qsv.dathere.com](https://qsv.dathere.com). It's a user-friendly platform that provides powerful data manipulation tools with just a few clicks. 🚀
## 🗺 UI Overview
### 🏡Home
"Home" is your starting point for qsv.dathere.com, a welcome page where you may begin browsing.
![Home GIF](/img/docs/qsv/qsv-web/home.gif)
### 🌐 Web
"Web" is where you may run various qsv commands on your file(s) with a point-and-click UI without having to type any CLI commands.
![Web GIF](/img/docs/qsv/qsv-web/web.gif)
### ⏱️ Benchmarks
"Benchmarks" is where you may data on qsv's performance and compare against previous versions of qsv.
![Benchmarks GIF](/img/docs/qsv/qsv-web/benchmarks.gif)
## 💻 Web commands
On the Web commands page, you'll find a grid of qsv commands with brief descriptions, many of which you may use in the browser.
Simply click on the qsv command you want to use, provide your input file(s), select various flags and potentially subcommands, then press the run button.
:::info Why can't I select certain commands?
Certain commands are unavailable since there currently isn't an automated process for integrating qsv into a web UI, so many commands were manually added for the web app.
:::
![Web commands GIF](/img/docs/qsv/qsv-web/web-commands.gif)
## Command example
For instance, let's choose the "behead" command.
This is a relatively simple command that removes the first row from your CSV, removing the header row.
| Upload by clicking the 'Choose File' button | or Drag and Drop |
| :-----------------------------------------------------------: | :----------------------------------------------------------------------: |
| ![File upload example](/img/docs/qsv/qsv-web/file-upload.png) | ![Drag and drop example](/img/docs/qsv/qsv-web/drag-and-drop-upload.png) |
Once you've uploaded the CSV file you want to work with, simply click on the 'RUN BEHEAD!' button and see what happens!
![Run button example](/img/docs/qsv/qsv-web/run-button-example.gif)
![Command preview](/img/docs/qsv/qsv-web/command-preview.png)
![Data table preview](/img/docs/qsv/qsv-web/data-table-preview.png)
![Raw output preview](/img/docs/qsv/qsv-web/raw-output-preview.png)

106
package-lock.json generated
View file

@ -11427,19 +11427,6 @@
"is-typedarray": "^1.0.0"
}
},
"node_modules/typescript": {
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz",
"integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==",
"peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
"node": ">=14.17"
}
},
"node_modules/ua-parser-js": {
"version": "1.0.35",
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz",
@ -14712,8 +14699,7 @@
"@mdx-js/react": {
"version": "1.6.22",
"resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz",
"integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==",
"requires": {}
"integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg=="
},
"@mdx-js/util": {
"version": "1.6.22",
@ -14789,50 +14775,42 @@
"@svgr/babel-plugin-add-jsx-attribute": {
"version": "6.5.1",
"resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz",
"integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==",
"requires": {}
"integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ=="
},
"@svgr/babel-plugin-remove-jsx-attribute": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz",
"integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==",
"requires": {}
"integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA=="
},
"@svgr/babel-plugin-remove-jsx-empty-expression": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz",
"integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==",
"requires": {}
"integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA=="
},
"@svgr/babel-plugin-replace-jsx-attribute-value": {
"version": "6.5.1",
"resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz",
"integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==",
"requires": {}
"integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg=="
},
"@svgr/babel-plugin-svg-dynamic-title": {
"version": "6.5.1",
"resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz",
"integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==",
"requires": {}
"integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw=="
},
"@svgr/babel-plugin-svg-em-dimensions": {
"version": "6.5.1",
"resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz",
"integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==",
"requires": {}
"integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA=="
},
"@svgr/babel-plugin-transform-react-native-svg": {
"version": "6.5.1",
"resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz",
"integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==",
"requires": {}
"integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg=="
},
"@svgr/babel-plugin-transform-svg-component": {
"version": "6.5.1",
"resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz",
"integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==",
"requires": {}
"integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ=="
},
"@svgr/babel-preset": {
"version": "6.5.1",
@ -15383,8 +15361,7 @@
"acorn-import-assertions": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
"integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
"requires": {}
"integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA=="
},
"acorn-walk": {
"version": "8.2.0",
@ -15445,8 +15422,7 @@
"ajv-keywords": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"requires": {}
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ=="
},
"algoliasearch": {
"version": "4.17.1",
@ -16324,8 +16300,7 @@
"css-declaration-sorter": {
"version": "6.4.0",
"resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz",
"integrity": "sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==",
"requires": {}
"integrity": "sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew=="
},
"css-loader": {
"version": "6.8.1",
@ -16485,8 +16460,7 @@
"cssnano-utils": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz",
"integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==",
"requires": {}
"integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA=="
},
"csso": {
"version": "4.2.0",
@ -17779,8 +17753,7 @@
"icss-utils": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
"integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
"requires": {}
"integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA=="
},
"ignore": {
"version": "5.2.4",
@ -18959,26 +18932,22 @@
"postcss-discard-comments": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz",
"integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==",
"requires": {}
"integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ=="
},
"postcss-discard-duplicates": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz",
"integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==",
"requires": {}
"integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw=="
},
"postcss-discard-empty": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz",
"integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==",
"requires": {}
"integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A=="
},
"postcss-discard-overridden": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz",
"integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==",
"requires": {}
"integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw=="
},
"postcss-discard-unused": {
"version": "5.1.0",
@ -19080,8 +19049,7 @@
"postcss-modules-extract-imports": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
"integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
"requires": {}
"integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw=="
},
"postcss-modules-local-by-default": {
"version": "4.0.3",
@ -19112,8 +19080,7 @@
"postcss-normalize-charset": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz",
"integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==",
"requires": {}
"integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg=="
},
"postcss-normalize-display-values": {
"version": "5.1.0",
@ -19257,8 +19224,7 @@
"postcss-zindex": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz",
"integrity": "sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==",
"requires": {}
"integrity": "sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A=="
},
"prepend-http": {
"version": "2.0.0",
@ -19282,8 +19248,7 @@
"prism-react-renderer": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz",
"integrity": "sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==",
"requires": {}
"integrity": "sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg=="
},
"prismjs": {
"version": "1.29.0",
@ -19569,8 +19534,7 @@
"react-icons": {
"version": "4.9.0",
"resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.9.0.tgz",
"integrity": "sha512-ijUnFr//ycebOqujtqtV9PFS7JjhWg0QU6ykURVHuL4cbofvRCf3f6GMn9+fBktEFQOIVZnuAYLZdiyadRQRFg==",
"requires": {}
"integrity": "sha512-ijUnFr//ycebOqujtqtV9PFS7JjhWg0QU6ykURVHuL4cbofvRCf3f6GMn9+fBktEFQOIVZnuAYLZdiyadRQRFg=="
},
"react-is": {
"version": "16.13.1",
@ -19596,8 +19560,7 @@
"react-lite-youtube-embed": {
"version": "2.3.52",
"resolved": "https://registry.npmjs.org/react-lite-youtube-embed/-/react-lite-youtube-embed-2.3.52.tgz",
"integrity": "sha512-G010PvCavA4EqL8mZ/Sv9XXiHnjMfONW+lmNeCRnSEPluPdptv2lZ0cNlngrj7K9j7luc8pbpyrmNpKbD9VMmw==",
"requires": {}
"integrity": "sha512-G010PvCavA4EqL8mZ/Sv9XXiHnjMfONW+lmNeCRnSEPluPdptv2lZ0cNlngrj7K9j7luc8pbpyrmNpKbD9VMmw=="
},
"react-loadable": {
"version": "npm:@docusaurus/react-loadable@5.5.2",
@ -20880,12 +20843,6 @@
"is-typedarray": "^1.0.0"
}
},
"typescript": {
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz",
"integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==",
"peer": true
},
"ua-parser-js": {
"version": "1.0.35",
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz",
@ -21169,14 +21126,12 @@
"use-composed-ref": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz",
"integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==",
"requires": {}
"integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ=="
},
"use-isomorphic-layout-effect": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz",
"integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==",
"requires": {}
"integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA=="
},
"use-latest": {
"version": "1.2.1",
@ -21189,8 +21144,7 @@
"use-sync-external-store": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
"integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
"requires": {}
"integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA=="
},
"util-deprecate": {
"version": "1.0.2",
@ -21513,8 +21467,7 @@
"ws": {
"version": "8.13.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz",
"integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==",
"requires": {}
"integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA=="
}
}
},
@ -21637,8 +21590,7 @@
"ws": {
"version": "7.5.9",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
"integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
"requires": {}
"integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q=="
},
"xdg-basedir": {
"version": "4.0.0",

8567
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 833 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB