Compare commits
3 Commits
718ffb1638
...
4da84c12ca
Author | SHA1 | Date | |
---|---|---|---|
|
4da84c12ca | ||
|
ebc5c77b92 | ||
|
2083d5931b |
11
.claude/settings.local.json
Normal file
11
.claude/settings.local.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(hugo:*)",
|
||||
"Bash(find:*)",
|
||||
"Bash(cat:*)"
|
||||
],
|
||||
"deny": [],
|
||||
"ask": []
|
||||
}
|
||||
}
|
78
CLAUDE.md
Normal file
78
CLAUDE.md
Normal file
@@ -0,0 +1,78 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||
|
||||
## Project Overview
|
||||
|
||||
This is a personal blog built with Hugo static site generator. The site is deployed to https://blog.kestrelsnest.social and uses the "m10c" theme.
|
||||
|
||||
## Common Commands
|
||||
|
||||
### Development
|
||||
```bash
|
||||
# Start development server with drafts visible
|
||||
hugo server -D
|
||||
|
||||
# Start development server without drafts
|
||||
hugo server
|
||||
|
||||
# Kill existing Hugo server if port is in use
|
||||
pkill -f "hugo server"
|
||||
```
|
||||
|
||||
### Building
|
||||
```bash
|
||||
# Build the site to public/ directory
|
||||
hugo
|
||||
|
||||
# Build with drafts included
|
||||
hugo -D
|
||||
```
|
||||
|
||||
### Deployment
|
||||
```bash
|
||||
# Deploy to production (builds and syncs to server)
|
||||
./deploy
|
||||
```
|
||||
|
||||
The deploy script builds the site and uses rsync to sync the `public/` directory to the production server at `social:../../var/www/blog/www`. It uses the `--delete` flag to remove files on the server that aren't in the local public folder.
|
||||
|
||||
### Content Management
|
||||
```bash
|
||||
# Create a new blog post
|
||||
hugo new posts/my-new-post.md
|
||||
|
||||
# Create content using the default archetype
|
||||
hugo new content-name.md
|
||||
```
|
||||
|
||||
## Architecture & Structure
|
||||
|
||||
### Theme System
|
||||
The blog uses the "m10c" theme but has two additional themes available (henry, kestrel). Theme switching is done via `config.toml`.
|
||||
|
||||
### Content Organization
|
||||
- `/content/posts/` - Blog posts
|
||||
- `/content/now.md` - "Now" page showing current activities
|
||||
- `/content/then.md` - "Past" page with historical content
|
||||
- `/content/upcoming.md` - "Future" page with upcoming events
|
||||
- `/content/mytweets.md` - Local tweet archive page
|
||||
|
||||
### Menu Structure
|
||||
The site has four menu groups configured in `config.toml`:
|
||||
- **main**: Home and Tags navigation
|
||||
- **secondary**: Past, Now, Future pages
|
||||
- **tertiary**: Local Tweet Archive
|
||||
- **featured**: External links like the Random Recipe Project
|
||||
|
||||
### Key Configuration
|
||||
- Base URL: https://blog.kestrelsnest.social
|
||||
- Author: Eric Wagoner
|
||||
- Social links are configured in `config.toml` under `params.social`
|
||||
- Default Open Graph image: `/static/default-og.png`
|
||||
|
||||
## Important Notes
|
||||
|
||||
- The Hugo server automatically watches for changes in `/archetypes`, `/assets`, `/content`, `/data`, `/layouts`, `/static`, and `/themes`
|
||||
- Posts are created with draft status by default (controlled by archetype)
|
||||
- The site integrates with multiple social platforms and services in the Kestrel's Nest ecosystem
|
14
config.toml
14
config.toml
@@ -17,11 +17,11 @@ theme = "m10c"
|
||||
name = "My Cooking Show"
|
||||
url = "https://www.youtube.com/@RandomRecipeProject"
|
||||
[[params.social]]
|
||||
icon = "message-circle"
|
||||
icon = "brand-mastodon"
|
||||
name = "Mastodon"
|
||||
url = "https://toots.kestrelsnest.social/@eric"
|
||||
[[params.social]]
|
||||
icon = "message-circle"
|
||||
icon = "brand-bluesky"
|
||||
name = "BlueSky"
|
||||
url = "https://bsky.app/profile/ewagoner.bsky.social"
|
||||
[[params.social]]
|
||||
@@ -37,23 +37,23 @@ theme = "m10c"
|
||||
name = "My Podcasts"
|
||||
url = "https://podcasts.kestrelsnest.social"
|
||||
[[params.social]]
|
||||
icon = "youtube"
|
||||
icon = "brand-youtube"
|
||||
name = "Personal YouTube"
|
||||
url = "https://youtube.com/ewagoner"
|
||||
[[params.social]]
|
||||
icon = "linkedin"
|
||||
icon = "brand-linkedin"
|
||||
name = "LinkedIn"
|
||||
url = "https://www.linkedin.com/in/wagonereric/"
|
||||
[[params.social]]
|
||||
icon = "github"
|
||||
icon = "brand-github"
|
||||
name = "Github"
|
||||
url = "https://github.com/ewagoner"
|
||||
[[params.social]]
|
||||
icon = "git-branch"
|
||||
icon = "brand-gitea"
|
||||
name = "Gitea"
|
||||
url = "https://git.kestrelsnest.social/eric"
|
||||
[[params.social]]
|
||||
icon = "facebook"
|
||||
icon = "brand-facebook"
|
||||
name = "Facebook"
|
||||
url = "https://facebook.com/ewagoner"
|
||||
[[params.social]]
|
||||
|
@@ -8,7 +8,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="author" content="{{ .Site.Params.author | default "John Doe" }}" />
|
||||
<meta name="description" content="{{ if .IsHome }}{{ .Site.Params.description }}{{ else }}{{ .Description }}{{ end }}" />
|
||||
{{ $style := resources.Get "css/main.scss" | resources.ExecuteAsTemplate "css/main.scss" . | resources.ToCSS | resources.Minify | resources.Fingerprint -}}
|
||||
{{ $style := resources.Get "css/main.scss" | resources.ExecuteAsTemplate "css/main.scss" . | css.Sass | resources.Minify | resources.Fingerprint -}}
|
||||
<link rel="stylesheet" href="{{ $style.RelPermalink }}" />
|
||||
{{ range .AlternativeOutputFormats -}}
|
||||
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
|
||||
|
Submodule themes/m10c updated: 2ae407d845...862c6e941b
Reference in New Issue
Block a user