All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: kjuulh <contact@kjuulh.io>
85 lines
1.9 KiB
Markdown
85 lines
1.9 KiB
Markdown
# Kasper Hermansen's Blog
|
|
|
|
A personal blog built with Zola (static site generator) and deployed using containerized CI/CD with Dagger.
|
|
|
|
## Prerequisites
|
|
|
|
- **mise** - Development environment manager
|
|
- **Rust** - For running Dagger CI
|
|
- **Docker** - For containerization
|
|
|
|
## Development
|
|
|
|
### Quick Start
|
|
|
|
```bash
|
|
# Install dependencies and start dev server
|
|
mise run dev
|
|
```
|
|
|
|
This will:
|
|
- Start Zola dev server on http://localhost:1111
|
|
- Watch and compile Tailwind CSS changes
|
|
- Show draft posts
|
|
|
|
### Available Commands
|
|
|
|
```bash
|
|
mise run dev # Start development server with live reload
|
|
mise run ci:pr # Run CI build for pull requests
|
|
mise run ci:main # Run full CI pipeline (build + deploy)
|
|
```
|
|
|
|
## Deployment
|
|
|
|
The blog uses a fully automated CI/CD pipeline built with Dagger (Rust SDK).
|
|
|
|
### Manual Deployment
|
|
|
|
```bash
|
|
# Build and deploy to production
|
|
(cd ci && cargo build)
|
|
./ci/target/debug/ci main
|
|
```
|
|
|
|
This will:
|
|
1. Compile Tailwind CSS styles
|
|
2. Build static site with Zola
|
|
3. Package with Caddy web server
|
|
4. Push Docker image to registry
|
|
5. Update deployment configuration in git
|
|
|
|
### Automated Deployment
|
|
|
|
Pushing to `main` branch triggers automatic deployment via CI.
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
├── content/posts/ # Blog posts (Markdown with YAML frontmatter)
|
|
├── templates/ # Zola templates (Tera)
|
|
├── static/ # Static assets
|
|
├── styles/ # Tailwind CSS source
|
|
├── ci/ # Dagger CI/CD pipeline (Rust)
|
|
├── deployment/ # Caddy server configuration
|
|
├── config.toml # Zola configuration
|
|
└── mise.toml # Development tasks
|
|
```
|
|
|
|
## Adding Content
|
|
|
|
Create a new post in `content/posts/`:
|
|
|
|
```markdown
|
|
+++
|
|
title = "Your Post Title"
|
|
description = "Brief description"
|
|
date = 2025-01-01
|
|
draft = false
|
|
[taxonomies]
|
|
tags = ["rust", "development"]
|
|
+++
|
|
|
|
Your content here...
|
|
```
|