Skip to content

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

@ovflowd

Description

@ovflowd
Member

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.

Activity

moved this from 🆕 New to 📋 Backlog in Node.js Websiteon Feb 4, 2025
auxfix

auxfix commented on Mar 5, 2025

@auxfix

I will give it a try.

Already started, honestly.

auxfix

auxfix commented on Mar 11, 2025

@auxfix

Hi guys, I've spent some time trying to figure out how MD templates work in conjunction with ISR and dynamic routing, but I haven't fully grasped it yet. Do we have any related documentation, or could someone point me to an article or video that explains this pattern? Because I've never worked with it before.

added 4 commits that reference this issue on Mar 14, 2025

feat(website/nodejs#7443): progress on simplified download layout

feat(website/nodejs#7443): figuring out how navigation works

feat(website/nodejs#7443): add simple static layout

linked a pull request that will close this issue on May 31, 2025
self-assigned this
on May 31, 2025
moved this from 📋 Backlog to 🏗 In progress in Node.js Websiteon May 31, 2025
linked a pull request that will close this issuefeat: Introduce Downloads Archive page #7794on May 31, 2025
deleted a comment from AKJUS on Jun 10, 2025
auxfix

auxfix commented on Jun 18, 2025

@auxfix

Hi guys. Excuse me for the long silence. I have to drop this task unfortunately.

avivkeller

avivkeller commented on Jun 18, 2025

@avivkeller
Member

No worries! @canerakdas is already working on this :-)

ovflowd

ovflowd commented on Jun 18, 2025

@ovflowd
MemberAuthor

Hi guys, I've spent some time trying to figure out how MD templates work in conjunction with ISR and dynamic routing, but I haven't fully grasped it yet. Do we have any related documentation, or could someone point me to an article or video that explains this pattern? Because I've never worked with it before.

We actually do have a new docs/ folder that should have stuff there. But maybe we could improve said documentation? We appreciate anyways your effort here @auxfix <3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

Status

🏗 In progress

Milestone

No milestone

Development

Participants

@ovflowd@canerakdas@auxfix@avivkeller

Issue actions

    Simplified Downloads page for non-JS-enabled environments · Issue #7443 · nodejs/nodejs.org