feat: setup documentation website & document codebase with typedoc comments #268
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🗺 Overview
With the migration from the REST API to the Sync API we've decided to split the SDK documentation from the API website (https://developer.todoist.com/).
The documentation tool we settled on is typedoc and the content is published by a Docusaurus-generated website. To bridge typedoc with Docusarus the
typedoc-plugin-markdown
is used together withdocusaurus-plugin-typedoc
.A separate PR will follow to automate the deployment of the Docusaurus website to GitHub pages.
Note: Although this PR is quite big, many files were generated by Docusaurus and do not need to be reviewed. For instance, all the
*.md
files besidesabout.md
andauthorization.md
are auto-generated from typedoc comments.Note: You'll see references to
https://developer.todoist.com
which don't quite match the SDK methods input and output. This is expected for the moment, as the APIv9.208
is only documented internally.🔗 Reference
🧪 Test plan
Changes introduced here have been manually tested by someone other than the PR author.
cd
totodoist-api-typescript/website
Run
npm run start
Check out the documentation website served at http://localhost:3001/