|
| 1 | +# CLAUDE.md |
| 2 | + |
| 3 | +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. |
| 4 | + |
| 5 | +## About This Site |
| 6 | + |
| 7 | +This is a personal website built with Hugo static site generator, hosted on GitHub Pages at https://gusperez.com/. The site uses the Anatole theme and includes sections for blog posts, music, software projects, photography, art, and maker content. |
| 8 | + |
| 9 | +## Development Commands |
| 10 | + |
| 11 | +### Local Development |
| 12 | +- `hugo server` - Start local development server at http://localhost:1313/ |
| 13 | +- `hugo server --buildDrafts` - Include draft posts in local development |
| 14 | +- `hugo server --buildFuture` - Include future-dated posts (already enabled via config) |
| 15 | + |
| 16 | +### Content Management |
| 17 | +- `hugo new blog/YYYY-MM-DD_post-title.md` - Create new blog post in the blog section |
| 18 | +- `hugo new posts/post-title.md` - Create new post in the posts section (alternative) |
| 19 | +- `hugo new section/page-title.md` - Create new content in any section |
| 20 | + |
| 21 | +### Building |
| 22 | +- `hugo` - Build the site for production (outputs to `/public`) |
| 23 | +- `hugo --minify` - Build with minification |
| 24 | +- `hugo --gc` - Build with garbage collection to clean up unused cache files |
| 25 | + |
| 26 | +## Site Architecture |
| 27 | + |
| 28 | +### Theme and Configuration |
| 29 | +- Uses the Anatole Hugo theme (github.com/lxndrblz/anatole v1.15.1) |
| 30 | +- Theme is imported as a Hugo module via `go.mod` |
| 31 | +- Main configuration in `config.toml` |
| 32 | +- Custom CSS styling in `assets/css/custom.css` |
| 33 | +- Custom fonts: Bricolage Grotesque and Carrois Gothic SC from Google Fonts |
| 34 | +- `buildFuture = true` allows posts with future dates to be published |
| 35 | + |
| 36 | +### Content Structure |
| 37 | +- `content/blog/` - Blog posts with date-prefixed filenames (YYYY-MM-DD_title.md) |
| 38 | +- `content/software/` - Software project pages |
| 39 | +- `content/music/`, `content/photography/`, `content/art/`, `content/maker/` - Other content sections |
| 40 | +- Images for blog posts go in `content/blog/images/` |
| 41 | +- Static assets (favicons, profile images) in `static/` |
| 42 | + |
| 43 | +### Layout Customization |
| 44 | +- Custom layouts in `layouts/` override theme defaults |
| 45 | +- Specialized layouts for software section in `layouts/software/` |
| 46 | +- Custom head partial in `layouts/partials/head.html` with font loading optimizations |
| 47 | +- Custom footer in `layouts/partials/footer.html` |
| 48 | + |
| 49 | +### Styling Notes |
| 50 | +- Inline code styling uses pastelly dark-ish blue colors (#4a6fa5 light, #7eb3d3 dark) |
| 51 | +- Code backgrounds match page backgrounds (transparent) |
| 52 | +- Dark theme uses #181818 background |
| 53 | +- Custom mobile burger menu styling |
| 54 | +- Responsive layout with custom breakpoints for large screens (1921px+) |
| 55 | + |
| 56 | +### Content Front Matter |
| 57 | +Blog posts typically include: |
| 58 | +```yaml |
| 59 | +title: "Post Title" |
| 60 | +date: 2025-08-31T11:32:51-07:00 |
| 61 | +draft: false |
| 62 | +``` |
| 63 | +
|
| 64 | +Images in blog posts should use absolute paths: `/blog/images/filename.png` |
0 commit comments