Copilot Instructions for coduinix.github.io

This is a personal blog and portfolio website built with Jekyll using the Minimal Mistakes theme, deployed to GitHub Pages.

Quick Start

Local Development

Run the Jekyll site locally with drafts and live reload in Docker:

docker run --rm \
  --volume="$PWD:/srv/jekyll:Z" \
  --publish 4000:4000 --publish 35729:35729 \
  jekyll/jekyll \
  jekyll serve --draft --livereload

The site will be available at http://localhost:4000.

Install Dependencies

bundle install

Architecture

Core Structure

Theme

Uses Minimal Mistakes v4.24.0 (remote theme) with the “contrast” skin. Customizations are minimal and loaded via jekyll-remote-theme.

Plugins

Content Conventions

Blog Posts

File format: _posts/YYYY-MM-DD-slug.md

Front matter example:

---
title: Article Title
excerpt: Brief summary shown in blog archives
tags:
  - tag1
  - tag2
toc: true
---

Pages

Static pages (About, Blog, Articles, etc.) use layout: splash or single. Include permalink: to control URL structure. They must be listed in _config.yml under include: - "_pages" to be rendered.

Talks

Create markdown files in _talks/ directory. The custom layout talk.html is automatically applied (defined in _config.yml defaults).

Build & Deployment

GitHub Pages Workflow

Automatically deploys to GitHub Pages on every push to main branch. The workflow:

  1. Checks out code
  2. Builds Jekyll site to _site/ directory
  3. Uploads artifact to GitHub Pages

View workflow: .github/workflows/jekyll.yml

Local Testing Before Commit

Always test locally with the Docker command above. Verify:

Key Configuration

_config.yml highlights:

Common Tasks

Add a Blog Post

  1. Create _posts/YYYY-MM-DD-slug.md
  2. Add required front matter (title, excerpt, tags)
  3. Write content
  4. Test locally with Docker
  5. Commit and push to main

Add a Draft

Same as above but use _drafts/ instead of _posts/. It will render locally with --draft flag but not in production.

Customize Content

Update Theme or Plugins

Edit Gemfile or remote_theme in _config.yml. Run bundle install locally to test.

Dependencies