CLAUDE.md — eduardotelaya.com
Personal blog and portfolio for Eduardo Telaya. Built with Jekyll + Hydejack theme, deployed on Netlify.
Tech Stack
- Jekyll 4.1 — static site generator
- Hydejack theme (custom local copy in
#jekyll-theme-hydejack/) - Ruby 3.1.3 (see
.ruby-version) - Netlify — deployment (build command:
jekyll build, publish dir:_site)
Dev Commands
# Local development
bundle exec jekyll serve --trace
# Local development with drafts + production env
JEKYLL_ENV=production bundle exec jekyll serve --trace --drafts
# Using Ahoy CLI
ahoy start
# Build for production
bundle exec jekyll build
Post Management
bundle exec jekyll draft "Title" # Create draft
bundle exec jekyll publish _drafts/file.md # Publish
bundle exec jekyll unpublish _posts/file.md # Unpublish
Content Structure
_posts/ # Published posts (YYYY-MM-DD-slug.md)
_drafts/ # Unpublished drafts
_talks/ # Presentations/talks
_featured_categories/ # Category landing pages
_featured_tags/ # Tag landing pages
File Naming Convention
Posts: YYYY-MM-DD-slug-title.md
Example: 2026-03-19-the-importance-of-software-engineering-discipline.md
Post Frontmatter
Every post must include this frontmatter:
---
layout: post
title: "Post Title"
date: YYYY-MM-DD
author: Eduardo Telaya
language: en # en or es
categories:
- category-slug
tags:
- tag1
- tag2
description: "Brief description (under 203 characters)"
image:
path: https://eduardotelaya.com/assets/img/posts/filename.webp
srcset:
1920w: https://eduardotelaya.com/assets/img/posts/filename.webp
960w: https://eduardotelaya.com/assets/img/posts/filename@0,5x.webp
480w: https://eduardotelaya.com/assets/img/posts/filename@0,25x.webp
seo:
title: "SEO Title"
description: "SEO description"
keywords: "Eduardo Telaya, keyword1, keyword2"
canonical: https://eduardotelaya.com/blog/category/YYYY-MM-DD-slug/
image: https://eduardotelaya.com/assets/img/posts/filename.webp
language: en # en or es
og:type: article
og:title: ""
og:description: ""
og:image: ""
og:url: ""
og:site_name: "Eduardo Telaya Blog"
twitter:card: summary_large_image
twitter:title: ""
twitter:description: ""
twitter:image: ""
---
Optional frontmatter fields:
featured: true— mark as featured posthide_image: true— hide hero imagehide_description: true— hide descriptionvideo: https://embed-url— embed a video
Bilingual Content
The site is bilingual (English + Spanish). Use language: en or language: es in frontmatter.
English categories: technology, personal-development, performing-arts, travel-and-adventures
Spanish categories: tecnologia, desarrollo-personal, artes-escenicas, viajes-y-aventuras, mis-pensamientos, español
Images
- Format: WebP only — convert PNGs/JPGs with
./convert_to_webp.shorahoy convert-images - Store in:
assets/img/posts/ - Always provide three srcset sizes:
1920w,960w(0.5x),480w(0.25x) - Image quality setting: 85 (via ImageMagick)
Commit Message Convention
Add/update post: YYYY-MM-DD-slug-title.md
Fix errors in the post
Theme Customization
Do NOT edit files inside #jekyll-theme-hydejack/ directly. Instead use the custom include hooks:
_includes/my-head.html— custom<head>additions_includes/my-body.html— custom body content_includes/my-scripts.html— custom scripts
Data Files
_data/authors.yml/_data/authors_es.yml— author profiles_data/strings.yml/_data/strings_es.yml— UI strings (localization)_data/resume.yml— resume data_data/social.yml— social links
Permalink Structure
Posts: /blog/:categories/:year-:month-:day-:title/
Deployment
Netlify auto-deploys from the main branch. Environment: JEKYLL_ENV=production.