Search by

michaelstaatz / fast-blog

Fast Blog: imports blog posts from Markdown files (with YAML frontmatter) in fileadmin and renders them as a paginated list and a detail view.

Maintainers

Package info

github.com/staatzstreich/fast_blog

Type:typo3-cms-extension

pkg:composer/michaelstaatz/fast-blog

Transparency log

Statistics

Installs: 9

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.3 2026-09-05 19:16 UTC

This package is auto-updated.

Last update: 2026-09-06 04:20:29 UTC


README

A TYPO3 v14 blog extension where posts are maintained as Markdown files with YAML frontmatter in your fileadmin area and imported into TYPO3 by a single CLI command. The website gets a paginated blog list with a tag filter and a detail view with a per-post language switcher.

Detailed documentation: Documentation/Index.rst (rendered docs in RenderedDocs/).

Features

  • Markdown files as source of truth – frontmatter carries title, date, description, author, tags, language and a translation key; draft: true hides a post in the database (afterwards the hidden flag stays under editorial control).
  • Import / re-importvendor/bin/typo3 fastblog:import picks up new and changed files; translated files (same translationKey) are linked as TYPO3 translations (l10n_parent).
  • Security – Markdown is rendered with league/commonmark at import time; raw HTML and unsafe links are stripped.
  • Editorial state preserved – re-importing a file never touches the backend hidden flag.
  • Multilingual by configuration – language handling reads entirely from the site configuration; no extension settings needed.
  • Theme-agnostic – the blog provides no navigation, footer or theme of its own; its stylesheet maps its color tokens onto the active theme's CSS variables (including daisyUI variables), with self-contained fallback values so it also works without a theme.
  • SEO – canonical URL listener keeps paginated/filtered list URLs canonical; meta description and focus keywords from the frontmatter.

Requirements

  • TYPO3 14.3+ (typo3/cms-seo for the canonical handling)
  • PHP 8.3+

Installation

  1. Install the extension (composer req michaelstaatz/fast-blog in your distribution).
  2. Create the blog storage folder (or reuse an existing one) and add the "Blog list" content element to a page – no TypoScript include required.
  3. Store your Markdown files in your fileadmin area, e.g. fileadmin/blog/:
---
title: All About Apples
pubDate: 2026-08-29
author: Jane Orchard
description: An overview of apple varieties.
meta_description: Learn about apple varieties from the orchard.
tags: [varieties]
lang: en
translationKey: apples
---

# All About Apples

The orchard speaks...
  1. Configure the source directory and the storage sysfolder pid in the extension settings (Admin Tools → Settings → Extension Configuration: outputDirectory and blogStoragePid; optionally postsPerPage for the list length), then import:
vendor/bin/typo3 fastblog:import

The import is idempotent – re-running picks up changes to existing files and skips unchanged ones.

  1. Optional – register an Extbase route enhancer for pretty URLs (/apple-blog/all-about-apples, /page/2, /tag/harvest), see the documentation.

Site package integration

The extension is a building block for a sitepackage/theme: its frontend labels are generic English and can be re-worded per project via the LANG.resourceOverrides mechanism in a sitepackage's ext_localconf.php; the blog element renders inside any backend layout. See the "Site package integration" chapter of the documentation.

License

GPL-2.0-or-later. See LICENSE.txt.