Skip to content

Commit

Permalink
Update FluidViewHelper.rst (#436)
Browse files Browse the repository at this point in the history
  • Loading branch information
s2b authored Jul 4, 2024
1 parent 4d80e6d commit 8c19c5d
Showing 1 changed file with 7 additions and 51 deletions.
58 changes: 7 additions & 51 deletions Documentation/Maintainers/FluidViewHelper.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,60 +19,16 @@ to the TYPO3 Core, follow the
:ref:`TYPO3 Contribution Guide - Core Development <t3contribute:recommended-reading>`.


.. _fluid-viewhelper-reference-generation-schema:

The Fluid ViewHelper schema generator
=====================================

The PHP files defining the ViewHelpers are transferred into :file:`schema.xsd`
files. The package `fluid-schema-generator <https://github.com/TYPO3/Fluid.SchemaGenerator>`__
is responsible for this step, automatically executed via triggered GitHub actions. If information is missing in the
:file:`schema.xsd`, adjustments need to be made in the PHP files. :file:`schema.xsd` files are considered "read-only" due to their auto-generated nature. The information from the
:file:`schema.xsd` files can, if configured through plugins, also used by IDEs for context sensitive help in
editors etc.

You can generate the :file:`schema.xsd` files yourself for local testing, like this:

.. code-block:: bash
git clone [email protected]:typo3/typo3.git core
cd core
composer require -o -n --no-progress typo3/fluid-schema-generator
mkdir -p ../schemas/typo3fluid/fluid/latest
./bin/generateschema TYPO3Fluid\\\Fluid > ../schemas/typo3fluid/fluid/latest/schema.xsd
mkdir -p ../schemas/typo3/core/latest
./bin/generateschema TYPO3\\\CMS\\\Core > ../schemas/typo3/core/latest/schema.xsd
mkdir -p ../schemas/typo3/fluid/latest
./bin/generateschema TYPO3\\\CMS\\\Fluid > ../schemas/typo3/fluid/latest/schema.xsd
mkdir -p ../schemas/typo3/backend/latest
./bin/generateschema TYPO3\\\CMS\\\Backend > ../schemas/typo3/backend/latest/schema.xsd
The composer step will automatically require the Fluid Rendering Engine in the version
used by the Core version you fetched via GIT (by default, `main`).

.. _fluid-viewhelper-reference-generation-rst:

Generation of the reStructuredText files
=========================================

The :abbr:`rst (reStructuredText)` files get generated from the
:file:`schema.xsd` files (See section
:ref:`fluid-viewhelper-reference-generation-schema`) with the help of the
following tool:
`Fluid ViewHelper Documentation Generator <https://github.com/TYPO3-Documentation/fluid-documentation-generator>`.

Please note that the TYPO3 Core initially uses `reStructuredText` formatting
inside the phpDoc comments already, and this is passed on to the :file:`schema.xsd`
files with exactly that formatting.
IDEs may want to interpret these schemas with expected HTML or MarkDown syntax,
so you may see raw `reStructuredText` output in this case.
The generated Documentation for `docs.typo3.org` takes care of
transforming the generated :file:`.rst` files to HTML, by utilizing the
https://github.com/TYPO3-Documentation/render-guides project.

Generation of the reStructuredText files and JSON files
=======================================================

If any of the ViewHelper source code documentation is only contained in the :file:`schema.xsd` files but
not the generated standalone :file:`.rst` files, a bug in that generator may exist and needs adressing.
The `Fluid ViewHelper Documentation Generator <https://github.com/TYPO3-Documentation/fluid-documentation-generator>`
is responsible for creating both a directory structure of :abbr:`rst (reStructuredText)` files and
a json file for each documented Fluid namespace. The Fluid namespaces to be documented are configured
in JSON files in this repository, which also support combining multiple namespaces into one
(because `f:*` in TYPO3 combines both `EXT:fluid` and Fluid Standalone ViewHelpers).

.. _fluid-viewhelper-reference-generation-html:

Expand Down

0 comments on commit 8c19c5d

Please sign in to comment.