documentation/blog/README.md
This guide explains how to write and structure blog posts for the goose documentation site.
git clone https://github.com/aaif-goose/goose.git
cd goose
cd documentation
npm install
Blog posts are organized by date using the following format:
YYYY-MM-DD-post-title/
├── index.md
└── images/
Example:
2025-05-22-llm-agent-readiness/
├── index.md
└── llm-agent-test.png
Each blog post must begin with YAML frontmatter that includes:
---
title: Your Blog Post Title
description: A brief description of your post (1-2 sentences)
authors:
- your_author_id
---
The authors field should match your ID in the authors.yml file. Multiple authors can be listed. More info on authors.
After the frontmatter, include a header image using Markdown:

The header image should be:
Start with 1-2 paragraphs introducing the topic before the truncate tag. This will be what's shown on the blog index page.
Add the truncate tag after your introduction to create a "read more" break:
<!-- truncate -->
Use headers to organize your content hierarchically:
# (H1) - Used only for the post title in frontmatter## (H2) - Main sections### (H3) - Subsections#### (H4) - Minor sections (these will not show on the right nav bar)Use fenced code blocks with language specification:
```javascript
// Your code here
```
Include additional images using Markdown:

At the end of your post, include the following meta tags for social media sharing:
<head>
<meta property="og:title" content="Your Blog Post Title" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://goose-docs.ai/blog/YYYY/MM/DD/post-slug" />
<meta property="og:description" content="Your blog post description" />
<meta property="og:image" content="https://goose-docs.ai/assets/images/your-image.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:domain" content="goose-docs.ai" />
<meta name="twitter:title" content="Your Blog Post Title" />
<meta name="twitter:description" content="Your blog post description" />
<meta name="twitter:image" content="https://goose-docs.ai/assets/images/your-image.png" />
</head>
To add yourself as an author:
authors.yml in the blog directoryyour_author_id:
name: Your Full Name
title: Your Title
image_url: https://avatars.githubusercontent.com/u/your_github_id?v=4
url: https://your-website.com # Optional
page: true
socials:
linkedin: your_linkedin_username
github: your_github_username
x: your_twitter_handle
bluesky: your_bluesky_handle # Optional
Writing Style
Technical Content
Formatting
Review Process
To preview your blog post locally:
cd documentation
npm start
http://localhost:3000/blog
The development server features:
If you make changes to your blog post while the server is running, the page will automatically refresh to show your updates.
If you encounter issues:
npm install
npm run clear
npm start