Note
This version of the guide covers the new PHP-based rendering of Documentation with the TYPO3 Documentation theme.
If the project you are looking at has a file Documentation/guides.xml it is using the new rendering.
Otherwise, consider to migrate the Documentation or head over to the legacy version of this guide: How to document, Sphinx based.
FAQ
Where is the link to my documentation in the TYPO3 extension repository?
Short answer: it will take a few hours and up to a day until the documentation for new extensions is linked in the details of your extension in the TYPO3 Extension Repository (TER).
Long answer: the documentation of all extensions is exposed by an API which is consumed by the TER through a TYPO3 Scheduler task. The TER first needs to pick up updates of extensions which by itself can take some time due to server and browser caches. Furthermore the search in the TER also needs some time to update its index.
Finally the TER will only link to documentation with a matching version, so make sure that there actually is a documentation version for each of your extension version. See Reregister versions to publish documentation for already released versions.
I am missing some documentation for extension versions
If you are missing documentation for some extension versions we have a workaround to fix that.
Why Does the Documentation not provide a title?
Refer to Migration: From Sphinx to PHP-based rendering in order to fix this issue.
You must add the project title to your Settings.
:
[general]
# .................................................................................
# ... (required) title (displayed in left sidebar (desktop) or top panel (mobile)
# .................................................................................
project = title, for example extension name
# .................................................................................
# ... (recommended) version, displayed next to title (desktop) and in <meta name="book-version"
# .................................................................................
release = 2.0.0
Settings: Documentation/guides.xml provides detail information.
How do I find my new rendered documentation?
There are several possibilities:
- Search for the extension on https://docs.typo3.org/Home/Extensions.html.
- Or, if it was just rerendered, the URL will be referenced from https://intercept.typo3.com/admin/docs/deployments. The column Branch contains the link.
Is it possible to highjack extension documentation?
How do you make sure only the author of the extension publishes the documentation?
Documentation rendering is restricted to one repository per package.
I.e. if someone triggers documentation rendering with a repository with vendor myVendor and
package myPackage, then nobody else will be able to trigger documentation from
a different repository with that exact vendor/
name combination. You
could say this works on a first come first served basis.
We have added mechanisms to prevent registering a package from the wrong repository
with malicious intent or accidentally: The first time someone triggers documentation
rendering for a specific vendor/
combination, the Documentation Team must
approve of this. This way, misuse is prevented.
See Webhook for more information.
Is there a way to manually trigger documentation rendering aside from a Git repository push?
Yes and no. Regular users do not have this option at the moment. However, as a member of the Documentation Team you can go to https://intercept.typo3.com and log in with your typo3.org account. Then in the menu you can navigate to Documentation > Deployments. At the top right hand side you will see a button Add Configuration. By clicking this button and going through the form, you can add a repository manually without the hook. Nevertheless we strongly recommend the usage of the webhook.
Is the documentation independent of the TER?
Yes.
The documentation and the extension at TER (https://extensions.typo3.org) are two separate, independent entities.
In theory you could have the documentation in GitHub (for example) and the extension (code) somewhere else (or not in Git at all). You just need to fire the webhook from GitHub/GitLab/Bitbucket to trigger the documentation rendering.
Should I add a link to the documentation in TER?
The documentation link should get updated automatically in TER.
Only use "external documentation" if your documentation is hosted somewhere else (not on docs.typo3.org).
Can I use a README.rst (or README.md) instead?
GitHub (or Gitlab, bitbucket) etc. automatically render a README.
(or .md)
on the repository homepage.
For TYPO3 documentation I am required to have extra documentation in a Documentation
folder. This means I have to maintain 2 documentations. Or not?
Answer: No. You have these 2 options:
- Use a
README.
(or .md) and arst Documentation/
(for example). This is done in our official manuals. TheIndex. rst README.
is not used as documentation, it is used as an about the repo file. The README is mostly used to direct users who come via GitHub (or Gitlab, Bitbucket etc.) to the rendered documentation on docs.typo3.orgrst - Or, use
README.
(or .md) as main documentation (Start page: Documentation/Index.rst) and put everything in therst README.
. Therst Documentation/
file must also exist, but that is all that needs to be in theSettings. cfg Documentation
directory.
Actually, you have more options, but we do not want to make things too complicated.
Which one should you choose? That is up to you.
We recommend: Use method 1) for extensive documentation with several chapters, use method 2) for minimal documentation which can be maintained in one file.
How do I get an "Edit on GitHub" button?
Why might you want an "Edit on GitHub" button on the rendered pages of your extension documentation?
It makes it easier to contribute to the documentation!
How do you enable this?
Just add this to your Settings: Documentation/guides.xml and customize it:
[html_theme_options]
# "Edit on GitHub" button
github_repository = TYPO3-Console/TYPO3-Console
github_branch = main
If you used the sample extension and followed the steps in How to document an extension, you should actually already have this.
Look at the typo3_console extension for a working example.
How can I link to my issues?
Do you want contributors to find the issues for your extension easily when reading your extension documentation on docs.typo3.org?
Add project_
to your Settings: Documentation/guides.xml:
[html_theme_options]
project_issues = https://github.com/<user>/<extension-key>/issues
Replace <user>
and <extension-
with your username and extension key
or replace entire URL with URL to your issues.
A link to the Issues will then be available footer section.
Example extension: news
Further Questions?
Get in touch with us, if you have problems, would like to ask questions or make suggestions.
Our team page contains information about how to contact us.