Documentation categories
You can group the documentation to provide an easier user experience to navigate. This is accomplished by adding a directive to all the types you want to have grouped.
For example, we have two mutations called addCourse
and dropCourse
, and we want to group them under a category called Courses
.
type Mutation {
AddCourse(input: String): String
}
type Mutation {
DropCourse(input: String): String
}
Usage​
We can accomplish this by adding a directive called doc
with a field category
to each mutation.
type Mutation {
AddCourse(input: String): String @doc(category: "Course")
}
type Mutation {
DropCourse(input: String): String @doc(category: "Course")
}
We can add a fallback option called Common
which is for types that we don't explicitly add a directive to.
It can be set either with the command line flag --groupByDirective
:
npx docusaurus graphql-to-doc --groupByDirective "@doc(category|=Common)"
or the plugin configuration groupByDirective
:
docusaurus.config.js
plugins: [
[
"@graphql-markdown/docusaurus",
/** @type {import('@graphql-markdown/types').ConfigOptions} */
{
// ... other options
groupByDirective: {
directive: "doc",
field: "category",
fallback: "Common", // default is Miscellaneous
}
},
],
],