Deployment Guide

Quick reference for deploying to GitHub Pages.

Initial Deployment

1. Create GitHub Repository

  1. Go to GitHub and create a new repository
  2. Name it lahave-website (or your preferred name)
  3. Make it Public
  4. Do not initialize with README (we already have one)

2. Connect and Push

From your project directory:

# Add all files
git add .

# Commit
git commit -m "Initial Jekyll site setup"

# Rename branch to main (if needed)
git branch -M main

# Add remote (replace YOUR_USERNAME with your GitHub username)
git remote add origin https://github.com/YOUR_USERNAME/lahave-website.git

# Push to GitHub
git push -u origin main

3. Enable GitHub Pages

  1. Go to your repository on GitHub
  2. Click Settings
  3. Scroll to Pages in the left sidebar
  4. Under Source, select:
    • Branch: main
    • Folder: / (root)
  5. Click Save

4. Wait for Build

Updating Your Site

After making changes:

# Add changes
git add .

# Commit
git commit -m "Description of changes"

# Push
git push

GitHub Pages will automatically rebuild and deploy your changes (usually within 1-2 minutes).

Custom Domain Setup

1. Add CNAME File

The CNAME file is already created with www.lahave.io. If you need to change it:

  1. Edit CNAME file
  2. Update the domain
  3. Commit and push

2. Configure in GitHub

  1. Go to repository Settings > Pages
  2. Under Custom domain, enter: www.lahave.io
  3. Check Enforce HTTPS (after SSL certificate is provisioned)
  4. Click Save

3. Update DNS

See DNS_MIGRATION.md for detailed DNS configuration.

Troubleshooting

Build Fails

  1. Check Actions tab for error messages
  2. Common issues:
    • Invalid YAML in _config.yml
    • Missing required files
    • Syntax errors in templates

Site Not Updating

  1. Wait 1-2 minutes for rebuild
  2. Clear browser cache
  3. Check Actions tab for build status
  4. Verify changes were pushed to main branch

Custom Domain Not Working

  1. Verify CNAME file exists and is correct
  2. Check DNS records are set correctly
  3. Wait 24-48 hours for DNS propagation
  4. Verify domain in GitHub Pages settings

GitHub Pages Limits

Continuous Integration

A GitHub Actions workflow (.github/workflows/jekyll.yml) is included to:

This helps catch issues before they affect your live site.

Security

Performance Tips

  1. Optimize images before uploading
  2. Minify CSS/JS (optional, Jekyll can do this)
  3. Use CDN for large assets (optional)
  4. Enable GitHub Pages caching (automatic)

Monitoring