mirror of
https://github.com/softinio/softinio.com.git
synced 2025-09-05 11:16:41 -07:00
83 lines
2.3 KiB
Markdown
83 lines
2.3 KiB
Markdown
|
# CLAUDE.md
|
||
|
|
||
|
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||
|
|
||
|
## Overview
|
||
|
|
||
|
This is a personal blog and portfolio website for Salar Rahmanian (softinio.com) built with Zola static site generator, managed with Nix Flakes, and deployed to Cloudflare Pages.
|
||
|
|
||
|
## Commands
|
||
|
|
||
|
### Development
|
||
|
```bash
|
||
|
# Enter development shell with all dependencies
|
||
|
nix develop
|
||
|
|
||
|
# Start local development server
|
||
|
zola serve
|
||
|
|
||
|
# Build the site
|
||
|
zola build
|
||
|
```
|
||
|
|
||
|
### Building with Nix
|
||
|
```bash
|
||
|
# Build the site using Nix
|
||
|
nix build
|
||
|
|
||
|
# The output will be in result/
|
||
|
|
||
|
# Update flake inputs to latest versions
|
||
|
nix flake update
|
||
|
```
|
||
|
|
||
|
### Deployment
|
||
|
```bash
|
||
|
# Deploy to Cloudflare Pages
|
||
|
wrangler pages deploy public/
|
||
|
```
|
||
|
|
||
|
### Testing
|
||
|
```bash
|
||
|
# Check for broken links and validate build
|
||
|
zola check
|
||
|
```
|
||
|
|
||
|
### CI/CD
|
||
|
|
||
|
This project uses GitHub Actions for continuous integration and deployment:
|
||
|
|
||
|
- **Main branch pushes**: Deploys directly to production (https://www.softinio.com)
|
||
|
- **Pull requests**: Deploys to preview URLs (https://[branch-name].softinio.com)
|
||
|
- **Other branch pushes**: No deployment (only builds on PR creation)
|
||
|
|
||
|
Required secrets in GitHub repository settings:
|
||
|
- `CLOUDFLARE_ACCOUNT_ID`: Your Cloudflare account ID
|
||
|
- `CLOUDFLARE_API_TOKEN`: Cloudflare API token with Pages:Edit permissions
|
||
|
|
||
|
## Architecture
|
||
|
|
||
|
### Technology Stack
|
||
|
- **Static Site Generator**: Zola (Rust-based) - NOT Hugo
|
||
|
- **Theme**: Tabi theme (pinned to specific commit in flake.nix)
|
||
|
- **Package Management**: Nix Flakes
|
||
|
- **Hosting**: Cloudflare Pages
|
||
|
- **Comments**: Isso (self-hosted at comments.softinio.com)
|
||
|
- **Analytics**: Matomo (self-hosted at wisdom.softinio.com)
|
||
|
|
||
|
### Content Structure
|
||
|
- `content/post/`: Main blog articles with full metadata
|
||
|
- `content/projects/`: Project showcase pages
|
||
|
- `content/talks/`: Conference presentations
|
||
|
- `content/til/`: "Today I Learned" short posts
|
||
|
- `content/archived/`: Archived posts
|
||
|
|
||
|
### Key Configuration Files
|
||
|
- `config.toml`: Zola site configuration with theme settings, CSP headers, and integrations
|
||
|
- `flake.nix`: Nix development environment and build configuration
|
||
|
- `wrangler.toml`: Cloudflare deployment configuration
|
||
|
|
||
|
### Template Customizations
|
||
|
- `templates/partials/custom_header.html`: Matomo analytics integration
|
||
|
- `templates/shortcodes/`: YouTube and PeerTube video embedding
|
||
|
- `templates/subscribe.html`: Newsletter subscription page
|