Personal website for Curious Ellie - IT Infrastructure and DevOps consulting.
Live site: https://curiousellie.com
- Static Site Generator: Jekyll 3.9.5
- Hosting: GitHub Pages
- Theme: Custom Jekyll theme (based on Indigo)
- Styling: Sass/SCSS
- CI/CD: Travis CI (legacy, see below)
- Ruby (version 2.2.2 or higher recommended)
- Bundler gem
- Clone the repository:
git clone <repository-url>
cd curiousellie.com- Install dependencies:
bundle install --path vendor/bundleThe fastest way to get started (recommended):
./run.shThis script will:
- Check for bundler installation
- Install dependencies if needed
- Start Jekyll server with live reload at
http://localhost:4000
Alternatively, run the development server manually:
bundle exec jekyll serve --config _config.yml,_config-dev.ymlOr with live reload:
bundle exec jekyll serve --livereloadThe site will be available at http://localhost:4000
Build the static site for production:
bundle exec jekyll buildOutput will be in the _site directory.
Run HTML validation tests:
# Using Rake
bundle exec rake test
# Using Travis script
./travis.shThe tests use html-proofer to validate links and HTML structure.
.
├── _config.yml # Main Jekyll configuration
├── _config-dev.yml # Local development overrides
├── _includes/ # Reusable HTML components
├── _layouts/ # Page templates
├── _posts/ # Blog posts (markdown)
├── _sass/ # Sass stylesheets
├── assets/ # Images, static files
├── about.md # About page
├── projects.html # Projects listing page
├── tags.html # Tags page
└── index.html # Homepage
Key settings in _config.yml:
- Site metadata: Name, bio, description
- Social links: Twitter, LinkedIn, GitHub, email
- Features: Projects, about page, read time, tags, related posts
- Authors: Support for multiple authors
- Plugins: SEO, Gist, Feed, Admin
Create a new file in _posts/ with the format:
YYYY-MM-DD-post-title.markdown
Front matter example:
---
title: "Post Title"
date: 2024-01-01
layout: post
author: migueldavid
tags: [devops, aws]
---Projects are blog posts with projects: true in the front matter.
The project currently uses Travis CI (.travis.yml) targeting the gh-pages and next branches. Configuration includes:
- Ruby 2.2.2
- HTML validation via
htmlproofer - Environment variable:
NOKOGIRI_USE_SYSTEM_LIBRARIES=true
Note: Consider migrating to GitHub Actions as Travis CI has changed its pricing model.
No environment variables required for local development. The _config-dev.yml overrides the production URL to http://localhost:4000.
The site deploys automatically via GitHub Pages when changes are pushed to the configured branch.
- FAQ: See FAQ.md for common issues and resources
- LinkedIn: https://www.linkedin.com/in/migueldavid/
- Twitter: @migueldavidx