CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
This is a Jekyll-based blog hosted on GitHub Pages, using the Neo-HPSTR theme. The site belongs to Micah Rairdon (Tiberriver256) and primarily focuses on PowerShell, software development, and technology topics.
Common Development Commands
Jekyll Development
- Local development:
bundle exec jekyll serve
- Build for production:
bundle exec jekyll build
- Install dependencies:
bundle install
Content Management
- New posts: Create markdown files in
_posts/
following the naming conventionYYYY-MM-DD-title.md
- Post front matter: Include
published
,layout
,title
,description
,modified
,tags
, andcategories
- Images: Store in
images/
directory, reference using the custom `
` tag
Architecture and Structure
Content Organization
- Posts:
_posts/
- Blog articles in markdown with YAML front matter - Layouts:
_layouts/
- HTML templates (post.html, page.html, post-index.html) - Includes:
_includes/
- Reusable components (head.html, header.html, footer.html, etc.) - Assets:
assets/css/
andassets/js/
for stylesheets and JavaScript - Images:
images/
with subdirectories for each post’s assets
Key Features
- Automatic OG image generation: Uses Cloudinary API for dynamic social media images
- Giscus comments: Integrated GitHub-based commenting system
- Search functionality: JSON-based search via
search.json
- RSS feed: Generated at
/feed.xml
- Google Analytics: Configured with tracking ID G-4DS8LE3MB2
Configuration
- Main config:
_config.yml
contains site settings, owner info, and Jekyll configuration - Dependencies:
Gemfile
specifies Jekyll 3.9.0 and github-pages ~209 for compatibility - Permalink structure:
/:categories/:title/
- Pagination: 5 posts per page
Custom Image Handling
The site uses a sophisticated Cloudinary-based system for generating social media images:
- Logo overlay in top-right corner
- Dynamic title and subtitle text
- Gravatar integration
- Background image from
site.ogImageBackground
Theme Integration
Based on Neo-HPSTR Jekyll theme with customizations:
- Responsive design with mobile support
- Syntax highlighting support
- Social sharing integration
- Custom 404 page
Content Guidelines
For comprehensive writing guidelines, refer to .github/instructions/writers-guide.instructions.md
and use the editorial review chatmode at .github/chatmodes/editor-review.chatmode.md
.
Post Creation Process
- File naming:
YYYY-MM-DD-title-slug.md
in_posts/
directory - Use post template:
```yaml
—
published: true
layout: post
title: “Your Title Here”
description: “SEO description (150-160 chars max)”
modified: YYYY-MM-DD
tags:
- Tag1
- Tag2 categories:
-
Category
```
SEO Requirements
- Title: 50-60 characters (6-10 words ideal)
- Description: 150-160 characters maximum
- Tags: 2-5 relevant tags maximum
- Keywords: Include primary keyword naturally in title, description, and content
Content Structure Standards
- Opening: Hook the reader immediately
- Problem/Context: Clearly define what you’re addressing
- Solution/Content: Provide detailed, actionable value
- Conclusion: Summarize key takeaways
Writing Style (Strunk & White + Zinsser)
- Clarity over cleverness: “Clear thinking becomes clear writing”
- Omit needless words: Delete 10% of words each revision pass
- Active voice: “Who does what?” structure
- Unity of design: One paragraph = one topic
- Write to one reader: Personal, conversational tone
- Read aloud: Test for logic jumps and rhythm
Image Management
- Storage:
images/[post-slug]/filename.ext
- Reference: `
`
- Path format: Filename only (not full URL or folder)
- Cloudinary handles automatic optimization and social media image generation
Guest Posts
- Include attribution:
> Guest post authored by [Name](url). Additional context.
- Follow same SEO and content structure guidelines