npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@telus-uds/docusaurus-plugin-component-docs-pages

v3.0.0

Published

Docusaurus plugin for accessing jsdocs parsed from the components

Downloads

358

Readme

Docusaurus plugin component docs pages 📖

Docusaurus plugin for reusing base component mdx pages

Setup

  1. Install this plugin into a UDS docusaurus docs site
npm install --save @telus-uds/docusaurus-plugin-component-docs-pages
  1. Add the plugin to the docusaurus.config.js
module.exports = {
  // ...

  plugins: ['@telus-uds/docusaurus-plugin-component-docs-pages']

  // ...
}

Usage

This plugin wraps a docusaurus docs plugin with content automatically provided from the 'docs/' folder. The plugin accepts all options applicable to the docs plugin, and passes these through to the underlying docs plugin, altering only the sidebarPath to reflect the copied sidebar file.

Note 1: If you are using this as your only docs plugin and you are using the classic preset, you will need to disable docs in the preset.

Note 2: You will need to provide @theme/PropsTable @theme/Playground and @theme/LibraryInfo components in your docusaurus site for this plugin to work, you will also need to make all UDS Base components and at least an ExampleIcon available in the react live scope (see e.g. the Koodo docs site for how to do this).

module.exports = {
  // ...

  presets: [
    'classic',
    {
      docs: false,
      theme: {
        //...
      }
    }
  ],

  plugins: [
    '@telus-uds/docusaurus-plugin-component-docs-pages',
    {
      breadcrumbs: false
    }
  ]

  // ...
}

If you wish to use this plugin with a custom index page, just add a README.mdx to the directory which will contain the docs and add

slug: '/'
displayed_sidebar: generatedComponentsDocs

into the metadata.

Adding component docs

To add documentation for a component depending on a platform:

  1. Add a new MDX file with id matching the component name into respective platform web, multi-platform, ios inside docs/. If the platform you need does not exist create a respective folder for it in docs/.
  2. Add a sidebar file into sidebars/ with the same name as the destination folder. For eg: if shown below is your plugin options in docusaurus.config.js
;[
  '@telus-uds/docusaurus-plugin-component-docs-pages',
  {
    id: 'allium',
    path: 'components/allium',
    routeBasePath: 'components/allium',
    breadcrumbs: false
  }
]

You'll need an allium.js in sibebars with keys for each respective platform as shown below.

module.exports = {
  ios: {
    Inputs: ['ios/radio', 'ios/checkbox']
  },
  web: ['web/list', 'web/image']
}

Refer to the UDS monorepo README for details.