From 9c99635e65b6551f899ecf8bf7b54c4a955eab2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Fri, 12 Dec 2025 00:03:36 +0100 Subject: [PATCH 1/8] Missing languages for code blocks --- .../back_office/customize_integrated_help.md | 2 +- .../configuration/repository_configuration.md | 2 +- docs/api/graphql/graphql.md | 4 +- docs/api/graphql/graphql_operations.md | 16 ++--- docs/api/graphql/graphql_queries.md | 70 +++++++++---------- .../creating_new_rest_resource.md | 2 +- docs/api/rest_api/rest_api_authentication.md | 8 +-- .../field_type_reference/addressfield.md | 4 +- .../field_type_reference/imagefield.md | 2 +- .../field_types/field_type_search.md | 4 +- docs/content_management/images/fastly_io.md | 2 +- .../url_management/url_management.md | 6 +- docs/infrastructure_and_maintenance/backup.md | 8 +-- .../cache/http_cache/content_aware_cache.md | 16 ++--- .../cache/http_cache/context_aware_cache.md | 2 +- .../cache/http_cache/reverse_proxy.md | 2 +- .../clustering/clustering.md | 8 +-- docs/infrastructure_and_maintenance/devops.md | 2 +- .../environments.md | 2 +- docs/multisite/languages/languages.md | 2 +- .../personalization/enable_personalization.md | 2 +- ...importing_historical_user_tracking_data.md | 2 +- .../legacy_recommendation_api.md | 2 +- docs/release_notes/ibexa_dxp_v4.3.md | 2 +- .../contributing/package_structure.md | 2 +- docs/snippets/update/db/update_db_2.5-3.3.md | 2 +- .../embed_and_list_content/list_content.md | 2 +- .../content_queries.md | 4 +- .../from_4.3/update_from_4.3_new_commerce.md | 2 +- .../from_4.6/update_to_5.0.md | 2 +- .../migrate_to_ibexa_dxp/common_issues.md | 6 +- .../migrating_from_ez_publish_platform.md | 10 +-- docs/users/oauth_server.md | 2 +- 33 files changed, 102 insertions(+), 102 deletions(-) diff --git a/docs/administration/back_office/customize_integrated_help.md b/docs/administration/back_office/customize_integrated_help.md index 6a7a760f8e..6909e03906 100644 --- a/docs/administration/back_office/customize_integrated_help.md +++ b/docs/administration/back_office/customize_integrated_help.md @@ -51,7 +51,7 @@ This way you can adjust menu sections that are reproduced by the front end as ta The default `menu` object is structured as follows. Recreate this pattern when modifying an existing event with an intention to send it to the front end. -``` +```text root (MenuItem) │ ├── help__general // ("General" section) diff --git a/docs/administration/configuration/repository_configuration.md b/docs/administration/configuration/repository_configuration.md index 9c5a383840..f0d036194e 100644 --- a/docs/administration/configuration/repository_configuration.md +++ b/docs/administration/configuration/repository_configuration.md @@ -148,7 +148,7 @@ ibexa: repository: second_repository ``` -``` +```bash # .env.local SECOND_DATABASE_URL=otherdb://otheruser:otherpasswd@otherhost:otherport/otherdbname?otherdbserversion diff --git a/docs/api/graphql/graphql.md b/docs/api/graphql/graphql.md index d8cfc721e4..d9bc9466ef 100644 --- a/docs/api/graphql/graphql.md +++ b/docs/api/graphql/graphql.md @@ -72,7 +72,7 @@ You can get your session cookie by logging in through the interface or through a If you have [JWT authentication](development_security.md#jwt-authentication) enabled, you can use the following query to get your authentication token: -``` +```graphql mutation CreateToken { createToken(username: "admin", password: "publish") { token @@ -83,7 +83,7 @@ mutation CreateToken { Response: -``` +```json { "data": { "createToken": { diff --git a/docs/api/graphql/graphql_operations.md b/docs/api/graphql/graphql_operations.md index 46853000a7..5df1ea2ae1 100644 --- a/docs/api/graphql/graphql_operations.md +++ b/docs/api/graphql/graphql_operations.md @@ -14,7 +14,7 @@ You can also make use of the generic `deleteContent` and `uploadFiles` mutations Create a new Folder as a child of Location `2` with: -``` +```graphql mutation createFolder { createFolder( language: eng_GB @@ -30,7 +30,7 @@ mutation createFolder { Response: -``` +```json { "data": { "createFolder": { @@ -44,7 +44,7 @@ Response: Modify the name of a Folder content item with: -``` +```graphql mutation updateFolder { updateFolder( language: eng_GB @@ -60,7 +60,7 @@ mutation updateFolder { Response: -``` +```json { "data": { "updateFolder": { @@ -76,7 +76,7 @@ The input for updating a content item is the same as when creating it, but all f You can delete any content item by providing its `contentId` (or its GraphQL opaque ID under `id`): -``` +```graphql mutation deleteBlogPost { deleteContent(contentId: 64) { id @@ -87,7 +87,7 @@ mutation deleteBlogPost { Response: -``` +```json { "data": { "deleteContent": { @@ -107,7 +107,7 @@ Response: Uploading files makes use of dedicated mutations per content type, for example: -``` +```graphql mutation CreateImage($file: FileUpload!) { createImage( parentLocationId: 51, @@ -161,7 +161,7 @@ curl -v -X POST \ You can upload multiple files with one operation in a similar way by using the `uploadFiles` mutation. Here the files are provided in a `$files` variable and listed under `map` in the cURL request. -``` +```graphql mutation UploadMultipleFiles($files: [FileUpload]!) { uploadFiles( locationId: 51, diff --git a/docs/api/graphql/graphql_queries.md b/docs/api/graphql/graphql_queries.md index d38629b8dd..80965266d0 100644 --- a/docs/api/graphql/graphql_queries.md +++ b/docs/api/graphql/graphql_queries.md @@ -12,7 +12,7 @@ You can query a single content item or a list of content items using fields defi To get a specific content item by its content ID, location ID, or URL alias, use its relevant singular field, for example `article`, `folder`, or `image`. -``` +```graphql { content { article(contentId: 62) { @@ -27,7 +27,7 @@ To get a specific content item by its content ID, location ID, or URL alias, use Response: -``` +```json { "data": { "content": { @@ -50,7 +50,7 @@ You can also query the generic `item` object. The `item` object references a content item, but you can also get its [location information](#querying-locations). The query accepts `locationId`, `remoteId`, and `urlAlias` as arguments. -``` +```graphql { item(locationId: 2) { _name @@ -69,7 +69,7 @@ The query accepts `locationId`, `remoteId`, and `urlAlias` as arguments. Response: -``` +```json { "data": { "item": { @@ -84,7 +84,7 @@ Response: To get fields of a content item in a specific language, use the `language` argument. The language must be configured for the current SiteAccess. -``` +```graphql { content { article(id: 57) { @@ -97,7 +97,7 @@ The language must be configured for the current SiteAccess. Response: -``` +```json { "data": { "content": { @@ -116,7 +116,7 @@ When you don't specify a language, the response contains the most prioritized tr To get a list of all content items of a selected type, use the plural field, for example, `articles`: -``` +```text { content { articles { @@ -138,7 +138,7 @@ To get a list of all content items of a selected type, use the plural field, for Response: -``` +```json { "data": { "content": { @@ -186,7 +186,7 @@ Response: To get the IDs and names of all Fields in the `article` content type: -``` +```graphql { content { _types { @@ -205,7 +205,7 @@ To get the IDs and names of all Fields in the `article` content type: Response: -``` +```json { "data": { "content": { @@ -259,7 +259,7 @@ When you use `_location`, the API returns: - the location based on the current SiteAccess - the main location -``` +```graphql { content { folder (contentId: 133) { @@ -273,7 +273,7 @@ When you use `_location`, the API returns: Response: -``` +```json { "data": { "content": { @@ -295,7 +295,7 @@ Response: To query the URL alias of a content item, use `_url`. This returns the "best" URL alias for this content item based on its main Location and the current SiteAccess: -``` +```graphql { content { folder (contentId: 1) { @@ -307,7 +307,7 @@ This returns the "best" URL alias for this content item based on its main Locati Response: -``` +```json { "data": { "content": { @@ -325,7 +325,7 @@ To get a [location's](#querying-locations) children, it's recommended to use the Alternatively, you can query the `children` property of an `item` or `content` object: -``` +```graphql { item(locationId: 2) { _location { @@ -347,7 +347,7 @@ Alternatively, you can query the `children` property of an `item` or `content` o ``` Response: -``` +```json { "data": { "item": { @@ -392,7 +392,7 @@ You can query a single product, products of one type, or all products by providi To get a single product by its code: -``` +```graphql { products { single(code: "DRESUN") { @@ -408,7 +408,7 @@ To get a single product by its code: Response: -``` +```json { "data": { "products": { @@ -428,7 +428,7 @@ Response: To get products of a specific type: -``` +```graphql { products { byType { @@ -447,7 +447,7 @@ To get products of a specific type: Response: -``` +```json { "data": { "products": { @@ -476,7 +476,7 @@ Response: To get all products, using specific criteria (in this case, unavailable products): -``` +```text { products { all( @@ -496,7 +496,7 @@ To get all products, using specific criteria (in this case, unavailable products Response: -``` +```json { "data": { "products": { @@ -525,7 +525,7 @@ Response: To get all articles with a specific text: -``` +```graphql { content { articles(query: {Text:"travel"}) { @@ -541,7 +541,7 @@ To get all articles with a specific text: Response: -``` +```json { "data": { "content": { @@ -566,7 +566,7 @@ Response: To filter products based on content fields: -``` +```text { products { all { @@ -595,7 +595,7 @@ To filter products based on content fields: To filter products based on attributes: -``` +```graphql { products { single(code: "BLUELACE") { @@ -618,7 +618,7 @@ To filter products based on attributes: If the attribute type (in this case, `measure`) cannot be found in the schema, the response is: -``` +```json { "data": { "products": { @@ -640,7 +640,7 @@ If the attribute type (in this case, `measure`) cannot be found in the schema, t You can also query attributes by providing the attribute type: -``` +```graphql { products { all { @@ -673,7 +673,7 @@ You can also query attributes by providing the attribute type: Response: -``` +```json { "data": { "products": { @@ -726,7 +726,7 @@ Response: You can sort query results using `sortBy`: -``` +```text { content { articles(sortBy: _datePublished) { @@ -742,7 +742,7 @@ You can sort query results using `sortBy`: You can use an array of clauses as well. To reverse the item list, add `_desc` after the clause: -``` +```text articles(sortBy:[_datePublished,_desc]) ``` @@ -752,7 +752,7 @@ GraphQL offers [cursor-based pagination](https://graphql.org/learn/pagination/) You can paginate plural fields by using `edges`: -``` +```text { content { articles(sortBy: _datePublished, first:3) { @@ -775,7 +775,7 @@ If the current `Connection` (list of results) isn't finished yet and there are m For the `children` node, you can use the following pagination method: -``` +```text { _repository { location(locationId: 2) { @@ -799,7 +799,7 @@ For the `children` node, you can use the following pagination method: Response: -``` +```json { "data": { "_repository": { @@ -831,7 +831,7 @@ In the response, `number` contains page numbers, starting with 2 (because 1 is t To request a specific page, provide the `cursor` as an argument to `children`: -``` +```graphql children(first: 3, after: "YXJyYXljb25uZWN0aW9uOjM=") ``` diff --git a/docs/api/rest_api/extending_rest_api/creating_new_rest_resource.md b/docs/api/rest_api/extending_rest_api/creating_new_rest_resource.md index d057cb05ad..5b5b223872 100644 --- a/docs/api/rest_api/extending_rest_api/creating_new_rest_resource.md +++ b/docs/api/rest_api/extending_rest_api/creating_new_rest_resource.md @@ -138,7 +138,7 @@ curl https://api.example.com/api/ibexa/v2/greet --include --request POST \ --header 'Accept: application/vnd.ibexa.api.Greeting+json'; ``` -``` +```http HTTP/1.1 200 OK Content-Type: application/vnd.ibexa.api.greeting+xml diff --git a/docs/api/rest_api/rest_api_authentication.md b/docs/api/rest_api/rest_api_authentication.md index 213b2a21ee..a040974aee 100644 --- a/docs/api/rest_api/rest_api_authentication.md +++ b/docs/api/rest_api/rest_api_authentication.md @@ -210,7 +210,7 @@ Logging in is similar to session creation, with one important detail: the CSRF t You can now add the previously set cookie to requests to be executed with the logged-in user. -``` +```http GET /content/locations/1/5 HTTP/1.1 Host: www.example.net Accept: Accept: application/vnd.ibexa.api.Location+xml @@ -224,7 +224,7 @@ It should be sent with an `X-CSRF-Token` header. Only three built-in routes can accept unsafe methods without CSRF, the sessions routes starting with `/user/sessions` to create, refresh or delete a session. -``` +```http DELETE /content/types/32 HTTP/1.1 Host: www.example.net Cookie: IBX_SESSION_ID98defd6ee70dfb1dea416=go327ij2cirpo59pb6rrv2a4el2 @@ -259,7 +259,7 @@ A person with minimal insight into this application and the company can easily s To log out is to `DELETE` the session using its ID (like in the cookie). As this is an unsafe method, the CSRF token must be presented. -``` +```text DELETE /user/sessions/go327ij2cirpo59pb6rrv2a4el2 HTTP/1.1 Host: www.example.net Cookie: IBX_SESSION_ID98defd6ee70dfb1dea416=go327ij2cirpo59pb6rrv2a4el2 @@ -388,7 +388,7 @@ Most HTTP client libraries and REST libraries support this method. **Raw HTTP request with basic authentication** -``` +```http GET / HTTP/1.1 Host: api.example.com Accept: application/vnd.ibexa.api.Root+json diff --git a/docs/content_management/field_types/field_type_reference/addressfield.md b/docs/content_management/field_types/field_type_reference/addressfield.md index 4647c21f1c..d374937caa 100644 --- a/docs/content_management/field_types/field_type_reference/addressfield.md +++ b/docs/content_management/field_types/field_type_reference/addressfield.md @@ -93,7 +93,7 @@ By default, each field is a simple text input with a label made of field identif To change the type of field, you need to listen to a specific event. For each field below events are dispatched (in order): -``` +```yaml ibexa.address.field.{FIELD_IDENTIFIER} ibexa.address.field.{FIELD_IDENTIFIER}.{ADDRESS_TYPE} ibexa.address.field.{FIELD_IDENTIFIER}.{ADDRESS_TYPE}.{COUNTRY_CODE} @@ -101,7 +101,7 @@ ibexa.address.field.{FIELD_IDENTIFIER}.{ADDRESS_TYPE}.{COUNTRY_CODE} #### Example -``` +```yaml ibexa.address.field.tax_number ibexa.address.field.tax_number.billing_address ibexa.address.field.tax_number.billing_address.DE diff --git a/docs/content_management/field_types/field_type_reference/imagefield.md b/docs/content_management/field_types/field_type_reference/imagefield.md index 94deb5af65..b8f860ba36 100644 --- a/docs/content_management/field_types/field_type_reference/imagefield.md +++ b/docs/content_management/field_types/field_type_reference/imagefield.md @@ -210,7 +210,7 @@ In addition, image data can be provided using the `data` property, with the imag #### Creating an Image field -``` +```xml diff --git a/docs/content_management/field_types/field_type_search.md b/docs/content_management/field_types/field_type_search.md index 5266ff7810..ab57fab61e 100644 --- a/docs/content_management/field_types/field_type_search.md +++ b/docs/content_management/field_types/field_type_search.md @@ -21,7 +21,7 @@ They're described below in further detail. To be able to query data properly an indexable field type also is required to return search specification. You must return an associative array of `Ibexa\Contracts\Core\Search\FieldType` instances from this method, which could look like: -``` +```php [ 'url' => new Search\FieldType\StringField(), 'text' => new Search\FieldType\StringField(), @@ -105,7 +105,7 @@ You can define custom `dynamicField` definitions to match, for example, on your You could also define a custom field definition for certain fields, like for the name field in an article: -``` +```xml ``` diff --git a/docs/content_management/images/fastly_io.md b/docs/content_management/images/fastly_io.md index eb49a19bc1..424d0a5de0 100644 --- a/docs/content_management/images/fastly_io.md +++ b/docs/content_management/images/fastly_io.md @@ -65,7 +65,7 @@ ibexa: You can also use environmental variables to configure a specific handler for a SiteAccess. See the example below to configure it with the `.env` file: -``` +```shell IBEXA_VARIATION_HANDLER_IDENTIFIER="fastly" ``` diff --git a/docs/content_management/url_management/url_management.md b/docs/content_management/url_management/url_management.md index 04fc75bf44..2f9d9fe1ec 100644 --- a/docs/content_management/url_management/url_management.md +++ b/docs/content_management/url_management/url_management.md @@ -39,20 +39,20 @@ To enable automatic URL validation, set up cron to run the `ibexa:check-urls` co For example, to check links every week, add the following script: -``` +```shell echo '0 0 * * 0 cd [path-to-ibexa]; php bin/console ibexa:check-urls --quiet --env=prod' > ezp_cron.txt ``` Next, append the new cron to user's crontab without destroying existing crons. Assuming that the web server user data is www-data: -``` +```shell crontab -u www-data -l|cat - ezp_cron.txt | crontab -u www-data - ``` Finally, remove the temporary file: -``` +```shell rm ezp_cron.txt ``` diff --git a/docs/infrastructure_and_maintenance/backup.md b/docs/infrastructure_and_maintenance/backup.md index d28854d9b9..17fc47ec89 100644 --- a/docs/infrastructure_and_maintenance/backup.md +++ b/docs/infrastructure_and_maintenance/backup.md @@ -14,20 +14,20 @@ You should shut down the DXP if it's running before making a backup. 1\. Navigate into the [[= product_name =]] directory: -``` +```shell cd /path/to/ibexa ``` 2\. Clear all caches: -``` +```shell var/cache/* var/logs/* ``` 3\. Create a dump of the database: -``` +```shell # MySQL mysqldump -u --add-drop-table > db_backup.sql @@ -37,7 +37,7 @@ pg_dump -c --if-exists > db_backup.sql 4\. In parent directory create a tar archive of the files (including the database dump) using the "tar" command: -``` +```bash tar cfz backup_of_ibexa.tar.gz ibexa ``` diff --git a/docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md b/docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md index 8003b57bc9..53ea6157ce 100644 --- a/docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md +++ b/docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md @@ -106,7 +106,7 @@ parameters: For content views response tagging is done automatically, and cache system outputs headers as follows: -``` +```http HTTP/1.1 200 OK Cache-Control: public, max-age=86400 xkey: ez-all c1 ct1 l2 pl1 p1 p2 @@ -258,7 +258,7 @@ All event subscribers can be found in `http-cache/src/lib/EventSubscriber/CacheP Below is an example of a content structure. The tags which the content view controller adds to each location are also listed: -``` +```text - [Home] (content-id=52, location-id=2) ez-all c52 ct42 l2 pl1 p1 p2 | @@ -291,7 +291,7 @@ With the same content structure as above, the `[Child]` location is moved below The new structure is then: -``` +```yaml - [Home] (content-id=52, location-id=2) ez-all c52 ct42 l2 pl1 p1 p2 | @@ -374,7 +374,7 @@ If you run the command multiple times: it always outputs: -``` +```http HTTP/2 200 (...) x-cache: MISS @@ -450,7 +450,7 @@ Some notes about each of these parameters: The output for this command should look similar to this: -``` +```text HTTP/1.1 200 OK Server: nginx/1.27.0 Content-Type: application/vnd.fos.user-context-hash @@ -478,7 +478,7 @@ Now you have the user-context-hash, and you can ask origin for the actual resour The output : -``` +```http HTTP/1.1 200 OK Server: nginx/1.27.0 Content-Type: text/html; charset=UTF-8 @@ -531,7 +531,7 @@ This ESI is handled by a controller in the `FieldTypePage` bundle provided by [[ The output is: -``` +```text HTTP/1.1 200 OK Server: nginx/1.27.0 Content-Type: text/html; charset=UTF-8 @@ -559,7 +559,7 @@ This ESI is handled by a custom `FooController::customAction` and the output of Output: -``` +```text HTTP/1.1 200 OK Server: nginx/1.27.0 Content-Type: text/html; charset=UTF-8 diff --git a/docs/infrastructure_and_maintenance/cache/http_cache/context_aware_cache.md b/docs/infrastructure_and_maintenance/cache/http_cache/context_aware_cache.md index e9736dffef..4063f6cc0c 100644 --- a/docs/infrastructure_and_maintenance/cache/http_cache/context_aware_cache.md +++ b/docs/infrastructure_and_maintenance/cache/http_cache/context_aware_cache.md @@ -31,7 +31,7 @@ The next time a request comes in from the same user, application lookup for the Example of a response sent to reverse proxy from `/_fos_user_context_hash` with [[[= product_name =]]'s default config](#default-options-for-foshttpcachebundle): -``` +```http HTTP/1.1 200 OK X-Context-User-Hash: Content-Type: application/vnd.fos.user-context-hash diff --git a/docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md b/docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md index 88d1b47968..3c0728b4bb 100644 --- a/docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md +++ b/docs/infrastructure_and_maintenance/cache/http_cache/reverse_proxy.md @@ -223,7 +223,7 @@ ibexa: See the example below to configure Fastly with the `.env` file: -``` +```bash HTTPCACHE_PURGE_TYPE="fastly" # Optional HTTPCACHE_PURGE_SERVER="https://api.fastly.com" diff --git a/docs/infrastructure_and_maintenance/clustering/clustering.md b/docs/infrastructure_and_maintenance/clustering/clustering.md index 0d4023d7f6..3019a34647 100644 --- a/docs/infrastructure_and_maintenance/clustering/clustering.md +++ b/docs/infrastructure_and_maintenance/clustering/clustering.md @@ -236,7 +236,7 @@ In any case, this specific rewrite rule must be placed before the ones that "ign #### Apache -``` +```apacheconf RewriteRule ^/var/([^/]+/)?storage/images(-versioned)?/.* /index.php [L] ``` @@ -244,7 +244,7 @@ Place this before the standard image rewrite rule in your vhost config (or uncom #### nginx -``` +```nginx rewrite "^/var/([^/]+/)?storage/images(-versioned)?/(.*)" "/index.php" break; ``` @@ -258,7 +258,7 @@ You can also use it when you're migrating from one data handler to another, for This command shows which handlers are configured: -``` +```bash > php bin/console ibexa:io:migrate-files --list-io-handlers Configured meta data handlers: default, dfs, aws_s3 Configured binary data handlers: default, nfs, aws_s3 @@ -266,7 +266,7 @@ Configured binary data handlers: default, nfs, aws_s3 You can do the actual migration like this: -``` +```shell > php bin/console ibexa:io:migrate-files --from=default,default --to=dfs,nfs --env=prod ``` diff --git a/docs/infrastructure_and_maintenance/devops.md b/docs/infrastructure_and_maintenance/devops.md index d796f82815..48d93c9c42 100644 --- a/docs/infrastructure_and_maintenance/devops.md +++ b/docs/infrastructure_and_maintenance/devops.md @@ -40,7 +40,7 @@ While all relevant cache is cleared for you on repository changes when using the As of [[= product_name =]] v4.5, the [Symfony Web Debug Toolbar]([[= symfony_doc =]]/profiler.html) is no longer installed by default. To install it, run the following command: -``` +```bash composer require symfony/debug-pack ``` diff --git a/docs/infrastructure_and_maintenance/environments.md b/docs/infrastructure_and_maintenance/environments.md index 0d88ec1fe0..a8792fecaa 100644 --- a/docs/infrastructure_and_maintenance/environments.md +++ b/docs/infrastructure_and_maintenance/environments.md @@ -18,7 +18,7 @@ You can have different configuration sets for each of them. For example, when you use Apache, in the [`VirtualHost` example](https://raw.githubusercontent.com/ibexa/post-install/main/resources/templates/apache2/vhost.template) in your installation, the required `VirtualHost` configurations have been already included. You can switch to the desired environment by setting the `ENVIRONMENT` variable to `prod`, `dev` or another custom value, like in the following example: -``` +```text # Environment. # Possible values: "prod" and "dev" out-of-the-box, other values possible with proper configuration # Defaults to "prod" if omitted (uses SetEnvIf so value can be used in rewrite rules) diff --git a/docs/multisite/languages/languages.md b/docs/multisite/languages/languages.md index 5ebc37ba65..db223ec42e 100644 --- a/docs/multisite/languages/languages.md +++ b/docs/multisite/languages/languages.md @@ -25,7 +25,7 @@ The multilanguage system operates based on a global translation list that contai Languages can be [added to this list from the **Admin** panel]([[= user_doc =]]/content_management/translate_content/) in the back office. After adding a language be sure to dump all assets to the file system: -``` +```shell yarn encore # OR php bin/console ibexa:encore:compile ``` diff --git a/docs/personalization/enable_personalization.md b/docs/personalization/enable_personalization.md index 94202f5a17..e05afc152e 100644 --- a/docs/personalization/enable_personalization.md +++ b/docs/personalization/enable_personalization.md @@ -18,7 +18,7 @@ When you receive the credentials, add them to your configuration. In the root folder of your project, edit the `.env.local` file by adding the following lines with your customer ID and license key: -``` +```shell PERSONALIZATION_CUSTOMER_ID=12345 PERSONALIZATION_LICENSE_KEY=67890-1234-5678-90123-4567 PERSONALIZATION_HOST_URI=https://server_uri diff --git a/docs/personalization/importing_historical_user_tracking_data.md b/docs/personalization/importing_historical_user_tracking_data.md index 2617bdc13a..fd655a8e59 100644 --- a/docs/personalization/importing_historical_user_tracking_data.md +++ b/docs/personalization/importing_historical_user_tracking_data.md @@ -36,7 +36,7 @@ Therefore a signature parameter needs to be added, which is calculated like the With a license key of "8695-1828-92810-5535-4239" and a purchase of certain products, there can be the following signature values: -``` +```text https://event.perso.ibexa.co/api/00000/buy/johndoe/1/11?fullprice=19.99EUR&overridetimestamp=2012-01-01T11%3A00%3A00&quantity=1&signature=d0026f017ae823f19530d93318c5a2f6 https://event.perso.ibexa.co/api/00000/buy/johndoe/1/94?fullprice=23.99EUR&overridetimestamp=2012-01-02T11%3A00%3A00&quantity=5&signature=53ae5744879d5a3ae833f3ef34109b44 https://event.perso.ibexa.co/api/00000/buy/johndoe/1/78?fullprice=7.59EUR&overridetimestamp=2012-01-03T11%3A00%3A00&quantity=1&signature=d73e76754fb333e9733936bbd11bb5cd diff --git a/docs/personalization/legacy_recommendation_api.md b/docs/personalization/legacy_recommendation_api.md index 393456296e..5551d4323b 100644 --- a/docs/personalization/legacy_recommendation_api.md +++ b/docs/personalization/legacy_recommendation_api.md @@ -174,7 +174,7 @@ Use the parameter categorypath to provide the category to the recommender engine If passed in combination with a "categorypath" value, the "closest" category the recommended items linked with is delivered in the response as additional field "category". -``` +```javascript recommendationResponseList: [ { itemId: 1007640000, category: "09/0901/090113", ... } ... ] diff --git a/docs/release_notes/ibexa_dxp_v4.3.md b/docs/release_notes/ibexa_dxp_v4.3.md index 5c56547022..f97243fe8e 100644 --- a/docs/release_notes/ibexa_dxp_v4.3.md +++ b/docs/release_notes/ibexa_dxp_v4.3.md @@ -166,6 +166,6 @@ You can now retrieve customer group by implementing the `Ibexa\Contracts\Product - When `UserService::updateUserPassword` method throws `ContentFieldValidationException`, it now uses the format accessible via `ContentFieldValidationException::getFieldErrors`: -``` +```text array<, array<, array<\Ibexa\Contracts\Core\FieldType\ValidationError>>> ``` diff --git a/docs/resources/contributing/package_structure.md b/docs/resources/contributing/package_structure.md index 8d3ec4df41..05330652da 100644 --- a/docs/resources/contributing/package_structure.md +++ b/docs/resources/contributing/package_structure.md @@ -35,7 +35,7 @@ namespace Ibexa\Personalization; The general package directory structure and corresponding PHP namespace mapping are: -``` +```text . +-- src | +-- bundle (`Ibexa\Bundle\`) diff --git a/docs/snippets/update/db/update_db_2.5-3.3.md b/docs/snippets/update/db/update_db_2.5-3.3.md index 366d30613a..69aab95166 100644 --- a/docs/snippets/update/db/update_db_2.5-3.3.md +++ b/docs/snippets/update/db/update_db_2.5-3.3.md @@ -16,7 +16,7 @@ php bin/console ibexa:upgrade Check the location ID of the "Components" content item and set it as a value of the `content_tree_module.contextual_tree_root_location_ids` key in `config/ezplatform.yaml`: -``` +```yaml - 60 # Components ``` diff --git a/docs/templating/embed_and_list_content/list_content.md b/docs/templating/embed_and_list_content/list_content.md index cab88055c9..3b2344aa6b 100644 --- a/docs/templating/embed_and_list_content/list_content.md +++ b/docs/templating/embed_and_list_content/list_content.md @@ -48,7 +48,7 @@ First, create a Blog content type that contains a Content query field with the i In the Field definition, select "Children" as the Query type. Provide the `content` parameter that the Query type requires: -``` +```yaml content: '@=content' ``` diff --git a/docs/templating/queries_and_controllers/content_queries.md b/docs/templating/queries_and_controllers/content_queries.md index e9c17e2102..2289647bd5 100644 --- a/docs/templating/queries_and_controllers/content_queries.md +++ b/docs/templating/queries_and_controllers/content_queries.md @@ -96,7 +96,7 @@ Select the content type of items you want to return in the **Returned type** dro To take it into account, your Query type must filter on the content type. Provide the selected content type through the `returnedType` variable: -``` +```yaml contentType: '@=returnedType' ``` @@ -118,7 +118,7 @@ You can override the pagination settings from field definition by setting the `e You can also define an offset for the results. Provide the offset in the Query type, or in parameters: -``` +```yaml offset: 3 ``` diff --git a/docs/update_and_migration/from_4.3/update_from_4.3_new_commerce.md b/docs/update_and_migration/from_4.3/update_from_4.3_new_commerce.md index d294460b36..0ff9511bb9 100644 --- a/docs/update_and_migration/from_4.3/update_from_4.3_new_commerce.md +++ b/docs/update_and_migration/from_4.3/update_from_4.3_new_commerce.md @@ -40,7 +40,7 @@ Make sure to remove all occurrences of `sesspecificationstype`, `uivarvarianttyp This step should be performed on the working installation, omitting it results in an error during update: -``` +```text [Ibexa\Core\Persistence\Legacy\Content\FieldValue\Converter\Exception\NotFound (404)] Could not find 'Persistence Field Value Converter' with identifier 'sesspecificationstype' ``` diff --git a/docs/update_and_migration/from_4.6/update_to_5.0.md b/docs/update_and_migration/from_4.6/update_to_5.0.md index 768041b863..6839d1c76a 100644 --- a/docs/update_and_migration/from_4.6/update_to_5.0.md +++ b/docs/update_and_migration/from_4.6/update_to_5.0.md @@ -1068,7 +1068,7 @@ php bin/console ibexa:reindex Finish the update process: -``` +```bash composer run-script post-update-cmd ``` diff --git a/docs/update_and_migration/migrate_to_ibexa_dxp/common_issues.md b/docs/update_and_migration/migrate_to_ibexa_dxp/common_issues.md index b763973d61..79fbebe09f 100644 --- a/docs/update_and_migration/migrate_to_ibexa_dxp/common_issues.md +++ b/docs/update_and_migration/migrate_to_ibexa_dxp/common_issues.md @@ -51,7 +51,7 @@ It only happens after the article is edited and published. If this error occurs use the console command below. It cleans up redundant Relations rows: -``` +```shell php bin/console ezpublish:update:legacy_storage_clean_up_relation_type_eq_zero ``` The command can be executed in two modes: @@ -67,7 +67,7 @@ Always available flag is set on all fields, instead of only on fields in the mai This problem occurs when [[= product_name =]] is used to create content that is both always available and has multiple translations. The cleanup script correctly sets always available flag for prioritized language filtering in Legacy search engine. -``` +```console php bin/console ezpublish:update:legacy_storage_fix_fields_always_available_flag ``` @@ -83,7 +83,7 @@ The cleanup script checks if fields of given field type have correct sort key, a Execute the following command from the installation root directory: -``` +```shell php bin/console ezpublish:update:legacy_storage_update_sort_keys ``` diff --git a/docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md b/docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md index 108857ea2a..86627e4ad4 100644 --- a/docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md +++ b/docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md @@ -138,7 +138,7 @@ See [Image documentation page](images.md) for information about how to define im For an example, see a legacy image alias defined as follows in `ezpublish_legacy/settings/siteaccess/ezdemo_site/image.ini.append.php`: -``` +```ini [articleimage] Reference= Filters[] @@ -304,7 +304,7 @@ The script also has an `--image-content-types` option which you should use if yo The script needs to know these identifiers to convert `` tags correctly. Failing to do so prevents the editor from showing image thumbnails of embedded image objects. You may find the image content types in your installation by looking for these settings in `content.ini(.append.php)`: -``` +```text [RelationGroupSettings] ImagesClassList[] ImagesClassList[]=image @@ -367,7 +367,7 @@ Below is an example of a xml dump, `ezxmltext_12_1234_2_eng-GB.xml`: The corresponding log file, `ezxmltext_12_1234_2_eng-GB.log`: -``` +```yaml notice: Found ez-temporary attribute in a ezxmltext paragraphs. Removing such attribute where contentobject_attribute.id=1234 error: Validation errors when converting ezxmltext for contentobject_attribute.id=1234 - context : Error in 2:0: Element section has extra content: informaltable @@ -419,7 +419,7 @@ Typical problems that needs manual fixing: Xhtml IDs needs to be unique. The following `ezxmltext` results in a warning: -``` +```xml link with id inv5 @@ -437,7 +437,7 @@ In `ezxmltext` you may have links which refer to other objects by their remote I In older eZ Publish databases you may also have invalid links due to lack of reference to a target (for example, no `href` or `url_id`): -``` +```xml some text ``` diff --git a/docs/users/oauth_server.md b/docs/users/oauth_server.md index a5f9256af6..ed5aace2a1 100644 --- a/docs/users/oauth_server.md +++ b/docs/users/oauth_server.md @@ -58,7 +58,7 @@ For more information, see [Generating encryption keys](https://oauth2.thephpleag Set the following environment variables: -``` +```bash OAUTH2_PUBLIC_KEY_PATH=/somewhere/safe/key.public OAUTH2_PRIVATE_KEY_PATH=/somewhere/safe/key.private OAUTH2_PRIVATE_KEY_PASSPHRASE=some_passphrase_or_empty From be649ef00d8fef3b1fc990785e9b57f3d49c8e9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Fri, 12 Dec 2025 16:33:13 +0100 Subject: [PATCH 2/8] Update docs/api/graphql/graphql_queries.md --- docs/api/graphql/graphql_queries.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api/graphql/graphql_queries.md b/docs/api/graphql/graphql_queries.md index 80965266d0..540e6b71e3 100644 --- a/docs/api/graphql/graphql_queries.md +++ b/docs/api/graphql/graphql_queries.md @@ -116,7 +116,7 @@ When you don't specify a language, the response contains the most prioritized tr To get a list of all content items of a selected type, use the plural field, for example, `articles`: -```text +```graphql { content { articles { From 42ddf238926c0219cf1f9b5884f5d10b8d805912 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Fri, 12 Dec 2025 16:33:49 +0100 Subject: [PATCH 3/8] Update docs/api/graphql/graphql_queries.md --- docs/api/graphql/graphql_queries.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api/graphql/graphql_queries.md b/docs/api/graphql/graphql_queries.md index 540e6b71e3..c097455dce 100644 --- a/docs/api/graphql/graphql_queries.md +++ b/docs/api/graphql/graphql_queries.md @@ -476,7 +476,7 @@ Response: To get all products, using specific criteria (in this case, unavailable products): -```text +```graphql { products { all( From 90027fe3633d56e89a0769cba7488c8aff95a68a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Fri, 12 Dec 2025 16:34:10 +0100 Subject: [PATCH 4/8] Update docs/api/graphql/graphql_queries.md --- docs/api/graphql/graphql_queries.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api/graphql/graphql_queries.md b/docs/api/graphql/graphql_queries.md index c097455dce..c5f1b758df 100644 --- a/docs/api/graphql/graphql_queries.md +++ b/docs/api/graphql/graphql_queries.md @@ -775,7 +775,7 @@ If the current `Connection` (list of results) isn't finished yet and there are m For the `children` node, you can use the following pagination method: -```text +```graphql { _repository { location(locationId: 2) { From 599e8178355314017255cc0897c73b3f006f63ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Fri, 12 Dec 2025 16:35:22 +0100 Subject: [PATCH 5/8] Update docs/api/rest_api/rest_api_authentication.md --- docs/api/rest_api/rest_api_authentication.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api/rest_api/rest_api_authentication.md b/docs/api/rest_api/rest_api_authentication.md index a040974aee..95e5e6e744 100644 --- a/docs/api/rest_api/rest_api_authentication.md +++ b/docs/api/rest_api/rest_api_authentication.md @@ -259,7 +259,7 @@ A person with minimal insight into this application and the company can easily s To log out is to `DELETE` the session using its ID (like in the cookie). As this is an unsafe method, the CSRF token must be presented. -```text +```http DELETE /user/sessions/go327ij2cirpo59pb6rrv2a4el2 HTTP/1.1 Host: www.example.net Cookie: IBX_SESSION_ID98defd6ee70dfb1dea416=go327ij2cirpo59pb6rrv2a4el2 From 5843df4f4e5d91e4d3f16f3c5c4e86c11c02d06c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Mon, 15 Dec 2025 15:57:29 +0100 Subject: [PATCH 6/8] Manual changes --- docs/api/rest_api/rest_api_authentication.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/api/rest_api/rest_api_authentication.md b/docs/api/rest_api/rest_api_authentication.md index 95e5e6e744..353caa3333 100644 --- a/docs/api/rest_api/rest_api_authentication.md +++ b/docs/api/rest_api/rest_api_authentication.md @@ -52,7 +52,7 @@ To create a session, execute the following REST request: === "XML" - ``` + ``` http POST /user/sessions HTTP/1.1 Host: www.example.net Accept: application/vnd.ibexa.api.Session+xml @@ -67,7 +67,7 @@ To create a session, execute the following REST request: ``` - ``` + ``` http HTTP/1.1 201 Created Location: /user/sessions/go327ij2cirpo59pb6rrv2a4el2 Set-Cookie: IBX_SESSION_ID98defd6ee70dfb1dea416=go327ij2cirpo59pb6rrv2a4el2; domain=.example.net; path=/; expires=Wed, 13-Jan-2021 22:23:01 GMT; HttpOnly @@ -86,7 +86,7 @@ To create a session, execute the following REST request: === "JSON" - ``` + ``` http POST /user/sessions HTTP/1.1 Host: www.example.net Accept: application/vnd.ibexa.api.Session+json @@ -102,7 +102,7 @@ To create a session, execute the following REST request: } ``` - ``` + ``` http HTTP/1.1 201 Created Location: /user/sessions/go327ij2cirpo59pb6rrv2a4el2 Set-Cookie: IBX_SESSION_ID98defd6ee70dfb1dea416=go327ij2cirpo59pb6rrv2a4el2; domain=.example.net; path=/; expires=Wed, 13-Jan-2021 22:23:01 GMT; HttpOnly @@ -131,7 +131,7 @@ Logging in is similar to session creation, with one important detail: the CSRF t === "XML" - ``` + ``` http POST /user/sessions HTTP/1.1 Host: www.example.net Accept: application/vnd.ibexa.api.Session+xml @@ -148,7 +148,7 @@ Logging in is similar to session creation, with one important detail: the CSRF t ``` - ``` + ``` http HTTP/1.1 200 OK Content-Type: application/vnd.ibexa.api.Session+xml ``` @@ -165,7 +165,7 @@ Logging in is similar to session creation, with one important detail: the CSRF t === "JSON" - ``` + ``` http POST /user/sessions HTTP/1.1 Host: www.example.net Accept: application/vnd.ibexa.api.Session+json @@ -183,7 +183,7 @@ Logging in is similar to session creation, with one important detail: the CSRF t } ``` - ``` + ``` http HTTP/1.1 200 OK Content-Type: application/vnd.ibexa.api.Session+json ``` From 4a77212848e5322b350625d711bc54b825d753c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Mon, 20 Apr 2026 10:59:22 +0200 Subject: [PATCH 7/8] Selfreview --- docs/api/graphql/graphql_queries.md | 8 ++++---- docs/infrastructure_and_maintenance/backup.md | 2 +- .../cache/http_cache/content_aware_cache.md | 6 +++--- .../clustering/clustering.md | 4 ++-- docs/infrastructure_and_maintenance/environments.md | 2 +- .../migrate_to_ibexa_dxp/common_issues.md | 2 +- .../migrating_from_ez_publish_platform.md | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/api/graphql/graphql_queries.md b/docs/api/graphql/graphql_queries.md index c5f1b758df..cddb254d99 100644 --- a/docs/api/graphql/graphql_queries.md +++ b/docs/api/graphql/graphql_queries.md @@ -566,7 +566,7 @@ Response: To filter products based on content fields: -```text +```graphql { products { all { @@ -726,7 +726,7 @@ Response: You can sort query results using `sortBy`: -```text +```graphql { content { articles(sortBy: _datePublished) { @@ -742,7 +742,7 @@ You can sort query results using `sortBy`: You can use an array of clauses as well. To reverse the item list, add `_desc` after the clause: -```text +```graphql articles(sortBy:[_datePublished,_desc]) ``` @@ -752,7 +752,7 @@ GraphQL offers [cursor-based pagination](https://graphql.org/learn/pagination/) You can paginate plural fields by using `edges`: -```text +```graphql { content { articles(sortBy: _datePublished, first:3) { diff --git a/docs/infrastructure_and_maintenance/backup.md b/docs/infrastructure_and_maintenance/backup.md index 17fc47ec89..c8bcf6927d 100644 --- a/docs/infrastructure_and_maintenance/backup.md +++ b/docs/infrastructure_and_maintenance/backup.md @@ -37,7 +37,7 @@ pg_dump -c --if-exists > db_backup.sql 4\. In parent directory create a tar archive of the files (including the database dump) using the "tar" command: -```bash +```shell tar cfz backup_of_ibexa.tar.gz ibexa ``` diff --git a/docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md b/docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md index 53ea6157ce..f696823f6a 100644 --- a/docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md +++ b/docs/infrastructure_and_maintenance/cache/http_cache/content_aware_cache.md @@ -450,7 +450,7 @@ Some notes about each of these parameters: The output for this command should look similar to this: -```text +```http HTTP/1.1 200 OK Server: nginx/1.27.0 Content-Type: application/vnd.fos.user-context-hash @@ -531,7 +531,7 @@ This ESI is handled by a controller in the `FieldTypePage` bundle provided by [[ The output is: -```text +```http HTTP/1.1 200 OK Server: nginx/1.27.0 Content-Type: text/html; charset=UTF-8 @@ -559,7 +559,7 @@ This ESI is handled by a custom `FooController::customAction` and the output of Output: -```text +```http HTTP/1.1 200 OK Server: nginx/1.27.0 Content-Type: text/html; charset=UTF-8 diff --git a/docs/infrastructure_and_maintenance/clustering/clustering.md b/docs/infrastructure_and_maintenance/clustering/clustering.md index 3019a34647..f3ed7c76ca 100644 --- a/docs/infrastructure_and_maintenance/clustering/clustering.md +++ b/docs/infrastructure_and_maintenance/clustering/clustering.md @@ -266,8 +266,8 @@ Configured binary data handlers: default, nfs, aws_s3 You can do the actual migration like this: -```shell -> php bin/console ibexa:io:migrate-files --from=default,default --to=dfs,nfs --env=prod +```bash +php bin/console ibexa:io:migrate-files --from=default,default --to=dfs,nfs --env=prod ``` The `--from` and `--to` values must be specified as `,`. diff --git a/docs/infrastructure_and_maintenance/environments.md b/docs/infrastructure_and_maintenance/environments.md index a8792fecaa..b58ba31d3a 100644 --- a/docs/infrastructure_and_maintenance/environments.md +++ b/docs/infrastructure_and_maintenance/environments.md @@ -18,7 +18,7 @@ You can have different configuration sets for each of them. For example, when you use Apache, in the [`VirtualHost` example](https://raw.githubusercontent.com/ibexa/post-install/main/resources/templates/apache2/vhost.template) in your installation, the required `VirtualHost` configurations have been already included. You can switch to the desired environment by setting the `ENVIRONMENT` variable to `prod`, `dev` or another custom value, like in the following example: -```text +```apacheconf # Environment. # Possible values: "prod" and "dev" out-of-the-box, other values possible with proper configuration # Defaults to "prod" if omitted (uses SetEnvIf so value can be used in rewrite rules) diff --git a/docs/update_and_migration/migrate_to_ibexa_dxp/common_issues.md b/docs/update_and_migration/migrate_to_ibexa_dxp/common_issues.md index 79fbebe09f..5444acca18 100644 --- a/docs/update_and_migration/migrate_to_ibexa_dxp/common_issues.md +++ b/docs/update_and_migration/migrate_to_ibexa_dxp/common_issues.md @@ -67,7 +67,7 @@ Always available flag is set on all fields, instead of only on fields in the mai This problem occurs when [[= product_name =]] is used to create content that is both always available and has multiple translations. The cleanup script correctly sets always available flag for prioritized language filtering in Legacy search engine. -```console +```shell php bin/console ezpublish:update:legacy_storage_fix_fields_always_available_flag ``` diff --git a/docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md b/docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md index 86627e4ad4..8ab9c5d7b9 100644 --- a/docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md +++ b/docs/update_and_migration/migrate_to_ibexa_dxp/migrating_from_ez_publish_platform.md @@ -304,7 +304,7 @@ The script also has an `--image-content-types` option which you should use if yo The script needs to know these identifiers to convert `` tags correctly. Failing to do so prevents the editor from showing image thumbnails of embedded image objects. You may find the image content types in your installation by looking for these settings in `content.ini(.append.php)`: -```text +```ini [RelationGroupSettings] ImagesClassList[] ImagesClassList[]=image @@ -367,7 +367,7 @@ Below is an example of a xml dump, `ezxmltext_12_1234_2_eng-GB.xml`: The corresponding log file, `ezxmltext_12_1234_2_eng-GB.log`: -```yaml +``` text notice: Found ez-temporary attribute in a ezxmltext paragraphs. Removing such attribute where contentobject_attribute.id=1234 error: Validation errors when converting ezxmltext for contentobject_attribute.id=1234 - context : Error in 2:0: Element section has extra content: informaltable From 079de441791680281aaab51eefce24a6b05ef1fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Noco=C5=84?= Date: Mon, 20 Apr 2026 11:37:49 +0200 Subject: [PATCH 8/8] Renamed shell to bash --- .../back_office/customize_search_suggestion.md | 2 +- .../adding_custom_media_type.md | 2 +- .../creating_new_rest_resource.md | 2 +- .../rest_api/rest_api_usage/rest_api_usage.md | 2 +- .../api/rest_api/rest_api_usage/rest_requests.md | 4 ++-- .../rest_api/rest_api_usage/rest_responses.md | 4 ++-- docs/content_management/images/fastly_io.md | 2 +- docs/content_management/taxonomy/taxonomy.md | 2 +- .../url_management/url_management.md | 6 +++--- docs/infrastructure_and_maintenance/backup.md | 8 ++++---- .../security/security_checklist.md | 2 +- docs/multisite/languages/languages.md | 2 +- docs/personalization/enable_personalization.md | 2 +- docs/templating/design_engine/design_engine.md | 4 ++-- .../from_3.3/update_from_3.3.md | 16 ++++++++-------- .../migrate_to_ibexa_dxp/common_issues.md | 6 +++--- tools/api_refs/README.md | 2 +- 17 files changed, 34 insertions(+), 34 deletions(-) diff --git a/docs/administration/back_office/customize_search_suggestion.md b/docs/administration/back_office/customize_search_suggestion.md index cfc9490b5e..158b3384c2 100644 --- a/docs/administration/back_office/customize_search_suggestion.md +++ b/docs/administration/back_office/customize_search_suggestion.md @@ -31,7 +31,7 @@ After this event, the suggestion collection is sorted by score and truncated to You can list listeners and subscribers with the following command: - ``` shell + ```bash php bin/console debug:event BuildSuggestionCollectionEvent ``` diff --git a/docs/api/rest_api/extending_rest_api/adding_custom_media_type.md b/docs/api/rest_api/extending_rest_api/adding_custom_media_type.md index 0715112198..125676482f 100644 --- a/docs/api/rest_api/extending_rest_api/adding_custom_media_type.md +++ b/docs/api/rest_api/extending_rest_api/adding_custom_media_type.md @@ -77,7 +77,7 @@ services: In the following example, `curl` and `diff` commands are used to compare the default media type (`application/vnd.ibexa.api.Location+xml`) with the new `application/app.api.Location+xml`. -```shell +```bash diff --ignore-space-change \ <(curl --silent https://api.example.com/api/ibexa/v2/content/locations/1/2) \ <(curl --silent https://api.example.com/api/ibexa/v2/content/locations/1/2 --header 'Accept: application/app.api.Location+xml'); diff --git a/docs/api/rest_api/extending_rest_api/creating_new_rest_resource.md b/docs/api/rest_api/extending_rest_api/creating_new_rest_resource.md index 5b5b223872..37e53f8f0a 100644 --- a/docs/api/rest_api/extending_rest_api/creating_new_rest_resource.md +++ b/docs/api/rest_api/extending_rest_api/creating_new_rest_resource.md @@ -127,7 +127,7 @@ services: Now you can test both `GET` and `POST` methods, and both `XML` and `JSON` format for inputs and outputs. -```shell +```bash curl https://api.example.com/api/ibexa/v2/greet --include; curl https://api.example.com/api/ibexa/v2/greet --include --request POST \ --header 'Content-Type: application/vnd.ibexa.api.GreetingInput+xml' \ diff --git a/docs/api/rest_api/rest_api_usage/rest_api_usage.md b/docs/api/rest_api/rest_api_usage/rest_api_usage.md index 5296e61b44..f196bff85b 100644 --- a/docs/api/rest_api/rest_api_usage/rest_api_usage.md +++ b/docs/api/rest_api/rest_api_usage/rest_api_usage.md @@ -72,7 +72,7 @@ GET /api/ibexa/v2/user/groups?roleId=/api/ibexa/v2/user/roles/1 HTTP/1.1 The `/` root route is answered by a reference list with the main resource routes and media-types. It's presented in XML by default, but you can also switch to JSON output. -```shell +```bash curl https://api.example.com/api/ibexa/v2/ curl -H "Accept: application/json" https://api.example.com/api/ibexa/v2/ ``` diff --git a/docs/api/rest_api/rest_api_usage/rest_requests.md b/docs/api/rest_api/rest_api_usage/rest_requests.md index d49a4cf8d4..81c3038f1a 100644 --- a/docs/api/rest_api/rest_api_usage/rest_requests.md +++ b/docs/api/rest_api/rest_api_usage/rest_requests.md @@ -48,7 +48,7 @@ Any REST API URI responds to an `OPTIONS` request. The response contains an [`Allow` header](https://www.rfc-editor.org/rfc/rfc9110.html#name-allow), which lists the methods accepted by the resource. -```shell +```bash curl -IX OPTIONS https://api.example.com/api/ibexa/v2/content/objects/1 ``` @@ -62,7 +62,7 @@ HTTP/1.1 200 OK Allow: PATCH,GET,DELETE,COPY ``` -```shell +```bash curl -IX OPTIONS https://api.example.com/api/ibexa/v2/content/locations/1/2 ``` diff --git a/docs/api/rest_api/rest_api_usage/rest_responses.md b/docs/api/rest_api/rest_api_usage/rest_responses.md index 020260ce81..4f76ab4508 100644 --- a/docs/api/rest_api/rest_api_usage/rest_responses.md +++ b/docs/api/rest_api/rest_api_usage/rest_responses.md @@ -124,7 +124,7 @@ cURL can follow those redirections. On CLI, there is the `--location` option (or In PHP, you can achieve the same effect with `CURLOPT_FOLLOWLOCATION`. The following command-line example follows the two redirections above and the `Accept` header is propagated: -```shell +```bash curl --head --location --header "Accept: application/vnd.ibexa.api.Content+json" "https://api.example.com/api/ibexa/v2/content/objects/?remoteId=34720ff636e1d4ce512f762dc638e4ac" ``` @@ -159,7 +159,7 @@ The Response body is often a serialization in XML or JSON of an object as it cou For example, the resource `/content/objects/52` with the `Accept: application/vnd.ibexa.api.ContentInfo+xml` header returns a serialized version of a [ContentInfo](/api/php_api/php_api_reference/classes/Ibexa-Contracts-Core-Repository-Values-Content-ContentInfo.html) object. -```shell +```bash curl https://api.example.com/content/objects/52 --header 'Accept: application/vnd.ibexa.api.ContentInfo+xml'; ``` diff --git a/docs/content_management/images/fastly_io.md b/docs/content_management/images/fastly_io.md index 424d0a5de0..584604bd2b 100644 --- a/docs/content_management/images/fastly_io.md +++ b/docs/content_management/images/fastly_io.md @@ -65,7 +65,7 @@ ibexa: You can also use environmental variables to configure a specific handler for a SiteAccess. See the example below to configure it with the `.env` file: -```shell +```bash IBEXA_VARIATION_HANDLER_IDENTIFIER="fastly" ``` diff --git a/docs/content_management/taxonomy/taxonomy.md b/docs/content_management/taxonomy/taxonomy.md index f145915bd8..35724fbd4d 100644 --- a/docs/content_management/taxonomy/taxonomy.md +++ b/docs/content_management/taxonomy/taxonomy.md @@ -164,7 +164,7 @@ Toggle this setting at any time to enable or disable indexing of taxonomy embedd If you are happy with the default settings, clear the cache and reindex the search engine. -``` shell +```bash php bin/console cache:clear php bin/console ibexa:reindex ``` diff --git a/docs/content_management/url_management/url_management.md b/docs/content_management/url_management/url_management.md index 3a74bceee9..a249b83d0e 100644 --- a/docs/content_management/url_management/url_management.md +++ b/docs/content_management/url_management/url_management.md @@ -39,20 +39,20 @@ To enable automatic URL validation, set up cron to run the `ibexa:check-urls` co For example, to check links every week, add the following script: -```shell +```bash echo '0 0 * * 0 cd [path-to-ibexa]; php bin/console ibexa:check-urls --quiet --env=prod' > ezp_cron.txt ``` Next, append the new cron to user's crontab without destroying existing crons. Assuming that the web server user data is www-data: -```shell +```bash crontab -u www-data -l|cat - ezp_cron.txt | crontab -u www-data - ``` Finally, remove the temporary file: -```shell +```bash rm ezp_cron.txt ``` diff --git a/docs/infrastructure_and_maintenance/backup.md b/docs/infrastructure_and_maintenance/backup.md index c8bcf6927d..b0f985a0ab 100644 --- a/docs/infrastructure_and_maintenance/backup.md +++ b/docs/infrastructure_and_maintenance/backup.md @@ -14,20 +14,20 @@ You should shut down the DXP if it's running before making a backup. 1\. Navigate into the [[= product_name =]] directory: -```shell +```bash cd /path/to/ibexa ``` 2\. Clear all caches: -```shell +```bash var/cache/* var/logs/* ``` 3\. Create a dump of the database: -```shell +```bash # MySQL mysqldump -u --add-drop-table > db_backup.sql @@ -37,7 +37,7 @@ pg_dump -c --if-exists > db_backup.sql 4\. In parent directory create a tar archive of the files (including the database dump) using the "tar" command: -```shell +```bash tar cfz backup_of_ibexa.tar.gz ibexa ``` diff --git a/docs/infrastructure_and_maintenance/security/security_checklist.md b/docs/infrastructure_and_maintenance/security/security_checklist.md index 63c5fdd4be..1f34f7efc6 100644 --- a/docs/infrastructure_and_maintenance/security/security_checklist.md +++ b/docs/infrastructure_and_maintenance/security/security_checklist.md @@ -166,7 +166,7 @@ This applies also to other secrets that may be in use, like the Varnish invalida The following command generates a 64-character-long secure random value: - ```shell + ```bash php -r "print bin2hex(random_bytes(32));" ``` diff --git a/docs/multisite/languages/languages.md b/docs/multisite/languages/languages.md index db223ec42e..cabac093df 100644 --- a/docs/multisite/languages/languages.md +++ b/docs/multisite/languages/languages.md @@ -25,7 +25,7 @@ The multilanguage system operates based on a global translation list that contai Languages can be [added to this list from the **Admin** panel]([[= user_doc =]]/content_management/translate_content/) in the back office. After adding a language be sure to dump all assets to the file system: -```shell +```bash yarn encore # OR php bin/console ibexa:encore:compile ``` diff --git a/docs/personalization/enable_personalization.md b/docs/personalization/enable_personalization.md index e05afc152e..7d3d2b4f17 100644 --- a/docs/personalization/enable_personalization.md +++ b/docs/personalization/enable_personalization.md @@ -18,7 +18,7 @@ When you receive the credentials, add them to your configuration. In the root folder of your project, edit the `.env.local` file by adding the following lines with your customer ID and license key: -```shell +```bash PERSONALIZATION_CUSTOMER_ID=12345 PERSONALIZATION_LICENSE_KEY=67890-1234-5678-90123-4567 PERSONALIZATION_HOST_URI=https://server_uri diff --git a/docs/templating/design_engine/design_engine.md b/docs/templating/design_engine/design_engine.md index b04b94e3ee..e0fe990f97 100644 --- a/docs/templating/design_engine/design_engine.md +++ b/docs/templating/design_engine/design_engine.md @@ -52,7 +52,7 @@ Do this, for example, when you create a SiteAccess with a special design for a c You can check the final design theme lists with the following command: - ```shell + ```bash php bin/console debug:container --parameter=ibexa.design.list --format=json ``` @@ -90,7 +90,7 @@ ibexa_design_engine: You can check the final template directory list per theme with the following command: - ```shell + ```bash php bin/console debug:container --parameter=ibexa.design.templates.path_map --format=json ``` `_override` is a theme added at the beginning of the current design theme list at template path resolution time. diff --git a/docs/update_and_migration/from_3.3/update_from_3.3.md b/docs/update_and_migration/from_3.3/update_from_3.3.md index 52c9ed2cc2..48c4addcf2 100644 --- a/docs/update_and_migration/from_3.3/update_from_3.3.md +++ b/docs/update_and_migration/from_3.3/update_from_3.3.md @@ -229,13 +229,13 @@ Run the following scripts: === "MySQL" - ``` shell + ```bash mysql -u -p < vendor/ibexa/installer/upgrade/db/mysql/ibexa-3.3.6-to-3.3.7.sql ``` === "PostgreSQL" - ``` shell + ```bash psql < vendor/ibexa/installer/upgrade/db/postgresql/ibexa-3.3.6-to-3.3.7.sql ``` @@ -279,13 +279,13 @@ Run the following scripts: === "MySQL" - ``` shell + ```bash mysql -u -p < vendor/ibexa/installer/upgrade/db/mysql/ibexa-3.3.8-to-3.3.9.sql ``` === "PostgreSQL" - ``` shell + ```bash psql < vendor/ibexa/installer/upgrade/db/postgresql/ibexa-3.3.8-to-3.3.9.sql ``` @@ -303,7 +303,7 @@ Run the following scripts: The following `sed` commands should update the relevant lines. Use them with caution and properly check the result: - ```shell + ```bash sed -i -E 's/"symfony\/(.+)": "5.3.*"/"symfony\/\1": "5.4.*"/' composer.json; sed -i -E 's/"require": "5.3.*"/"require": "5.4.*"/' composer.json; ``` @@ -313,7 +313,7 @@ Run the following scripts: You may need to adapt configuration to fit the new minor version of Symfony. For example, you might have to remove `timeout` related config from `nelmio_solarium` bundle config: - ```shell + ```bash sed -i -E '/ *timeout: [0-9]+/d' ./config/packages/nelmio_solarium.yaml ./config/packages/ezcommerce/ezcommerce_advanced.yaml composer update "symfony/*" ``` @@ -403,13 +403,13 @@ On Experience or Commerce edition, run the following scripts: === "MySQL" - ``` shell + ```bash mysql -u -p < vendor/ibexa/installer/upgrade/db/mysql/ibexa-3.3.24-to-3.3.25.sql ``` === "PostgreSQL" - ``` shell + ```bash psql < vendor/ibexa/installer/upgrade/db/postgresql/ibexa-3.3.24-to-3.3.25.sql ``` diff --git a/docs/update_and_migration/migrate_to_ibexa_dxp/common_issues.md b/docs/update_and_migration/migrate_to_ibexa_dxp/common_issues.md index 315c26b961..5aaebd9f62 100644 --- a/docs/update_and_migration/migrate_to_ibexa_dxp/common_issues.md +++ b/docs/update_and_migration/migrate_to_ibexa_dxp/common_issues.md @@ -51,7 +51,7 @@ It only happens after the article is edited and published. If this error occurs use the console command below. It cleans up redundant Relations rows: -```shell +```bash php bin/console ezpublish:update:legacy_storage_clean_up_relation_type_eq_zero ``` The command can be executed in two modes: @@ -65,7 +65,7 @@ Always available flag is set on all fields, instead of only on fields in the mai This problem occurs when [[= product_name =]] is used to create content that is both always available and has multiple translations. The cleanup script correctly sets always available flag for prioritized language filtering in Legacy search engine. -```shell +```bash php bin/console ezpublish:update:legacy_storage_fix_fields_always_available_flag ``` @@ -79,6 +79,6 @@ The cleanup script checks if fields of given field type have correct sort key, a Execute the following command from the installation root directory: -```shell +```bash php bin/console ezpublish:update:legacy_storage_update_sort_keys ``` diff --git a/tools/api_refs/README.md b/tools/api_refs/README.md index 787643c514..968c0bd919 100644 --- a/tools/api_refs/README.md +++ b/tools/api_refs/README.md @@ -57,7 +57,7 @@ Time is saved. The DXP's code could even be modified for test purpose. If you change some of those values, please do not commit those changes, and don't commit their output. To prevent that, you can make a local copy, and use this copy to generate in a temporary output directory: -```shell +```bash cp tools/api_refs/api_refs.sh tools/api_refs/phpdoc.dev.sh nano phpdoc.dev.sh # Edit and make your changes. For example, change PHPDOC_CONF to use phpdoc.dev.xml. nano phpdoc.dev.xml # Edit and make your changes. For example, target only your package.