Development Setup — WeirdDev Site
Development Setup — WeirdDev Site
This Jekyll site based on Minimal Mistakes Theme (v4.26.2, via remote_theme) runs on Ruby and Bundler.
Quick Start (Windows)
First-time setup
- Open PowerShell as Administrator in the repo root
- Run the setup script:
.\setup-windows.ps1This installs Ruby 3.2 with DevKit, Bundler, project gems, and starts the dev server.
- Open your browser to:
http://127.0.0.1:4000
After first setup (any time)
Set-Location "C:\IDEA\wrdv.github.io"
$env:Path = "C:\Ruby32-x64\bin;C:\Ruby32-x64\msys64\usr\bin;" + $env:Path
bundle _2.5.23_ exec jekyll serve --host 127.0.0.1 --port 4000
Or use the setup script with -skipServe if you just want to verify dependencies:
.\setup-windows.ps1 -skipServe
Manual Setup (if needed)
If the automated setup fails, follow these steps:
- Install Ruby 3.2 with DevKit
- Download from: https://github.com/oneclick/rubyinstaller2/releases
- Run installer and select “Add Ruby to PATH”
- Run the MSYS2 setup when prompted
- Install Bundler 2.5.23
gem install bundler -v 2.5.23 --no-document - Install project gems
bundle _2.5.23_ install - Start the server
bundle _2.5.23_ exec jekyll serve --host 127.0.0.1 --port 4000
Common Tasks
Build the site (static files only)
bundle _2.5.23_ exec jekyll build
Output is written to _site/
Run with live reload
bundle _2.5.23_ exec jekyll serve --host 127.0.0.1 --port 4000 --incremental
Check for build errors
bundle _2.5.23_ exec jekyll build --strict_front_matter
Stop the dev server
- Press Ctrl+C in the terminal where
jekyll serveis running
Troubleshooting
“Command not found: bundle”
Solution: Ruby hasn’t been added to PATH. Either:
- Restart PowerShell (new window), or
- Manually add to PATH for current session:
$env:Path = "C:\Ruby32-x64\bin;C:\Ruby32-x64\msys64\usr\bin;" + $env:Path
Port 4000 already in use
Solution: Change the port:
bundle _2.5.23_ exec jekyll serve --port 4001
Gems failed to install
Solution: Ensure MSYS2 build tools are installed. Run from Ruby installer or:
ridk install
Architecture
Theme Integration
The site uses Minimal Mistakes 4.26.2 via jekyll-remote-theme. This means:
- Theme layouts, includes, and assets are fetched from GitHub at build time
- Only custom overrides live in this repo (see below)
- Upgrading the theme = changing the version tag in
_config.yml
Custom Overrides (files in this repo that override the remote theme)
| File | Purpose |
|——|———|
| _layouts/default.html | Adds AdSense script, data-theme attribute |
| _includes/masthead.html | Adds dark/light theme toggle button |
| _includes/sidebar.html | Custom top_image and promo section |
| _includes/head/custom.html | Favicons + theme persistence script |
| _includes/footer/custom.html | Privacy Policy link |
| _sass/_custom.scss | All site-specific styles + light theme override |
| assets/js/theme-toggle.js | Dark/light mode toggle logic |
Dark/Light Theme Toggle
- Default theme: dark (set via
minimal_mistakes_skin: "dark"in_config.yml) - Toggle button in the masthead (moon/sun icon)
- User preference stored in
localStorage(wd-themekey) - Light mode is a CSS override layer on top of the dark skin
Stack
- Ruby: 3.2.11 (with MSYS2 DevKit)
- Bundler: 2.5.23 (per
Gemfile.lock) - Jekyll: 3.10.0 (via
github-pagesgem) - Theme: Minimal Mistakes 4.26.2 (via
jekyll-remote-theme) - Icons: Font Awesome 6 (CDN)
- Search: Lunr.js (built-in)