Skip to content

Simplified Downloads page for non-JS-enabled environments #7443

@ovflowd

Description

@ovflowd

We are planning to introduce a simplified downloads page, similar to the one that existed prior to the Website Redesign Initiative (https://web.archive.org/web/20200214205836/https://nodejs.org/en/download/).

Image

This new page will be statically generated using dynamic URLs from next.dynamic.constants.mjs. The URLs will be structured in the format /en/download/{major}, allowing us to generate one route for each major version. Each route will display all download options without package managers; it will include only prebuilt binaries, installers, source links, and alternative links.

The top section of the page will resemble the screenshot above and will feature links for the latest minor release of each major version. Below this section, there will be a table with one row for each minor release, containing columns with the relevant download links (for Windows, macOS, Linux, etc.). The link labels will include terms such as "x64," "x86," and others.

This page will be generated in Incremental Static Regeneration (ISR) mode, on demand for each major version request. Additionally, the page will be linked within the new downloads section if we detect that JavaScript is disabled.

  • Create a new page at pages/en/download/simplified.md
    • Select an appropriate layout in the Markdown front matter that aligns with the intended design
      • It may be necessary to create a new layout called "download-simple"
    • Add simplified.md to the ignore list for static pages (next.dynamic.constants.mjs)
    • Include the same page in the dynamic array generation, mapping it as :locale/download/{majorVersion}
    • Use usePathname in the layout to extract the version segment of the path
    • Utilize providers to retrieve the major version metadata for generating the table with major version data
  • Implement a list of "minorVersions" in the release generator, which should consist of version strings and their corresponding release dates only
  • Add a table that displays all minor versions and their respective download links for each installation method in separate columns.

Metadata

Metadata

Assignees

Projects

Status

🏗 In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions