Deployment Guide for Ethereal Ruby

This guide covers how to deploy your Jekyll portfolio site to various platforms.

Netlify offers free hosting with easy continuous deployment from Git repositories.

Steps:

  1. Push your repository to GitHub, GitLab, or Bitbucket

  2. Sign up for a Netlify account:
  3. Create a new site:
    • Click “New site from Git”
    • Select your Git provider (GitHub, GitLab, or Bitbucket)
    • Authorize Netlify to access your repositories
    • Select the ethereal_ruby_portfolio repository
  4. Configure build settings:
    • Build command: jekyll build
    • Publish directory: _site/
    • Click “Deploy site”
  5. Set up a custom domain (optional):
    • Go to “Domain settings” in your site dashboard
    • Click “Add custom domain”
    • Follow the instructions to configure your domain
  6. Enable HTTPS (optional, but recommended):
    • Netlify provides free HTTPS certificates via Let’s Encrypt
    • In your site dashboard, go to “SSL/TLS certificate” and click “Verify DNS configuration”

Deploying to GitHub Pages

GitHub Pages provides free hosting directly from your GitHub repository.

Steps:

  1. Create a GitHub repository named username.github.io (replace username with your GitHub username)

  2. Push your Jekyll site to this repository:
    git init
    git add .
    git commit -m "Initial commit"
    git remote add origin https://github.com/username/username.github.io.git
    git push -u origin master
    
  3. Configure GitHub Pages:
    • Go to your repository settings
    • Scroll down to the “GitHub Pages” section
    • Select the branch you want to deploy (usually master or main)
    • Your site will be available at https://username.github.io
  4. Add a custom domain (optional):
    • In the GitHub Pages settings, enter your custom domain
    • Create a CNAME file in your repository with your domain name
    • Configure your domain’s DNS settings as instructed by GitHub

Deploying to Digital Ocean App Platform

Digital Ocean’s App Platform offers a robust hosting solution with a free tier.

Steps:

  1. Sign up for Digital Ocean and create an account

  2. Create a new App:
    • From the Digital Ocean dashboard, go to “Apps” and click “Create App”
    • Connect your Git repository
    • Select the branch to deploy
  3. Configure your app:
    • Build command: jekyll build
    • Output directory: _site
    • Environment: Static Site
    • Click “Next” and then “Create Resource”
  4. Set up a custom domain (optional):
    • Go to your app’s settings
    • Click on “Domains”
    • Add your custom domain and follow the DNS configuration instructions

Troubleshooting Common Deployment Issues

Jekyll Build Errors

If your site fails to build during deployment:

  1. Make sure your _config.yml is correctly formatted
  2. Check that all your includes are properly named and referenced
  3. Verify that all required gems are in your Gemfile

Contact Form Issues

If your Formspree contact form isn’t working:

  1. Confirm you’ve replaced your-formspree-id with your actual Formspree form ID
  2. Verify that all form input fields have the correct name attributes
  3. Test the form by submitting a test message

CSS/JS Loading Issues

If styles or scripts aren’t loading:

  1. Check that all paths in your HTML/CSS are correct (use relative paths)
  2. Verify that your site’s baseurl in _config.yml is set correctly
  3. Make sure all asset files are properly committed to your repository