Skip to content

docs: documentation overhaul - #728

Merged
stuebingerb merged 1 commit into
mainfrom
docs/docs-overhaul
Sep 11, 2026
Merged

docs: documentation overhaul#728
stuebingerb merged 1 commit into
mainfrom
docs/docs-overhaul

Conversation

@stuebingerb

Copy link
Copy Markdown
Owner

Titles

Some pages had no title, some had it set via meta data, some had it set as level 1 markdown header. And in the end, everything was anyway overridden by the title set in mkdocs.yml.

This consolidates everything to the level 1 markdown header because that keeps the title closer to the content, and is also rendered without mkdocs, e.g. in the IDE preview of a single page. Explicit titles in the navigation configuration are removed to avoid duplication.

Weight

Weight doesn't seem to have an effect with explicit navigation configuration and was removed.

Uppercase/lowercase

We consolidate all uses of ktor/Ktor to Ktor for the official name. In addition, all headings now use title case.

Missing Sub Headings

Some pages missed an additional "overview" heading as first item, and some pages missed sub headings at all. Both have been added for better structure, and a more consistent table of contents.

Correct Heading Levels

Some pages had level 1 and level 3 headings and are now using level 1 and level 2 instead for proper hierarchies.

Latest Maven Version

Adds a small snippet to automatically replace ${KGraphQLVersion} with the latest release tag.

Admonitions

Use admonitions to make experimental warnings more visible.

Missing Content

Add missing content in a few places.

@coderabbitai

coderabbitai Bot commented Sep 9, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

Warning

Review limit reached

Next included review available in 41 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Advanced

Run ID: caebdcb9-d80e-43e8-80c0-8edf362efb66

📥 Commits

Reviewing files that changed from the base of the PR and between 625c1ea and b13383b.

📒 Files selected for processing (1)
  • docs/content/assets/replace_maven_version.js
📝 Summary

Summary by CodeRabbit

  • Documentation
    • Restructured documentation navigation, headings, and formatting for clearer browsing.
    • Improved installation, Ktor, tutorial, type system, operations, resolver, and schema stitching guidance.
    • Added resolver examples for accessing execution-node context.
    • Added schema stitching installation instructions and usage notes.
    • Added automatic replacement of version placeholders in documentation examples.
    • Added warning callouts for experimental features and enabled admonition formatting.

Walkthrough

The pull request restructures the documentation hierarchy, updates installation and tutorial examples, adds resolver and stitching guidance, and revises MkDocs navigation and assets. No functional library code changes were made.

Changes

Documentation publishing and navigation

Layer / File(s) Summary
MkDocs publishing and navigation
docs/mkdocs.yml, docs/content/assets/replace_maven_version.js
MkDocs now loads the version replacement script, enables admonitions, and uses revised navigation titles and paths.

Installation and tutorial content

