Skip to content

Downloads page, OS auto-detection, and broken link fixes - #700

Draft
tarone-saloni wants to merge 2 commits into
containers:mainfrom
tarone-saloni:feat/downloads-os-detection-and-broken-links
Draft

Downloads page, OS auto-detection, and broken link fixes#700
tarone-saloni wants to merge 2 commits into
containers:mainfrom
tarone-saloni:feat/downloads-os-detection-and-broken-links

Conversation

@tarone-saloni

@tarone-saloni tarone-saloni commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Concisely describe the change

TODO: rewrite the section below in your own words before marking ready for review.

This addresses part of the "Website Design and UX Improvements" scope from the
LFX mentorship issue (#512): the Downloads page with OS
auto-detection, meeting minutes getting their own shareable pages, and a pass
through the "broken links, formatting problems, stale content" backlog
mentioned in that issue.

Downloads page + OS auto-detection

  • src/pages/downloads.tsx, src/components/content/DownloadsGrid/: new
    /downloads page. Each OS (Windows/macOS/Linux) gets its own section;
    src/lib/detectOperatingSystem.ts reads navigator.userAgent client-side
    and the matching section is reordered to the top and visually highlighted
    ("Recommended for your system" badge). Previously "Other Install Options"
    on the homepage just linked to the install docs — there was no dedicated
    download page at all.

Meeting minutes pages

  • src/plugins/meetingNotesPlugin.js, src/components/pages/MeetingNotePage/:
    a custom Docusaurus plugin reads static/data/meetings/notes/*/index.md
    and generates a static route per meeting, each with its own shareable URL.
    Replaces the old approach of wildcard-importing every note file into a
    manually maintained index and rendering them inside a modal popup — that
    approach also silently dropped the most recent meeting whenever the export
    list wasn't updated, and notes couldn't be linked to directly.

Site-wide footer link bug (404 on almost every page)

  • docusaurus.config.js: the custom footer's to: values for
    Downloads/Installation/Documentation were relative paths without a leading
    / (to: 'downloads' instead of to: '/downloads'). Docusaurus's <Link>
    only auto-prefixes the site base URL for paths starting with /; without
    it, the path resolves relative to whatever page you're currently on. So
    from any blog post, docs page, or community page — i.e. everywhere except
    the homepage — clicking those footer links 404'd (e.g.
    /blogs/2018/08/15/downloads instead of /downloads). Confirmed via a
    full crawl of all ~600 built pages before and after the fix (0 broken
    internal links after).

Dead links in old blog posts (18 links across 9 files)

  • Several 2019–2022 blog posts linked to retired URL patterns on our own
    domain that no longer resolve: podman.io/releases/*.html (now
    /release/*), podman.io/community/#* and podman.io/getting-started/*
    (now /community and /get-started). Repointed each to the current
    working route; left untouched anything pointing to genuinely dead
    third-party content (deleted Twitter accounts, discontinued BlueJeans
    links, etc. — nothing on our end can fix a 404 on someone else's site).

Component bugs fixed along the way

  • InfoBanner: default gradient was missing bg-gradient-to-r, so the
    from/via/to color classes never actually rendered as a gradient; a
    caller-supplied background was also always masked by the default. Both
    banners on the Community page were meant to be purple but rendered blue.
  • Blog card author link: the WordPress REST API query was missing author
    from _fields, so the author link always pointed at the generic
    /author/ page instead of the post's actual author.
  • CustomCard: picked link-vs-modal for its secondary button by array
    index instead of checking whether the button actually has a path, and
    wrapped react-markdown's own block output in an extra <p> (invalid
    HTML nesting).
  • FeaturesCarousel: stray '0 ' class typo.
  • CommunityMeetingsCardGrid: used justify-content-center /
    align-items-center (not real Tailwind classes, no-ops) and had
    unguarded .shift() calls that could push undefined into child
    components on short meeting lists.

Redesign work carried in this branch

  • Navbar, footer, Get Started page, and docs sidebar/TOC styling ported
    to match the site's Next.js reference design (numbered step cards,
    terminal-style code blocks with copy buttons, pill-highlighted active
    nav/sidebar items, gradient navbar, swizzled Footer with logo/social
    icons).

Before screenshot / screen recording

Link : https://drive.google.com/file/d/1zM6Xuh6wZZ4e2u30hin61HK6eCpC4RNU/view?usp=sharing

After screenshot / screen recording

Link : https://drive.google.com/file/d/1ot4A2KdjLYu93Q4dWY9OgkKY9bavGajo/view?usp=sharing

Checklist

  • Certify you wrote the patch or otherwise have the right to pass it on as an open-source patch by signing all commits. (git commit -s).
  • Referenced issues using Fixes: #00000 in commit message (if applicable)
  • PR description, commit message, and GitHub comments are human-written, per LLM Policy

… and site-wide fixes

- New /downloads page with per-OS sections that highlight and reorder
  to the detected platform (Windows/macOS/Linux)
- Move community meeting minutes out of the modal popup into their
  own shareable pages, generated by a Docusaurus plugin
- Fix a footer navigation bug where Downloads/Installation/Documentation
  links resolved relative to the current page instead of site root,
  404ing from every non-homepage page
- Fix 18 dead self-referential links in old blog posts pointing to
  retired URL patterns (podman.io/releases/*, podman.io/community/#*,
  podman.io/getting-started/*)
- Fix InfoBanner gradient/background rendering, blog-card author link,
  CustomCard button/markdown rendering, and other component bugs
- Redesign navbar, footer, Get Started page, and docs sidebar/TOC
  styling to match the site's Next.js reference design

Signed-off-by: Saloni Tarone <taronesaloni@gmail.com>
@tarone-saloni
tarone-saloni force-pushed the feat/downloads-os-detection-and-broken-links branch from 9abd683 to e1e03c4 Compare August 16, 2026 10:01
- Replace the two full-bleed InfoBanner color bars (Code of Conduct,
  Podman Desktop meetings) with inset callout cards, so the page no
  longer breaks into hard-edged color stripes between sections
- Give the contributor logos a card container instead of floating
  loose on the page background, with a consistent white chip per logo
  so brand colors render correctly in both themes

Signed-off-by: Saloni Tarone <taronesaloni@gmail.com>
@antedotee

antedotee commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

I believe, this was raised by you as a part of PoC for your proposal. If that is the case, you should raise this PR against your own fork main, so that it doesn't show up here as a draft PR.
If you have raised for any other purpose, then ignore this comment 😅.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants