nodejs.org website built using Nextra (Next.js) with TypeScript, SCSS and MDXv2
Nodejs.org by the OpenJS Foundation is the official website for the Node.js® JavaScript runtime. This repo is the source code for the website. It is build using Nextra, a Next.js based static site generator.
npm ci
npm run serve
# listening at localhost:3000
- Page templates are in
/layouts
- Global styles are in
/styles
- Public files are in
/public
- i18n configuration is on
i18n/config.json
- Global static files are in
/public/static
- Legacy static files are in
/public/static/legacy
- Legacy static files are in
- All content is in
/pages
- Initial development usually happens in English:
/pages/en
/i18n/locales/{{locale}}.json
is where global localization information lives.- All content is in Markdown and is per locale.
- The top of each Markdown file is a block of YAML (Frontmatter) for page specific localization information that is passed to various templates.
- The bulk of the Markdown content for each page is referenced as
{children}
on their respective JSX Layout (layouts/
)
- Initial development usually happens in English:
This project adopts the Node.js Code of Conduct.
Any person who wants to contribute to the Website is welcome! Please read Contributing Guidelines and see the Figma Design to understand better the structure of this repository.
If you want to help translate to other languages or improve existing translations, it isn't necessary to work from GitHub. You can and should do it through Crowdin, this is the correct workflow.
Crowdin is an online tool that facilitates the user experience for the translator, here is more information:
Website translations are handled via Crowdin.
To help with localization, please read the Translation guide.
Full setup is in https://github.com/nodejs/build/tree/master/ansible/www-standalone minus secrets and certificates. The webhook is setup on GitHub for this project and talks to a small Node server on the host which does the work. See the github-webhook package for this.