# Cozy Den - Developer Documentation ## Project Overview Cozy Den is a landing page for hiddenden.cafe built with Astro. The site features a warm, cozy aesthetic inspired by coffee shops and hidden dens, representing values of privacy, self-hosting, and open-source software. **Tech Stack:** - Astro 4.x (Static Site Generator) - TypeScript (strict mode) - Vanilla CSS with CSS Custom Properties - Docker + Nginx for deployment - Node.js 18+ ## Project Structure ``` cozy-den/ ├── src/ │ ├── layouts/ │ │ └── BaseLayout.astro # Base HTML layout with global styles │ ├── pages/ │ │ ├── index.astro # Main landing page │ │ └── 404.astro # Custom 404 error page │ └── components/ # (Empty - ready for future components) ├── public/ │ ├── favicon.svg # Site favicon (coffee emoji) │ └── robots.txt # Search engine directives ├── astro.config.mjs # Astro configuration with sitemap ├── package.json # Node dependencies ├── tsconfig.json # TypeScript configuration ├── Dockerfile # Multi-stage Docker build ├── docker-compose.yml # Docker Compose setup ├── nginx.conf # Nginx configuration for production ├── .gitignore # Git ignore rules └── README.md # User-facing documentation ``` ## Color Palette The site uses CSS custom properties for theming. All colors are defined in `src/layouts/BaseLayout.astro`: ```css --color-bg: #1a1410 /* Dark background (deep coffee) */ --color-bg-light: #2a1f18 /* Lighter background for cards */ --color-text: #f4e9d8 /* Cream text */ --color-text-dim: #c4b5a0 /* Dimmed text for less emphasis */ --color-accent: #d4a574 /* Warm accent (coffee with cream) */ --color-accent-bright: #e8bf8e /* Brighter accent for highlights */ --color-warm: #8b6f47 /* Warm brown for borders/accents */ ``` ## Component Architecture ### BaseLayout.astro The base layout provides: - HTML structure and meta tags - Global CSS reset and typography - CSS custom properties for theming - Global animations (fadeIn) ### index.astro The main page includes these sections: 1. **Hero** - Title and subtitle 2. **About Hidden Den** - Information about the site/space 3. **About Me** - Information about Latte 4. **Services** - List of self-hosted services 5. **Support** - Ways to help/contribute 6. **Footer** - Links and credits ### 404.astro Custom error page with: - Themed styling matching the cozy aesthetic - Clear error message ("Lost in the Den?") - Action buttons to return home or visit Gitea - Responsive design for all devices ## Development Workflow ### Local Development 1. Install dependencies: ```bash npm install ``` 2. Start dev server (with hot reload): ```bash npm run dev ``` Server runs at `http://localhost:4321` 3. Build for production: ```bash npm run build ``` Output goes to `dist/` directory 4. Preview production build: ```bash npm run preview ``` ### Making Changes **Adding a new section:** 1. Edit `src/pages/index.astro` 2. Add a new `
` block 3. Style it in the `