This is a reference repository showing the expected structure for a GitHub-based blog that works with the Waldium GitHub CMS integration.
.
├── README.md
└── _posts/
├── getting-started.md
├── example-post-with-images.md
├── advanced-features.md
└── welcome.md
All blog posts must be placed in the _posts/ directory at the root of your repository.
- Use lowercase with hyphens:
my-blog-post.md - Supported extensions:
.mdor.mdx - The filename (without extension) becomes the URL slug
Example: _posts/getting-started.md → URL: /posts/getting-started
Each markdown file must start with YAML frontmatter between --- delimiters:
---
title: "Your Post Title"
date: "2024-01-15"
excerpt: "A short description that appears in post listings"
tags: ["tag1", "tag2"]
categories: ["category1"]
coverImage: "/images/cover.jpg"
author:
name: "Author Name"
picture: "/images/author.jpg"
---title- Post title (string)date- Publication date (ISO 8601 format: "YYYY-MM-DD" or "YYYY-MM-DDTHH:mm:ssZ")
excerpt- Short description for listings (string)tags- Array of tag strings (string[])categories- Array of category strings (string[])coverImage- URL or path to cover image (string)author- Author information (object)name- Author name (string, required if author is provided)picture- Author avatar URL (string, optional)
See the _posts/ directory for complete examples:
welcome.md- Basic post with minimal frontmattergetting-started.md- Post with tags and categoriesexample-post-with-images.md- Post with cover image and authoradvanced-features.md- Post with all frontmatter options
After the frontmatter, write your post content in standard Markdown:
- Headers (
#,##,###) - Lists (ordered and unordered)
- Links and images
- Code blocks
- Blockquotes
- Tables
- And more!
- Use descriptive filenames:
my-awesome-post.mdnotpost1.md - Keep frontmatter consistent: Use the same date format, author structure, etc.
- Use tags wisely: Don't create too many unique tags
- Write good excerpts: 1-2 sentences that summarize the post
- Organize with categories: Use categories for broad topics, tags for specifics
- Push your posts to the
mainormasterbranch - Ensure your GitHub App is connected in the Waldium admin dashboard
- Select this repository in the Git Settings page
- Posts will appear on your blog automatically!
When you push changes to this repository, the webhook will automatically:
- Detect changed files in
_posts/ - Invalidate the cache for affected posts
- Make updates visible immediately on your blog
No need to wait for cache expiration!