GraphQL schema HTML documentation generation, using configurable graphdoc document-schema plugin
Quick Start
1 . Add dependencies:
package.json
:
"devDependencies": {
"@2fd/graphdoc": "2.4.0",
"graphdoc-plugin-schema": "2.0.0",
2 . If default options are not suitable, then configure graphdoc-plugin-schema
:
package.json
:
{
"graphdoc-plugin-schema": {
"documentTitle": "The Description",
"enableAssets": false
}
}
3 Use graphdoc-plugin-schema
:
package.json
:
"scripts": {
"doc": "graphdoc -p graphdoc/../../graphdoc-plugin-schema -p graphdoc/../../graphdoc-plugin-flexible -s ./schema.graphql -o ./build/documentation"
},
"graphdoc-plugin-flexible": {
"document.schema": { "disable": true }
},
"devDependencies": {
"@2fd/graphdoc": "2.4.0",
"graphdoc-plugin-flexible": "1.0.2",
"graphdoc-plugin-schema": "2.0.0",
graphdoc-plugin-flexible
is required to avoid duplication when graphdoc default plugins are used.
graphdoc/../../
this is required to get external plugins working ingraphdoc
.
Goals
graphdoc-plugin-schema
provides a way to use graphdoc
default document-schema
plugin with other custom kinds without breaking (being also faster than document-schema
).
Options
package.json
:
(default values)
{
"graphdoc-plugin-schema": {
"documentTitle": "Description",
"enableAssets": true
}
}
documentTitle
: title of the document section.enableAssets
: if set tofalse
, then it will disable all the assets provided by the plugin, i.e. script and css files will not be included.
The following shows where the documentTitle
and the “code block” are located, using the example documentation created by graphdoc
, Pokemon GraphQL HTML Documentation, using Pokemon GraphQL schema:
Using/Configuration
- To use
graphdoc-plugin-schema
is necessary thatdocument-schema
plugin is disabled (to avoid duplication), usegraphdoc-plugin-flexible
plugin:
package.json
"scripts": {
"doc": "graphdoc -p graphdoc/../../graphdoc-plugin-schema -p graphdoc/../../graphdoc-plugin-flexible -s ./schema.graphql -o ./build/documentation"
},
"graphdoc-plugin-flexible": {
"document.schema": { "disable": true }
},
"devDependencies": {
"@2fd/graphdoc": "2.4.0",
"graphdoc-plugin-flexible": "1.0.2",
"graphdoc-plugin-schema": "2.0.0",
Online Examples
- Pokemon GraphQL schema: Project and Online generated documentation.
- Github GraphQL schema: Project and Online generated documentation.
Prerequisites
graphdoc can work with older versions of GraphQL (description syntax: #), and new versions (description syntax: “””), How to configure graphdoc.