YYYY-MM-DD-post-title.mdbundle exec jekyll serve_posts/YYYY/YYYY-MM-DD-post-title.md
Posts are organized by year in subdirectories:
_posts/
├── 2025/ # 2025 posts
├── 2026/ # 2026 posts
└── YYYY/ # Future years
---
title: "Post Title"
layout: single
date: 2026-02-01
categories:
- web-development
tags:
- jekyll
- blogging
excerpt: "Brief post summary for archives and social sharing"
---
---
# Required Fields
title: "Complete Post Title"
layout: single
date: 2026-02-01
# Taxonomy
categories:
- software-development
- web-development
tags:
- jekyll
- ruby
- github-pages
# Content Description
excerpt: "Post summary that appears in archives and social media"
description: "SEO meta description (if different from excerpt)"
# Table of Contents
toc: true
toc_label: "Contents"
toc_icon: "cog"
toc_sticky: true
# Header Image
header:
image: /assets/images/banners/post-banner.jpg
teaser: /assets/images/banners/post-teaser.jpg
overlay_image: /assets/images/banners/post-overlay.jpg
overlay_filter: 0.4
caption: "Photo credit: [Source](https://example.com)"
# Social & SEO
author_profile: true
read_time: true
comments: true
share: false
related: true
show_date: true
# Special Options
published: true # false for drafts
permalink: /custom/url/ # Custom URL structure
redirect_from: # URL redirects
- /old-url/
- /another-old-url/
---
---
# Front matter here
---
Brief introduction paragraph that hooks the reader and sets context.
## Main Section Heading
Content with proper paragraph breaks and flow.
### Subsection
More detailed content with examples.
## Code Examples
\```language
code block here
\```
## Conclusion
Summary and call to action.
# H1 - Reserved for post title (automatic)
## H2 - Main sections
### H3 - Subsections
#### H4 - Sub-subsections (avoid going deeper)
# Internal links (relative)
[About page](/about/)
[Previous post](/2026/01/27/how-ai-actually-works/)
# External links
[Jekyll Documentation](https://jekyllrb.com/docs/)
# Link with title attribute
[GitHub](https://github.com "GitHub Homepage")
# Simple image

# Image with caption (Minimal Mistakes syntax)
{: .align-center}
*Image caption text*
# Responsive image
{: .img-responsive}
# Inline code
Use the `jekyll serve` command to start the development server.
# Fenced code blocks
\```bash
bundle exec jekyll serve --livereload
\```
# Code with line numbers
\```ruby {linenos=true}
def hello_world
puts "Hello, World!"
end
\```
# Unordered lists
- First item
- Second item
- Nested item
- Another nested item
# Ordered lists
1. First step
2. Second step
1. Sub-step
2. Another sub-step
# Task lists
- [x] Completed task
- [ ] Pending task
| Header 1 | Header 2 | Header 3 |
|----------|----------|----------|
| Cell 1 | Cell 2 | Cell 3 |
| Cell 4 | Cell 5 | Cell 6 |
> This is a blockquote.
> It can span multiple lines.
>
> — Author Name
Categories represent broad subject areas:
categories:
- software-development
- web-development
- productivity
- technology
- programming
- devops
- testing
Tags are specific topics within categories:
tags:
- jekyll
- ruby
- github-pages
- markdown
- css
- javascript
- automation
- workflows
# _pages/page-name.md
---
title: "Page Title"
permalink: /page-url/
layout: single
author_profile: true
---
Page content here...
/about/): Author and site information/posts/): Complete post archive/categories/): Category taxonomy/tags/): Tag taxonomy/disclaimer/): Legal disclaimer# Option 1: _drafts directory (not currently used)
mkdir _drafts
touch _drafts/draft-post-title.md
# Option 2: Future-dated post
touch _posts/2026/2026-03-01-future-post.md
# Option 3: Unpublished post
# Add to front matter: published: false
# Include drafts in build
bundle exec jekyll serve --drafts
# Include future posts
bundle exec jekyll serve --future
Jekyll automatically creates URLs from:
/YYYY/MM/DD/post-title/
This provides good SEO structure with date and descriptive slug.
Content Format: Markdown with YAML front matter
Organization: Year-based directory structure
Publishing: Git commit and push to deploy
Preview: Local Jekyll development server