nodejs / nodejs/doc-kit

Implement real-time (on-load) updates to API docs live-environment

Open
#327 5 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Web Generator
Dominant language
JavaScript
Stars
64
Forks
71
Avg merge
2d 17h
Merged PRs (30d)
31

Description

Enter your suggestions in details:

One of the "flaws" (intentionally designed as-is) of our API docs is that once a release is done, docs cannot be udpated for said release or iterated over. This is due to the nature of our API docs release process and how its hosting is independent and completely static. There are advantages and disadvantages to this model.

For example, one of the disadvantages is, we cannot apply our global announcement banners over the course of time.

This proposal implements a static (resides on this repository or nodejs/node) api-docs.config.json that contains a map of entries for any given version of the Node.js API docs; Where the key is the current "major" the API doc was built and the value are the possible overrides such as:

  • header banners (same mechanism from the website)

And then also global entries (not specific to version-specific changes):

  • header banners (stays on top of the version-based banners)

And then the API Docs can also pool https://nodejs.org/dist/index.json or even https://nodejs.org/en/next-data/release-data to asynchronously completement the release dropdown with newer versions. So that people can navigate to newer versions of the docs.

All this data is loaded asynchronously and non-blocking.


Example structure of api-docs.config.json:

{
  "global": {
    "banner": {
      "startDate": "2025-05-14T03:00:00.000Z",
      "endDate": "2025-05-21T03:00:00.000Z",
      "text": "May Security Release is available",
      "link": "https://nodejs.org/en/blog/vulnerability/may-2025-security-releases",
      "type": "warning"
    }
  }
  "v24": {
    "banner": {
      "startDate": "2025-05-14T03:00:00.000Z",
      "endDate": "2025-05-21T03:00:00.000Z",
      "text": "May Security Release is available",
      "link": "https://nodejs.org/en/blog/vulnerability/may-2025-security-releases",
      "type": "warning"
    }
  }
}

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source files or tests are named. Start by locating the API docs live-environment code, then trace how banners and the release dropdown are rendered; compare the available Node.js release-data endpoints. Done means non-blocking loading supports global and version-specific banners and newer documentation versions without breaking the static docs.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
documentation, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.