diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 95767ed53..68df13a43 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -4,6 +4,7 @@ Thank you for considering contributing to Embla Carousel, contributions are welc
- [Bug reports](#bug-reports)
- [New features](#new-features)
+- [Documentation](#documentation)
- [Code style](#code-style)
### Bug reports
@@ -11,6 +12,7 @@ Thank you for considering contributing to Embla Carousel, contributions are welc
All bug reports require a reduced test case. Providing a test case is the best way to get any issue addressed. It helps us all to understand the problem. Without this, your issue **may be closed**. Please follow this checklist:
- **`Test case:`** Create one by forking one of the CodeSandboxes on the [examples page](https://www.embla-carousel.com/examples/). If applicable, choose the most relevant one.
+- **`Test case exceptions:`** In rare cases a CodeSandbox might not be possible to provide. If this is the case, make sure to provide an alternative source like a GitHub repository or similar.
- **`Demonstrate:`** Make sure the test case clearly demonstrates the issue.
- **`Do not:`** Provide a link to a production site. That's not a test case.
- **`Create a Pull Request:`** If you want to solve the bug yourself, please make sure the branch name follows this pattern `bug/branchname-goes-here`.
@@ -24,6 +26,29 @@ For any new features it's important to follow this checklist:
- **`Code style:`** Follow the current code style as described [here](#code-style).
- **`Create a Pull Request:`** Please make sure the branch name follows this pattern `feature/branchname-goes-here`.
+### Documentation
+
+The documentation website is generated using [gatsby](https://github.com/gatsbyjs/gatsby). All the content of the docs lives inside [`/packages/embla-carousel-docs`](https://github.com/davidjerleke/embla-carousel/tree/master/packages/embla-carousel-docs).
+
+> [!IMPORTANT]
+> Make sure your node version is equal to the one in [.nvmrc](https://github.com/davidjerleke/embla-carousel/blob/master/.nvmrc). You can use [`nvm`](https://github.com/nvm-sh/nvm) to easily install different node versions and switch between them with ease.
+
+To develop the docs locally follow these steps:
+
+- Run `yarn install`in the root directory to install dependencies.
+- Run `yarn build` to build the docs (and all other packages).
+- Run `yarn start` to start the dev environment of the docs at `localhost:8000`.
+- Make sure the `.mdx` file you're working on has a header formatted like this:
+
+```
+---
+title: [Page title here]
+description: [Page description here].
+order: [Page order here (a number)]
+date: [Page last updated date (e.g. 2023-12-20)]
+---
+```
+
### Code style
All code contributions should follow the current `code style`. Please take your time to understand the current setup and don't introduce new styles that clearly deviates from the project `code style`.
diff --git a/.gitignore b/.gitignore
index 146e79a7b..f40fa50d1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,7 @@ packages/embla-carousel*/esm
packages/embla-carousel*/cjs
public
+
# yarn
.yarn/*
!.yarn/releases
diff --git a/.prettierignore b/.prettierignore
index 2bd55e92c..5ac7b1ff5 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -2,8 +2,15 @@
packages/embla-carousel*/index.d.ts
packages/embla-carousel*/embla-carousel*
packages/embla-carousel*/components
-packages/embla-carousel*/esm
-packages/embla-carousel*/cjs
+
+packages/embla-carousel*/cjs/index.d.ts
+packages/embla-carousel*/cjs/embla-carousel*
+packages/embla-carousel*/cjs/components
+
+packages/embla-carousel*/esm/index.d.ts
+packages/embla-carousel*/esm/embla-carousel*
+packages/embla-carousel*/esm/components
+
public
static
docs
diff --git a/README.md b/README.md
index b54a4b574..8a6de8a27 100644
--- a/README.md
+++ b/README.md
@@ -89,10 +89,14 @@
+
+
+
+
diff --git a/docs/404.html b/docs/404.html
index fbf53b77c..05c1d1867 100644
--- a/docs/404.html
+++ b/docs/404.html
@@ -189,6 +189,6 @@
-