The Node.js® Website
1<p align="center"> 2 <br /> 3 <a href="https://nodejs.org"> 4 <picture> 5 <source media="(prefers-color-scheme: dark)" srcset="./public/static/logos/nodejsDark.svg"> 6 <img src="./public/static/logos/nodejsLight.svg" width="200px"> 7 </picture> 8 </a> 9</p> 10 11<p align="center"> 12 <a href="https://nodejs.org">Node.js</a> Website built using Next.js with TypeScript, SCSS and MDXv2 13</p> 14 15<p align="center"> 16 <a title="MIT License" href="LICENSE"> 17 <img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License" /> 18 </a> 19 <a title="Localised" href="https://crowdin.com/project/nodejs-web"> 20 <img src="https://badges.crowdin.net/nodejs-web/localized.svg" alt="Crowdin Badge" /> 21 </a> 22 <a title="Vercel" href="https://vercel.com"> 23 <picture> 24 <source media="(prefers-color-scheme: dark)" srcset="https://img.shields.io/badge/powered%20by-Vercel%20%E2%96%B2-white"> 25 <img src="https://img.shields.io/badge/powered%20by-Vercel%20%E2%96%B2-black" alt="Powered by Vercel"> 26 </picture> 27 </a> 28 <br /> 29 <img src="https://github.com/nodejs/nodejs.org/actions/workflows/build.yml/badge.svg" alt="Build and Analysis Checks" /> 30 <a title="scorecard" href="https://securityscorecards.dev/viewer/?uri=github.com/nodejs/nodejs.org"> 31 <img src="https://api.securityscorecards.dev/projects/github.com/nodejs/nodejs.org/badge" alt="nodejs.org scorecard badge" /> 32 </a> 33 <br /> 34 <br /> 35</p> 36 37## What is this repo? 38 39[Nodejs.org](https://nodejs.org/) by the [OpenJS Foundation](https://openjsf.org/) is the official website for the Node.js® JavaScript runtime. This repo is the source code for the website. It is built using [Next.js](https://nextjs.org), a React Framework. 40 41```bash 42npm ci 43npx turbo serve 44 45# listening at localhost:3000 46``` 47 48## Contributing 49 50This project adopts the Node.js [Code of Conduct][]. 51 52Any person who wants to contribute to the Website is welcome! Please read [Contribution Guidelines][] and see the [Figma Design][] to understand better the structure of this repository. 53 54> \[!IMPORTANT]\ 55> Please read our [Translation Guidelines][] before contributing to Translation and Localization of the Website 56 57> \[!NOTE]\ 58> We recommend a read of all Relevant Links below before doing code changes; Including Dependency changes, Content changes, and Code changes. 59 60### Deployment 61 62The Website is automatically deployed to [Vercel](https://vercel.com) through its GitHub App integration when new pushes happen on the `main` branch. 63 64Details regarding the deployment are only accessible to the maintainers of the Website Team due to certain limitations. 65 66The current integration is owned by the OpenJS Foundation and managed by the Website Team. 67 68<details> 69 <summary>Legacy Deployment</summary> 70 71The full setup is in <https://github.com/nodejs/build/tree/master/ansible/www-standalone> minus secrets and certificates. 72 73The webhook is set up on GitHub for this project and talks to a small Node server on the host, which does the work. See the [github-webhook](https://github.com/rvagg/github-webhook) package for this. 74 75</details> 76 77## Node.js Binaries & API Docs 78 79This repository does not contain the codebase or related infrastructure that serves `https://nodejs.org/api/`, `https://nodejs.org/docs/` or `https://nodejs.org/dist/`. 80 81These are maintained in different repositories and we urge users to open **issues in their respective repositories**, for bug reports, feature requests or any matter related to these endpoints. 82 83- [`release-cloudflare-worker`](https://github.com/nodejs/release-cloudflare-worker): The codebase responsible for serving the Node.js Distribution Binaries, API Docs and any other assets from the links mentioned above. 84 - We use Cloudflare R2 Buckets for storing our Assets and Cloudflare Workers for serving these Assets to the Web. 85- [`node/doc/api`](https://github.com/nodejs/node/tree/main/doc/api): The source code of our API docs, it contains all the Node.js API Documentation Markdown files 86 - [`node/doc`](https://github.com/nodejs/node/tree/main/doc) contains the HTML templates, CSS styles and JavaScript code that runs on the client-side of our API Docs generated pages. 87 - [`node/tools/doc`](https://github.com/nodejs/node/tree/main/tools/doc) contains the tooling that validates, lints, builds and compiles our API Docs. Also responsible for generating what you see when accessing `https://nodejs.org/api/`. 88 89## Relevant Links 90 91[Code of Conduct][] 92 93[Contribution Guidelines][] 94 95[Collaborator Guide][] 96 97[Figma Design][] 98 99[Content vs Code][] 100 101[Dependency Pinning][] 102 103[Translation Guidelines][] 104 105## Thanks 106 107- Thanks to all contributors and collaborators that make this project possible. 108- Thanks to [Chromatic](https://www.chromatic.com/) for providing the visual testing platform that helps us review UI changes and catch visual regressions. 109- Thanks to [Vercel](https://www.vercel.com/) for providing the infrastructure that serves and powers the Node.js Website 110- Thanks to [Cloudflare](https://cloudflare.com) for providing the infrastructure that serves Node.js's Website, Node.js's CDN and more. 111 - A really warm thank you to Cloudflare as we would not be able to serve our community without their immense support. 112- Thanks to [Sentry](https://sentry.io/welcome/) for providing an open source license for their error reporting, monitoring and diagnostic tools. 113- Thanks to [Crowdin](https://crowdin.com/) for providing a platform that allows us to localize the Node.js Website and collaborate with translators. 114- Thanks to [Orama](https://docs.oramasearch.com/) for providing a search platform that indexes our expansive content and provides lightning-fast results for our users. 115 116[code of conduct]: https://github.com/nodejs/admin/blob/main/CODE_OF_CONDUCT.md 117[contribution guidelines]: https://github.com/nodejs/nodejs.org/blob/main/CONTRIBUTING.md 118[content vs code]: https://github.com/nodejs/nodejs.org/blob/main/CONTENT_VS_CODE.md 119[dependency pinning]: https://github.com/nodejs/nodejs.org/blob/main/DEPENDENCY_PINNING.md 120[collaborator guide]: https://github.com/nodejs/nodejs.org/blob/main/COLLABORATOR_GUIDE.md 121[figma design]: https://www.figma.com/file/pu1vZPqNIM7BePd6W8APA5/Node.js 122[translation guidelines]: https://github.com/nodejs/nodejs.org/blob/main/TRANSLATION.md