Navigate privacy laws with feline precision — detect every boundary, respect every territory! GDPR compliance and privacy protection for WordPress. - Cookie consent management - Privacy boundary detection - GDPR-compliant analytics gating - Cross-plugin consent coordination (integrates with TigerStyle Heat) - Visitor preference tracking - Configurable cookie categories Includes build.sh and .distignore for WordPress-installable release ZIPs.
4.8 KiB
4.8 KiB
TigerStyle Whiskers Documentation - Developer Guide
This guide is for developers who need to build, deploy, or contribute to the documentation site.
🐳 Docker Deployment
Prerequisites
- Docker and Docker Compose
- Caddy Docker Proxy network setup
- Domain configured for
whiskers.$DOMAIN
Quick Deployment
# Build and start the container
docker compose up -d
# Check container status
docker compose ps
# View logs
docker compose logs tigerstyle-whiskers-docs
# Stop and remove
docker compose down
Domain Access
The container is configured to be accessible via Caddy Docker Proxy at:
https://whiskers.example.com
Replace example.com with your actual domain set in the DOMAIN environment variable.
🛠️ Development Setup
Local Development
npm install
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
Visit http://localhost:4323/whiskers to view the documentation.
Available Scripts
npm run astro # Run Astro CLI commands
npm run astro check # Validate configuration
🐳 Docker Architecture
Multi-stage Build
- Builder Stage: Node.js 18 Alpine for building the Astro site
- Production Stage: Caddy 2 Alpine for serving static files
Caddy Configuration
- Compression: Gzip encoding for all responses
- Security Headers: XSS protection, MIME sniffing prevention
- Caching: Aggressive caching for static assets (1 year)
- Health Check:
/healthendpoint for monitoring - SPA Routing: Fallback to
index.htmlfor client-side routing
Environment Variables
DOMAIN=example.com # Your base domain
NODE_ENV=production # Environment mode
SITE_TITLE=TigerStyle Whiskers Documentation
SITE_DESCRIPTION=WordPress GDPR Compliance Plugin Documentation
📁 Project Structure
docs/
├── public/ # Static assets
├── src/
│ ├── components/ # Astro components
│ │ └── AlpineInit.astro # Alpine.js initialization
│ ├── content/docs/ # Documentation content
│ └── assets/ # Images and other assets
├── astro.config.mjs # Astro configuration
├── package.json # Dependencies and scripts
├── Dockerfile # Multi-stage Docker build
├── Caddyfile # Caddy web server config
├── docker-compose.yml # Container orchestration
└── .dockerignore # Docker build exclusions
🚨 Troubleshooting
Container Issues
# Check container logs
docker compose logs tigerstyle-whiskers-docs
# Verify Caddyfile syntax
docker run --rm -v $(pwd)/Caddyfile:/etc/caddy/Caddyfile caddy:2-alpine caddy validate --config /etc/caddy/Caddyfile
# Check health status
docker inspect tigerstyle-whiskers-docs --format '{{.State.Health.Status}}'
Build Issues
# Clear npm cache
npm cache clean --force
# Remove node_modules and reinstall
rm -rf node_modules package-lock.json
npm install
# Check Node.js version
node --version # Should be 18+
Deployment Issues
- Verify Caddy Docker Proxy network exists:
docker network ls - Check domain DNS configuration
- Ensure
DOMAINenvironment variable is set
📈 Performance Optimization
Build Optimizations
- Tree-shaking for unused code elimination
- Minification of CSS and JavaScript
- Image optimization and responsive images
- Critical CSS inlining
Serving Optimizations
- Caddy's efficient static file serving
- Gzip compression (6 levels)
- Browser caching headers
- CDN-ready static assets
🔧 Content Management
Adding New Pages
- Create Markdown/MDX file in appropriate
src/content/docs/subdirectory - Add frontmatter with title and description
- Update sidebar navigation in
astro.config.mjsif needed - Build and test locally
Interactive Components
Alpine.js stores in src/components/AlpineInit.astro:
- Consent Demo: Privacy banner simulation
- Privacy Configurator: Settings generator
- Compliance Checker: Audit checklist
- Cookie Explorer: Cookie category browser
- Geographic Simulator: Location-based compliance
🤝 Contributing to Documentation
- Edit content in
src/content/docs/ - Test changes locally with
npm run dev - Build and test production version with
npm run build && npm run preview - Commit changes to version control
The documentation automatically rebuilds when the container is restarted.