Skip to main content

Blog Posts — Content Reference

CMS Path: Blog Posts

Folder: content/posts/

Each blog post is an individual Markdown file in content/posts/. The Journal Page lists them all.

python ssg pro jamstack static site generator


What Is a Blog Post?​

A blog post is a single article — a tutorial, an update, a case study, an essay.

Each post has:

  • Metadata (title, date, author, tags)
  • A featured image
  • A full body (Markdown)

Post Fields​

FieldFile KeyWhat It Controls
LayoutlayoutTemplate used (do not change)
TitletitlePost title
DescriptiondescriptionShort summary for listings and SEO
ImageimageFeatured image (optional)
DatedatePublish date (used for sorting)
AuthorauthorAuthor name
TagstagsList of tags
BodybodyFull article content in Markdown

Field Details​

Title​

The post title. Keep it clear and specific.

Description​

A one- or two-sentence summary. Used in:

  • The Journal listing
  • Meta description for SEO
  • Social shares

Image​

The featured image for the post. Optional, but recommended.

  • Format: AVIF or WebP
  • Size: 1200×630 or 1600×900
  • File size: Under 200 KB

Date​

The publish date. Used for sorting. Format: YYYY-MM-DD.

Author​

The author's name. Default: Axcora.

Tags​

A list of tags. Used for:

  • Related posts
  • Tag pages (auto-generated)
  • Filtering

Body​

The full article in Markdown. This is where the content lives.


python ssg pro jamstack static site generator

How to Create a New Post​

  1. Open the CMS at /admin/

  2. Click Blog Posts in the sidebar

  3. Click New Blog Posts at the top

  4. Fill in all fields:

    • Title
    • Description
    • Image
    • Date
    • Author
    • Tags
    • Body
  5. Click Save

The post is saved as a Markdown file in content/posts/. It appears in the Journal listing after the next build.


How to Edit a Post​

  1. Click Blog Posts
  2. Click the post title in the list
  3. Edit any field
  4. Click Save

How to Delete a Post​

  1. Open the post
  2. Click the three-dot menu at the top right
  3. Click Delete entry
  4. Confirm

File Naming​

Decap CMS uses the Title field to generate the file name (slug). For example:

TitleFile Name
"Why Python Beats Node for Static Sites"why-python-beats-node-for-static-sites.md
"Migrate from Jekyll in 10 Minutes"migrate-from-jekyll-in-10-minutes.md

You can override the slug if needed by editing the file name manually in Git.


A strong blog post usually follows this structure:

  1. Hook — first sentence grabs attention
  2. Problem — what the reader is struggling with
  3. Solution — your answer, with examples
  4. Steps — numbered or bulleted
  5. Conclusion — recap and call to action

Use headings (##) to break it into scannable sections.


Best Practices​

  • Write a strong first sentence — most readers decide in 5 seconds
  • Use descriptive headings — not "Introduction", but "Why Python Beats Node"
  • Add code samples — for technical posts
  • Add images — visual breaks improve readability
  • Keep paragraphs short — 3–4 lines maximum
  • End with a call to action — link to Contact or Projects
  • Use 3–6 tags — enough for discovery, not too many

Tags do two things:

  1. Create tag pages — e.g., /tags/python/
  2. Power related posts — posts with shared tags appear as "Related Posts"

Use consistent tags. Examples:

  • python
  • jamstack
  • tutorial
  • migration
  • comparison
  • case-study

Troubleshooting​

Post does not appear in the Journal​

  1. Check that the file exists in content/posts/
  2. Confirm the frontmatter is valid YAML
  3. Check that the date field is filled in
  4. Rebuild the site

Image does not display​

  1. Confirm the image path starts with /img/
  2. Check that the file exists in static/img/
  3. Verify the image widget saved correctly

Tags do not create tag pages​

  1. Confirm tags has at least one item
  2. Check that the tag pages are generated in output/tags/
  3. Rebuild the site

Body content does not appear​

  1. Check the Body field is not empty
  2. Confirm the Markdown syntax is valid
  3. Rebuild the site

Post appears out of order​

  1. Check the date field — must be in YYYY-MM-DD format
  2. Check the Journal Page sort settings (sort_by: date, sort_order: desc)

Slug is wrong​

Decap CMS generates the slug from the Title. To customize:

  1. Rename the file manually in Git
  2. Or change the Title to influence the slug


What's Next?​

Now let's look at Media Uploads.

👉 Next: Media Uploads →