@mucsi96/typescript-documentation

Generate markdown documentation for TypeScript projects

Usage no npm install needed!

<script type="module">
  import mucsi96TypescriptDocumentation from 'https://cdn.skypack.dev/@mucsi96/typescript-documentation';
</script>

README

typescript-documentation

npm version Build Status npm github

Generate markdown API documentation directly from TypeScript source code.

Documenting variables

Example input:

/**
 * Simple variable description
 * line 2
 * @see {@link https://test.url.1|Example url 1}
 * @see {@link https://test.url.2|Example url 2}
 * @example
 * example 1 line 1
 * example 1 line 2
 * @example
 * example 2 line 1
 * example 2 line 2
 */
export const simpleVariable: number = 1;

Example output:

simpleVariable

Simple variable description line 2

TYPE

number

EXAMPLES

example 1 line 1
example 1 line 2
example 2 line 1
example 2 line 2

SEE ALSO

Documenting functions

Example input:

/**
 * Simple function description
 * line 2
 * @see {@link https://test.url.1|Example url 1}
 * @see {@link https://test.url.2|Example url 2}
 * @example
 * example 1 line 1
 * example 1 line 2
 * @example
 * example 2 line 1
 * example 2 line 2
 */
export function simpleFunction(a: string, b: number): string {
  return a + b;
}

Example output:

simpleFunction(a, b)

Simple function description line 2

PARAMETERS

  • a: string
  • b: number

RETURNS

string

EXAMPLES

example 1 line 1
example 1 line 2
example 2 line 1
example 2 line 2

SEE ALSO

Documenting classes

Example input:

/**
 * Simple class description
 * line 2
 * @see {@link https://test.url.1|Example url 1}
 * @see {@link https://test.url.2|Example url 2}
 * @example
 * example 1 line 1
 * example 1 line 2
 * @example
 * example 2 line 1
 * example 2 line 2
 */
export class SimpleClass {
  /**
   * simpleMethod1 description
   * line 2
   * @see {@link https://test.url.3|Example url 3}
   * @see {@link https://test.url.4|Example url 4}
   * @example
   * example 3 line 1
   * example 3 line 2
   * @example
   * example 4 line 1
   * example 4 line 2
   */
  public simpleMethod1(): void {
    return;
  }

  /**
   * simpleMethod2 description
   * line 2
   */
  public simpleMethod2(a: string, b: number): string {
    return a + b;
  }
}

Example output:

SimpleClass

Simple class description line 2

EXAMPLES

example 1 line 1
example 1 line 2
example 2 line 1
example 2 line 2

SEE ALSO

simpleClass.simpleMethod1()

simpleMethod1 description line 2

RETURNS

void

EXAMPLES

example 3 line 1
example 3 line 2
example 4 line 1
example 4 line 2

SEE ALSO

simpleClass.simpleMethod2(a, b)

simpleMethod2 description line 2

PARAMETERS

  • a: string
  • b: number

RETURNS

string

Documenting types

Example input:

/**
 * Simple type description
 * line 2
 * @see {@link https://test.url.1|Example url 1}
 * @see {@link https://test.url.2|Example url 2}
 * @example
 * example 1 line 1
 * example 1 line 2
 * @example
 * example 2 line 1
 * example 2 line 2
 */
export type SimpleType = {
  a: string;
  b: number;
};

Example output:

SimpleType

Simple type description line 2

PROPERTIES

  • a: string
  • b: number

EXAMPLES

example 1 line 1
example 1 line 2
example 2 line 1
example 2 line 2

SEE ALSO

Documenting enumerations

Example input:

/**
 * Simple enumeration description
 * line 2
 * @see {@link https://test.url.1|Example url 1}
 * @see {@link https://test.url.2|Example url 2}
 * @example
 * example 1 line 1
 * example 1 line 2
 * @example
 * example 2 line 1
 * example 2 line 2
 */
export enum SimpleEnum {
  ONE,
  TWO
}

Example output:

SimpleEnum

Simple enumeration description line 2

POSSIBLE VALUES

  • ONE
  • TWO

EXAMPLES

example 1 line 1
example 1 line 2
example 2 line 1
example 2 line 2

SEE ALSO