106 lines
3.7 KiB
Markdown
106 lines
3.7 KiB
Markdown
# CLAUDE.md
|
|
|
|
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
|
|
## Project Overview
|
|
|
|
This is a Hugo static site for the Wild Cloud platform (mywildcloud.org) that serves multiple purposes:
|
|
- Marketing and documentation website
|
|
- APT repository for Debian packages
|
|
- UI component distribution system
|
|
- Community hub for the Wild Cloud ecosystem
|
|
|
|
## Development Commands
|
|
|
|
### Prerequisites
|
|
- Install Hugo (minimum v0.87.0)
|
|
- Install dart-sass
|
|
|
|
### Development Server
|
|
```bash
|
|
hugo server -D
|
|
```
|
|
|
|
### Build and Deploy
|
|
```bash
|
|
scripts/deploy.sh
|
|
```
|
|
|
|
The deploy script performs:
|
|
1. `hugo build` - Generates static site in `public/` directory
|
|
2. `docker build -t payneio/mywildcloud.org .` - Creates Docker image with nginx:alpine
|
|
3. `docker push payneio/mywildcloud.org` - Pushes to registry
|
|
4. `kubectl rollout restart deployment mywildcloud -n mywildcloud` - Deploys to Kubernetes
|
|
|
|
## Architecture
|
|
|
|
### Theme Configuration
|
|
- **Theme:** Blowfish v2+ (modern Hugo theme)
|
|
- **Color Scheme:** "blowfish" with light default appearance
|
|
- **Layout:** Custom homepage layout with basic header
|
|
- **Custom Assets:** Wild Cloud logo and custom CSS in `/assets/`
|
|
- Uses tailwindcss for styling
|
|
|
|
### Content Structure
|
|
- **Main Pages:** Homepage, About, Get Started, Contribute
|
|
- **Additional Areas:** Foundation, Learning, Projects (generated content)
|
|
- **Special Content:** APT repository hosting and UI releases
|
|
|
|
### Key Features
|
|
- **APT Repository:** Complete Debian package repository in `/static/apt/`
|
|
- Packages for `wild-cloud-central` (multiple versions, amd64/arm64)
|
|
- GPG signing and repository metadata
|
|
- Installation script (`install-apt.sh`)
|
|
- **UI Releases:** Versioned UI component releases in `/ui-releases/`
|
|
- JSON manifest with version, archive URLs, and checksums
|
|
- **Analytics:** Google Analytics integration (G-YSHP7PL9R1)
|
|
- **SEO:** XML sitemap, robots.txt, and meta tags configured
|
|
|
|
### Configuration Files
|
|
- **Hugo Config:** `config/_default/hugo.toml` - Main site configuration
|
|
- **Theme Config:** `config/_default/params.toml` - Blowfish theme settings
|
|
- **Menus:** `config/_default/menus.en.toml` - Navigation structure
|
|
- **Markup:** `config/_default/markup.toml` - Content rendering options
|
|
|
|
### Deployment Architecture
|
|
- **Development:** Local Hugo server with draft content
|
|
- **Production:** Containerized deployment using Docker + Kubernetes
|
|
- **Base URL:** https://www.mywildcloud.org/
|
|
- **Container:** nginx:alpine serving static files from `/usr/share/nginx/html`
|
|
|
|
## Theme Customization
|
|
|
|
### Custom CSS
|
|
- Location: `/assets/css/custom.css`
|
|
- Custom font implementation and Wild Cloud branding
|
|
|
|
### Custom Layouts
|
|
- Homepage override: `/layouts/home.html`
|
|
- Uses basic header layout instead of default theme layout
|
|
|
|
### Theme Features Configuration
|
|
- **Enabled:** Search, auto appearance switching, breadcrumbs, table of contents
|
|
- **Disabled:** Author info, dates, views, likes, comments
|
|
- **Analytics:** Google Analytics integration
|
|
- **Social:** Meta tags and social sharing configured
|
|
|
|
## Content Management
|
|
|
|
### Taxonomies
|
|
- Tags, categories, authors, series
|
|
- Weighted related content indices
|
|
|
|
### Content Types
|
|
- Standard markdown pages
|
|
- Foundation/principles content
|
|
- Learning resources
|
|
- Project documentation
|
|
- Package repository metadata
|
|
|
|
## Important Notes
|
|
|
|
- The site doubles as a software distribution platform with integrated APT repository
|
|
- All content changes require rebuilding and redeploying the Docker container
|
|
- The Kubernetes deployment uses rolling updates for zero-downtime deployments
|
|
- Package distribution is handled through static file serving from `/static/apt/`
|
|
- UI releases are distributed via JSON manifest and tarball system |