Skip to content

Added "View as markdown" button#3161

Open
mnocon wants to merge 23 commits into
5.0from
view-as-markdown
Open

Added "View as markdown" button#3161
mnocon wants to merge 23 commits into
5.0from
view-as-markdown

Conversation

@mnocon
Copy link
Copy Markdown
Contributor

@mnocon mnocon commented Apr 21, 2026

This PR adds support for https://llmstxt.org/ (tool helping AI agents navigate webpages), and introduces a Markdown version of the doc.

How it looks:

Screenshot 2026-05-17 at 21 06 27

The "View on GitHub" button is replaced by:

  • View as Markdown - fully rendered Markdown content
  • Edit on GitHub - for quick contributions

Why Markdown version of the doc, is the content on GitHub not enough?

No, because the macros we use (for example, embedding files) make the content not readable.

Compare:

  • Raw Markdown
  • Output Markdown
    The output Markdown contains the full code sample, making it easier for the AI agents to understand what's going on.

For more example see the list of cases I had to cover below.

LLMS.txt files

llms.txt file
llms-full.txt file

Pages can be excluded from this by marking them with exclude_from_llmstxt.

The content of these files is autogenerated by mkdocs build is run - no manual changes needed.
For now, HTML files are excluded from this list - I want to tackle API References in a follow-up.

Notes

Release notes page:

HTML: https://ez-systems-developer-documentation--3161.com.readthedocs.build/en/3161/release_notes/ibexa_dxp_v5.0/
Markdown: https://ez-systems-developer-documentation--3161.com.readthedocs.build/en/3161/release_notes/ibexa_dxp_v5.0/index.md (supports badges)

Exclusion of Personalization

Personalization pages are excluded from this solution.
Example page: https://ez-systems-developer-documentation--3161.com.readthedocs.build/en/3161/personalization/personalization/

Image alt text

AI agents cannot see the images, similarly as people using screen readers.

HTML: https://ez-systems-developer-documentation--3161.com.readthedocs.build/en/3161/infrastructure_and_maintenance/request_lifecycle/
Markdown: https://ez-systems-developer-documentation--3161.com.readthedocs.build/en/3161/infrastructure_and_maintenance/request_lifecycle/index.md

*[Image: Simplified request lifecycle flowchart]*

Absolute vs relative urls

This is something I'm still considering - I've went with absolute URLs, as these fill safer, but they use more token space of the agents.

Example page with absolute linls: https://ez-systems-developer-documentation--3161.com.readthedocs.build/en/3161/discounts/discounts/index.md

Admonition boxes

Converted to blockquotes.

HTML: https://ez-systems-developer-documentation--3161.com.readthedocs.build/en/3161/infrastructure_and_maintenance/background_tasks/#start-worker

Markdown: https://ez-systems-developer-documentation--3161.com.readthedocs.build/en/3161/infrastructure_and_maintenance/background_tasks/index.md

> **Warning: Multi-repository setups**
>
> Doctrine transport works across multiple repositories without issues, but other transports may need to be adjusted, so that queues across different repositories are not accidentally shared.

> **Note: Deploying Ibexa Messenger**
>
> Additional considerations regarding the deployment of Symfony Messenger to production, which you can find in [Symfony documentation](https://symfony.com/doc/current/messenger.html#deploying-to-production) apply to Ibexa Messenger as well.

Tabs

Example:
HTML https://ez-systems-developer-documentation--3161.com.readthedocs.build/en/3161/getting_started/requirements/
Markdown: https://ez-systems-developer-documentation--3161.com.readthedocs.build/en/3161/getting_started/requirements/index.md

**Ibexa DXP v5.0**

| Name                          | Version    |
| ----------------------------- | ---------- |
| Debian 11 "Bullseye"          | 11.0-11.7+ |
| Ubuntu "Noble Numbat"         | 24.04      |
| RHEL / CentOS / CentOS Stream | 8.1-9.5+   |

If you see a "+" next to the product version, it indicates a recommended version or higher within the same major release. For example, "1.18+" means any 1.x version equal to or higher than 1.18, but not 2.x.

**Ibexa DXP v4.6**

| Name                          | Version     |
| ----------------------------- | ----------- |
| Debian 10 "Buster"            | 10.0-10.13+ |
| Debian 11 "Bullseye"          | 11.0-11.7+  |
| Ubuntu "Focal Fossa"          | 20.04       |
| Ubuntu "Jammy Jellyfish"      | 22.04       |
| Ubuntu "Noble Numbat"         | 24.04       |
| RHEL / CentOS / CentOS Stream | 8.1-9.5+    |

Tables

Tables actually look great 😄 The only problem is tables where a call contains a |: This will be fixed once we start using markdownlint (one of the PR fixes this) - we can't use the | symbol within tables, as it breaks table rendering.
For tables with linebreaks within cells, a comma is used instead.

Examples:
HTML: https://ez-systems-developer-documentation--3161.com.readthedocs.build/en/3161/ibexa_products/editions/
Markdown: https://ez-systems-developer-documentation--3161.com.readthedocs.build/en/3161/ibexa_products/editions/index.md

With linebreaks:

HTML: https://ez-systems-developer-documentation--3161.com.readthedocs.build/en/3161/api/event_reference/content_events/
Markdown: https://ez-systems-developer-documentation--3161.com.readthedocs.build/en/3161/api/event_reference/content_events/index.md

Note the broken row for BeforePublishVersionEvent - this must be fixed in the Markdown source (I do it in one of the Markdownlint PRs).

Cards macro

Converted to a list of links:

HTML: https://ez-systems-developer-documentation--3161.com.readthedocs.build/en/3161/ibexa_products/editions/
Markdown: https://ez-systems-developer-documentation--3161.com.readthedocs.build/en/3161/ibexa_products/editions/index.md

Lists numbering

Example: https://ez-systems-developer-documentation--3161.com.readthedocs.build/en/3161/infrastructure_and_maintenance/clustering/clustering_with_ddev/index.md

Edition pills

In content (inline):

## v5.0.4

### Database update (Experience) (Commerce)

Release notes: https://ez-systems-developer-documentation--3161.com.readthedocs.build/en/3161/release_notes/ibexa_dxp_v5.0/index.md

## Google Gemini connector v5.0.7 (Headless, Experience, Commerce, LTS Update, New feature, First release)

2026-04-20

@mnocon mnocon changed the title View as markdown Added "View as markdown" button Apr 21, 2026
@sonarqubecloud
Copy link
Copy Markdown

@mnocon mnocon marked this pull request as ready for review May 18, 2026 08:13
@mnocon mnocon requested a review from a team May 18, 2026 08:14
@ibexa-workflow-automation-1 ibexa-workflow-automation-1 Bot removed the request for review from a team May 18, 2026 08:14
@dabrt
Copy link
Copy Markdown
Contributor

dabrt commented May 19, 2026

There is one and only reservation. While the idea is undoubtly beneficial, I feel like the area around the title has become very crowded. How about we consult the placement with Dawid Z. ?

We could, for example, have icons with hover-on labels, wdys? Or put the section with purely technical buttons at the bottom, after the article itself?

obraz

@mnocon
Copy link
Copy Markdown
Contributor Author

mnocon commented May 19, 2026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants