This is a command-line tool to generate API documentation for TypeScript projects
based on information about types and exported declarations extracted using readts.
Run docts
inside your package and it parses the .d.ts
files referenced from the typings
key of your package.json
.
Then it replaces any section titled API
in your README.md
file with new automatically generated content.
For an example of its output, see the API section below.
If your package is a Git working tree and the repository
field in package.json
points to a Github URL,
links to relevant parts of the code published on Github are added next to functions, classes and methods.
Each link looks like <>
and includes the hash of the latest commit which changed the relevant file.
If that file is dirty in the working tree, the link points to whatever is on the current branch instead.
This minimizes changes to the links while trying to keep them pointed to the correct location in latest code.
Any additional TypeScript configuration should be defined in tsconfig.json
in the root if your package.
Start by making a backup of your README.md
.
Then install:
npm install --save-dev docts
Make sure your package.json
has a typings
section and add in the scripts
section:
"scripts": {
"docts": "docts"
}
Finally run:
npm run docts
Docs generated using docts
Class
DocBuilder
TypeScript project Markdown documentation builder.
Source code:<>
Methods:
new( ) ⇒
DocBuilder
<>
▪ basePathstring
.build( ) ⇒Promise<any>
<>
Generate API documentation for the package.
Returns promise resolving to an array of text split by line breaks.Class
Markdown
Represents a Markdown file.
Source code:<>
Methods:
new( ) ⇒
Markdown
<>
▪ markdownPathstring
.readSections( ) ⇒Section[]
<>
Read the file and split each heading into a separate section.
.writeSections( ) ⇒Promise<void>
<>
Replace file contents with a new list of sections.
▪ sectionListSection[]
Properties:
.path
string
Class
Section
Represents a section in a Markdown file.
Source code:<>
Properties:
.header
string[]
Heading and its markup split by newlines.
Heading is a line beginning with # or followed by another line full of - or =.
.contentstring[]
Section content split by newlines.
.namestring
Heading with markup stripped.Function
patchReadme
Patch section titled API of README.md file in given directory.
Source code:<>
patchReadme( ) ⇒
void
<>
▪ basePathstring
Copyright (c) 2016 BusFaster Ltd