Skip to content

A plugin for ex_doc to autogenerate Grapqhl documentation into ex_doc

License

Notifications You must be signed in to change notification settings

jeregrine/graphql_markdown

 
 

Repository files navigation

GraphqlMarkdown

Converts a JSON Graphql Schema to Markdown

Installation

If available in Hex, the package can be installed by adding graphql_markdown to your list of dependencies in mix.exs:

def deps do
  [
    {:graphql_markdown, "~> 0.1.2"}
  ]
end

And run:

$ mix deps.get

# will create a single file called graphql_schema.md in the current dir
$ mix graphql_gen_markdown -f ./schema.json

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/graphql_markdown.

Quick Start

You can generate either single page with all the types or a multipage that will then generate separately Mutations, Queries, Enums etc, each in a different file.

Single page

When you run the following

mix graphql_gen_markdown -f ./schema.json

it will generate the following file in your current folder:

./graphql_schema.md

You can change the default title for the single page with -t option.

Multi pages

When you run the following

mix graphql_gen_markdown -f ./schema.json -m

it will generate the following files in your current folder:

./queries.md ./mutations.md ./objects.md ./inputs.md ./enums.md ./scalars.md ./interfaces.md ./unions.md

Documentation

Documentation is available on Hexdocs

Contributing

  1. Fork it!
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Author

Emmanuel Pinault (@epinault)

License

is released under the MIT License. See the LICENSE file for further details.

About

A plugin for ex_doc to autogenerate Grapqhl documentation into ex_doc

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Elixir 100.0%