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"
|
name = "My Cooking Show"
|
||||||
url = "https://www.youtube.com/@RandomRecipeProject"
|
url = "https://www.youtube.com/@RandomRecipeProject"
|
||||||
[[params.social]]
|
[[params.social]]
|
||||||
icon = "message-circle"
|
icon = "brand-mastodon"
|
||||||
name = "Mastodon"
|
name = "Mastodon"
|
||||||
url = "https://toots.kestrelsnest.social/@eric"
|
url = "https://toots.kestrelsnest.social/@eric"
|
||||||
[[params.social]]
|
[[params.social]]
|
||||||
icon = "message-circle"
|
icon = "brand-bluesky"
|
||||||
name = "BlueSky"
|
name = "BlueSky"
|
||||||
url = "https://bsky.app/profile/ewagoner.bsky.social"
|
url = "https://bsky.app/profile/ewagoner.bsky.social"
|
||||||
[[params.social]]
|
[[params.social]]
|
||||||
@@ -37,23 +37,23 @@ theme = "m10c"
|
|||||||
name = "My Podcasts"
|
name = "My Podcasts"
|
||||||
url = "https://podcasts.kestrelsnest.social"
|
url = "https://podcasts.kestrelsnest.social"
|
||||||
[[params.social]]
|
[[params.social]]
|
||||||
icon = "youtube"
|
icon = "brand-youtube"
|
||||||
name = "Personal YouTube"
|
name = "Personal YouTube"
|
||||||
url = "https://youtube.com/ewagoner"
|
url = "https://youtube.com/ewagoner"
|
||||||
[[params.social]]
|
[[params.social]]
|
||||||
icon = "linkedin"
|
icon = "brand-linkedin"
|
||||||
name = "LinkedIn"
|
name = "LinkedIn"
|
||||||
url = "https://www.linkedin.com/in/wagonereric/"
|
url = "https://www.linkedin.com/in/wagonereric/"
|
||||||
[[params.social]]
|
[[params.social]]
|
||||||
icon = "github"
|
icon = "brand-github"
|
||||||
name = "Github"
|
name = "Github"
|
||||||
url = "https://github.com/ewagoner"
|
url = "https://github.com/ewagoner"
|
||||||
[[params.social]]
|
[[params.social]]
|
||||||
icon = "git-branch"
|
icon = "brand-gitea"
|
||||||
name = "Gitea"
|
name = "Gitea"
|
||||||
url = "https://git.kestrelsnest.social/eric"
|
url = "https://git.kestrelsnest.social/eric"
|
||||||
[[params.social]]
|
[[params.social]]
|
||||||
icon = "facebook"
|
icon = "brand-facebook"
|
||||||
name = "Facebook"
|
name = "Facebook"
|
||||||
url = "https://facebook.com/ewagoner"
|
url = "https://facebook.com/ewagoner"
|
||||||
[[params.social]]
|
[[params.social]]
|
||||||
|
@@ -8,7 +8,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<meta name="author" content="{{ .Site.Params.author | default "John Doe" }}" />
|
<meta name="author" content="{{ .Site.Params.author | default "John Doe" }}" />
|
||||||
<meta name="description" content="{{ if .IsHome }}{{ .Site.Params.description }}{{ else }}{{ .Description }}{{ end }}" />
|
<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 }}" />
|
<link rel="stylesheet" href="{{ $style.RelPermalink }}" />
|
||||||
{{ range .AlternativeOutputFormats -}}
|
{{ range .AlternativeOutputFormats -}}
|
||||||
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
|
{{ 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