web

bc.com

0
0
0
10
Python
public

Brian Cohn’s Personal Website

A Jekyll-powered personal website showcasing ML research, tools, and technical guides.

πŸš€ Quick Start

Prerequisites

  • Ruby 3.0+
  • Node.js 18+
  • Bundler

Development Setup

# Install Ruby dependencies
bundle install

# Install Node.js dependencies (for testing)
npm install

# Start development server
bundle exec jekyll serve
# Site available at http://localhost:4000

Alternative Setup with UV (Python)

uv venv
source .venv/bin/activate
uv add -p 3.12 @playwright/test
bundle install

πŸ› οΈ Development Commands

# Development
bundle exec jekyll serve          # Start dev server with auto-reload
bundle exec jekyll serve --drafts # Include draft posts

# Testing  
npm test                          # Run Playwright visual tests
npm run test:ui                   # Run tests with UI

# Building
bundle exec jekyll build          # Generate static site to _site/
JEKYLL_ENV=production bundle exec jekyll build  # Production build

πŸ“ Project Structure

β”œβ”€β”€ _config.yml           # Jekyll configuration
β”œβ”€β”€ _layouts/             # Page templates
β”œβ”€β”€ _includes/            # Reusable components
β”œβ”€β”€ _pages/               # Static pages
β”œβ”€β”€ _posts/               # Blog posts & guides
β”œβ”€β”€ _sass/                # Stylesheets
β”œβ”€β”€ assets/               # Static assets
β”œβ”€β”€ img/                  # Optimized images
β”œβ”€β”€ tests/                # Playwright tests
└── scripts/              # Build & optimization scripts

🎯 TODO: Repository Improvements

High Priority

  • Consolidate Image Assets: Merge /img and /assets
  • Optimize Jekyll Configuration
  • Implement Content Strategy
  • Add Development Tooling
  • Performance Optimization

Medium Priority

  • Testing Infrastructure
  • SEO Enhancement
  • Accessibility Audit
  • Content Management
  • Build Optimization

Low Priority

  • Documentation
  • Automation
  • Analytics
  • Progressive Enhancement
  • Internationalization

Code Quality

  • Lint Configuration
  • Asset Pipeline
  • Error Handling
  • Security

πŸ”§ Configuration

Environment Variables

  • JEKYLL_ENV: Set to production for production builds

Key Configuration Files

  • _config.yml: Main Jekyll configuration
  • Gemfile: Ruby dependencies
  • package.json: Node.js dependencies and scripts
  • playwright.config.js: Test configuration

🌐 Deployment

Site is deployed to briancohn.com and hosted on Cloudflare Pages.

Manual Build

JEKYLL_ENV=production bundle exec jekyll build

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests: npm test
  5. Submit a pull request

πŸ“„ License

MIT License - see LICENSE file for details.


Links: Live Site β€’ GitHub

v0.3.3[beta]