gatsby-remark-typedoc-symbol-links

GitHub code size in bytes GitHub repo size npm npm npm npm NPM npm GitHub last commit npm collaborators

A Gatsby.js Remark plugin that transform Typedoc symbol links (e.g. [[symbol.path]]). Designed to be used with gatsby-source-typedoc which creates Gatsby nodes for GraphQL that contain your Typedoc project but you could provide your own Typedoc project reflection using fs.readSync.

This plugin just wraps remark-typedoc-symbol-links and passes the options.typedoc on your behalf using the sourced Typedoc Gatsby node(s).

Install

npm install gatsby-source-typedoc gatsby-remark-typedoc-symbol-links --save-dev

Usage

Configure your gatsby-config.js:

Add gatsby-source-typedoc

First, include gatsby-source-typedoc in your config to generate your Typedoc:

// In your gatsby-config.js
module.exports = {
  plugins: [
    {
      resolve: 'gatsby-source-typedoc',
      options: {
        src: [`${__dirname}/my-typescript-project/index.ts`],
        typedoc: {
          mode: 'modules',
          tsconfig: `${__dirname}/my-typescript-project/tsconfig.json`,
        },
      },
    },
  ],
}

See gatsby-source-typedoc for complete set of options.

Markdown with gatsby-transformer-remark

When using with gatsby-transformer-remark, include under options.plugins:

// In your gatsby-config.js
module.exports = {
  plugins: [
    {
      resolve: `gatsby-transformer-remark`,
      options: {
        plugins: [
          {
            resolve: 'gatsby-remark-typedoc-symbol-links',
            options: {
              /* provide options here */
            },
          },
        ],
      },
    },
  ],
}

MDX with gatsby-plugin-mdx

When using with gatsby-plugin-mdx, include under options.gatsbyRemarkPlugins config:

// In your gatsby-config.js
module.exports = {
  plugins: [
    {
      resolve: `gatsby-plugin-mdx`,
      options: {
        gatsbyRemarkPlugins: [
          {
            resolve: 'gatsby-remark-typedoc-symbol-links',
            options: {
              /* provide options here */
            },
          },
        ],
      },
    },
  ],
}

Options

options.id (optional, default: default)

This corresponds to the gatsby-source-typedoc id option. This allows you to source from multiple Typedoc projects. By default, the ID is default and if you need more, they should be unique.

The rest of the options (excluding options.typedoc which is sourced for you) are documented in remark-typedoc-symbol-links, they are passed through.

Demo / Example

This was developed for use on the excalibur.js project and is used in the documentation site, see the Gatsby config.

Contributing

See Contributing and the Code of Conduct

License

MIT