Implement real-time (on-load) updates to API docs live-environment
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 65
- Forks
- 71
- Ø Merge
- 2 T. 17 Std.
- Gemergte PRs (30 T.)
- 31
Beschreibung
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"
}
}
}
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Es werden keine Quelldateien oder Tests genannt. Beginne damit, den Code für die Live-Umgebung der API-Dokumentation zu lokalisieren, und verfolge dann, wie Banner und das Release-Dropdown gerendert werden; vergleiche die verfügbaren Node.js-Release-Daten-Endpunkte. Als abgeschlossen gilt die Aufgabe, wenn das nicht blockierende Laden globale und versionsspezifische Banner sowie neuere Dokumentationsversionen unterstützt, ohne die statische Dokumentation zu beeinträchtigen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript
- Bereich
- documentation, web-dev
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 42/100