This repository is the source for the developer documentation for Ibexa, a digital experience platform that is based on the Symfony Full Stack Framework in PHP.
- Ibexa DXP Developer Hub: https://developers.ibexa.co
- Ibexa DXP Repository: https://github.com/ibexa/oss
- Ibexa Website: https://ibexa.co
- User documentation: https://doc.ibexa.co/projects/userguide
To contribute to the documentation, you can open a PR in this repository.
If you'd like to see Ibexa DXP in your language, you can contribute to the translations.
The REST API Reference is located in the docs/api/rest_api/rest_api_reference/ directory.
It is based on an OpenAPI specification (openapi.yaml / openapi.json) generated from the Ibexa DXP source code.
To contribute to the REST API reference, you must modify the source code annotations directly.
To build and preview your changes locally, you need to install Python along with its package manager (pip).
Other required tools will be installed by using the following command:
pip install -r requirements.txtThen you can run:
mkdocs serveAfter a short while your documentation should be reachable at http://localhost:8000. If it isn't, check the output of the command.
This repository uses markdownlint-cli2 to check Markdown formatting, including table syntax.
Install dependencies:
yarn installRun the linter:
yarn markdownlintSome issues can be fixed automatically:
yarn markdownlint --fixThis repository uses PHPStan to test the code samples. To run the tests locally execute the commands below:
composer update
composer phpstanRegenerate the baseline by running:
composer phpstan -- --generate-baselineThis repository uses Deptrac to test the code samples. To run the tests locally execute the commands below:
composer update
composer deptracRegenerate the baseline by running:
vendor/bin/deptrac --formatter=baselineExternal links in the built documentation are checked using lychee.
# 1. Build the main docs site
mkdocs build --strict
# 2. Clone and build versioned repositories, and generate lychee.toml
./tools/clone-repositories.sh
# 3. Check links
lychee --config lychee.toml --cache --cache-exclude-status "400.." siteAfter fixing any reported links, run mkdocs build --strict before rerunning lychee.
The script accepts optional branch names before cloning repositories:
./tools/clone-repositories.sh [DEVDOC_50] [DEVDOC_46] [USERDOC_50] [USERDOC_46] [CONNECT]| Argument | Repository | Default |
|---|---|---|
DEVDOC_50 |
ibexa/documentation-developer |
5.0 |
DEVDOC_46 |
ibexa/documentation-developer |
4.6 |
USERDOC_50 |
ibexa/documentation-user |
5.0 |
USERDOC_46 |
ibexa/documentation-user |
4.6 |
CONNECT |
ibexa/documentation-connect |
main |
Example — checking link for release PRs:
./tools/clone-repositories.sh release-5.0.10 release-4.6.70 4.6 4.6 mainThe same parameters are available as inputs when triggering the GitHub Actions workflow manually.