open-index/open-npm huggingface dataset:
npm package: @kevinbds/plugin-techdocs
Description: The Backstage plugin that renders technical documentation for your components
Latest version: 0.13.2

# TechDocs Plugin

## Getting started

Set up Backstage and TechDocs by following our guide on [Getting Started](../../docs/features/techdocs/getting-started.md).

## Configuration

Refer to our [configuration reference](../../docs/features/techdocs/configuration.md) for a complete listing of configuration options.

### TechDocs Storage API

The default setup of TechDocs assumes that your documentation is accessed by reading a page with the format of `<storageUrl>/<entity kind>/<entity namespace>/<entity name>`. This can be configured by [implementing a new techdocs storage API](https://backstage.io/docs/features/techdocs/how-to-guides#how-to-implement-your-own-techdocs-apis).
npm package: @kevinbds/plugin-techdocs-backend
Description: The Backstage backend plugin that renders technical documentation for your components
Latest version: 0.13.4

# techdocs-backend

This is the backend part of the techdocs plugin.

## Getting Started

This backend plugin can be started in a standalone mode directly from in this package
using `yarn start`. However, it will have limited functionality and that process is
most convenient when developing the techdocs backend plugin itself.

To evaluate TechDocs and have a greater amount of functionality available, instead do:

```bash
# From your Backstage root directory
cd packages/backend
yarn start
```

## What techdocs-backend does

This provides serving and building of documentation for any entity.
To configure various storage providers and building options, see http://backstage.io/docs/features/techdocs/configuration.

The techdocs-backend re-exports the [techdocs-common](https://github.com/backstage/backstage/tree/master/packages/techdocs-common) package which has the features to prepare, generate and publish docs.
The Publishers are also used to fetch the static documentation files and render them in TechDocs.

## Links

- [Frontend part of the plugin](https://github.com/backstage/backstage/tree/master/plugins/techdocs)
- [Backstage homepage](https://backstage.io)
npm package: @kevinbds/techdocs-common
Description: Common functionalities for TechDocs, to be shared between techdocs-backend plugin and techdocs-cli
Latest version: 0.11.9

# @kevinbds/techdocs-common

Common functionalities for TechDocs, to be shared between techdocs-backend plugin and techdocs-cli

This package is used by `techdocs-backend` to serve docs from different types of publishers (Google GCS, Local, etc.).
It is also used to build docs and publish them to storage, by both `techdocs-backend` and `techdocs-cli`.

## Usage

Create a preparer instance from the [preparers available](/packages/techdocs-common/src/stages/prepare) at which takes an Entity instance.
Run the [docs generator](/packages/techdocs-common/src/stages/generate) on the prepared directory.
Publish the generated directory files to a [storage](/packages/techdocs-common/src/stages/publish) of your choice.

Example:

```js
async () => {
  const preparedDir = await preparer.prepare(entity);

  const parsedLocationAnnotation = getLocationForEntity(entity);
  const { resultDir } = await generator.run({
    directory: preparedDir,
    dockerClient: dockerClient,
    parsedLocationAnnotation,
  });

  await publisher.publish({
    entity: entity,
    directory: resultDir,
  });
};
```

## Features

Currently the build process is split up in these three stages.

- Preparers
- Generators
- Publishers

Preparers read your entity data and creates a working directory with your documentation source code. For example if you have set your `backstage.io/techdocs-ref` to `github:https://github.com/backstage/backstage.git` it will clone that repository to a temp folder and pass that on to the generator.

Generators takes the prepared source and runs the `techdocs-container` on it. It then passes on the output folder of that build to the publisher.

Publishers gets a folder path from the generator and publish it to your storage solution. Read documentation to know more about configuring storage solutions.
http://backstage.io/docs/features/techdocs/configuration

Any of these can be extended. We want to extend our support to most of the storage providers (Publishers) and source code host providers (Preparers).