1
0
mirror of synced 2025-12-25 11:03:37 -05:00
Files
docs/lib/graphql
Hector Alfaro 95e6f3d3ab Deprecate GHES 3.1 (#28798)
* add 3.1 to deprecated versions

* rewrite img src to use azure blob storage in archive script

Co-authored-by: rachmari <rachmari@users.noreply.github.com>

* remove static files for ghes 3.1

* remove liquid conditionals and content for ghes 3.1

* remove outdated hardware reqs reusable

* Fix liquid conditional uncaught by script

* Close liquid conditionals missed by script

* Apply @mattpollard's suggestions

Co-authored-by: Matt Pollard <mattpollard@users.noreply.github.com>

Co-authored-by: rachmari <rachmari@users.noreply.github.com>
Co-authored-by: Matt Pollard <mattpollard@users.noreply.github.com>
2022-07-11 21:17:09 +00:00
..
2022-07-11 21:17:09 +00:00
2020-09-27 14:10:11 +02:00
2021-07-14 14:35:01 -07:00

GraphQL

About this directory

  • lib/graphql/*.json are human-editable.
  • lib/graphql/static/*.json are generated by scripts.

Editable files

  • lib/graphql/validator.json
    • JSON schema used in tests/graphql.js.
  • lib/graphql/non-schema-scalars.json
    • An array of scalar types that live in graphql-ruby only. These are not part of the core GraphQL spec.
  • lib/graphql/redirects.json
    • A list of original developer.github.com/v4 paths and their corresponding new docs.github.com/graphql paths. Used in redirect middleware and tests.
  • lib/graphql/types.json
    • High-level GraphQL types and kinds.

Static files

Generated by script/graphql/update-files.js:

  • lib/graphql/static/schema-VERSION.json (separate files per version)
  • lib/graphql/static/previews.json
  • lib/graphql/static/upcoming-changes.json
  • lib/graphql/static/changelog.json

Rendering docs

When the server starts, middleware/graphql.js accesses the static JSON files, fetches the data for the current version, and adds it to the context object. The added properties are:

  • context.graphql.schemaForCurrentVersion
  • context.graphql.previewsForCurrentVersion
  • context.graphql.upcomingChangesForCurrentVersion
  • context.graphql.changelog

Markdown files in content/graphql use Liquid to loop over these context properties. The Liquid calls HTML files in the includes directory to do most of the rendering.

Note that Markdown files exist in content/graphql for every URL available in our GraphQL documentation. Writers can add content to the Markdown files alongside the Liquid.