From 908d1c1553f4b9e5dfadd305dfb6f204b0554d1d Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 2 Jul 2025 20:05:29 +0000 Subject: [PATCH 1/2] Add deployment configuration for MKdocs documentation site Co-authored-by: daanluttik --- .gitignore | 1 + DEPLOYMENT.md | 51 ++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 12 ++++++++++++ requirements.txt | 3 +++ vercel.json | 17 ++++++++++++++++ 5 files changed, 84 insertions(+) create mode 100644 DEPLOYMENT.md create mode 100644 package.json create mode 100644 requirements.txt create mode 100644 vercel.json diff --git a/.gitignore b/.gitignore index 8b4863c..f49ced4 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ __pycache__/ .idea/ dist/ /.coverage +site/ diff --git a/DEPLOYMENT.md b/DEPLOYMENT.md new file mode 100644 index 0000000..3ca4470 --- /dev/null +++ b/DEPLOYMENT.md @@ -0,0 +1,51 @@ +# Deployment Guide + +This repository is configured to support multiple deployment options for the MKdocs documentation site. + +## Vercel Deployment (Recommended) + +The repository is now configured to deploy directly to Vercel with automatic builds: + +### Setup +1. Connect your GitHub repository to Vercel +2. Vercel will automatically detect the configuration and build the site +3. The site will be built using the `mkdocs build` command defined in `package.json` +4. Static files will be served from the `site/` directory + +### Configuration Files +- `requirements.txt`: Python dependencies needed for MKdocs +- `package.json`: Build scripts for Vercel +- `vercel.json`: Vercel-specific configuration +- `mkdocs.yml`: MKdocs configuration + +### Automatic Deployments +- **Production**: Pushes to `main` branch will deploy to production +- **Preview**: Pushes to other branches will create preview deployments + +## GitHub Pages Deployment (Legacy) + +The existing GitHub Pages deployment via the `cd.yml` workflow will continue to work: +- Triggered on tag pushes (e.g., `v1.0.0`) +- Builds and deploys to `gh-pages` branch +- Available at the domain specified in `docs/CNAME` + +## Local Development + +```bash +# Install dependencies +pip install -r requirements.txt + +# Serve locally +mkdocs serve + +# Build static files +mkdocs build +``` + +## Domain Configuration + +The site is configured to use the custom domain `auto-optional.daanluttik.nl` via: +- `docs/CNAME` file for GitHub Pages +- Domain settings in Vercel dashboard for Vercel deployment + +Choose your preferred deployment method and configure the domain accordingly in the respective platform's dashboard. \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..80a99ce --- /dev/null +++ b/package.json @@ -0,0 +1,12 @@ +{ + "name": "auto-optional-docs", + "version": "1.0.0", + "description": "Documentation for auto-optional", + "scripts": { + "build": "mkdocs build", + "dev": "mkdocs serve", + "deploy": "mkdocs gh-deploy" + }, + "dependencies": {}, + "devDependencies": {} +} \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..8599e2d --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +mkdocs>=1.2.3 +mkdocs-material>=7.2.6 +PyYAML>=5.4.1 \ No newline at end of file diff --git a/vercel.json b/vercel.json new file mode 100644 index 0000000..6b5656d --- /dev/null +++ b/vercel.json @@ -0,0 +1,17 @@ +{ + "builds": [ + { + "src": "package.json", + "use": "@vercel/static-build", + "config": { + "distDir": "site" + } + } + ], + "routes": [ + { + "src": "/(.*)", + "dest": "/$1" + } + ] +} \ No newline at end of file From 093f18bc37ee33cfc09bbef56202706651e3ac27 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 2 Jul 2025 20:12:14 +0000 Subject: [PATCH 2/2] Configure Vercel deployment with Python and MKdocs build process Co-authored-by: daanluttik --- DEPLOYMENT.md | 7 ++++++- runtime.txt | 1 + vercel.json | 18 +++--------------- 3 files changed, 10 insertions(+), 16 deletions(-) create mode 100644 runtime.txt diff --git a/DEPLOYMENT.md b/DEPLOYMENT.md index 3ca4470..904f0cd 100644 --- a/DEPLOYMENT.md +++ b/DEPLOYMENT.md @@ -15,9 +15,14 @@ The repository is now configured to deploy directly to Vercel with automatic bui ### Configuration Files - `requirements.txt`: Python dependencies needed for MKdocs - `package.json`: Build scripts for Vercel -- `vercel.json`: Vercel-specific configuration +- `vercel.json`: Vercel-specific configuration with Python build commands - `mkdocs.yml`: MKdocs configuration +### How Vercel Build Works +1. `installCommand`: Installs Python dependencies from requirements.txt +2. `buildCommand`: Runs `mkdocs build` to generate static files +3. `outputDirectory`: Serves files from the generated `site/` directory + ### Automatic Deployments - **Production**: Pushes to `main` branch will deploy to production - **Preview**: Pushes to other branches will create preview deployments diff --git a/runtime.txt b/runtime.txt new file mode 100644 index 0000000..032aea2 --- /dev/null +++ b/runtime.txt @@ -0,0 +1 @@ +python-3.9 \ No newline at end of file diff --git a/vercel.json b/vercel.json index 6b5656d..21bee54 100644 --- a/vercel.json +++ b/vercel.json @@ -1,17 +1,5 @@ { - "builds": [ - { - "src": "package.json", - "use": "@vercel/static-build", - "config": { - "distDir": "site" - } - } - ], - "routes": [ - { - "src": "/(.*)", - "dest": "/$1" - } - ] + "buildCommand": "pip install -r requirements.txt && mkdocs build", + "outputDirectory": "site", + "installCommand": "pip install -r requirements.txt" } \ No newline at end of file