diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
deleted file mode 100644
index 98df2e4..0000000
--- a/.github/workflows/docs.yml
+++ /dev/null
@@ -1,44 +0,0 @@
-name: Docs
-
-on:
- push:
- branches: [main]
- paths:
- - '**'
- - '.github/workflows/docs.yml'
- pull_request:
- branches: ["*"]
- paths:
- - '**'
- - '.github/workflows/docs.yml'
- workflow_dispatch: # Add this line to enable manual triggering
-
-jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
- - run: pipx install poetry
- - uses: actions/setup-python@v4
- with:
- python-version: "3.12"
- cache: "poetry"
- cache-dependency-path: poetry.lock
- - name: Install deps
- run: make install
- - name: Build
- run: make build
-
- # We deploy from GitHub Actions instead of via Netlify builders,
- # because Netlify builders don't support Python 3.8+
- - name: Deploy to Netlify
- if: github.ref == 'refs/heads/main'
- uses: jsmrcaga/action-netlify-deploy@v2.1.0
- with:
- NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_TOKEN }}
- NETLIFY_SITE_ID: ddab54c7-7320-45c9-9103-8509b232bfae
- NETLIFY_DEPLOY_MESSAGE: "Deployed from GitHub Action: ${{ github.event.head_commit.message }}"
- NETLIFY_DEPLOY_TO_PROD: true
- build_directory: site
- install_command: "echo Skipping installing the dependencies"
- build_command: "echo Skipping building the web files"
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index 7ee4a9d..0000000
--- a/CONTRIBUTING.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributing to GPT Engineer Docs
-
-Thank you for considering contributing to the GPT Engineer documentation! We appreciate your effort in improving the docs for everyone. Here’s a quick guide to help you get started.
-
-## How to contribute
-
-### 1. Find an area to improve
-- Visit our docs at [https://docs.gptengineer.app/](https://docs.gptengineer.app/).
-- Browse through the pages and if you find something that can be improved — from fixing typos to adding more content — go ahead and contribute.
-- We are very interested in tutorials, tips and tricks, and ideas covering the real-world usage of GPT Engineer.
-
-### 2. Edit the page
-- On each page, you will see a **"Edit this page"** button. Click on it and you will be redirected to the respective page in this repository.
-- This opens the file directly in GitHub, and you can make the necessary changes.
-
-#### Video tutorial
-
-We also have a tutorial video to help guide you through the process of editing the docs. You can watch it directly below:
-
-https://github.com/user-attachments/assets/fa3e2929-d029-4c0e-bd02-224038147dca
-
-## Guidelines
-
-- Keep the language simple and clear. We aim for concise and straightforward documentation.
-- Make sure your markdown syntax is correct, and use proper formatting for headings, code blocks, links, etc.
-- Check that your contribution aligns with the structure and tone of the existing documentation.
-- For larger contributions (e.g., new sections or topics), consider opening an issue first to discuss your ideas.
-
-## Need help?
-
-If you have any questions or need help, feel free to open an issue or reach out to our [Discord community](https://discord.gg/jstGvUnFnm).
-
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 7f73d26..0000000
--- a/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-build:
- poetry run mkdocs build --strict
-
-dev:
- poetry run mkdocs serve -a localhost:8888
-
-install:
- poetry install --no-root
diff --git a/README.md b/README.md
index a926168..d9123e5 100644
--- a/README.md
+++ b/README.md
@@ -1,41 +1,13 @@
-Docs for gptengineer.app
-========================
+# These docs are built with Mintlify
-Built with [MkDocs](https://www.mkdocs.org/) and [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/).
+To install Mintlify locally
-Configuration happens in `mkdocs.yml`. You can find an extensive example [here](https://github.com/squidfunk/mkdocs-material/blob/master/mkdocs.yml).
-
-Docs for the docs:
- - https://mkdocs.org
- - https://squidfunk.github.io/mkdocs-material/
-
-## Build
-
-```bash
-make install
-make build
-# or, to serve locally
-make dev
+```
+npm i -g mintlify
```
-## What do we need to document?
-
-We want to keep the documentation as simple as possible.
-
- - The documentation should **not** be necessary for users to understand how to use gptengineer.app.
- - If users need to read the documentation to understand how to use the app, then the app is not intuitive enough.
- - The documentation should serve as a complement to the app.
- - Giving users clarity about what it can and cannot do.
- - The documentation could also contain content aimed at developers/power users.
- - Which might confuse non-technical users if it were included in the app itself.
- - Something to link to when people have questions.
- - Explain status of upcoming/requested features, like backend etc.
-
-## Contributing
-
-We welcome community contributions to improve the documentation. If you would like to contribute, please refer to our [Contributing guide](./CONTRIBUTING.md) for instructions on how to get started.
-
-
-## Deploy
+To test your changes
-The documentation is automatically deployed to Netlify from GitHub Actions when changes to the `docs/` directory are made on the `main` branch. (this is due to Netlify not supporting Python 3.8+ in their build workers)
+```
+mintlify dev
+```
\ No newline at end of file
diff --git a/src/assets/connect-to-github.mp4 b/assets/connect-to-github.mp4
similarity index 100%
rename from src/assets/connect-to-github.mp4
rename to assets/connect-to-github.mp4
diff --git a/src/assets/css/styles.css b/assets/css/styles.css
similarity index 100%
rename from src/assets/css/styles.css
rename to assets/css/styles.css
diff --git a/src/assets/favicon-32x32.png b/assets/favicon-32x32.png
similarity index 100%
rename from src/assets/favicon-32x32.png
rename to assets/favicon-32x32.png
diff --git a/src/assets/gpt-engineer-welcome-screen.png b/assets/gpt-engineer-welcome-screen.png
similarity index 100%
rename from src/assets/gpt-engineer-welcome-screen.png
rename to assets/gpt-engineer-welcome-screen.png
diff --git a/src/assets/improve.mp4 b/assets/improve.mp4
similarity index 100%
rename from src/assets/improve.mp4
rename to assets/improve.mp4
diff --git a/src/assets/lovable-2x-logo.png b/assets/lovable-2x-logo.png
similarity index 100%
rename from src/assets/lovable-2x-logo.png
rename to assets/lovable-2x-logo.png
diff --git a/src/assets/npm-example-using-pangea-dnd.png b/assets/npm-example-using-pangea-dnd.png
similarity index 100%
rename from src/assets/npm-example-using-pangea-dnd.png
rename to assets/npm-example-using-pangea-dnd.png
diff --git a/src/assets/revert.mp4 b/assets/revert.mp4
similarity index 100%
rename from src/assets/revert.mp4
rename to assets/revert.mp4
diff --git a/src/assets/share-icon.png b/assets/share-icon.png
similarity index 100%
rename from src/assets/share-icon.png
rename to assets/share-icon.png
diff --git a/src/assets/share-preview.png b/assets/share-preview.png
similarity index 100%
rename from src/assets/share-preview.png
rename to assets/share-preview.png
diff --git a/src/assets/supabase.png b/assets/supabase.png
similarity index 100%
rename from src/assets/supabase.png
rename to assets/supabase.png
diff --git a/src/assets/sync-commits.mp4 b/assets/sync-commits.mp4
similarity index 100%
rename from src/assets/sync-commits.mp4
rename to assets/sync-commits.mp4
diff --git a/src/assets/tech-stacks-updates.mp4 b/assets/tech-stacks-updates.mp4
similarity index 100%
rename from src/assets/tech-stacks-updates.mp4
rename to assets/tech-stacks-updates.mp4
diff --git a/src/assets/using-custom-fonts-example.png b/assets/using-custom-fonts-example.png
similarity index 100%
rename from src/assets/using-custom-fonts-example.png
rename to assets/using-custom-fonts-example.png
diff --git a/src/assets/using-images-github-commiting.png b/assets/using-images-github-commiting.png
similarity index 100%
rename from src/assets/using-images-github-commiting.png
rename to assets/using-images-github-commiting.png
diff --git a/src/assets/using-images-github-selecting.png b/assets/using-images-github-selecting.png
similarity index 100%
rename from src/assets/using-images-github-selecting.png
rename to assets/using-images-github-selecting.png
diff --git a/src/assets/using-images-github-upload.png b/assets/using-images-github-upload.png
similarity index 100%
rename from src/assets/using-images-github-upload.png
rename to assets/using-images-github-upload.png
diff --git a/src/assets/using-videos-github-commiting.png b/assets/using-videos-github-commiting.png
similarity index 100%
rename from src/assets/using-videos-github-commiting.png
rename to assets/using-videos-github-commiting.png
diff --git a/src/assets/using-videos-github-selecting.png b/assets/using-videos-github-selecting.png
similarity index 100%
rename from src/assets/using-videos-github-selecting.png
rename to assets/using-videos-github-selecting.png
diff --git a/src/assets/videos/video-publish-republish.mp4 b/assets/videos/video-publish-republish.mp4
similarity index 100%
rename from src/assets/videos/video-publish-republish.mp4
rename to assets/videos/video-publish-republish.mp4
diff --git a/favicon-32x32.png b/favicon-32x32.png
new file mode 100644
index 0000000..b6e19d6
Binary files /dev/null and b/favicon-32x32.png differ
diff --git a/favicon.svg b/favicon.svg
new file mode 100644
index 0000000..7d9228f
--- /dev/null
+++ b/favicon.svg
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/features/deploy.md b/features/deploy.mdx
similarity index 54%
rename from src/features/deploy.md
rename to features/deploy.mdx
index f55d37f..85e9432 100644
--- a/src/features/deploy.md
+++ b/features/deploy.mdx
@@ -1,42 +1,60 @@
-# :globe_with_meridians: Deploy and share
+---
+title: 'Deploy and share'
+description: 'Learn how to deploy and share your web applications with Lovable'
+---
-Once your web app is ready, you can deploy it or share it with the world. You can also share your work-in-progress version to gather feedback. Lovable makes it simple to publish and share your apps with just a few clicks.
+Once your web app is ready, you can deploy it or share it with the world. You can also share your work-in-progress version to gather feedback. Lovable makes it simple to publish and share your apps with just a few clicks.
----
+
+
+
+ Your published app will be accessible to anyone with the link. Make sure you're ready to share before publishing!
+
+
+***
## Publishing your app
To publish your web app, in the top right corner of the editor view, click on the **Share** button. This button looks like a globe icon.
-
-
-
+
+
+
+
After clicking the **Share** button, a dialog will appear with options to publish your application. Click the green **Publish** button to start the deployment process. During this time, the button will display **Publishing**.
-
-
-
+
+
+
+
+
Once the deployment is complete, the dialog will show the published address with a **Republish** button for future updates.
Your application is now live, and you can access it at the provided link.
----
+
+ The publishing process typically takes less than a minute. You'll receive a notification once it's complete.
+
+
+***
## Previewing your app
Previewing your app allows you to preview and share your work-in-progress updates without fully deploying them.
-!!! tip "Use previewing for iterative development"
- Previewing is very handy as it allows you and others to view the latest changes without affecting the live, published version of your application.
+
+ **Use previewing for iterative development**
+
+ Previewing is very handy as it allows you and others to view the latest changes without affecting the live, published version of your application.
- We've noticed users using it for iterative development and getting real-time feedback, as well as for collaborative reviews and testing before final deployment.
+ We've noticed users using it for iterative development and getting real-time feedback, as well as for collaborative reviews and testing before final deployment.
+
Within the same **Share** dialog described earlier, you'll see a **Preview** section with a link to view or share your work-in-progress updates.
The preview link is generated instantly and can be shared with team members for feedback.
-
-
-
-
+
+
+
\ No newline at end of file
diff --git a/src/features/index.md b/features/introduction.mdx
similarity index 51%
rename from src/features/index.md
rename to features/introduction.mdx
index 6c016bb..3971eee 100644
--- a/src/features/index.md
+++ b/features/introduction.mdx
@@ -1,4 +1,8 @@
-# :tools: Features
+---
+title: 'Introduction'
+description: 'Explore the key features and capabilities of Lovable'
+---
+
Lovable comes with a sleeve of features available. While these Docs are work in progress, and not all of the features are described, we wanted to showcase some of the key and most commonly used features.
@@ -7,31 +11,21 @@ Lovable comes with a sleeve of features available. While these Docs are work in
## Overview
Explore the sections below to get started quickly and learn more about some of the features offered by Lovable.
-
-
-- :octicons-globe-24:{ .lg .middle } **Deploy and share**
-
- ---
-
+
+
Learn how to publish and share your Lovable projects quickly and efficiently with the public.
+
- [:octicons-arrow-right-24: Deploy](deploy.md)
-
-
-- :simple-npm:{ .lg .middle } **Using npm packages**
-
- ---
-
+
Extend Lovable's functionality by integrating npm packages into your projects.
+
- [:octicons-arrow-right-24: Using npm packages](npm-packages.md)
-
-- :octicons-stack-24:{ .lg .middle } **Tech stacks**
-
- ---
-
- You can select the tech stack Lovable starts from.
-
- [:octicons-arrow-right-24: Tech stacks](techstacks.md)
-
-
+
\ No newline at end of file
diff --git a/src/features/npm-packages.md b/features/npm-packages.mdx
similarity index 58%
rename from src/features/npm-packages.md
rename to features/npm-packages.mdx
index 1667c2b..98dce53 100644
--- a/src/features/npm-packages.md
+++ b/features/npm-packages.mdx
@@ -1,40 +1,42 @@
-# :simple-npm: Using npm packages
+---
+title: 'Using npm packages'
+description: 'Learn how to leverage npm packages to extend your Lovable applications with advanced features'
+---
While Lovable is powerful on its own, enabling users to build sophisticated web applications, you can leverage npm packages for more advanced and extended features. These packages help you build even more complex and feature-rich applications with ease.
-!!! info "What is npm?"
- npm (Node Package Manager) is a package manager for JavaScript that allows developers to share and reuse code. It hosts thousands of packages, which are pieces of reusable code, that you can easily integrate into your projects to extend functionality.
+
+ **What is npm?**
+
+ npm (Node Package Manager) is a package manager for JavaScript that allows developers to share and reuse code. It hosts thousands of packages, which are pieces of reusable code, that you can easily integrate into your projects to extend functionality.
- You can access it at npmjs.com .
-
----
+ You can access it [at npmjs.com](https://www.npmjs.com/).
+
## Using npm packages for advanced features
Let's say you'd like to create a tool that enables you to arrange your tasks in different Kanban boards, similar to many popular project management tools. You can prompt Lovable to build this tool from scratch, but it might be slower and more challenging to achieve the desired functionality.
-Instead, you can use npm packages to simplify and speed up the process. For example, the hello-pangea/dnd package provides robust drag-and-drop functionality. By using this package, you can easily create a Kanban board where users can add new cards, move them within columns, and reorder them.
+Instead, you can use npm packages to simplify and speed up the process. For example, the [@hello-pangea/dnd](https://www.npmjs.com/package/@hello-pangea/dnd) package provides robust drag-and-drop functionality. By using this package, you can easily create a Kanban board where users can add new cards, move them within columns, and reorder them.
-!!! example "Integrating drag-and-drop npm package"
- To incorporate the hello-pangea/dnd package into your Lovable project, you can use the following prompt:
-
- ```
- Use the hello-pangea/dnd npm package to add drag-and-drop functionality to my Kanban board app.
- Ensure users can add new cards, move them within columns, and reorder them.
-
- ```
+
+ ```bash Example prompt
+ Use the hello-pangea/dnd npm package to add drag-and-drop functionality to my Kanban board app.
+ Ensure users can add new cards, move them within columns, and reorder them.
+ ```
+
This prompt directs Lovable to integrate the package into your project, making it easier to achieve the desired functionality. Depending on other requirements, your result might look somewhat like this.
-
-
----
+
+
+
## Quality and responsibility
-It’s important to note that while npm packages can significantly enhance your projects, Lovable cannot guarantee the quality or reliability of these third-party packages.
+It's important to note that while npm packages can significantly enhance your projects, Lovable cannot guarantee the quality or reliability of these third-party packages.
-The functionality and performance of npm packages are the responsibility of the end user, and it’s essential to thoroughly test and validate them within your application.
+The functionality and performance of npm packages are the responsibility of the end user, and it's essential to thoroughly test and validate them within your application.
### Increasing your chances of success
@@ -44,4 +46,4 @@ Here are a few strategies to help you evaluate the legitimacy and quality of npm
- **Maintenance status and latest updates** - Look at the package's repository to see if it is actively maintained. Frequent commits, recent updates, and responsiveness to issues are good indicators of an actively maintained package. Ensure the package has recent updates. A package that is regularly updated is more likely to be compatible with the latest versions of dependencies and security practices.
-- **Reviews and community feedback** - A lot of npm packages are hosted on GitHub or similar code repositories. Read through reviews, discussions, and feedback from other developers on those locations, too. Additionally, specific developer forums can provide insights into the package's reliability and any potential issues.
+- **Reviews and community feedback** - A lot of npm packages are hosted on GitHub or similar code repositories. Read through reviews, discussions, and feedback from other developers on those locations, too. Additionally, specific developer forums can provide insights into the package's reliability and any potential issues.
\ No newline at end of file
diff --git a/integrations/git-integration.mdx b/integrations/git-integration.mdx
new file mode 100644
index 0000000..c8386ed
--- /dev/null
+++ b/integrations/git-integration.mdx
@@ -0,0 +1,47 @@
+---
+title: 'GitHub Integration'
+description: 'Learn how to connect and sync your projects with GitHub repositories'
+icon: 'github'
+---
+
+To make it easier for developers to work together with the AI on projects, Lovable backs all projects with a git repository and lets you push commits directly to the repository.
+
+In order to push commits to GitHub, your project and Lovable will automatically pull them in and update the project. This allows you to make changes yourself, without asking the AI.
+
+## Connecting a project to your GitHub account
+
+Before pushing your first commit, you will need to connect your GitHub account to the project. You can do this by navigating to **GitHub → Connect to GitHub**. You will then be redirected to GitHub to authorize the connection.
+
+You can choose to either grant access to:
+1. All repositories
+2. Specific repositories
+
+Both options will let Lovable create repositories in your GitHub account or organization.
+
+
+ You can only connect one GitHub login to your Lovable account, but you can create repositories in any of the organizations you choose to install the Lovable app in.
+
+
+
+
+
+
+
+
+
+ You will need admin access if you are trying to create a repository in an organization.
+
+
+## Making changes to a project through commits
+
+Once you have connected your GitHub account to your project, you can view the source code by navigating to **GitHub → View on GitHub**.
+
+Any change you make and push to the repository will be automatically reflected in Lovable.
+
+You can commit changes directly in GitHub Codespaces or clone the repo to use your preferred IDE.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/integrations/introduction.mdx b/integrations/introduction.mdx
new file mode 100644
index 0000000..96fcf68
--- /dev/null
+++ b/integrations/introduction.mdx
@@ -0,0 +1,27 @@
+---
+title: 'Integrations'
+description: 'Extend Lovable functionality with official integrations'
+---
+Lovable supports several integrations enabling you to extend its functionality.
+
+## Overview
+
+Explore the sections below to get started quickly and learn more about GitHub and Supabase integrations currently offered by Lovable.
+
+
+
+ Understand how to integrate Lovable with GitHub for seamless version control and collaboration.
+
+
+
+ Add support for authentication and persistent data storage with Supabase
+
+
\ No newline at end of file
diff --git a/src/integrations/supabase.md b/integrations/supabase.mdx
similarity index 81%
rename from src/integrations/supabase.md
rename to integrations/supabase.mdx
index 6a624fc..87af74b 100644
--- a/src/integrations/supabase.md
+++ b/integrations/supabase.mdx
@@ -1,13 +1,20 @@
-# :simple-supabase:{ .supabase} Supabase Integration
+---
+title: 'Supabase Integration'
+description: 'Learn how to integrate Supabase with your Lovable application'
+icon: 'database'
+---
-!!! warning "Supabase integration is in beta"
- Contact us if you run into any issues. Known issues: Requests to Supabase sporadically result in 502 – we have contacted Supabase about it.
+
+ Supabase integration is in beta. Contact us if you run into any issues. Known issues: Requests to Supabase sporadically result in 502 – we have contacted Supabase about it.
+
## Overview
[Supabase](https://supabase.com/) is an open-source alternative to Firebase, offering real-time databases, authentication services, and file storage. It is built atop [PostgreSQL](https://www.postgresql.org/), providing robust SQL querying capabilities and seamless integration with existing tools and frameworks. Supabase also features an intuitive web interface for effortless management of users and data.
-
+
+
+
Discover more about Supabase [here](https://supabase.com/docs).
@@ -85,16 +92,14 @@ Lovable will write and deploy Edge Functions to your Supabase project when imple
When troublehsooting, you can visit the the logs for your Edge Function in Supabase -> Functions -> Logs.
-## Best Practices
-
-!!! warning "Enable RLS policies before going to production"
- Important Note: Before you deploy your app to production or use any real data, you will need to review and set up the appropriate RLS policies. Lovable can help with that.
-
-## Onboarding video
-
-Here is an onboarding video that walks you through the process of using Lovable together with Supabase to build a full stack app:
-
-
- VIDEO
-
-
+
+ Important Note: Before you deploy your app to production or use any real data, you will need to review and set up the appropriate RLS policies. Lovable can help with that.
+
+
+VIDEO
diff --git a/introduction.mdx b/introduction.mdx
new file mode 100644
index 0000000..212ad1c
--- /dev/null
+++ b/introduction.mdx
@@ -0,0 +1,76 @@
+---
+title: 'Welcome to Lovable Academy'
+description: 'Build real web apps fast using natural language with Lovable'
+---
+
+## Product Capabilities
+
+**Lovable** currently excels at building front-end applications. However, pairing Lovable with other tools will allow you to build full-stack web apps.
+
+| Capability | Description | Maturity Level |
+|------------|-------------|----------------|
+| Frontend / UI | Build user interfaces & frontend | 🟢 Mature |
+| Persistence | Store and retrieve data | 🟡 Requires some patience |
+| Authentication | Handle user login and accounts | 🟡 Requires some patience |
+
+## Quick Start
+
+
+
+ Check out our Getting started guide for a simple introduction to key features and concepts
+
+
+ From a general overview to our GitHub integration, learn about Lovable's core features
+
+
+ Go beyond default features by integrating with third parties like Supabase
+
+
+ Learn effective prompting strategies and get the most out of Lovable
+
+
+
+## Stay Connected
+
+Join our community on [Discord](https://discord.gg/rPw2rSFE2K) to stay updated on development, feature releases, and to connect with fellow users. Follow us on [Twitter/X](https://twitter.com/Lovable_dev) for the latest updates and announcements.
+
+## Support
+
+We provide support through Discord and email at [support@lovable.dev](mailto:support@lovable.dev). For detailed support information:
+
+
+
+ Get help from our community and Community Champions
+
+
+ Pro users get priority support from our dedicated team
+
+
+
+## Learn More
+
+Visit our [website](https://lovable.dev) to learn more about Lovable and discover the team behind our mission to make web development accessible to everyone.
\ No newline at end of file
diff --git a/logo/dark.svg b/logo/dark.svg
new file mode 100644
index 0000000..b7d7e17
--- /dev/null
+++ b/logo/dark.svg
@@ -0,0 +1,211 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/logo/light.svg b/logo/light.svg
new file mode 100644
index 0000000..b7d7e17
--- /dev/null
+++ b/logo/light.svg
@@ -0,0 +1,211 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mint.json b/mint.json
new file mode 100644
index 0000000..e0469e3
--- /dev/null
+++ b/mint.json
@@ -0,0 +1,93 @@
+{
+ "$schema": "https://mintlify.com/schema.json",
+ "name": "Lovable Documentation",
+ "logo": {
+ "dark": "/logo/dark.svg",
+ "light": "/logo/light.svg"
+ },
+ "favicon": "/favicon.svg",
+ "colors": {
+ "primary": "#0095FF",
+ "light": "#1AA3FF",
+ "dark": "#0084E6",
+ "anchors": {
+ "from": "#0095FF",
+ "to": "#1AA3FF"
+ }
+ },
+ "topbarLinks": [
+ {
+ "name": "Support",
+ "url": "mailto:support@lovable.dev"
+ }
+ ],
+ "topbarCtaButton": {
+ "name": "App",
+ "url": "https://lovable.dev"
+ },
+ "anchors": [
+ {
+ "name": "Community",
+ "icon": "discord",
+ "url": "https://discord.com/channels/1119885301872070706/1280461670979993613"
+ },
+ {
+ "name": "Changelog",
+ "icon": "newspaper",
+ "url": "https://lovable.dev/changelog"
+ },
+ {
+ "name": "News",
+ "icon": "newspaper",
+ "url": "https://lovable.dev/news"
+ }
+ ],
+ "navigation": [
+ {
+ "group": "Introduction",
+ "pages": [
+ "introduction"
+ ]
+ },
+ {
+ "group": "User Guides",
+ "pages": [
+ "user-guides/getting-started",
+ "user-guides/credits",
+ "user-guides/free-credits"
+ ]
+ },
+ {
+ "group": "Features",
+ "pages": [
+ "features/introduction",
+ "features/deploy",
+ "features/npm-packages"
+ ]
+ },
+ {
+ "group": "Integrations",
+ "pages": [
+ "integrations/introduction",
+ "integrations/git-integration",
+ "integrations/supabase"
+ ]
+ },
+ {
+ "group": "Tips and Tricks",
+ "pages": [
+ "tips-tricks/using-images",
+ "tips-tricks/using-videos",
+ "tips-tricks/custom-fonts",
+ "tips-tricks/multiple-users",
+ "tips-tricks/custom-domain",
+ "tips-tricks/prompting"
+ ]
+ }
+ ],
+ "footerSocials": {
+ "x": "https://x.com/lovable_dev",
+ "github": "https://github.com/lovablelabs",
+ "linkedin": "https://linkedin.com/company/lovable-dev"
+ }
+}
\ No newline at end of file
diff --git a/mkdocs.yml b/mkdocs.yml
deleted file mode 100644
index 4f3d38f..0000000
--- a/mkdocs.yml
+++ /dev/null
@@ -1,100 +0,0 @@
-# Project information
-site_name: Lovable Docs
-site_url: https://docs.gptengineer.app/
-# SEO notice: https://docs.gptengineer.app/sitemap.xml
-docs_dir: src
-site_description: Lovable.dev project documentation. Learn more about Lovable.dev, its features and get up to speed.
-
-# Copyright
-copyright: "© 2023 - 2024 ❤️ Lovable"
-# Navigation
-nav:
- - "Introduction": index.md
- - "User guides":
- - "Getting started": getting-started.md
- - "Messaging limits": credits.md
- - "Free edits": free-credits.md
-
- - "Features":
- - "Features overview": features/index.md
- - "Deployment and sharing": features/deploy.md
- - "Using npm packages": features/npm-packages.md
- - "Tech stacks": features/techstacks.md
- #- features/import-project.md
-
- - "Integrations":
- - "Integrations overview": integrations/index.md
- - "GitHub integration": features/git-integration.md
- - "Supabase integration": integrations/supabase.md
-
- - "Tips and tricks":
- - "Working with images": tips-tricks/using-images.md
- - "Working with videos": tips-tricks/using-videos.md
- - "Using custom fonts": tips-tricks/custom-fonts.md
- - "Multiple users": tips-tricks/multiple-users.md
- - "Custom domains": tips-tricks/custom-domain.md
- - "Prompting tips and strategies": tips-tricks/prompting.md
-
-# Configuration
-theme:
- name: material
- locale: en
- logo: assets/lovable-2x-logo.png
- favicon: assets/favicon-32x32.png
- palette:
- # Light mode as default
- - scheme: default
- primary: black
- accent: red
- toggle:
- icon: material/brightness-7
- name: Switch to dark mode
- # Dark mode (optional)
- - scheme: slate
- primary: black
- accent: red
- toggle:
- icon: material/brightness-4
- name: Switch to light mode
- features:
- - navigation.instant
- - navigation.expand
- - navigation.sections
- - navigation.footer
- - navigation.top
- - nagivation.tabs
- - toc.follow
- - content.code.copy
- - content.action.edit
-
-markdown_extensions:
- - pymdownx.emoji:
- emoji_index: !!python/name:material.extensions.emoji.twemoji
- emoji_generator: !!python/name:material.extensions.emoji.to_svg
- - admonition
- - pymdownx.details
- - pymdownx.superfences
- - attr_list
- - md_in_html
-
-extra:
- social:
- - icon: fontawesome/solid/heart
- link: https://lovable.dev
- - icon: fontawesome/brands/twitter
- link: https://twitter.com/lovable_dev
- - icon: fontawesome/brands/youtube
- link: https://www.youtube.com/@lovable-labs
- - icon: fontawesome/brands/discord
- link: https://discord.gg/rPw2rSFE2K
- - icon: fontawesome/brands/github
- link: https://github.com/gpt-engineer-org/gptengineer.app
- # removes "Made with Material for MkDocs", we should sponsor the project instead (as they suggest in their docs)
- generator: false
-
-extra_css:
- - assets/css/styles.css
-
-# Repository URL
-repo_url: https://github.com/lovablelabs/docs
-edit_uri: edit/main/src
diff --git a/node_modules/.yarn-integrity b/node_modules/.yarn-integrity
deleted file mode 100644
index 553cf2e..0000000
--- a/node_modules/.yarn-integrity
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "systemParams": "linux-x64-115",
- "modulesFolders": [],
- "flags": [],
- "linkedModules": [],
- "topLevelPatterns": [],
- "lockfileEntries": {},
- "files": [],
- "artifacts": {}
-}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index 6ab6825..0000000
--- a/package-lock.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "name": "docs",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {}
-}
diff --git a/poetry.lock b/poetry.lock
deleted file mode 100644
index cd54491..0000000
--- a/poetry.lock
+++ /dev/null
@@ -1,724 +0,0 @@
-# This file is automatically @generated by Poetry 1.7.0 and should not be changed by hand.
-
-[[package]]
-name = "babel"
-version = "2.14.0"
-description = "Internationalization utilities"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "Babel-2.14.0-py3-none-any.whl", hash = "sha256:efb1a25b7118e67ce3a259bed20545c29cb68be8ad2c784c83689981b7a57287"},
- {file = "Babel-2.14.0.tar.gz", hash = "sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363"},
-]
-
-[package.extras]
-dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"]
-
-[[package]]
-name = "certifi"
-version = "2024.2.2"
-description = "Python package for providing Mozilla's CA Bundle."
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"},
- {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"},
-]
-
-[[package]]
-name = "charset-normalizer"
-version = "3.3.2"
-description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
-optional = false
-python-versions = ">=3.7.0"
-files = [
- {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"},
- {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"},
- {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"},
- {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"},
- {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"},
- {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"},
- {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"},
- {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"},
-]
-
-[[package]]
-name = "click"
-version = "8.1.7"
-description = "Composable command line interface toolkit"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"},
- {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"},
-]
-
-[package.dependencies]
-colorama = {version = "*", markers = "platform_system == \"Windows\""}
-
-[[package]]
-name = "colorama"
-version = "0.4.6"
-description = "Cross-platform colored terminal text."
-optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
-files = [
- {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
- {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
-]
-
-[[package]]
-name = "ghp-import"
-version = "2.1.0"
-description = "Copy your docs directly to the gh-pages branch."
-optional = false
-python-versions = "*"
-files = [
- {file = "ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343"},
- {file = "ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619"},
-]
-
-[package.dependencies]
-python-dateutil = ">=2.8.1"
-
-[package.extras]
-dev = ["flake8", "markdown", "twine", "wheel"]
-
-[[package]]
-name = "idna"
-version = "3.6"
-description = "Internationalized Domain Names in Applications (IDNA)"
-optional = false
-python-versions = ">=3.5"
-files = [
- {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"},
- {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"},
-]
-
-[[package]]
-name = "jinja2"
-version = "3.1.3"
-description = "A very fast and expressive template engine."
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"},
- {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"},
-]
-
-[package.dependencies]
-MarkupSafe = ">=2.0"
-
-[package.extras]
-i18n = ["Babel (>=2.7)"]
-
-[[package]]
-name = "markdown"
-version = "3.5.2"
-description = "Python implementation of John Gruber's Markdown."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "Markdown-3.5.2-py3-none-any.whl", hash = "sha256:d43323865d89fc0cb9b20c75fc8ad313af307cc087e84b657d9eec768eddeadd"},
- {file = "Markdown-3.5.2.tar.gz", hash = "sha256:e1ac7b3dc550ee80e602e71c1d168002f062e49f1b11e26a36264dafd4df2ef8"},
-]
-
-[package.extras]
-docs = ["mdx-gh-links (>=0.2)", "mkdocs (>=1.5)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python]"]
-testing = ["coverage", "pyyaml"]
-
-[[package]]
-name = "markupsafe"
-version = "2.1.5"
-description = "Safely add untrusted strings to HTML/XML markup."
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"},
- {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"},
- {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"},
- {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"},
- {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"},
- {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"},
- {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"},
- {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"},
-]
-
-[[package]]
-name = "mergedeep"
-version = "1.3.4"
-description = "A deep merge function for 🐍."
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307"},
- {file = "mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8"},
-]
-
-[[package]]
-name = "mkdocs"
-version = "1.5.3"
-description = "Project documentation with Markdown."
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "mkdocs-1.5.3-py3-none-any.whl", hash = "sha256:3b3a78e736b31158d64dbb2f8ba29bd46a379d0c6e324c2246c3bc3d2189cfc1"},
- {file = "mkdocs-1.5.3.tar.gz", hash = "sha256:eb7c99214dcb945313ba30426c2451b735992c73c2e10838f76d09e39ff4d0e2"},
-]
-
-[package.dependencies]
-click = ">=7.0"
-colorama = {version = ">=0.4", markers = "platform_system == \"Windows\""}
-ghp-import = ">=1.0"
-jinja2 = ">=2.11.1"
-markdown = ">=3.2.1"
-markupsafe = ">=2.0.1"
-mergedeep = ">=1.3.4"
-packaging = ">=20.5"
-pathspec = ">=0.11.1"
-platformdirs = ">=2.2.0"
-pyyaml = ">=5.1"
-pyyaml-env-tag = ">=0.1"
-watchdog = ">=2.0"
-
-[package.extras]
-i18n = ["babel (>=2.9.0)"]
-min-versions = ["babel (==2.9.0)", "click (==7.0)", "colorama (==0.4)", "ghp-import (==1.0)", "importlib-metadata (==4.3)", "jinja2 (==2.11.1)", "markdown (==3.2.1)", "markupsafe (==2.0.1)", "mergedeep (==1.3.4)", "packaging (==20.5)", "pathspec (==0.11.1)", "platformdirs (==2.2.0)", "pyyaml (==5.1)", "pyyaml-env-tag (==0.1)", "typing-extensions (==3.10)", "watchdog (==2.0)"]
-
-[[package]]
-name = "mkdocs-material"
-version = "9.5.8"
-description = "Documentation that simply works"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "mkdocs_material-9.5.8-py3-none-any.whl", hash = "sha256:14563314bbf97da4bfafc69053772341babfaeb3329cde01d3e63cec03997af8"},
- {file = "mkdocs_material-9.5.8.tar.gz", hash = "sha256:2a429213e83f84eda7a588e2b186316d806aac602b7f93990042f7a1f3d3cf65"},
-]
-
-[package.dependencies]
-babel = ">=2.10,<3.0"
-colorama = ">=0.4,<1.0"
-jinja2 = ">=3.0,<4.0"
-markdown = ">=3.2,<4.0"
-mkdocs = ">=1.5.3,<1.6.0"
-mkdocs-material-extensions = ">=1.3,<2.0"
-paginate = ">=0.5,<1.0"
-pygments = ">=2.16,<3.0"
-pymdown-extensions = ">=10.2,<11.0"
-regex = ">=2022.4"
-requests = ">=2.26,<3.0"
-
-[package.extras]
-git = ["mkdocs-git-committers-plugin-2 (>=1.1,<2.0)", "mkdocs-git-revision-date-localized-plugin (>=1.2.4,<2.0)"]
-imaging = ["cairosvg (>=2.6,<3.0)", "pillow (>=10.2,<11.0)"]
-recommended = ["mkdocs-minify-plugin (>=0.7,<1.0)", "mkdocs-redirects (>=1.2,<2.0)", "mkdocs-rss-plugin (>=1.6,<2.0)"]
-
-[[package]]
-name = "mkdocs-material-extensions"
-version = "1.3.1"
-description = "Extension pack for Python Markdown and MkDocs Material."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31"},
- {file = "mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443"},
-]
-
-[[package]]
-name = "packaging"
-version = "23.2"
-description = "Core utilities for Python packages"
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"},
- {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"},
-]
-
-[[package]]
-name = "paginate"
-version = "0.5.6"
-description = "Divides large result sets into pages for easier browsing"
-optional = false
-python-versions = "*"
-files = [
- {file = "paginate-0.5.6.tar.gz", hash = "sha256:5e6007b6a9398177a7e1648d04fdd9f8c9766a1a945bceac82f1929e8c78af2d"},
-]
-
-[[package]]
-name = "pathspec"
-version = "0.12.1"
-description = "Utility library for gitignore style pattern matching of file paths."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"},
- {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"},
-]
-
-[[package]]
-name = "platformdirs"
-version = "4.2.0"
-description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"},
- {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"},
-]
-
-[package.extras]
-docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"]
-test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"]
-
-[[package]]
-name = "pygments"
-version = "2.17.2"
-description = "Pygments is a syntax highlighting package written in Python."
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"},
- {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"},
-]
-
-[package.extras]
-plugins = ["importlib-metadata"]
-windows-terminal = ["colorama (>=0.4.6)"]
-
-[[package]]
-name = "pymdown-extensions"
-version = "10.7"
-description = "Extension pack for Python Markdown."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "pymdown_extensions-10.7-py3-none-any.whl", hash = "sha256:6ca215bc57bc12bf32b414887a68b810637d039124ed9b2e5bd3325cbb2c050c"},
- {file = "pymdown_extensions-10.7.tar.gz", hash = "sha256:c0d64d5cf62566f59e6b2b690a4095c931107c250a8c8e1351c1de5f6b036deb"},
-]
-
-[package.dependencies]
-markdown = ">=3.5"
-pyyaml = "*"
-
-[package.extras]
-extra = ["pygments (>=2.12)"]
-
-[[package]]
-name = "python-dateutil"
-version = "2.8.2"
-description = "Extensions to the standard Python datetime module"
-optional = false
-python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
-files = [
- {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"},
- {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"},
-]
-
-[package.dependencies]
-six = ">=1.5"
-
-[[package]]
-name = "pyyaml"
-version = "6.0.1"
-description = "YAML parser and emitter for Python"
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"},
- {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"},
- {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"},
- {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"},
- {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"},
- {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"},
- {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"},
- {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"},
- {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"},
- {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"},
- {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"},
- {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"},
- {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"},
- {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"},
- {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"},
- {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
- {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"},
- {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"},
- {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"},
- {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"},
- {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"},
- {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"},
- {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"},
- {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"},
- {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"},
- {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"},
- {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"},
- {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"},
- {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"},
- {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"},
- {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"},
- {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"},
- {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"},
- {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"},
- {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"},
- {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"},
- {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"},
- {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"},
- {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"},
- {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"},
- {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"},
- {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"},
- {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"},
- {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"},
- {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"},
- {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"},
- {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"},
- {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"},
- {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"},
- {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"},
-]
-
-[[package]]
-name = "pyyaml-env-tag"
-version = "0.1"
-description = "A custom YAML tag for referencing environment variables in YAML files. "
-optional = false
-python-versions = ">=3.6"
-files = [
- {file = "pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"},
- {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"},
-]
-
-[package.dependencies]
-pyyaml = "*"
-
-[[package]]
-name = "regex"
-version = "2023.12.25"
-description = "Alternative regular expression module, to replace re."
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "regex-2023.12.25-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0694219a1d54336fd0445ea382d49d36882415c0134ee1e8332afd1529f0baa5"},
- {file = "regex-2023.12.25-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b014333bd0217ad3d54c143de9d4b9a3ca1c5a29a6d0d554952ea071cff0f1f8"},
- {file = "regex-2023.12.25-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d865984b3f71f6d0af64d0d88f5733521698f6c16f445bb09ce746c92c97c586"},
- {file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e0eabac536b4cc7f57a5f3d095bfa557860ab912f25965e08fe1545e2ed8b4c"},
- {file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c25a8ad70e716f96e13a637802813f65d8a6760ef48672aa3502f4c24ea8b400"},
- {file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9b6d73353f777630626f403b0652055ebfe8ff142a44ec2cf18ae470395766e"},
- {file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9cc99d6946d750eb75827cb53c4371b8b0fe89c733a94b1573c9dd16ea6c9e4"},
- {file = "regex-2023.12.25-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88d1f7bef20c721359d8675f7d9f8e414ec5003d8f642fdfd8087777ff7f94b5"},
- {file = "regex-2023.12.25-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cb3fe77aec8f1995611f966d0c656fdce398317f850d0e6e7aebdfe61f40e1cd"},
- {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7aa47c2e9ea33a4a2a05f40fcd3ea36d73853a2aae7b4feab6fc85f8bf2c9704"},
- {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:df26481f0c7a3f8739fecb3e81bc9da3fcfae34d6c094563b9d4670b047312e1"},
- {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c40281f7d70baf6e0db0c2f7472b31609f5bc2748fe7275ea65a0b4601d9b392"},
- {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:d94a1db462d5690ebf6ae86d11c5e420042b9898af5dcf278bd97d6bda065423"},
- {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ba1b30765a55acf15dce3f364e4928b80858fa8f979ad41f862358939bdd1f2f"},
- {file = "regex-2023.12.25-cp310-cp310-win32.whl", hash = "sha256:150c39f5b964e4d7dba46a7962a088fbc91f06e606f023ce57bb347a3b2d4630"},
- {file = "regex-2023.12.25-cp310-cp310-win_amd64.whl", hash = "sha256:09da66917262d9481c719599116c7dc0c321ffcec4b1f510c4f8a066f8768105"},
- {file = "regex-2023.12.25-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1b9d811f72210fa9306aeb88385b8f8bcef0dfbf3873410413c00aa94c56c2b6"},
- {file = "regex-2023.12.25-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d902a43085a308cef32c0d3aea962524b725403fd9373dea18110904003bac97"},
- {file = "regex-2023.12.25-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d166eafc19f4718df38887b2bbe1467a4f74a9830e8605089ea7a30dd4da8887"},
- {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7ad32824b7f02bb3c9f80306d405a1d9b7bb89362d68b3c5a9be53836caebdb"},
- {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:636ba0a77de609d6510235b7f0e77ec494d2657108f777e8765efc060094c98c"},
- {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fda75704357805eb953a3ee15a2b240694a9a514548cd49b3c5124b4e2ad01b"},
- {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f72cbae7f6b01591f90814250e636065850c5926751af02bb48da94dfced7baa"},
- {file = "regex-2023.12.25-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:db2a0b1857f18b11e3b0e54ddfefc96af46b0896fb678c85f63fb8c37518b3e7"},
- {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7502534e55c7c36c0978c91ba6f61703faf7ce733715ca48f499d3dbbd7657e0"},
- {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:e8c7e08bb566de4faaf11984af13f6bcf6a08f327b13631d41d62592681d24fe"},
- {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:283fc8eed679758de38fe493b7d7d84a198b558942b03f017b1f94dda8efae80"},
- {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:f44dd4d68697559d007462b0a3a1d9acd61d97072b71f6d1968daef26bc744bd"},
- {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:67d3ccfc590e5e7197750fcb3a2915b416a53e2de847a728cfa60141054123d4"},
- {file = "regex-2023.12.25-cp311-cp311-win32.whl", hash = "sha256:68191f80a9bad283432385961d9efe09d783bcd36ed35a60fb1ff3f1ec2efe87"},
- {file = "regex-2023.12.25-cp311-cp311-win_amd64.whl", hash = "sha256:7d2af3f6b8419661a0c421584cfe8aaec1c0e435ce7e47ee2a97e344b98f794f"},
- {file = "regex-2023.12.25-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8a0ccf52bb37d1a700375a6b395bff5dd15c50acb745f7db30415bae3c2b0715"},
- {file = "regex-2023.12.25-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c3c4a78615b7762740531c27cf46e2f388d8d727d0c0c739e72048beb26c8a9d"},
- {file = "regex-2023.12.25-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ad83e7545b4ab69216cef4cc47e344d19622e28aabec61574b20257c65466d6a"},
- {file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7a635871143661feccce3979e1727c4e094f2bdfd3ec4b90dfd4f16f571a87a"},
- {file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d498eea3f581fbe1b34b59c697512a8baef88212f92e4c7830fcc1499f5b45a5"},
- {file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:43f7cd5754d02a56ae4ebb91b33461dc67be8e3e0153f593c509e21d219c5060"},
- {file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51f4b32f793812714fd5307222a7f77e739b9bc566dc94a18126aba3b92b98a3"},
- {file = "regex-2023.12.25-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba99d8077424501b9616b43a2d208095746fb1284fc5ba490139651f971d39d9"},
- {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4bfc2b16e3ba8850e0e262467275dd4d62f0d045e0e9eda2bc65078c0110a11f"},
- {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8c2c19dae8a3eb0ea45a8448356ed561be843b13cbc34b840922ddf565498c1c"},
- {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:60080bb3d8617d96f0fb7e19796384cc2467447ef1c491694850ebd3670bc457"},
- {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b77e27b79448e34c2c51c09836033056a0547aa360c45eeeb67803da7b0eedaf"},
- {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:518440c991f514331f4850a63560321f833979d145d7d81186dbe2f19e27ae3d"},
- {file = "regex-2023.12.25-cp312-cp312-win32.whl", hash = "sha256:e2610e9406d3b0073636a3a2e80db05a02f0c3169b5632022b4e81c0364bcda5"},
- {file = "regex-2023.12.25-cp312-cp312-win_amd64.whl", hash = "sha256:cc37b9aeebab425f11f27e5e9e6cf580be7206c6582a64467a14dda211abc232"},
- {file = "regex-2023.12.25-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:da695d75ac97cb1cd725adac136d25ca687da4536154cdc2815f576e4da11c69"},
- {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d126361607b33c4eb7b36debc173bf25d7805847346dd4d99b5499e1fef52bc7"},
- {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4719bb05094d7d8563a450cf8738d2e1061420f79cfcc1fa7f0a44744c4d8f73"},
- {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5dd58946bce44b53b06d94aa95560d0b243eb2fe64227cba50017a8d8b3cd3e2"},
- {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22a86d9fff2009302c440b9d799ef2fe322416d2d58fc124b926aa89365ec482"},
- {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2aae8101919e8aa05ecfe6322b278f41ce2994c4a430303c4cd163fef746e04f"},
- {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e692296c4cc2873967771345a876bcfc1c547e8dd695c6b89342488b0ea55cd8"},
- {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:263ef5cc10979837f243950637fffb06e8daed7f1ac1e39d5910fd29929e489a"},
- {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:d6f7e255e5fa94642a0724e35406e6cb7001c09d476ab5fce002f652b36d0c39"},
- {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:88ad44e220e22b63b0f8f81f007e8abbb92874d8ced66f32571ef8beb0643b2b"},
- {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:3a17d3ede18f9cedcbe23d2daa8a2cd6f59fe2bf082c567e43083bba3fb00347"},
- {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d15b274f9e15b1a0b7a45d2ac86d1f634d983ca40d6b886721626c47a400bf39"},
- {file = "regex-2023.12.25-cp37-cp37m-win32.whl", hash = "sha256:ed19b3a05ae0c97dd8f75a5d8f21f7723a8c33bbc555da6bbe1f96c470139d3c"},
- {file = "regex-2023.12.25-cp37-cp37m-win_amd64.whl", hash = "sha256:a6d1047952c0b8104a1d371f88f4ab62e6275567d4458c1e26e9627ad489b445"},
- {file = "regex-2023.12.25-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b43523d7bc2abd757119dbfb38af91b5735eea45537ec6ec3a5ec3f9562a1c53"},
- {file = "regex-2023.12.25-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:efb2d82f33b2212898f1659fb1c2e9ac30493ac41e4d53123da374c3b5541e64"},
- {file = "regex-2023.12.25-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7fca9205b59c1a3d5031f7e64ed627a1074730a51c2a80e97653e3e9fa0d415"},
- {file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086dd15e9435b393ae06f96ab69ab2d333f5d65cbe65ca5a3ef0ec9564dfe770"},
- {file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e81469f7d01efed9b53740aedd26085f20d49da65f9c1f41e822a33992cb1590"},
- {file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:34e4af5b27232f68042aa40a91c3b9bb4da0eeb31b7632e0091afc4310afe6cb"},
- {file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9852b76ab558e45b20bf1893b59af64a28bd3820b0c2efc80e0a70a4a3ea51c1"},
- {file = "regex-2023.12.25-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff100b203092af77d1a5a7abe085b3506b7eaaf9abf65b73b7d6905b6cb76988"},
- {file = "regex-2023.12.25-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cc038b2d8b1470364b1888a98fd22d616fba2b6309c5b5f181ad4483e0017861"},
- {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:094ba386bb5c01e54e14434d4caabf6583334090865b23ef58e0424a6286d3dc"},
- {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5cd05d0f57846d8ba4b71d9c00f6f37d6b97d5e5ef8b3c3840426a475c8f70f4"},
- {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:9aa1a67bbf0f957bbe096375887b2505f5d8ae16bf04488e8b0f334c36e31360"},
- {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:98a2636994f943b871786c9e82bfe7883ecdaba2ef5df54e1450fa9869d1f756"},
- {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:37f8e93a81fc5e5bd8db7e10e62dc64261bcd88f8d7e6640aaebe9bc180d9ce2"},
- {file = "regex-2023.12.25-cp38-cp38-win32.whl", hash = "sha256:d78bd484930c1da2b9679290a41cdb25cc127d783768a0369d6b449e72f88beb"},
- {file = "regex-2023.12.25-cp38-cp38-win_amd64.whl", hash = "sha256:b521dcecebc5b978b447f0f69b5b7f3840eac454862270406a39837ffae4e697"},
- {file = "regex-2023.12.25-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f7bc09bc9c29ebead055bcba136a67378f03d66bf359e87d0f7c759d6d4ffa31"},
- {file = "regex-2023.12.25-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e14b73607d6231f3cc4622809c196b540a6a44e903bcfad940779c80dffa7be7"},
- {file = "regex-2023.12.25-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9eda5f7a50141291beda3edd00abc2d4a5b16c29c92daf8d5bd76934150f3edc"},
- {file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc6bb9aa69aacf0f6032c307da718f61a40cf970849e471254e0e91c56ffca95"},
- {file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:298dc6354d414bc921581be85695d18912bea163a8b23cac9a2562bbcd5088b1"},
- {file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2f4e475a80ecbd15896a976aa0b386c5525d0ed34d5c600b6d3ebac0a67c7ddf"},
- {file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:531ac6cf22b53e0696f8e1d56ce2396311254eb806111ddd3922c9d937151dae"},
- {file = "regex-2023.12.25-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22f3470f7524b6da61e2020672df2f3063676aff444db1daa283c2ea4ed259d6"},
- {file = "regex-2023.12.25-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:89723d2112697feaa320c9d351e5f5e7b841e83f8b143dba8e2d2b5f04e10923"},
- {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0ecf44ddf9171cd7566ef1768047f6e66975788258b1c6c6ca78098b95cf9a3d"},
- {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:905466ad1702ed4acfd67a902af50b8db1feeb9781436372261808df7a2a7bca"},
- {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:4558410b7a5607a645e9804a3e9dd509af12fb72b9825b13791a37cd417d73a5"},
- {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:7e316026cc1095f2a3e8cc012822c99f413b702eaa2ca5408a513609488cb62f"},
- {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:3b1de218d5375cd6ac4b5493e0b9f3df2be331e86520f23382f216c137913d20"},
- {file = "regex-2023.12.25-cp39-cp39-win32.whl", hash = "sha256:11a963f8e25ab5c61348d090bf1b07f1953929c13bd2309a0662e9ff680763c9"},
- {file = "regex-2023.12.25-cp39-cp39-win_amd64.whl", hash = "sha256:e693e233ac92ba83a87024e1d32b5f9ab15ca55ddd916d878146f4e3406b5c91"},
- {file = "regex-2023.12.25.tar.gz", hash = "sha256:29171aa128da69afdf4bde412d5bedc335f2ca8fcfe4489038577d05f16181e5"},
-]
-
-[[package]]
-name = "requests"
-version = "2.31.0"
-description = "Python HTTP for Humans."
-optional = false
-python-versions = ">=3.7"
-files = [
- {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"},
- {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"},
-]
-
-[package.dependencies]
-certifi = ">=2017.4.17"
-charset-normalizer = ">=2,<4"
-idna = ">=2.5,<4"
-urllib3 = ">=1.21.1,<3"
-
-[package.extras]
-socks = ["PySocks (>=1.5.6,!=1.5.7)"]
-use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
-
-[[package]]
-name = "six"
-version = "1.16.0"
-description = "Python 2 and 3 compatibility utilities"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
-files = [
- {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
- {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
-]
-
-[[package]]
-name = "urllib3"
-version = "2.2.0"
-description = "HTTP library with thread-safe connection pooling, file post, and more."
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "urllib3-2.2.0-py3-none-any.whl", hash = "sha256:ce3711610ddce217e6d113a2732fafad960a03fd0318c91faa79481e35c11224"},
- {file = "urllib3-2.2.0.tar.gz", hash = "sha256:051d961ad0c62a94e50ecf1af379c3aba230c66c710493493560c0c223c49f20"},
-]
-
-[package.extras]
-brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"]
-h2 = ["h2 (>=4,<5)"]
-socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"]
-zstd = ["zstandard (>=0.18.0)"]
-
-[[package]]
-name = "watchdog"
-version = "4.0.0"
-description = "Filesystem events monitoring"
-optional = false
-python-versions = ">=3.8"
-files = [
- {file = "watchdog-4.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:39cb34b1f1afbf23e9562501673e7146777efe95da24fab5707b88f7fb11649b"},
- {file = "watchdog-4.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c522392acc5e962bcac3b22b9592493ffd06d1fc5d755954e6be9f4990de932b"},
- {file = "watchdog-4.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6c47bdd680009b11c9ac382163e05ca43baf4127954c5f6d0250e7d772d2b80c"},
- {file = "watchdog-4.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8350d4055505412a426b6ad8c521bc7d367d1637a762c70fdd93a3a0d595990b"},
- {file = "watchdog-4.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c17d98799f32e3f55f181f19dd2021d762eb38fdd381b4a748b9f5a36738e935"},
- {file = "watchdog-4.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4986db5e8880b0e6b7cd52ba36255d4793bf5cdc95bd6264806c233173b1ec0b"},
- {file = "watchdog-4.0.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:11e12fafb13372e18ca1bbf12d50f593e7280646687463dd47730fd4f4d5d257"},
- {file = "watchdog-4.0.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5369136a6474678e02426bd984466343924d1df8e2fd94a9b443cb7e3aa20d19"},
- {file = "watchdog-4.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:76ad8484379695f3fe46228962017a7e1337e9acadafed67eb20aabb175df98b"},
- {file = "watchdog-4.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:45cc09cc4c3b43fb10b59ef4d07318d9a3ecdbff03abd2e36e77b6dd9f9a5c85"},
- {file = "watchdog-4.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:eed82cdf79cd7f0232e2fdc1ad05b06a5e102a43e331f7d041e5f0e0a34a51c4"},
- {file = "watchdog-4.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba30a896166f0fee83183cec913298151b73164160d965af2e93a20bbd2ab605"},
- {file = "watchdog-4.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d18d7f18a47de6863cd480734613502904611730f8def45fc52a5d97503e5101"},
- {file = "watchdog-4.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2895bf0518361a9728773083908801a376743bcc37dfa252b801af8fd281b1ca"},
- {file = "watchdog-4.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:87e9df830022488e235dd601478c15ad73a0389628588ba0b028cb74eb72fed8"},
- {file = "watchdog-4.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6e949a8a94186bced05b6508faa61b7adacc911115664ccb1923b9ad1f1ccf7b"},
- {file = "watchdog-4.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6a4db54edea37d1058b08947c789a2354ee02972ed5d1e0dca9b0b820f4c7f92"},
- {file = "watchdog-4.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d31481ccf4694a8416b681544c23bd271f5a123162ab603c7d7d2dd7dd901a07"},
- {file = "watchdog-4.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:8fec441f5adcf81dd240a5fe78e3d83767999771630b5ddfc5867827a34fa3d3"},
- {file = "watchdog-4.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:6a9c71a0b02985b4b0b6d14b875a6c86ddea2fdbebd0c9a720a806a8bbffc69f"},
- {file = "watchdog-4.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:557ba04c816d23ce98a06e70af6abaa0485f6d94994ec78a42b05d1c03dcbd50"},
- {file = "watchdog-4.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:d0f9bd1fd919134d459d8abf954f63886745f4660ef66480b9d753a7c9d40927"},
- {file = "watchdog-4.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:f9b2fdca47dc855516b2d66eef3c39f2672cbf7e7a42e7e67ad2cbfcd6ba107d"},
- {file = "watchdog-4.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:73c7a935e62033bd5e8f0da33a4dcb763da2361921a69a5a95aaf6c93aa03a87"},
- {file = "watchdog-4.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:6a80d5cae8c265842c7419c560b9961561556c4361b297b4c431903f8c33b269"},
- {file = "watchdog-4.0.0-py3-none-win32.whl", hash = "sha256:8f9a542c979df62098ae9c58b19e03ad3df1c9d8c6895d96c0d51da17b243b1c"},
- {file = "watchdog-4.0.0-py3-none-win_amd64.whl", hash = "sha256:f970663fa4f7e80401a7b0cbeec00fa801bf0287d93d48368fc3e6fa32716245"},
- {file = "watchdog-4.0.0-py3-none-win_ia64.whl", hash = "sha256:9a03e16e55465177d416699331b0f3564138f1807ecc5f2de9d55d8f188d08c7"},
- {file = "watchdog-4.0.0.tar.gz", hash = "sha256:e3e7065cbdabe6183ab82199d7a4f6b3ba0a438c5a512a68559846ccb76a78ec"},
-]
-
-[package.extras]
-watchmedo = ["PyYAML (>=3.10)"]
-
-[metadata]
-lock-version = "2.0"
-python-versions = "^3.10"
-content-hash = "cb06c45760554a9fc0a660637c18779ab029983d3c66663caf80d2b4fd6e6040"
diff --git a/pyproject.toml b/pyproject.toml
deleted file mode 100644
index 47378b0..0000000
--- a/pyproject.toml
+++ /dev/null
@@ -1,16 +0,0 @@
-[tool.poetry]
-name = "docs"
-version = "0.1.0"
-description = ""
-authors = ["Erik Bjäreholt "]
-readme = "README.md"
-
-[tool.poetry.dependencies]
-python = "^3.10"
-mkdocs = "^1.5.3"
-mkdocs-material = "^9.5.8"
-
-
-[build-system]
-requires = ["poetry-core"]
-build-backend = "poetry.core.masonry.api"
diff --git a/src/credits.md b/src/credits.md
deleted file mode 100644
index a4c8ee8..0000000
--- a/src/credits.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# :medal: Messaging limits
-
-LLMs are expensive, because of this Lovable limits the daily and/or monthly messages that result in successful edits you can send.
-
-!!! info "Edits expiration"
- Daily edits renew at midnight UTC.
-
-
-## All plans
-- **Daily limit** - 5 free messages per day
-
-Designed to give users a chance to explore and experience Lovable's features at no cost.
-
-!!! info "What happens if my edit fails?"
- If an edit generation completely fails (build error) due to an error on our side, the credit for that edit will **not** be deducted from your daily/monthly total.
-
-## Legacy plans
-Some early access users are "grandfathered" on their existing plans, but can choose to move to the new plans before the old ("pro") plan is officially deprecated.
-
-## Available plans
-For more information on subscription options, visit our [subscription page](https://gptengineer.app/settings/plans).
-
-As of 2024-11-11 the Starter plan monthly messaging limit enables 100 edits across user projects.
-
-## Custom business plans
-Feel free to [get in touch](https://antonosika.typeform.com/to/OeRHhtI3#email=xxxxx) to learn about custom plans for you and your team's needs.
diff --git a/src/features/git-integration.md b/src/features/git-integration.md
deleted file mode 100644
index aaa8e20..0000000
--- a/src/features/git-integration.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# :simple-github: GitHub Integration
-
-To make it easier for developers to work together with the AI on projects, Lovable backs all projects with a git repository and lets you push commits directly to the repository.
-
-In order to push commits to GitHub, your project and Lovable will automatically pull them in and update the project. This allows you to make changes yourself, without asking the AI.
-
-## Connecting a project to your GitHub account
-
-Before pushing your first commit, you will need to connect your GitHub account to the project. You can do this by navigating to GitHub -> Connect to GitHub. You will then be redirected to GitHub to authorize the connection.
-
-You can choose to either granting access to (1) all repositories, or (2) specific repositories. Both options will let Lovable create repositories in your GitHub account or organization.
-
-Note that you can only connect one GitHub login to your Lovable account, but you can create repositories in any of the organizations you choose to install the Lovable app in.
-
- video
-
-Please note that you will need admin access if you are trying to create a repository in an organization.
-
-## Making changes to a project through commits
-
-Once you have connected your GitHub account to your project, you can view the source code by navigating to GitHub -> View on GitHub.
-
-Any change you make and push to the repository will be automatically reflected in Lovable.
-
-You can commit changes directly in GitHub Codespaces or clone the repo to use your preferred IDE.
-
- video
diff --git a/src/features/import-project.md b/src/features/import-project.md
deleted file mode 100644
index deba485..0000000
--- a/src/features/import-project.md
+++ /dev/null
@@ -1,32 +0,0 @@
-Import project
-==============
-
-!!! info
- This is an experimental feature.
-
-Our interface does not currently directly support importing a project from GitHub, but you can still do it by pushing a project to a repo created by `gptengineer.app`, by following these steps:
-
-1. Create a new project with `gptengineer.app`.
- - To get a descriptive project ID, we suggest using a simple prompt describing the project you want to import.
-2. Move the project to your GitHub user or organization.
-3. Clone the project to your local machine.
-4. Copy the `gpt-engineer.toml` configuration file from the project created in step 1 to the repo you want to import.
-5. In the git repo you want to import, add a remote gpt-engineer with the URL of the project you created in step 1: `git remote add gpt-engineer $URL`.
-6. Force push the project you want to import to the gpt-engineer remote: `git push gpt-engineer main --force`.
- - Note: This will overwrite the project created in step 1.
-7. You should now see the project in `gptengineer.app`.
-8. To pull changes, you can use the `git pull gpt-engineer main` command.
-
-!!! note
- This is only one suggested workflow in the meantime while we work on making this a first-class feature. You might find that another approach than using a `gpt-engineer` remote works better for you.
-
-For some projects, you might need to manually adjust the configuration file to make it work with `gptengineer.app`. Such as setting `base`, `src`, and `dist` paths, or specifying the build command.
-
-## Requirements
-
-We try to support as many projects as possible, but there are some requirements for it to work with gptengineer.app. Here are some of them:
-
- - The project must be built with npm.
- - The project must be built to a static set of files.
- - This means that the project must not require a server to run (unlike Next.js App Router, in [many cases](https://github.com/vercel/next.js/issues/54393)).
- - Probably more things we haven't learned yet. Let us know!
diff --git a/src/features/techstacks.md b/src/features/techstacks.md
deleted file mode 100644
index 09b563f..0000000
--- a/src/features/techstacks.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# :octicons-stack-24: Tech stacks
-
-You can select your preferred tech stack in the Advanced Settings modal before initiating a new project generation.
-
-video
-
-## Supported Tech Stacks
-
-### Default Tech Stack: shadcn/ui
-
-Our default setup uses the shadcn/ui library, providing a robust and popular frontend framework.
-
-### Experimental Tech Stack: shadcn/ui + TypeScript
-In addition to our default tech stack, now you can try out the same trusted shadcn/ui stack - but with TypeScript support.
-
-### Custom Tech Stack
-
-If you have specific requirements for a different tech stack, select "Custom Tech Stack" from the dropdown menu. This will open this form where you can provide details about your desired stack.
-
-We will review and consider these requests for future implementation.
diff --git a/src/free-credits.md b/src/free-credits.md
deleted file mode 100644
index e6129b8..0000000
--- a/src/free-credits.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# :gift: Get free edits
-
-Help your friends & followers build faster with Lovable. Invite friends to use Lovable, and when they create a project you’ll both earn 25 edits. If you make 30 referrals, you’ll unlock a bonus 250 edits.
-
-## How to start earning?
-
-1. Log in.
-2. Click on ‘Settings’ from the top right menu, and navigate to [Plans & Billing](https://gptengineer.app/settings/plans).
-3. Share your unique referral link with friends & followers.
-
-## How it works
-
-1. You’ll receive 25 edits when a new user signs up using your referral link and creates a project.
-2. The referred user will also receive 25 edits upon creating their first project.
-3. After 30 successful referrals, you will earn an additional 250 bonus edits.
-4. A maximum of 1000 edits can be earned through this referral program.
diff --git a/src/index.md b/src/index.md
deleted file mode 100644
index 0151b97..0000000
--- a/src/index.md
+++ /dev/null
@@ -1,120 +0,0 @@
-# Wecome to Lovable Academy
-
-Lovable is an AI web builder app that lets you build real web apps fast, using just natural language. We prepared this documentation to make it even easier for you to go from an idea to an app and to understand how Lovable works.
-
-## Product Capabilities
-
-**Lovable** currrently excels at building front-end applications. However, pairing Lovable with other tools will allow you to build full-stack web apps.
-
-| **Capability** | **Description** | **Maturity Level** |
-|--------------------|------------------------------------------------------------------------------|--------------------|
-| Frontend / UI | Build user interfaces & frontend | 🟢 Mature |
-| Persistence | Store and retrieve data (read more [here](integrations/supabase.md#adding-data)) | 🟡 Requires some patience |
-| Authentication | Handle user login and accounts (read more [here](integrations/supabase.md#supabase-authentication)) | 🟡 Requires some patience |
-
-## Overview
-Explore the sections below to get started quickly and learn more about the features and integrations offered by Lovable.
-
-
-
-- :octicons-zap-24:{ .lg .middle } **Getting started**
-
- ---
-
- Check out our Getting started guide for a simple introduction to key features and concepts.
-
- [:octicons-arrow-right-24: Getting started](getting-started.md)
-
-- :octicons-tools-24:{ .lg .middle } **Features overview**
-
- ---
-
- From a general overview to our GitHub integration, this section covers the nuts and bolts of Lovable.
-
- [:octicons-arrow-right-24: Features](features/index.md)
-
-- :octicons-link-24:{ .lg .middle } **Integrations**
-
- ---
-
- Go beyond default features by integrating with third parties like Supabase. More coming in the future.
-
- [:octicons-arrow-right-24: Integrations](integrations/supabase.md)
-
-- :octicons-light-bulb-24:{ .lg .middle } **Tips and tricks**
-
- ---
-
- Learn effective prompting strategies and get the most out of Lovable with our tips and tricks collection.
-
- [:octicons-arrow-right-24: Tips and tricks](tips-tricks/prompting.md)
-
-
-
----
-
-## Learn more
-You can learn more about Lovable on our website .
-
-Discover the team behind Lovable and our mission to make web development accessible to everyone. Learn more about the creators at :heart: Lovable .
-
----
-
-## Stay connected
-
-Join our community on Discord to stay updated on development, feature releases, and to connect with fellow users. Follow us on Twitter/X for the latest updates and announcements.
-
----
-
-## Feedback
-
-We also value your feedback and we use both email and Discord for getting your feedback!
-
-### Email
-If you want to share it with us, feel free to email us at feedback@lovable.dev .
-
-### User-feedback channel
-[:simple-discord: User-feedback channel on Discord](https://discord.com/channels/1119885301872070706/1192445544375799920)
-
-If Discord is your thing, then this channel is dedicated to collecting general feedback from our users. Feel free to share your thoughts on the app — what you like, what you dislike, and suggestions for improvement. We’re always eager to hear from you.
-
----
-
-## Support
-
-We use **Discord** and **support@lovable.dev** as our support channels for Lovable users.
-
-### Support channel - Community support only
-[:simple-discord: Support channel on Discord](https://discord.com/channels/1119885301872070706/1280461670979993613)
-
-This is the community support channel for Lovable app users. It uses a forum-style structure where each issue or bug is addressed in its own thread, making it easier to manage and track. Support is provided by community members and our Community Champions.
-
-When submitting a support request, please follow these guidelines:
-
-- **One issue per message** - Post each bug or issue separately to help us manage and address them efficiently.
-
-- **Include project details** - Share a link to your project, or include the project ID or name to help us debug.
-
-- **UX/UI issues** - If your issue is related to the user interface, please include the browser and OS version you are using.
-
-- **Share Loom videos** - We encourage you to create and share [Loom videos](https://loom.com) that show bugs or issues. Videos provide valuable context and can help us resolve issues faster.
-
-- **Public posts** - Keep in mind that all posts in this channel are public. Be mindful of any sensitive information in your videos or screenshots.
-
-
-Community support channel is usually the fastest way to get guidance about issues with Lovable.
-
-Pro users get priority support from our support team through dedicated channel and **support@lovable.dev** . Please ensure that you are using the same email address you used to sign up for Lovable so we can assist you effeciently.
-
-Please note that our team is located in the Europe. While we do our best to reply during our regular business hours — and sometimes outside of them — do keep in mind that over weekends or outside of EU hours, responses may take longer.
-
-We appreciate your understanding. 🫶
-
----
-
-### General Lovable app channel
-[:simple-discord: General Lovable app channel on Discord](https://discord.com/channels/1119885301872070706/1186613291745824868)
-
-This is an open space for users to discuss anything related to Lovable. Whether it's a feature you love or just a general chat about the app, this is the place to engage with the community.
-
-
diff --git a/src/integrations/index.md b/src/integrations/index.md
deleted file mode 100644
index 013d127..0000000
--- a/src/integrations/index.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# :nut_and_bolt: Integrations
-
-Lovable supports several integrations enabling you to extend its functionality.
-
----
-
-
-## Overview
-Explore the sections below to get started quickly and learn more about GitHub and Supabase integrations currently offered by Lovable
-
-
-
-- :simple-github:{ .lg .middle } **GitHub integration**
-
- ---
-
- Understand how to integrate Lovable with GitHub for seamless version control and collaboration.
-
- [:octicons-arrow-right-24: Git integration](../features/git-integration.md)
-
-
-- :simple-supabase:{ .lg .middle .supabase} **Supabase integration**
-
- ---
-
- Add support for authentication and persistent data storage with Supabase (currently early alpha)
-
- [:octicons-arrow-right-24: Supabase integration](supabase.md)
-
-
-
-
diff --git a/src/robots.txt b/src/robots.txt
deleted file mode 100644
index c7db6dc..0000000
--- a/src/robots.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-User-agent: *
-Allow: /
-
-Sitemap: https://docs.gptengineer.app/sitemap.xml
\ No newline at end of file
diff --git a/src/tips-tricks/multiple-users.md b/src/tips-tricks/multiple-users.md
deleted file mode 100644
index 2cfa472..0000000
--- a/src/tips-tricks/multiple-users.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# :busts_in_silhouette: Multiple users
-
-At this time, Lovable doesn't fully support team plans or multiple users on the same project. We are actively considering this feature for future updates. However, we’ve noticed that some users have found a workaround for collaborating on the same project.
-
-The workaround involves creating a single account (registering through the regular sign-up process) and then sharing the credentials for that account with the users you want to give access to.
-
-This allows multiple people to log in and work on the same project (not at the same time, however!)
-
-!!! warning "Be cautious when sharing account credentials"
- If you choose to share an account with others, please only do so with trusted users. Everyone using the shared account will have access to the same information, projects, and edits, and it will be impossible to track who made specific changes.
-
- For security and accountability, we recommend being very cautious when sharing your credentials.
-
-!!! warning "Consider separate login credentials"
- If you signed up using Google or GitHub sign-in, and you share those login details with others, you are also granting them access to your Google or GitHub account. This could expose sensitive personal information.
-
- A safer approach would be to create a separate email account specifically for Lovable and share that account instead, to avoid giving access to unrelated services like your Gmail or GitHub repositories.
-
-Please note that this is not an officially supported feature of Lovable but rather a workaround that we've observed users employing.
-
-We recommend considering the risks before proceeding with this method.
\ No newline at end of file
diff --git a/src/tips-tricks/using-images.md b/src/tips-tricks/using-images.md
deleted file mode 100644
index 1ccd6fb..0000000
--- a/src/tips-tricks/using-images.md
+++ /dev/null
@@ -1,120 +0,0 @@
-# :frame_photo: Using images
-
-To add images you can do one of two things:
-
-1. Upload it to the github repository manually, outside of the Lovable UI
-2. Share an external image URL in the chat.
- a. **Note**: This will not work if the server hosting the URL has chosen to block external websites from using it with "CORS"
-
-
-Below, we’ll walk you through the two methods.
-
-!!! info "Image placeholders"
- By default, if Lovable recognizes the need to use images in your projects, it will use placeholder images - gray, neutral images to improve user experience and orientation.
-
- Using the techniques described below, you can replace those placeholder images with more relevant, and centextually meaningful images.
-
-## Using an external image URL
-
-One way to add images to your project is by referencing an image from an external URL. This method allows you to use images hosted on external platforms like Unsplash, Imgur, or any other image-hosting service. Be mindful of use copyrights!
-
-Here’s how to prompt Lovable to use an external image:
-
-- First, find the image you want to use. For example, you can visit a site like Unsplash, select an image, and copy its URL.
-- In your project prompt, simply tell Lovable to use that image by specifying the URL. For example:
-
-!!! example "Using externally hosted images"
- Example prompt:
-
- ```
- Use the image from this URL
- https://upload.wikimedia.org/wikipedia/commons/thumb/7/73/Pale_Blue_Dot.png/442px-Pale_Blue_Dot.png
- for the hero section image.
-
- ```
-
-
-
----
-
-## Using images from your GitHub `public` directory
-
-Another method to add images to your Lovable project is by using images uploaded to the `public` directory of your connected GitHub repository. Here’s how you can do it:
-
-**Connect your GitHub repository** - Ensure your project is connected to your GitHub repo. [Here's how to connect your repo](/features/git-integration).
-
-
-**Locate the public folder** - Inside your GitHub repository, navigate to the `public` directory. This folder is typically used for hosting assets like images that can be referenced in your project.
-Click on **Add file** and then from a dropdown, select **Upload files** option.
-
-
-
-
-
-**Upload an image** - The next step is to transfer your image to your repo
-
-- Drag and drop the image into the public folder, or
-
-- Click on the **"choose your files"** link to browse and select the image file.
-
-
-
-**Commit the changes** - After selecting your image, write a simple commit message (e.g., "Adding image files to be used in the app") and click **"Commit changes"** to save the file to your repo.
-
-
-**Get the image path** - Once the file is uploaded, select it and then click on the copy icon :octicons-copy-16: next to the file name to copy the image’s path. This path will be used in your Lovable prompt.
-
-
-
-**Use the image in Lovable** - You can now reference this image in your project by using a prompt like the following:
-
-!!! example "Using image from `public` folder"
- Example prompt:
-
- ```
- Add an additional image to the hero section.
- This time, use this one from my local repo: public/c-64-close-up.jpg.jpeg
-
- ```
- Be sure to use your image name and path you copied in the previous step.
-
-
-!!! info "Be mindful of image file sizes"
- Uploading large images to your GitHub repo can cause it to grow in size, which can affect Lovable performance (longer repo cloning times, slower startup of previews/sandbox).
-
- Try to optimize your images before uploading them to your `public` folder by compressing them and using dimensions that are relevant to your use case. For example, don't use a full HD-sized image if it will only be displayed as a small icon.
-
-
-
-
-
-
-
-## Using Base64 encoding
-
-The third method to add images is by using **Base64 encoding**. While this is an option, we don't recommend it, as it converts the image into a long textual string that can consume a significant portion of your project's context. However, if you wish to use Base64 encoding, follow these steps:
-
-1. Upload your image to a [Lovable-built project by one of our community members](https://base64-image-magic.gptengineer.run/). Thanks, ntindle!
-2. Once the image is uploaded, the app will generate a Base64-encoded string for your image.
-3. Copy the Base64 string and use it in Lovable by using a prompt like this:
-
-!!! example "Using Base64 encoded images"
- Example prompt:
-
- ```
- Now add the third image to the hero section.
- Use this Base64 encoding:
- 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
-
-
- ```
-
-
-Keep in mind that this is a real Base64 encoding, so you can use it as an example prompt.
-
-## Explore more and learn from examples
-To help you better understand how to integrate images using the methods outlined above, we have a project you can explore: [Lovable Project Example](https://gptengineer.app/projects/e823fedf-238d-4313-86a8-1fd4bfc2a9ba). In this project, you can see the actual prompts and how each method works in practice.
-
-Additionally, here's a public GitHub repository that includes the commits, uploaded images, and full implementation details. You can view the repository here: [GitHub: Adding Images Example](https://github.com/viborc/adding-images-example).
-
-Feel free to explore the project and repository to deepen your understanding and improve your implementation skills.
diff --git a/src/tips-tricks/custom-domain.md b/tips-tricks/custom-domain.mdx
similarity index 72%
rename from src/tips-tricks/custom-domain.md
rename to tips-tricks/custom-domain.mdx
index 2d78bc2..039af15 100644
--- a/src/tips-tricks/custom-domain.md
+++ b/tips-tricks/custom-domain.mdx
@@ -1,10 +1,13 @@
-# :earth_africa: Setting up a custom domain
+---
+title: 'Setting up a custom domain'
+icon: 'earth-europe'
+---
-When you create a project, Lovable makes it easy to [publish it](../features/deploy.md) with the click of a button.
+When you create a project, Lovable makes it easy to [publish it](../features/deploy) with the click of a button.
If you want to have a custom domain, see below.
-## Using Netlify (<1 minute)
+## Using Netlify
You can host on Netlify for free with a custom domain.
@@ -14,4 +17,6 @@ The steps are:
2. Go to: https://app.netlify.com/start/deploy?repository=PASTE_YOUR_GITHUB_PROJECTS_URL_HERE and follow instructions
3. Configure a custom domain for your Netlify site, instructions [here](https://docs.netlify.com/domains-https/custom-domains/#assign-a-domain-to-a-production-site)
-Note, you need to purchase the domain yourself which is usually not free.
+
+ You need to purchase the domain yourself which is usually not free.
+
\ No newline at end of file
diff --git a/src/tips-tricks/custom-fonts.md b/tips-tricks/custom-fonts.mdx
similarity index 77%
rename from src/tips-tricks/custom-fonts.md
rename to tips-tricks/custom-fonts.mdx
index 9f7f344..24cf474 100644
--- a/src/tips-tricks/custom-fonts.md
+++ b/tips-tricks/custom-fonts.mdx
@@ -1,31 +1,37 @@
-# :capital_abcd: Using custom (Google) fonts
+---
+title: 'Using Custom (Google) Fonts'
+description: 'Learn how to use web-safe fonts and Google Fonts in your Lovable projects'
+icon: 'font'
+---
Currently, Lovable does not support direct uploads of custom fonts. However, there are several easy ways to use web-safe or incorporate custom fonts into your projects.
Below, we’ll guide you through the available methods for using web-safe and Google fonts.
-!!! info "What are web-safe fonts"
- Web-safe fonts are fonts that are commonly installed on most operating systems (Windows, macOS, Linux, etc.) and are visible on all devices.
-
- These fonts ensure that your text looks consistent across different browsers and platforms without needing to load any external resources. Some of the common web-safe fonts are:
+
+ **What are web-safe fonts?**
- - Arial/Helvetica
- - Times New Roman
- - Georgia
- - Courier New
- - Verdana
- - Tahoma
- - Trebuchet MS
- - Lucida Sans Unicode
+ Web-safe fonts are fonts that are commonly installed on most operating systems (Windows, macOS, Linux, etc.) and are visible on all devices.
+
+ These fonts ensure that your text looks consistent across different browsers and platforms without needing to load any external resources. Some of the common web-safe fonts are:
+
+ - Arial/Helvetica
+ - Times New Roman
+ - Georgia
+ - Courier New
+ - Verdana
+ - Tahoma
+ - Trebuchet MS
+ - Lucida Sans Unicode
+
## Using a web-safe font
If you want to use a web-safe font in your project, you can specify the font directly in your prompt. For example, if you want to use **Courier New** for a heading or title in the hero section, simply reference the font by name in your prompt.
-!!! example "Using a web-safe font"
- Example prompt:
- ```
+
+ ```text
Use Courier New as the heading font in the hero section for the main title.
```
@@ -41,10 +47,8 @@ If you prefer to use custom fonts, Lovable works nicely with **Google Fonts**. T
In your prompt, you can specify the name of a Google font, and Lovable will include it in your project. For example:
-!!! example "Using Google Font by name"
- Example prompt:
- ```
+ ```text
Use Playfair Display as the first subtitle title font in the hero section.
Make sure to use the useEffect React hook to apply the font properly.
@@ -56,10 +60,8 @@ Alternatively, you can provide a direct link to the Google font, and Lovable wil
Here’s how to prompt Lovable to use a Google font via a link:
-!!! example "Using Google Font by link"
- Example prompt:
- ```
+ ```text
Add this Google font link https://fonts.google.com/specimen/Dancing+Script
and use this font for the third subtitle.
@@ -74,7 +76,8 @@ To see these font integration methods in action, you can explore one of our exam
In this project, you’ll find real prompts demonstrating how we applied different font styles, including web-safe fonts like Courier New and custom fonts from Google Fonts.
-
-
+
+
+
Additionally, for a more technical look at how fonts were integrated, check out this public repository: [GitHub: adding-fonts-example](https://github.com/viborc/adding-fonts-example). It includes the full implementation details, showcasing how various fonts were loaded and applied in the project.
diff --git a/tips-tricks/multiple-users.mdx b/tips-tricks/multiple-users.mdx
new file mode 100644
index 0000000..58a2b3a
--- /dev/null
+++ b/tips-tricks/multiple-users.mdx
@@ -0,0 +1,31 @@
+---
+title: 'Multiple Users'
+description: 'Learn about current options for team collaboration in Lovable'
+icon: 'busts-in-silhouette'
+---
+
+At this time, Lovable doesn't fully support team plans or multiple users on the same project. We are actively considering this feature for future updates. However, we've noticed that some users have found a workaround for collaborating on the same project.
+
+The workaround involves creating a single account (registering through the regular sign-up process) and then sharing the credentials for that account with the users you want to give access to.
+
+This allows multiple people to log in and work on the same project (not at the same time, however!)
+
+
+ **Be cautious when sharing account credentials**
+
+ If you choose to share an account with others, please only do so with trusted users. Everyone using the shared account will have access to the same information, projects, and edits, and it will be impossible to track who made specific changes.
+
+ For security and accountability, we recommend being very cautious when sharing your credentials.
+
+
+
+ **Consider separate login credentials**
+
+ If you signed up using Google or GitHub sign-in, and you share those login details with others, you are also granting them access to your Google or GitHub account. This could expose sensitive personal information.
+
+ A safer approach would be to create a separate email account specifically for Lovable and share that account instead, to avoid giving access to unrelated services like your Gmail or GitHub repositories.
+
+
+Please note that this is not an officially supported feature of Lovable but rather a workaround that we've observed users employing.
+
+We recommend considering the risks before proceeding with this method.
\ No newline at end of file
diff --git a/src/tips-tricks/prompting.md b/tips-tricks/prompting.mdx
similarity index 80%
rename from src/tips-tricks/prompting.md
rename to tips-tricks/prompting.mdx
index 2e35082..e98aed6 100644
--- a/src/tips-tricks/prompting.md
+++ b/tips-tricks/prompting.mdx
@@ -1,11 +1,19 @@
-# :sparkles: Prompting in Lovable
+---
+title: 'Prompting in Lovable'
+description: 'Learn effective prompting strategies to make the most out of Lovable'
+---
+
+# Prompting in Lovable
To help you make the most out of Lovable, we compiled a list of prompting strategies and approaches. Some of these were collected from our team's experience, and others were shared with us by our community members.
-!!! info "What is prompting?"
- Prompting is the common term used for textual, natural language inputs used to interact with Lovable. You can think of it as text messages containing instructions you are giving to Lovable.
+
+ **What is prompting?**
+
+ Prompting is the common term used for textual, natural language inputs used to interact with Lovable. You can think of it as text messages containing instructions you are giving to Lovable.
- Since Lovable relies on large language models (LLMs), effective prompting strategies can have an impact on its efficiency.
+ Since Lovable relies on large language models (LLMs), effective prompting strategies can have an impact on its efficiency.
+
## Basics
@@ -21,19 +29,21 @@ These strategies will often work combined, depending on your specific use cases.
Providing context can help Lovable understand the broader scope of your requirements. Before asking for specific tasks, you can set the stage with background information.
-!!! example "Setting the context"
- Example prompt:
-
- ```
- We are building a project management tool that helps teams track their tasks.
- This tool should have features like:
- - user authentication
- - project creation
- - task assignments
- - reporting
-
- Now, for the first task, create the UI for project creation.
- ```
+
+ **Setting the context**
+
+ Example prompt:
+ ```
+ We are building a project management tool that helps teams track their tasks.
+ This tool should have features like:
+ - user authentication
+ - project creation
+ - task assignments
+ - reporting
+
+ Now, for the first task, create the UI for project creation.
+ ```
+
### Incremental prompting
@@ -70,21 +80,23 @@ Or, you can help AI better understand the content of the image and some addition
Ensure your prompts are clear and unambiguous. Avoid vague terms and be as specific as possible about what you need.
-!!! failure "Unspecific prompt"
- Avoid unspecific and broad prompts
-
- ```
- Create a form for user input
- ```
-
-Instead, be more specific.
-
-!!! success "Specific prompt"
- Make your prompts more specific and concrete
-
- ```
- Create a form with fields for name, email, and message, and include a submit button.
- ```
+
+ **Unspecific prompt**
+
+ Avoid unspecific and broad prompts
+ ```
+ Create a form for user input
+ ```
+
+
+
+ **Specific prompt**
+
+ Make your prompts more specific and concrete
+ ```
+ Create a form with fields for name, email, and message, and include a submit button.
+ ```
+
### Add constraints
@@ -137,4 +149,4 @@ Typically, you'll open the
+By default, if Lovable recognizes the need to use images in your projects, it will use placeholder images - gray, neutral images to improve user experience and orientation.
+
+Using the techniques described below, you can replace those placeholder images with more relevant, and contextually meaningful images.
+
+
+## Using an external image URL
+
+One way to add images to your project is by referencing an image from an external URL. This method allows you to use images hosted on external platforms like Unsplash, Imgur, or any other image-hosting service. Be mindful of use copyrights!
+
+Here’s how to prompt Lovable to use an external image:
+
+- First, find the image you want to use. For example, you can visit a site like Unsplash, select an image, and copy its URL.
+- In your project prompt, simply tell Lovable to use that image by specifying the URL. For example:
+
+
+```
+Use the image from this URL
+https://upload.wikimedia.org/wikipedia/commons/thumb/7/73/Pale_Blue_Dot.png/442px-Pale_Blue_Dot.png
+for the hero section image.
+
+```
+
+---
+
+## Using images from your GitHub `public` directory
+
+Another method to add images to your Lovable project is by using images uploaded to the `public` directory of your connected GitHub repository. Here’s how you can do it:
+
+**Connect your GitHub repository** - Ensure your project is connected to your GitHub repo. [Here's how to connect your repo](/features/git-integration).
+
+
+**Locate the public folder** - Inside your GitHub repository, navigate to the `public` directory. This folder is typically used for hosting assets like images that can be referenced in your project.
+Click on **Add file** and then from a dropdown, select **Upload files** option.
+
+
+
+
+
+**Upload an image** - The next step is to transfer your image to your repo
+
+- Drag and drop the image into the public folder, or
+
+- Click on the **"choose your files"** link to browse and select the image file.
+
+
+
+**Commit the changes** - After selecting your image, write a simple commit message (e.g., "Adding image files to be used in the app") and click **"Commit changes"** to save the file to your repo.
+
+
+**Get the image path** - Once the file is uploaded, select it and then click on the copy icon next to the file name to copy the image’s path. This path will be used in your Lovable prompt.
+
+
+
+**Use the image in Lovable** - You can now reference this image in your project by using a prompt like the following:
+
+```
+Add an additional image to the hero section.
+This time, use this one from my local repo: public/c-64-close-up.jpg.jpeg
+
+```
+ Be sure to use your image name and path you copied in the previous step.
+
+
+
+Uploading large images to your GitHub repo can cause it to grow in size, which can affect Lovable performance (longer repo cloning times, slower startup of previews/sandbox).
+
+Try to optimize your images before uploading them to your `public` folder by compressing them and using dimensions that are relevant to your use case. For example, don't use a full HD-sized image if it will only be displayed as a small icon.
+
+
+
+
+## Using Base64 encoding
+
+The third method to add images is by using **Base64 encoding**. While this is an option, we don't recommend it, as it converts the image into a long textual string that can consume a significant portion of your project's context. However, if you wish to use Base64 encoding, follow these steps:
+
+1. Upload your image to a [Lovable-built project by one of our community members](https://base64-image-magic.gptengineer.run/). Thanks, ntindle!
+2. Once the image is uploaded, the app will generate a Base64-encoded string for your image.
+3. Copy the Base64 string and use it in Lovable by using a prompt like this:
+
+```
+Now add the third image to the hero section.
+Use this Base64 encoding:
+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
+
+
+ ```
+
+
+Keep in mind that this is a real Base64 encoding, so you can use it as an example prompt.
+
+## Explore more and learn from examples
+To help you better understand how to integrate images using the methods outlined above, we have a project you can explore: [Lovable Project Example](https://gptengineer.app/projects/e823fedf-238d-4313-86a8-1fd4bfc2a9ba). In this project, you can see the actual prompts and how each method works in practice.
+
+Additionally, here's a public GitHub repository that includes the commits, uploaded images, and full implementation details. You can view the repository here: [GitHub: Adding Images Example](https://github.com/viborc/adding-images-example).
+
+Feel free to explore the project and repository to deepen your understanding and improve your implementation skills.
diff --git a/src/tips-tricks/using-videos.md b/tips-tricks/using-videos.mdx
similarity index 65%
rename from src/tips-tricks/using-videos.md
rename to tips-tricks/using-videos.mdx
index 5f4bac9..a476231 100644
--- a/src/tips-tricks/using-videos.md
+++ b/tips-tricks/using-videos.mdx
@@ -1,35 +1,36 @@
-# :clapper: Using videos
+---
+title: 'Using Videos'
+description: 'Learn how to embed videos in your projects using external links or GitHub uploads'
+icon: 'film'
+---
+
Lovable offers two methods for embedding videos into your projects: by linking to an external video (such as YouTube) or by using videos uploaded to the public folder in your GitHub repository. Below, we’ll cover both options step by step.
## Linking to an external video
-The simplest and the recommended way to incorporate a video is by linking to one hosted externally, like on YouTube. To instruct Lovable to use an external video, follow these steps:
-
-- Locate the video you want to embed (e.g., on YouTube) and copy its URL.
-- In your project prompt, specify where you want the video and include the URL. Here’s how to do it.
-
-
-!!! example "Adding YouTube videos"
- Example prompt:
+
+The simplest and recommended way to incorporate a video is by linking to one hosted externally, like on YouTube.
+
- ```
- Embed this video
- https://www.youtube.com/watch?v=dQw4w9WgXcQ
- in the hero content section.
-
- ```
+
+ ```txt Example prompt
+ Embed this video
+ https://www.youtube.com/watch?v=dQw4w9WgXcQ
+ in the hero content section.
+ ```
+
## Using a video from your GitHub public folder
-!!! warning "Large videos should not be hosted in your `public` folder"
- Uploading large videos to your GitHub repo can cause it to grow in size, which can affect Lovable performance (longer repo cloning times, slower startup of previews/sandbox).
-
- A better option is to use hosted services (like YouTube) or file storage options like S3, essentially giving you a URL that you can reference, as described in the previous steps.
+
+Uploading large videos to your GitHub repo can cause it to grow in size, which can affect Lovable performance (longer repo cloning times, slower startup of previews/sandbox).
+A better option is to use hosted services (like YouTube) or file storage options like S3, essentially giving you a URL that you can reference, as described in the previous steps.
+
You can upload videos to your project’s GitHub repository and reference them directly. Here’s how:
@@ -51,15 +52,12 @@ You can upload videos to your project’s GitHub repository and reference them d
**Reference the video in Lovable** - Now, you can embed the video by specifying the file path in your prompt. For example, you can use a prompt like this one:
-!!! example "Using a video from public folder"
- Example prompt:
-
- ```
- Insert an additional video into the introduction section using this file:
- public/mars-video-nasa.mp4
- ```
- Ensure you use the exact file path you copied earlier.
-
+
+ ```bash Example prompt
+ Insert an additional video into the introduction section using this file:
+ public/mars-video-nasa.mp4
+ ```
+
Ensure you use the exact file path you copied earlier.
diff --git a/user-guides/credits.mdx b/user-guides/credits.mdx
new file mode 100644
index 0000000..6f157cd
--- /dev/null
+++ b/user-guides/credits.mdx
@@ -0,0 +1,36 @@
+---
+title: 'Messaging Limits'
+description: 'Understanding daily and monthly message limits for Lovable'
+---
+
+LLMs are expensive, which is why Lovable limits the daily and/or monthly messages that result in successful edits you can send.
+
+
+ Daily edits renew at midnight UTC.
+
+
+## All Plans
+
+- **Daily limit:** 5 free messages per day
+
+Designed to give users a chance to explore and experience Lovable's features at no cost.
+
+
+ **What happens if my edit fails?**
+
+ If an edit generation completely fails (build error) due to an error on our side, the credit for that edit will **not** be deducted from your daily/monthly total.
+
+
+## Legacy Plans
+
+Some early access users are "grandfathered" on their existing plans, but can choose to move to the new plans before the old ("pro") plan is officially deprecated.
+
+## Available Plans
+
+For more information on subscription options, visit our [subscription page](https://gptengineer.app/settings/plans).
+
+As of 2024-11-11 the Starter plan monthly messaging limit enables 100 edits across user projects.
+
+## Custom Business Plans
+
+Feel free to [get in touch](https://antonosika.typeform.com/to/OeRHhtI3#email=xxxxx) to learn about custom plans for you and your team's needs.
\ No newline at end of file
diff --git a/user-guides/free-credits.mdx b/user-guides/free-credits.mdx
new file mode 100644
index 0000000..746b6ec
--- /dev/null
+++ b/user-guides/free-credits.mdx
@@ -0,0 +1,30 @@
+---
+title: 'Earn Free Credits'
+description: 'Learn how to earn free edits by referring friends to Lovable'
+---
+
+
+Help your friends & followers build faster with Lovable. Invite friends to use Lovable, and when they create a project you'll both earn 25 edits. If you make 30 referrals, you'll unlock a bonus 250 edits.
+
+## How to Start Earning
+
+1. Log in to your Lovable account
+2. Click on 'Settings' from the top right menu, and navigate to Plans & Billing
+3. Share your unique referral link with friends & followers
+
+## How It Works
+
+
+
+ You'll receive 25 edits when a new user signs up using your referral link and creates a project
+
+
+ The referred user will also receive 25 edits upon creating their first project
+
+
+ After 30 successful referrals, you will earn an additional 250 bonus edits
+
+
+ A maximum of 1000 edits can be earned through this referral program
+
+
\ No newline at end of file
diff --git a/src/getting-started.md b/user-guides/getting-started.mdx
similarity index 85%
rename from src/getting-started.md
rename to user-guides/getting-started.mdx
index efc481d..2e697c9 100644
--- a/src/getting-started.md
+++ b/user-guides/getting-started.mdx
@@ -1,4 +1,7 @@
-# :rocket: Getting started
+---
+title: 'Getting Started'
+description: 'Learn how to create and improve your first project with Lovable'
+---
This is a simple tutorial to get you started with the basics of Lovable.
@@ -18,7 +21,7 @@ To make improvements to your project, open the project editor and request a chan
video
-Do you want to edit the code directly? You can access your project on Github and make [changes to the code yourself](features/git-integration.md).
+Do you want to edit the code directly? You can access your project on Github and make [changes to the code yourself](/features/git-integration).
## Reverting changes
@@ -28,4 +31,4 @@ If you don't like the changes made by the AI and want to go back to a previous v
## Deploying your project
-Once you've made a project you're happy with, you can [deploy it](features/deploy.md).
+Once you've made a project you're happy with, you can [deploy it](/features/deploy).
diff --git a/yarn.lock b/yarn.lock
deleted file mode 100644
index fb57ccd..0000000
--- a/yarn.lock
+++ /dev/null
@@ -1,4 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-