t3docs/fluid-documentation-generator
Generates automatic TYPO3 Fluid ViewHelper reference documentation in RST. Configured via JSON files, it builds navigable RST pages plus a JSON index for Fluid namespaces and ViewHelpers, ready to render with TYPO3 render-guides.
render-guides), but not Laravel’s native stack (Blade, Markdown, or HTML). If your team uses Docusaurus, Markdown, or Laravel’s php artisan docs, this package introduces friction due to format mismatches.@param, @return, @description). Laravel’s Blade components or non-Fluid PHP classes would need retroactive annotation, adding technical debt if not already documented.render-guides for rendering), which is non-standard for Laravel.phpDocumentor + custom templates).render-guides).| Risk Area | Assessment | Mitigation Strategy |
|---|---|---|
| Format Lock-in | RST is not Laravel’s native format. Converting to Markdown/HTML requires custom scripts or manual effort. | Evaluate post-processing scripts (e.g., pandoc) or abandon RST if Laravel’s ecosystem is the priority. |
| PHPDoc Requirements | ViewHelpers must have PHPDoc annotations. Missing or incomplete docs will break generation. | Enforce PHPDoc standards in PR templates or CI checks (e.g., roave/phpstan-static-analysis). |
| Fluid Dependency | Requires Fluid 2.12+ (or TYPO3 11+). Older Laravel projects using custom templating may lack compatibility. | Audit Fluid version support in Laravel’s dependencies. If using Fluid, ensure version alignment. |
| CI/CD Complexity | Generating docs in CI adds build time. Large codebases may slow pipelines. | Optimize by: |
main).artisan commands, no Vite/Inertia support). | Treat as a standalone CLI tool—integrate via custom scripts or GitHub Actions workflows. |phpDocumentor, erusev/parsedown-extra).# GitHub Actions example
- name: Generate Fluid Docs
run: composer exec fluidDocumentation generate config/*.json
if: github.ref == 'refs/heads/main'
| Component | Fit Level | Notes |
|---|---|---|
| Laravel (Blade/Twig) | ❌ Low | No native support. Requires Fluid integration layer (e.g., Laravel Fluid) or abandonment. |
| TYPO3 (Fluid) | ✅ High | Designed for TYPO3’s ecosystem. Works out-of-the-box with TYPO3 extensions, Fluid Standalone, or custom ViewHelpers. |
| PHP Classes | ⚠️ Medium | Only works for Fluid ViewHelpers (not generic PHP classes). Requires PHPDoc annotations and Fluid namespace structure. |
| CI/CD (GitHub Actions, GitLab CI) | ✅ High | CLI tool is easy to integrate into pipelines. |
| Documentation Tools | ⚠️ Medium | RST/Sphinx: Perfect for TYPO3. Markdown/HTML: Requires post-processing (e.g., pandoc). |
| Monorepos | ✅ High | Supports multiple config files for multi-package documentation. Ideal for large TYPO3 projects. |
composer require --dev t3docs/fluid-documentation-generator
{
"name": "MyTYPO3Extension",
"namespaceAlias": "myext",
"targetNamespace": "http://typo3.org/ns/Vendor/MyExtension/ViewHelpers"
}
vendor/bin/fluidDocumentation generate config/*.json
fluidDocumentationOutput/ (customizable via FLUID_DOCUMENTATION_OUTPUT_DIR).render-guides:
render-guides for final rendering.- name: Generate Documentation
run: |
composer install --dev
vendor/bin/fluidDocumentation generate config/*.json
laravel-fluid/fluid).phpDocumentor for PHPHow can I help you explore Laravel packages today?