Blog Technical Details

This document provides technical details about the Blog feature, primarily for developers or for advanced configuration after deployment.

Content Organization

Blog posts are stored as Markdown files in the content/blog directory. Subdirectories can be used to organize posts by category.

Example structure:

content/
└── blog/
    ├── first-post.md
    └── category-name/
        └── another-post.md

Front-matter Fields

Each blog post Markdown file supports a front-matter section at the beginning to define metadata. The following fields are recognized by the system:

  • title: (String) The title of the post.
  • description: (String) A short description of the post.
  • date: (Date) The publication date of the post.
  • image: (Object) Contains an src property (String) pointing to the post's main image.
  • authors: (Array of Objects) Each object has name (String), to (String, link to author's page), and avatar (Object with src property, String).
  • badge: (Object) Contains a label property (String) to display a badge on the post.
  • published: (Boolean) Controls the visibility of the post. Set to true for published, false for drafts.

Example Front-matter:

---
title: My First Blog Post
description: This is the description of my first blog post.
date: 2025-12-14
image:
  src: /images/blog/post1.jpg
authors:
  - name: John Doe
    to: /authors/john-doe
    avatar:
      src: /images/avatars/john-doe.jpg
badge:
  label: "New"
published: true
---

Internationalization (i18n)

The blog feature is integrated with the project's i18n system. Supported locales are en, de, and fr. To provide translated versions of a post, append a language-specific suffix to the filename (e.g., first-post.de.md for the German version of first-post.md).

The system automatically manages language switching and displays the appropriate content based on user preferences or detected language.

RSS, Atom, and JSON Feeds

The blog automatically generates syndicated feeds to allow users to subscribe to new content. These feeds are available at the following endpoints:

  • /blog/rss.xml
  • /blog/atom.xml
  • /blog/feed.json

Need a Landing Page?

Modern landing pages with optional modules (blog, docs, forms, i18n). Let's discuss your project.

Build Your MVP

Full-stack SaaS development. Expert in database design, multi-tenancy, and scalable architecture.

Deployment Help

Dockerize your backend, set up CI/CD pipelines, deploy to Cloudflare or Hetzner. Early-stage setup.

Suggest a SaaS Tool

Missing a calculator or tool? Suggest what you'd like to see on our site.