-
Notifications
You must be signed in to change notification settings - Fork 104
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
7 additions
and
51 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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: | ||
|
||
|