This repository contains the source code for ootes.io – the personal portfolio website of Tom Ootes. The site is built with Jekyll for static site generation, SCSS for styling, and Vite for JavaScript bundling.
- Features
- Tech Stack
- Prerequisites
- Setup & Development
- Building CSS
- Running the Site Locally
- Adding Blog Posts
- Project Structure
- Contributing
- License
- Portfolio & Projects – Showcase of personal projects with detailed case studies.
- Blog – Articles written in Markdown, rendered by Jekyll.
- Tagging System – (Planned) Ability to add tags such as
plantsandecologyto blog posts for better navigation. - Responsive Design – Tailored for desktop and mobile using custom SCSS utilities.
- Live Reload – Development server with automatic rebuilding of assets.
- Jekyll – Static site generator (
bundle exec jekyll serve). - SCSS – Stylesheets compiled via PostCSS.
- PostCSS – Handles autoprefixing and CSS processing.
- Vite – Bundles JavaScript assets (
vite). 38: - pnpm – Package manager for Node dependencies.
- Ruby (>= 2.7) with Bundler (
gem install bundler). 45: - Node.js (>= 18) and pnpm (npm install -g pnpm). - pnpm (optional, used in original docs for CSS watch).
# Clone the repository
git clone https://github.com/yourusername/ootes-io.git
cd ootes-io
# Install Ruby dependencies
bundle install
# Install Node dependencies
pnpm installThe project uses PostCSS to compile assets/css/main.css into
assets/css/output.css.
# One‑time build
pnpm run build:css
# Watch for changes (recommended during development)
# If you prefer pnpm, you can also run:
# pnpm watch:css
pnpm run watch:css# Start the Jekyll development server
bundle exec jekyll serveThe site will be available at http://localhost:4000. The server watches for
changes in content, layout, and SCSS (when the CSS watch command is running).
Blog posts are stored in the _posts directory and must follow Jekyll’s naming
convention:
YYYY-MM-DD-title.md
Each post should include front‑matter, for example:
---
layout: post
title: "My New Post"
categories: [blog]
# tags: [plants, ecology] # Planned feature
---
Your markdown content goes here..
├─ _includes # Reusable HTML snippets
├─ _layouts # Page layouts
├─ _posts # Blog articles (Markdown)
├─ _projects # Project case‑studies
├─ assets
│ ├─ css # SCSS source & compiled CSS
│ ├─ img # Images & icons
│ └─ js # JavaScript entry point (main.js)
├─ _scss # Raw SCSS modules
├─ CNAME # Custom domain configuration
├─ Gemfile # Ruby dependencies
├─ package.json # Node dependencies & scripts
└─ README.md # This file
This project is licensed under the Creative Commons Attribution 4.0
International (CC‑BY‑4.0) license. See the LICENSE file for details.
Generated on $(date '+%Y-%m-%d')