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..904f0cd --- /dev/null +++ b/DEPLOYMENT.md @@ -0,0 +1,56 @@ +# 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 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 + +## 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/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 new file mode 100644 index 0000000..21bee54 --- /dev/null +++ b/vercel.json @@ -0,0 +1,5 @@ +{ + "buildCommand": "pip install -r requirements.txt && mkdocs build", + "outputDirectory": "site", + "installCommand": "pip install -r requirements.txt" +} \ No newline at end of file