Downloads page, OS auto-detection, and broken link fixes - #700
Downloads page, OS auto-detection, and broken link fixes#700tarone-saloni wants to merge 2 commits into
Conversation
… 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>
9abd683 to
e1e03c4
Compare
- 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>
|
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. |
Yes, you’re right 😅. This PR was raised as a PoC for my proposal. I’ll move it to my own fork and close this draft PR. Thanks for pointing it out! |
|
Part of the LFX mentorship, lets save the work for the selected mentor. Also, please respect the 2 open PR rule. |
|
This is only a draft PR created as part of my proposal.It is not intended as an additional contribution. I’ll make sure to respect the 2 open PR limit. Thank you |
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/downloadspage. Each OS (Windows/macOS/Linux) gets its own section;src/lib/detectOperatingSystem.tsreadsnavigator.userAgentclient-sideand 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.mdand 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'sto:values forDownloads/Installation/Documentation were relative paths without a leading
/(to: 'downloads'instead ofto: '/downloads'). Docusaurus's<Link>only auto-prefixes the site base URL for paths starting with
/; withoutit, 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/downloadsinstead of/downloads). Confirmed via afull 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)
domain that no longer resolve:
podman.io/releases/*.html(now/release/*),podman.io/community/#*andpodman.io/getting-started/*(now
/communityand/get-started). Repointed each to the currentworking 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 missingbg-gradient-to-r, so thefrom/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.
authorfrom
_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 arrayindex instead of checking whether the button actually has a path, and
wrapped react-markdown's own block output in an extra
<p>(invalidHTML nesting).
FeaturesCarousel: stray'0 'class typo.CommunityMeetingsCardGrid: usedjustify-content-center/align-items-center(not real Tailwind classes, no-ops) and hadunguarded
.shift()calls that could pushundefinedinto childcomponents on short meeting lists.
Redesign work carried in this branch
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
git commit -s).Fixes: #00000in commit message (if applicable)