Deployment Guide
⚠️ IMPORTANT: First-Time Setup Required
If you’re seeing a deployment error, you need to enable GitHub Pages first!
1. Enable GitHub Pages (REQUIRED)
This must be done before the site can deploy:
- Go to your repository on GitHub: https://github.com/AHuffmyer/website/settings/pages
- Click Settings (top navigation)
- Click Pages (left sidebar)
- Under Source, select GitHub Actions
- Click Save
That’s it! The site will automatically deploy when you push to main
.
Note: If you see a 404 error in the Actions logs, it means GitHub Pages hasn’t been enabled yet. Follow the steps above.
2. Verify Deployment
- Go to the Actions tab in your repository
- You should see a workflow run called “Deploy Quarto Website to GitHub Pages”
- Wait for it to complete (usually 2-3 minutes)
- Once complete, your site will be live at:
https://ahuffmyer.github.io/website/
3. Custom Domain (Optional)
If you want to use a custom domain:
In repository Settings → Pages
Add your custom domain in the “Custom domain” field
Update
_quarto.yml
with your custom domain URL:website: site-url: "https://yourdomain.com"
Workflow Details
The GitHub Actions workflow (.github/workflows/publish.yml
) automatically:
- Checks out your code
- Installs Quarto
- Renders all
.qmd
files to HTML - Deploys the
docs/
folder to GitHub Pages
Troubleshooting
Workflow Fails
If the deployment fails:
- Check the Actions tab for error messages
- Ensure all
.qmd
files render locally:quarto render
- Check that code blocks with executable code have
eval: false
or that required packages are installed
Site Not Updating
If changes don’t appear:
- Verify the workflow completed successfully in Actions
- Clear your browser cache
- Wait a few minutes for CDN to update
404 Error
If you get a 404:
- Ensure GitHub Pages is set to “GitHub Actions” source
- Verify the workflow completed successfully
- Check that the repository is public (or you have GitHub Pro for private repos)
Local Development
Preview Changes Locally
Before pushing, preview your changes:
# Start live preview server (auto-refreshes on save)
quarto preview
# Or build once
quarto render
The preview will be available at http://localhost:4200
(or another port if specified).
Building for Production
The workflow builds automatically, but you can test the build locally:
quarto render
This creates the docs/
folder with all HTML files.
Updating the Site
Quick Update Workflow
- Edit files locally (or directly on GitHub)
- Commit changes:
git commit -am "Update content"
- Push to main:
git push origin main
- Wait 2-3 minutes for automatic deployment
- View changes at your site URL
Adding New Pages
Create a new
.qmd
file (e.g.,new-page.qmd
)Add it to the navbar in
_quarto.yml
:website: navbar: left: - text: "New Page" href: new-page.qmd
Commit and push
Dependencies
The workflow automatically handles:
- Installing Quarto (v1.4.549)
- Rendering all Quarto documents
- Deploying to GitHub Pages
No additional setup required!
Security Notes
- The workflow uses GitHub’s
GITHUB_TOKEN
automatically - No secrets or API keys need to be configured
- The workflow has minimal permissions (contents: read, pages: write)
Performance
- Initial build: ~2-3 minutes
- Subsequent builds: ~1-2 minutes
- Site is served via GitHub’s CDN for fast global access
Monitoring
Check deployment status:
- Actions tab: See workflow runs and logs
- Environments: See deployment history and status
- Pages settings: See current deployment URL
Your site is now ready to use! 🎉