# Cozy Den ๐Ÿกโ˜• A cozy landing page for hiddenden.cafe built with Astro. ## About Cozy Den is a warm, self-hosted corner of the internet. This landing page represents the values of privacy, open-source software, and creating comfortable digital spaces. ## Features - โ˜• Cozy, warm aesthetic with hidden den theme - ๐ŸŽจ Catppuccin Mocha color palette - ๐Ÿ“ฑ Responsive design - โšก Built with Astro for blazing fast performance - ๐Ÿณ Docker support for easy deployment - ๐Ÿ“ Blog powered by Astro Content Collections (hardcoded Markdown, no CMS) ## Setup ### Prerequisites - Node.js 18+ and npm - (Optional) Docker for containerized deployment ### Installation 1. Clone or download this project 2. Install dependencies: ```bash npm install ``` 3. Run the development server: ```bash npm run dev ``` 4. Build for production: ```bash npm run build ``` 5. Preview production build: ```bash npm run preview ``` ## Docker Deployment ### Building the Docker Image ```bash docker build -t cozy-den . ``` ### Running the Container ```bash docker run -d -p 3000:80 --name cozy-den cozy-den ``` Or with docker-compose: ```bash docker-compose up -d ``` ### Pushing to Gitea Registry ```bash # Tag the image docker tag cozy-den git.hiddenden.cafe/mats/cozy-den:latest # Login to your Gitea registry docker login git.hiddenden.cafe # Push the image docker push git.hiddenden.cafe/mats/cozy-den:latest ``` ## Blog Text-to-Speech Blog posts kunnen automatisch omgezet worden naar audio met `scripts/tts_generate.py`. ### Setup 1. Kopieer `.env.example` naar `.env` en vul je API key in 2. Exporteer de variabelen: ```bash export GOOGLE_API_KEY=jouw_sleutel_hier # of: export MISTRAL_API_KEY=... / export OPENAI_API_KEY=... ``` ### Audio genereren ```bash # Eรฉn post โ€” output: .mp3 in de huidige map python scripts/tts_generate.py src/content/blog/hello-world.md # Andere output directory python scripts/tts_generate.py src/content/blog/hello-world.md --output-dir public/audio # Andere provider TTS_PROVIDER=openai python scripts/tts_generate.py src/content/blog/hello-world.md ``` Beschikbare providers (via `TTS_PROVIDER`): | Provider | Env var | Prijs | |---|---|---| | `google` (standaard) | `GOOGLE_API_KEY` | 1M chars/maand gratis | | `mistral` | `MISTRAL_API_KEY` | ~$16/M chars | | `openai` | `OPENAI_API_KEY` | ~$15/M chars | ### Audio tonen op een blogpost Voeg `audio: true` toe aan het frontmatter van de post. De `