Show rendered documentation in backend

Maintainers

Package info

github.com/georgringer/docs

Type:typo3-cms-extension

pkg:composer/georgringer/docs

Transparency log

Statistics

Installs: 489

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2026-04-13 08:11 UTC

This package is auto-updated.

Last update: 2026-07-07 05:30:33 UTC


README

TYPO3 backend extension that adds a documentation toolbar button. Clicking the button opens the project documentation in an iframe modal.

Features

  • Toolbar icon in the TYPO3 backend (help icon)
  • Opens the project documentation in a modal iframe
  • Documentation is served only to authenticated backend users — the HTML lives in a non-public directory and is streamed through a backend middleware (/typo3/docs/…), never from a publicly reachable _assets/ path
  • Fully translatable (EN/DE included)

How access protection works

The generated documentation is stored outside the public web root (see docPath below), so the web server cannot serve it directly. Requests to /typo3/docs/… are handled by DocsAssetMiddleware, which runs inside the backend request pipeline. It starts the backend user session, rejects the request with 403 when no user is logged in, guards against directory traversal, and otherwise streams the requested file with the correct MIME type. All relative assets (CSS/JS/images/sub-pages) resolve through the same protected path.

Configuration

The documentation directory can be changed in the TYPO3 Extension Manager or Install Tool under Admin Tools → Settings → Extension Configuration → docs.

Setting Default Description
docPath EXT:f_theme/Resources/Private/Docs/ Filesystem directory (EXT: path or absolute) with the generated daux HTML. Must not be publicly reachable.

Generating the documentation

The documentation is built with daux.io from the docs/ directory into the non-public target directory:

# Generate static HTML into a private directory (not below public/)
daux generate --destination=packages/f_theme/Resources/Private/Docs/

To also include auto-generated component documentation from TYPO3:

ddev typo3 fbase:component:documentation \
  packages/f_theme/Resources/Private/Ui \
  --format=markdown > docs/Inhalt/Komponenten.md

daux generate --destination=packages/f_theme/Resources/Private/Docs/

Do not generate into public/_assets/… anymore — files there are served directly by the web server without any authentication.

Installation

The package is included as a local path repository via Composer:

composer require georgringer/docs