Site refresh: positioning, missing projects, sponsorship funnel, accessibility - #9
Open
edgarriba wants to merge 3 commits into
Open
Site refresh: positioning, missing projects, sponsorship funnel, accessibility#9edgarriba wants to merge 3 commits into
edgarriba wants to merge 3 commits into
Conversation
The site had drifted about a year out of date. This updates content,
adds the sections needed for the contributor and sponsorship funnels,
and fixes accessibility and discoverability defects.
Content and accuracy
- Correct stale figures: 2M+ -> 2.9M+ PyPI installs/month, 10k -> 11.3k
stars, kornia-rs 355 -> 682 (was ~2x low). Add sourced social proof:
17k+ dependent repositories, 461 citations, 347 contributors.
- Rewrite the Bubbaloop card. It described a "VLM Serving Platform ...
at enterprise scale"; the project is now a hardware AI agent that runs
as a single Rust binary on Jetson, Raspberry Pi or any Linux box.
- Add the four projects the site never mentioned: kornia-slam, vision-rt,
sensor-rt and, in a footnote, tutorials/examples/limbus/dora-nodes-hub.
- Drop unsourceable metrics ("99.9% Service Uptime", "< 5ms Response
Time", "0 Memory Leaks", "10x Performance") and replace them with
facts that survive scrutiny.
- Remove the "Kornia Box" hardware bundle modal. It offered EOL Jetson
Nano hardware, "Europe only", with no entity, price or terms.
- Fix dead links: bubbaloop.kornia.org (NXDOMAIN), news.html (404),
docs.rs/kornia (serves v0.1.9), the LinkedIn numeric ID (login wall),
twitter.com -> x.com, and GSoC 2025 -> 2026.
Positioning
- New hero: "Prototype in PyTorch. Deploy in Rust." plus a "One stack,
camera to agent" section, so the six repositories read as one stack
rather than a list. Add a hero CTA and copyable install command; there
was previously no call to action above the fold.
Contributor and sponsorship funnels
- Add a Contribute section with four real entry paths. Beginners are
pointed at "help wanted", not "good first issue", whose queue on
kornia/kornia holds two issues, both from 2023.
- Add a Sponsors section with a backer wall, both funding routes and a
link to the public ledger. Open Collective tiers have been selling
logo placement on kornia.org; there was no such page. Tier pricing is
deliberately not published here pending maintainer sign-off.
- Add open_collective to FUNDING.yml so the Sponsor button offers the
route that is actually in use.
Accessibility and correctness
- Add a mobile nav. Below 768px the entire nav was display:none with no
replacement, so phone visitors lost all navigation.
- Fix contrast on --text-muted and the donate button (was ~1.75:1).
- Add focus-visible styles, keyboard and touch support for the GitHub
dropdown, and a prefers-reduced-motion block.
Infrastructure
- Move news out of index.html into news.json and backfill 20 sourced
items. Publishing previously meant editing the homepage, which is why
the feed sat dead for twelve months.
- Replace the runtime star fetch with stats.json, generated daily by a
workflow using an authenticated token. The old script updated only the
three hidden dropdown counts; every visible number was hardcoded.
- Add robots.txt, sitemap.xml, 404.html, CNAME, canonical, Open Graph,
Twitter card, favicon and JSON-LD, all of which were missing.
- Add Subresource Integrity to the CDN assets.
- Delete 1.6 MB of unreferenced images/, js/ and css/ left from an
earlier revamp.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
edgarriba
marked this pull request as ready for review
August 2, 2026 08:16
This repo deploys the whole tree to kornia.org on every push to master
and had no checks at all, so nothing stood between a bad edit and
production.
Two workflows:
validate.yml runs on pull requests and on push to master.
- check_site.py: offline and dependency-free. Internal anchors resolve
to real ids, local hrefs and srcs exist on disk, no duplicate ids,
images have alt text, the head carries description/canonical/OG/
twitter/favicon, JSON-LD parses, and news.json and stats.json match
the shapes news.js and script.js expect. It also enforces the
data-stat contract: every element claiming a live statistic must name
a repo or package that stats.json actually contains.
- html5validator: Nu Html Checker, the same engine as validator.w3.org.
link-check.yml runs weekly, not on pull requests. External hosts rate
limit and blip, and a flaky required check teaches people to ignore CI.
It distinguishes genuinely dead links (404/410, DNS failure) from hosts
that simply refuse robots (403/429/999), and only fails on the former.
The checks are derived from bugs this repo actually shipped: a footer
link to news.html which did not exist and 404ed in production, a link to
bubbaloop.kornia.org whose domain does not resolve, and statistics that
no code path could update because they carried no data attributes.
Verified by reintroducing each of those bugs and confirming the checker
fails, then reverting.
Also fixes a heading-level jump the new checker found: the sponsor cards
used h4 directly under the section h2.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The Nu Html Checker's bundled CSS parser does not recognise the `color-scheme` property, which is standard (CSS Color Adjustment Module Level 1) and used in 404.html so form controls and scrollbars follow the user's colour preference. The property is correct and stays; the single false-positive rule is suppressed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Audit and refresh of kornia.org, which had drifted roughly a year out of date. Draft — several items below need a maintainer decision before this ships.
Why
The live site still described Bubbaloop as a "VLM Serving Platform", showed kornia-rs at 355 stars (actual 682), advertised GSoC 2025, and never mentioned kornia-slam, vision-rt or sensor-rt. The news feed's newest item was July 2025.
Highest-priority findings
1. Open Collective has been selling something the site does not have. The Silver ($200/mo) tier promises placement on "the sponsor page on kornia.org"; Gold ($500) and Platinum ($2,000) promise the frontpage. No sponsor page or logo wall has ever existed. This PR adds a
#sponsorssection with a backer wall so the tier is deliverable.2. Two incompatible price lists. "Logo on kornia.org" costs $200/mo on Open Collective and $500/mo on GitHub Sponsors. The site linked only Open Collective, so the better-structured GitHub Sponsors ladder was unreachable. Both routes are now linked. Tier pricing is deliberately not published in this PR — that is a decision for the org, not for a site refresh.
3.
cargo add korniagets a year-old pre-release. The umbrellakorniacrate last published0.1.10-rc.3on 2025-07-01 (max stable0.1.9), while the component crates are at0.1.15-rc.4and GitHub is onv0.1.15-rc.5. This directly undercuts the new "Deploy in Rust" hero. The site's docs link now points at the repo instead ofdocs.rs/kornia, but the real fix is upstream and should land before any r/rust post.4.
kornia-slamhas no LICENSE (license: null) — legally all-rights-reserved. It is promoted as a stack layer in this PR. Worth fixing before merge.kornia-examples(91★) has neither licence nor description.5. Kornia is an accepted GSoC 2026 org and the site did not say so. Also, the GSoC org profile's
website_urlisdocs.rs/kornia, so Google is sending prospective contributors to a stale API doc rather than kornia.org. One-field fix, outside this repo.What changed
help wanted, notgood first issue, whose kornia/kornia queue holds two issues from 2023.display:nonewith no replacement), contrast fixed on--text-mutedand the donate button (~1.75:1),:focus-visiblethroughout, keyboard/touch support for the GitHub dropdown, reduced-motion support.index.htmltonews.json, backfilled with 20 sourced items. Publishing previously meant editing the homepage, which is why it sat dead for a year.stats.jsongenerated daily by a workflow with an authenticated token. The old script updated only the three hidden dropdown counts; every visible number was hardcoded and unreachable by it.www.kornia.orgsince the apex 301s there.images/,js/,css/.Needs a maintainer decision
CNAME— this is the one infra-touching file. Valuewww.kornia.orgmatches the live serving host; drop the file if you would rather keep the domain solely in Pages settings.Verification
Rendered headless against a local server: 20 news cards render, all 8 filters build,
stats.jsoncorrectly rewrites the DOM (2.9M+,11.3k,682,34,25), no console errors. All 67 URLs checked for reachability. JSON and JSON-LD validated. CSS class contract confirmed against the markup.Not verified: interactive click-through of the mobile nav and dropdown (static contract check only), and rendering on a real phone.
🤖 Generated with Claude Code