CLAUDE.md
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
Rafael Lima’s personal portfolio and blog website (rafael.adm.br), built with Jekyll and hosted on GitHub Pages.
Tech Stack
- Jekyll 3.9.5 static site generator
- Ruby 3.3.1 (see
.ruby-version) - Bootstrap 3 + jQuery with plugins (Fancybox, Slick, Isotope)
- GitHub Pages gem (v231) for deployment
Development Commands
# Install dependencies
bundle install
# Run local dev server (with auto-rebuild)
jekyll serve --watch --incremental
# Or use foreman (reads Procfile)
foreman start
Architecture
Content Structure
_posts/— Blog posts (313 posts, Markdown/HTML with YAML frontmatter)_layouts/— Page templates (index, blog, post, page, mentoria, tags, error)_includes/— Reusable HTML fragments (head, footer, scripts)_config.yml— Jekyll configuration
Site Sections
- Homepage (
index.html) — One-page portfolio with smooth scrolling sections - Blog (
blog/) — Paginated blog with its own CSS/JS/fonts - Mentorship (
mentoria/) — Mentorship program pages - Podcast (
voltandopracasa/) — Podcast episode archive with MP3 files - Talks (
palestras/) — Presentations archive
Key Configuration (_config.yml)
- Permalink pattern:
/p/:title - Excerpt separator:
<!--more--> - Pagination: 5 posts per page at
blog/page/:num - Plugins: jekyll-paginate, jekyll-sitemap
Ruby Utility Scripts (root directory)
downmark_it.rb— HTML to Markdown converter for blog contentimport_from_google_docs.rb— Imports posts from Google Docs via Drive APIextend_string.rb— String extensions for accent removal and URL generation
Frontend Assets
assets/— Main site CSS, JS, images (Bootstrap, jQuery plugins)blog/— Blog-specific assets (separate from main site)
Deployment
Automatic via GitHub Pages on push to master. Custom domain configured in CNAME → rafael.adm.br.
Language
Site content is in Brazilian Portuguese.