Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
3 tasks
ovflowd opened this issue Feb 1, 2025 · 0 comments
Open
3 tasks

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

ovflowd opened this issue Feb 1, 2025 · 0 comments
Labels
design help wanted website redesign Issue/PR part of the Node.js Website Redesign

Comments

@ovflowd
Copy link
Member

ovflowd commented Feb 1, 2025

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.
@ovflowd ovflowd added help wanted design website redesign Issue/PR part of the Node.js Website Redesign labels Feb 1, 2025
@github-project-automation github-project-automation bot moved this to 🆕 New in Node.js Website Feb 1, 2025
@ovflowd ovflowd moved this from 🆕 New to 📋 Backlog in Node.js Website Feb 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design help wanted website redesign Issue/PR part of the Node.js Website Redesign
Projects
Status: 📋 Backlog
Development

No branches or pull requests

1 participant