Skip to main content

In project

Less than 1 minute

In project

@hz-9/docs-build can be used as a command line tool, as described in the README, or directly integrated into a project.

Installation

npm install @hz-9/docs-build
# or
pnpm install @hz-9/docs-build
# or
rush add -p @hz-9/docs-build

Usage

You can directly invoke @hz-9/docs-build similar to using the docs-build command line.

import { Commander, MultiDocsBuild, SingleDocsBuild } from '@hz-9/docs-build'

;(async () => {
  const options = await Commander.parse()

  if (Commander.inRush(options)) {
    await MultiDocsBuild.build(options)
  } else {
    await SingleDocsBuild.build(options)
  }
})()

Or:

import { type ICommandOptions, Commander, MultiDocsBuild, SingleDocsBuild } from '@hz-9/docs-build'

;(async () => {
  const options: ICommandOptions = {
    // ...
  }

  if (Commander.inRush(options)) {
    await MultiDocsBuild.build(options)
  } else {
    await SingleDocsBuild.build(options)
  }
})()

The Commander class handles command line arguments. SingleDocsBuild and MultiDocsBuild are responsible for building documentation websites for regular repositories and Rush.js repositories, respectively.

Within @hz-9/docs-build, we strive to use protected functions as much as possible to ensure ease of extends development in the future.