Layer / File(s) Summary
Installation, examples, and tutorials
docs/content/Examples/index.md, docs/content/Installation/index.md, docs/content/Plugins/ktor.md, docs/content/Tutorials/*
Pages now use explicit Markdown headings. Dependency examples use ${KGraphQLVersion}. Installation and tutorial content includes revised Ktor, Maven, project setup, schema, and query guidance.

Type system reference

Layer / File(s) Summary
Type system reference restructuring
docs/content/Reference/Type System/*
Type system pages now use revised heading hierarchies. Union documentation separates sealed-class schemas from manual configuration. Objects and interfaces include headings for transformations and nullability.

General reference updates

Layer / File(s) Summary
Reference documentation updates
docs/content/Reference/configuration.md, docs/content/Reference/deprecation.md, docs/content/Reference/operations.md, docs/content/Reference/resolver.md, docs/content/Reference/stitching.md, docs/content/Reference/errorHandling.md
Reference pages use revised headings and table labels. Resolver documentation adds a Node example. Stitching documentation adds installation instructions and a parentFieldName query requirement. Error handling uses a note admonition.

Merge Risk: 🔵 Low · up to 625c1

The documentation change carries a minor publishing risk: dependency placeholders may display as undefined when the site version element is unavailable. It is mergeable with a bounded follow-up to guard that case.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title uses the conventional docs: prefix, stays under 50 characters, and accurately summarizes the documentation overhaul.
Description check ✅ Passed The description clearly explains the documentation changes, including title standardization, heading updates, Maven version replacement, admonitions, and added content.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/docs-overhaul

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Sep 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 84.12%. Comparing base (b6c0b36) to head (cce0880).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #728   +/-   ##
=======================================
  Coverage   84.12%   84.12%           
=======================================
  Files         150      150           
  Lines        4931     4931           
  Branches      856      856           
=======================================
  Hits         4148     4148           
  Misses        486      486           
  Partials      297      297           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3


ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Advanced

Run ID: fab43911-44fb-4988-8e5b-317efe8aafe1

📥 Commits

Reviewing files that changed from the base of the PR and between b6c0b36 and cce0880.

📒 Files selected for processing (18)
  • docs/content/Examples/index.md
  • docs/content/Installation/index.md
  • docs/content/Plugins/ktor.md
  • docs/content/Reference/Type System/enums.md
  • docs/content/Reference/Type System/input-objects.md
  • docs/content/Reference/Type System/objects-and-interfaces.md
  • docs/content/Reference/Type System/overview.md
  • docs/content/Reference/Type System/scalars.md
  • docs/content/Reference/Type System/unions.md
  • docs/content/Reference/configuration.md
  • docs/content/Reference/deprecation.md
  • docs/content/Reference/operations.md
  • docs/content/Reference/resolver.md
  • docs/content/Reference/stitching.md
  • docs/content/Tutorials/ktor.md
  • docs/content/Tutorials/starwars.md
  • docs/content/assets/replace_maven_version.js
  • docs/mkdocs.yml

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.

Comment thread docs/content/assets/replace_maven_version.js Outdated
Comment thread docs/content/Reference/Type System/overview.md Outdated
Comment thread docs/content/Reference/Type System/unions.md Outdated

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 18 files

Architecture diagram
sequenceDiagram
    participant Author as Documentation Author
    participant Markdown as Markdown Pages
    participant MkDocs as MkDocs Configuration
    participant Build as MkDocs Build Pipeline
    participant Browser as Documentation Browser
    participant Maven as Material Version Metadata
    participant IDE as IDE Markdown Preview

    Note over Author,IDE: Documentation presentation and version-substitution flow

    Author->>Markdown: Write pages with level 1 titles, structured headings, examples, and admonitions
    Author->>MkDocs: Configure navigation, markdown extensions, and assets
    MkDocs->>Build: Load nav paths and enable admonition extension
    MkDocs->>Build: Register replace_maven_version.js as extra JavaScript
    Markdown->>Build: Provide page content and ${KGraphQLVersion} placeholders
    Build->>Build: Render Markdown, headings, navigation, code blocks, and admonitions
    Build-->>Browser: Serve generated HTML with navigation and version metadata

    Browser->>Maven: Read latest release tag from rendered version element
    Maven-->>Browser: Return latest KGraphQL version text
    Browser->>Browser: Replace all ${KGraphQLVersion} placeholders in document HTML
    Browser-->>Browser: Display dependency snippets with resolved version

    alt Version metadata is unavailable
        Browser->>Browser: Leave ${KGraphQLVersion} placeholders unchanged
    end

    opt Standalone page preview
        IDE->>Markdown: Open a single Markdown page
        Markdown-->>IDE: Render level 1 title and heading hierarchy directly
    end

    Note over MkDocs,Browser: Navigation labels are derived from page titles and configured paths
    Note over Markdown,Build: Content structure is shared by generated documentation and standalone previews
Loading

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread docs/content/assets/replace_maven_version.js Outdated
Comment thread docs/content/Reference/stitching.md Outdated
Comment thread docs/content/Reference/Type System/unions.md Outdated
Comment thread docs/content/Reference/stitching.md Outdated
Comment thread docs/content/Reference/Type System/overview.md Outdated
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

🐰 Bencher Report

ProjectKGraphQL
Branchdocs/docs-overhaul
Testbedubuntu-latest
Click to view all benchmark results
BenchmarkThroughputBenchmark Result
operations / second (ops/s)
(Result Δ%)
Lower Boundary
operations / second (ops/s)
(Limit %)
de.stuebingerb.kgraphql.FunctionExecutionBenchmark.benchmarkFunctionExecution📈 view plot
🚷 view threshold
5,928,149.30 ops/s
(+3.44%)Baseline: 5,731,091.92 ops/s
4,750,480.66 ops/s
(80.13%)
de.stuebingerb.kgraphql.ParallelExecutionBenchmark.queryBenchmark📈 view plot
🚷 view threshold
1.30 ops/s
(-0.03%)Baseline: 1.30 ops/s
1.30 ops/s
(99.85%)
de.stuebingerb.kgraphql.QueryBenchmark.executionError📈 view plot
🚷 view threshold
15,014.99 ops/s
(-16.57%)Baseline: 17,996.05 ops/s
10,809.03 ops/s
(71.99%)
de.stuebingerb.kgraphql.QueryBenchmark.inputFromDocument📈 view plot
🚷 view threshold
18,842.58 ops/s
(-14.22%)Baseline: 21,965.26 ops/s
14,227.94 ops/s
(75.51%)
de.stuebingerb.kgraphql.QueryBenchmark.inputFromVariable📈 view plot
🚷 view threshold
18,312.98 ops/s
(-14.03%)Baseline: 21,300.96 ops/s
13,901.40 ops/s
(75.91%)
de.stuebingerb.kgraphql.QueryBenchmark.largeList📈 view plot
🚷 view threshold
4.84 ops/s
(+2.79%)Baseline: 4.71 ops/s
3.98 ops/s
(82.17%)
de.stuebingerb.kgraphql.QueryBenchmark.largeListWithFragment📈 view plot
🚷 view threshold
5.52 ops/s
(+5.25%)Baseline: 5.24 ops/s
4.49 ops/s
(81.39%)
de.stuebingerb.kgraphql.QueryBenchmark.manyChildren📈 view plot
🚷 view threshold
196.13 ops/s
(+6.73%)Baseline: 183.75 ops/s
137.20 ops/s
(69.95%)
de.stuebingerb.kgraphql.QueryBenchmark.manyChildrenWithFragment📈 view plot
🚷 view threshold
208.16 ops/s
(+6.55%)Baseline: 195.36 ops/s
146.32 ops/s
(70.29%)
de.stuebingerb.kgraphql.QueryBenchmark.manyDataChildren📈 view plot
🚷 view threshold
8.91 ops/s
(+0.08%)Baseline: 8.91 ops/s
8.77 ops/s
(98.35%)
de.stuebingerb.kgraphql.QueryBenchmark.manyOperations📈 view plot
🚷 view threshold
330.16 ops/s
(+7.74%)Baseline: 306.44 ops/s
234.98 ops/s
(71.17%)
de.stuebingerb.kgraphql.QueryBenchmark.manyOperationsWithFragment📈 view plot
🚷 view threshold
320.29 ops/s
(+1.64%)Baseline: 315.13 ops/s
247.47 ops/s
(77.26%)
de.stuebingerb.kgraphql.QueryBenchmark.nestedObject📈 view plot
🚷 view threshold
7,271.85 ops/s
(-8.72%)Baseline: 7,966.28 ops/s
5,908.57 ops/s
(81.25%)
de.stuebingerb.kgraphql.RequestCachingBenchmark.invalidRequest📈 view plot
🚷 view threshold
134,950.39 ops/s
(-5.39%)Baseline: 142,643.48 ops/s
126,219.54 ops/s
(93.53%)
de.stuebingerb.kgraphql.RequestCachingBenchmark.largeRequest📈 view plot
🚷 view threshold
7,296.04 ops/s
(-11.07%)Baseline: 8,204.40 ops/s
5,840.92 ops/s
(80.06%)
de.stuebingerb.kgraphql.RequestCachingBenchmark.smallRequest📈 view plot
🚷 view threshold
10,362.30 ops/s
(-12.27%)Baseline: 11,811.73 ops/s
8,197.34 ops/s
(79.11%)
de.stuebingerb.kgraphql.SimpleExecutionOverheadBenchmark.benchmark📈 view plot
🚷 view threshold
471,723.83 ops/s
(-1.24%)Baseline: 477,635.64 ops/s
414,607.53 ops/s
(87.89%)
🐰 View full continuous benchmarking report in Bencher

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Advanced

Run ID: 866cb596-ebaa-42b8-b608-e2f66f870c2d

📥 Commits

Reviewing files that changed from the base of the PR and between cce0880 and 625c1ea.

📒 Files selected for processing (5)
  • docs/content/Reference/Type System/overview.md
  • docs/content/Reference/Type System/unions.md
  • docs/content/Reference/errorHandling.md
  • docs/content/Reference/stitching.md
  • docs/content/assets/replace_maven_version.js
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/content/Reference/Type System/overview.md

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.

Comment thread docs/content/assets/replace_maven_version.js Outdated

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 19 files

Architecture diagram
sequenceDiagram
    participant Author as Documentation Author
    participant Source as Markdown Content
    participant Config as mkdocs.yml
    participant MkDocs as MkDocs Build
    participant Theme as Material for MkDocs
    participant Browser as Reader Browser
    participant Script as Version Replacement Script

    Note over Author,Theme: Documentation publishing and rendering flow

    Author->>Source: Write Markdown pages with level 1 titles,\nheadings, examples, links, and admonitions
    Author->>Config: Define navigation paths,\nMarkdown extensions, theme assets, and plugins

    MkDocs->>Config: Load site configuration
    MkDocs->>Source: Read pages referenced by navigation
    Source-->>MkDocs: Markdown content with ${KGraphQLVersion}
    MkDocs->>MkDocs: Convert Markdown to HTML
    MkDocs->>MkDocs: Apply heading hierarchy and admonition extension
    MkDocs->>Theme: Render HTML using page headings and navigation paths
    Theme-->>MkDocs: Generated documentation site
    MkDocs-->>Browser: Serve generated HTML, CSS, and JavaScript

    Browser->>Script: Load extra_javascript assets
    Script->>Browser: Read latest version from Material theme metadata
    Script->>Browser: Find text nodes containing ${KGraphQLVersion}
    alt Version metadata is available
        Script->>Browser: Replace placeholders with latest release tag
    else Version metadata is unavailable
        Script-->>Browser: Leave placeholders unchanged
    end

    Browser->>Browser: Render navigation, headings,\ncode examples, and admonitions
    Browser-->>Reader: Display documentation page
Loading

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread docs/content/assets/replace_maven_version.js Outdated
### Titles

Some pages had no title, some had it set via meta data, some had it
set as level 1 markdown header. And in the end, everything was anyway
overridden by the title set in `mkdocs.yml`.

This consolidates everything to the level 1 markdown header because
that keeps the title closer to the content, and is also rendered
without mkdocs, e.g. in the IDE preview of a single page.
Explicit titles in the navigation configuration are removed to avoid
duplication.

### Weight

Weight doesn't seem to have an effect with explicit navigation
configuration and was removed.

### Uppercase/lowercase

We consolidate all uses of `ktor/Ktor` to `Ktor` for the official name.
In addition, all headings now use title case.

### Missing Sub Headings

Some pages missed an additional "overview" heading as first item, and
some pages missed sub headings at all. Both have been added for better
structure, and a more consistent table of contents.

### Correct Heading Levels

Some pages had level 1 and level 3 headings and are now using level 1
and level 2 instead for proper hierarchies.

### Latest Maven Version

Adds a small snippet to automatically replace `${KGraphQLVersion}`
with the latest release tag.

### Admonitions

Use admonitions to make experimental warnings more visible.

### Missing Content

Add missing content in a few places.
@stuebingerb
stuebingerb merged commit 14a3984 into main Sep 11, 2026
9 checks passed
@stuebingerb
stuebingerb deleted the docs/docs-overhaul branch September 11, 2026 07:48
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.

2 participants