This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is a personal website and blog built with Astro and Tailwind CSS. The site features:
- Spanish content (es lang)
- Blog posts with MDX support
- Talks/presentations section
- Tag-based categorization
- RSS feed generation
- Dark mode support (more or less)
- Comments system (Utterances)
- SEO optimization with Open Graph images
# Install dependencies
pnpm i
# Development server (localhost:4321)
pnpm dev
# Build for production
pnpm build
# Preview production build
pnpm preview- Location:
src/content/blog/ - Format: Markdown (
.md) or MDX (.mdx) - Filename convention: Use lowercase with hyphens (e.g.,
acordeones-nativos-en-html-sin-una-linea-de-javascript.md) - Frontmatter required for metadata
- In this case, the
titleshould be: "Acordeones nativos en HTML sin una línea de JavaScript"
- In this case, the
- Must follow schema defined in
src/content/config.ts
---
title: "Post Title"
description: "Post description"
pubDate: 2024-01-01
tags: [JavaScript, HTML, CSS]
ogImage: "https://baumannzone-dev-og.vercel.app/api/og?title=Post%20Title&tags=JavaScript,HTML,CSS"
---
Content goes here (no H1 - title from frontmatter is used)- Blog images:
src/assets/blog/post-slug/image.jpg - Post demos:
src/components/demos-blog/post-slug/demo.astro - Demo components must use
DemoLayoutwrapper
- Tags are defined as enum in
src/types/tags.ts - Tag pages are generated dynamically
- Special routing:
pages/tags.astrois outside/tags/folder due to dev mode constraints
DefaultLayout.astro: Main site layout with navbar/footerBlogPostLayout.astro: Blog post layout with structured data, commentsMatrixLayout.astro: Special layout for matrix effect
blog: Blog posts with rich metadatatalks: Presentations and talks with event info
BaseHead.astro: SEO meta tags and structured dataNavBar.astro: Main navigationSharePostBar.astro: Social sharing for postsArticleCard.astro: Blog post preview cards
src/utils/tags.ts: Tag URL generation and utilitiessrc/utils/screensaver.js: Screensaver functionalitysrc/consts.ts: Site-wide constants
- Tailwind CSS v3 with custom configuration
- Dark mode support throughout
- Typography plugin for prose content
- Custom gradient effects and animations
- Open Graph image generation via external service
- Utterances comments integration (disabled in dev)
- RSS feed at
/rss.xml - Sitemap generation
- View transitions for smooth navigation
- TypeScript with strict null checks enabled
- Spanish language content (lang="es")
- Vercel deployment
- Asset optimization with Sharp
- Comments are hidden in development mode