Skip to content

dirnbauer/blog

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,034 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TYPO3 Blog Extension

TYPO3 14 PHP License

A blog extension for TYPO3 built entirely on core concepts — pages as posts, content elements for article bodies, and categories/tags for organization. If you know TYPO3, you already know how to use this blog.

Upgrading a sitepackage from a previous version? The renderPlugin section in the shipped templates moved to tt_content.{listType}.20 for TYPO3 v14 workspace safety. See Development: Template migration notes for the rationale and the one-line template change.

Requirements

Blog Extension TYPO3 PHP
14.x 14.x >= 8.2

Features

  • Pages as blog posts — Blog entries are pages with a dedicated page type (doktype 137). Create and manage them in the page module like any other page.
  • All content elements — Use every content element and backend layout you already have. No proprietary content model.
  • Categories and tags — Organize posts with TYPO3 system categories and custom tags. Filter and list by category, tag, author, or date.
  • Authors — Multi-author support with avatars (Gravatar or uploaded image), social links, bio, and dedicated author pages.
  • Comments — Built-in comment system with moderation workflow (pending/approved/declined), Google reCAPTCHA support, and email notifications.
  • Workspace support — Full TYPO3 Workspaces integration. Stage blog posts, tags, and authors before publishing. Comments remain live-editable.
  • 20+ plugins — List posts, sidebar, archive, related posts, header/footer, comment form, and widget plugins — all usable as standalone content elements.
  • 3 backend modules — Dedicated modules for post overview, comment management, and blog setup wizard.
  • Customizable templates — Fluid-based templates. Override any template in your sitepackage.
  • RSS feeds — Built-in feed support with featured images.
  • Routing — Ships with frontend route enhancers for clean URLs.
  • SEO — Structured data, meta tags, and social sharing support.

Installation

composer require t3g/blog

Then add the Blog site set to your site configuration.

For detailed setup instructions, see the documentation. For local contribution and testing, see the development guide.

Quick Start

  1. Install via Composer
  2. Go to Blog > Setup in the TYPO3 backend
  3. Use the Setup Wizard to create a fully configured blog instance
  4. Start writing posts

For manual integration into an existing site, see the Manual Setup guide.

Workspace Support

The extension supports TYPO3 Workspaces for editorial staging workflows:

Table Behavior
Blog posts (pages) Fully versioned
Tags Fully versioned
Authors Fully versioned
Comments Always live-editable
Categories Fully versioned (core)

See the Workspace documentation for details.

Development

The repository no longer ships a tracked DDEV setup. Use any local TYPO3 v14 environment with PHP 8.2+, MySQL or MariaDB, Composer, and Node.js.

# Install dependencies
composer update
npm ci

# Build frontend assets
npm run build

# Run PHP test suites
composer test:php:lint
composer test:php:unit
composer test:php:functional

# Static analysis
composer phpstan

# Code style
composer cgl
composer cgl:fix

Functional tests

The functional test runner defaults to a local MySQL or MariaDB instance on 127.0.0.1:3306 with database t3func and credentials root / root.

Override those variables when your setup differs:

export typo3DatabaseHost=127.0.0.1
export typo3DatabasePort=3306
export typo3DatabaseName=t3func
export typo3DatabaseUsername=root
export typo3DatabasePassword=root
export typo3DatabaseDriver=mysqli

composer test:php:functional

Browser smoke tests

Playwright smoke tests target any running TYPO3 instance and are not tied to a specific local stack:

export BLOG_BASE_URL=https://example.test
export BLOG_LIST_PATH=/blog1/
export BLOG_POST_PATH=/blog1/first-blog-post

npm run playwright:install
npm run test:e2e

Contributing

  • Report bugs and request features on GitHub
  • Join #t3g-ext-blog on TYPO3 Slack
  • Pull requests welcome — fork, branch, and submit

License

GPL-2.0-or-later. See LICENSE for details.

About

This blog extension uses TYPO3s core concepts and elements to provide a full-blown blog that users of TYPO3 can instantly understand and use.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • PHP 75.2%
  • HTML 20.9%
  • SCSS 2.0%
  • JavaScript 1.1%
  • TypeScript 0.4%
  • Shell 0.3%
  • CSS 0.1%