Initial commit: CHORUS PING! blog

- Next.js 14 blog application with theme support
- Docker containerization with volume bindings
- Traefik integration with Let's Encrypt SSL
- MDX support for blog posts
- Theme toggle with localStorage persistence
- Scheduled posts directory structure
- Brand guidelines compliance with CHORUS colors

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
anthonyrawlins
2025-08-27 14:46:26 +10:00
commit 6e13451dc4
63 changed files with 12242 additions and 0 deletions

147
README.md Normal file
View File

@@ -0,0 +1,147 @@
# CHORUS Blog
A static blog built with Next.js for sharing insights about contextual AI orchestration, agent coordination, and intelligent systems.
## Features
- **Static Blog Posts**: Markdown-based blog posts with MDX support
- **CHORUS Brand Styling**: Consistent with the main CHORUS design system
- **SEO Optimized**: Full metadata, OpenGraph, and Twitter Card support
- **Responsive Design**: Mobile-first design that works on all devices
- **Typography**: Clean, readable typography optimized for technical content
- **Code Highlighting**: Syntax highlighting for code blocks
- **Fast Performance**: Optimized build with static generation
## Development
### Quick Start
```bash
# Start the development server
./dev-start.sh
# Or manually
npm install
npm run dev
```
The blog will be available at `http://localhost:3002`
### Adding Blog Posts
1. Create a new `.md` file in `content/posts/`
2. Add frontmatter with metadata:
```yaml
---
title: "Your Post Title"
description: "Brief description of the post"
date: "2025-01-27"
author:
name: "Author Name"
role: "Author Role"
tags: ["tag1", "tag2", "tag3"]
featured: false
---
```
3. Write your content in Markdown
4. The post will automatically appear on the blog
### Project Structure
```
├── app/ # Next.js app directory
│ ├── posts/[slug]/ # Dynamic blog post pages
│ ├── layout.tsx # Root layout
│ └── page.tsx # Homepage
├── components/ # React components
│ ├── BlogHeader.tsx # Site header
│ ├── BlogFooter.tsx # Site footer
│ └── PostCard.tsx # Blog post card
├── content/posts/ # Blog post markdown files
├── lib/ # Utilities
│ └── blog.ts # Blog post handling
├── types/ # TypeScript types
└── public/ # Static assets
```
## Deployment
### Docker
```bash
# Build the Docker image
npm run docker:build
# Run with Docker Compose
npm run docker:compose
```
### Production Build
```bash
npm run build
npm start
```
The blog uses Next.js's static generation features for optimal performance.
## Configuration
### Tailwind CSS
The blog uses the same Tailwind configuration as the main CHORUS website, ensuring brand consistency. The configuration includes:
- CHORUS color palette (carbon, mulberry, ocean, etc.)
- Typography scale and font families
- Custom spacing and sizing utilities
- Blog-specific prose styling
### Environment Variables
No environment variables are required for basic operation. The blog is designed to work as a static site.
## Brand Guidelines
The blog follows the CHORUS brand guidelines:
- **Colors**: Carbon (grays), Mulberry (purples), Ocean (blues)
- **Typography**: Inter Tight for body text, Exo for headings
- **Logo**: Consistent CHORUS branding
- **Spacing**: Golden ratio-based spacing system
## Adding New Features
### New Page Types
Create new pages in the `app/` directory following Next.js 13+ app router conventions.
### Custom Components
Add new components to the `components/` directory. All components should:
- Use TypeScript
- Follow the existing naming conventions
- Be responsive by default
- Use CHORUS brand colors and typography
### Styling
- Use Tailwind CSS classes
- Reference the existing design tokens
- Maintain consistency with the CHORUS brand
## Production Deployment
The blog is configured for deployment with:
- **Docker**: Multi-stage build for production
- **Traefik**: Reverse proxy with Let's Encrypt SSL
- **Docker Swarm**: Container orchestration
Production URL: `https://blog.chorus.services`
## License
Proprietary - CHORUS Services