Skip to content

Move the documentation from MkDocs to AsciiDoc, published on smallrye.io - #2732

Open
phillip-kruger wants to merge 4 commits into
smallrye:mainfrom
phillip-kruger:docs-asciidoc
Open

phillip-kruger wants to merge 4 commits into
smallrye:mainfrom
phillip-kruger:docs-asciidoc

Conversation

@phillip-kruger

Copy link
Copy Markdown
Member

The docs move from MkDocs to AsciiDoc, laid out like the Quarkus guides. smallrye.io pulls them in and publishes them at https://smallrye.io/docs/smallrye-graphql// (smallrye/smallrye.github.io#136): main nightly, each release once it is tagged.

Depends on smallrye/smallrye.github.io#136. The new Documentation check calls the reusable workflow added there.

What changes

  • Pages. docs/*.md become docs/src/main/asciidoc/*.adoc with the same names. The exceptions are server_configuration and client_configuration, which become server-configuration and client-configuration.
    • The sidebar is in _nav.yml and shared attributes are in _attributes.adoc.
    • Ids are Quarkus-style, e.g. #name-mapping-aliases.
  • Code examples. They move from docs/snippets to docs/src/main/java, the module's standard source directory, so the build-helper plugin goes. They still compile with the build, and pages include them with include::{examples-dir}/...[].
  • PR check. Pull requests touching docs/ run the Documentation workflow. It renders the docs with the smallrye.io site, fails on a broken include or a page that does not render, and attaches the rendered site as an artifact.
  • Removed: mkdocs.yml, the mike Publish the website workflow, and .github/render-documentation.sh. The release no longer publishes docs; smallrye.io picks up the tag.
  • Docs and README links. docs/README.adoc explains how to write and preview pages, and the README links point to the new location.

Older versions

Everything already on gh-pages (3.0.0.Beta8 and earlier) stays where it is, and the site's version picker links to it as "Older versions". After this is merged, the mike latest alias and the root page on gh-pages will redirect to /docs/smallrye-graphql/latest/.

Checked

  • The converted pages render without errors or Asciidoctor warnings.
  • All internal links resolve.
  • The examples compile (mvn -pl docs -am install).

The docs are now AsciiDoc in docs/src/main/asciidoc, laid out like the Quarkus guides,
and smallrye.io pulls them in: the main branch nightly and each release once tagged, at
https://smallrye.io/docs/smallrye-graphql/<version>/.

- One .adoc page per former .md page, same names except server_configuration and
  client_configuration, now server-configuration and client-configuration.
- The sidebar is _nav.yml; shared attributes are in _attributes.adoc.
- Code examples move from docs/snippets to docs/src/main/java, the module's standard
  source directory, and are included with include::{examples-dir}/...[]; they still
  compile with the build, so the build-helper plugin is no longer needed.
- Pull requests touching docs/ are rendered with the smallrye.io site by the new
  Documentation workflow.
- mkdocs.yml, the mike publishing workflow and its script are removed.
@phillip-kruger
phillip-kruger requested a review from a team as a code owner October 14, 2026 23:59
version-root lets pages in subdirectories use the same paths, partialsdir is where pages
included by other pages go, and javadoc-version is set by smallrye.io for each release.
@phillip-kruger

phillip-kruger commented Oct 15, 2026 •

Copy link
Copy Markdown
Member Author

Screenshots of the documentation before and after this change (updated).

Before: the MkDocs site, as it is on smallrye.io today. After: this branch's AsciiDoc, rendered by smallrye.io with smallrye/smallrye.github.io#136 (a local build: /docs/smallrye-graphql/main/). On smallrye.io the sidebar starts closed (the ☰ button opens it, and it stays open on the next pages for that reader); its groups are folded except the one holding the current page. The project and version picker sit in the header next to the logo, so a start page has no separate title; further down, a start page lists the documentation, from its navigation.

BeforeAfter
Overview · old page
Overview, beforeOverview, after
Further down the start page: its contents, listed from the navigation
Start page contents, after
Type-safe client · old page
Type-safe client, beforeType-safe client, after
Type-safe client, with the Contents sidebar open
Type-safe client, sidebar open

The documentation the way smallrye.io shows it, published again when a page or an included
example changes: ./mvnw -Pdocs-preview runs the smallrye.io docs tools with JBang (only Java
needed), instead of a smallrye.github.io checkout and Python.

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant