Migrate to Netlify Today

Netlify announces the next evolution of Gatsby Cloud. Learn more

ContactSign Up
Community Plugin
View plugin on GitHub



A gatsby source plugin for Yuidoc

It will set Yuidoc data into graphql nodes.

You can find all the annotations in the YUIDoc Syntax Reference page

Dependencies (optional)

How to install and init

  • yarn add | npm install gatsby-source-yuidoc
  • In gatsby-config.js:
 plugins: [
     resolve: `gatsby-source-yuidoc`,
     options: {
       paths: [path.resolve(__dirname, `/path`)],
       exclude: path.resolve(__dirname, `/path/to_exclude`),

Available options and their default values

Options used in YUIDoc Class merged with plugin options:

Option Definition Default value
baseUrl If provided, will generate an url for each node
allowNoParent If false, the plugin will not create nodes without parents, except DocModule true
    quiet: false,
    writeJSON: true,
    outdir: path.join(process.cwd(), 'out'),
    extension: '.js',
    exclude: '.DS_Store,.svn,CVS,.git,build_rollup_tmp,build_tmp,node_modules',
    norecurse: false,
    version: '0.1.0',
    paths: [],
    themedir: path.join(__dirname, 'themes', 'default'),
    syntaxtype: 'js',
    baseUrl: `/documentation`,
    allowNoParent: true,


This plugin will generate nodes described in types.js:

  • DocModule
  • DocClass
  • DocMethod


Parent Children
/ DocModule
DocModule DocClass
DocClass DocMethod


Each node has a generated url if the config baseUrl is provided

Node Url
DocModule `${baseUrl}/${DocModule.name}/`
DocClass `${baseUrl}/${DocModule.name}/${DocClass.name}/`
DocMethod `${baseUrl}/${DocModule.name}/${DocClass.name}/#${DocMethod.name}`

How to query for data

query MyDoc {
  allDocModule {
    nodes {
      childrenDocClass {
        childrenDocMethod {

How to run tests

lint: yarn lint

How to contribute

If you’d like to contribute any changes simply fork the project on Github and send a pull request.

© 2023 Gatsby, Inc.