Commit Graph
146 Commits
Author SHA1 Message Date
Vinta ChenandClaude 0bd444d073 fix: show the parent category in the mobile label under entry names
On phones the label under each project name showed its subcategory, and names like "General", "Synchronous", or "Core" only make sense under their category heading, so the home and group tables showed vague labels.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-11-08 20:56:19 +08:00
Vinta ChenandClaude 5db216f964 docs: list PayPal first in sponsorship payment methods
The payment methods listed card via Open Collective first, ahead of the options sponsors are pointed to first.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-11-05 17:20:56 +08:00
Vinta ChenandClaude b91f2ab950 style: highlight Sponsorship in the topbar instead of Submit a project
The navbar gave Submit a project the highlighted style that marks the main call to action.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-27 20:56:58 +08:00
Vinta ChenandClaude be3956f902 style: hide back-to-top label on phones
On phones the "Top ↑" header button was wider than the row arrows, so it set the arrow column's width and left a wide gap between the downloads number and the arrow.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-26 12:08:16 +08:00
Vinta ChenandClaude a1e6058986 refactor: extract site topbar into a shared template partial
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-26 12:08:15 +08:00
Vinta ChenandClaude aa6f632ed8 refactor: share entry rows macro between home and category pages
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-26 12:08:15 +08:00
Vinta ChenandClaude f4191b2746 refactor: extract shared projects table macro
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-26 12:08:15 +08:00
Vinta ChenandClaude f02791ac58 refactor: extract the Contribute CTA into a shared partial
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-26 12:08:15 +08:00
Vinta ChenandClaude a7df2a9f0e refactor: share the hero category nav between home and category pages
The "Browse by category" markup was duplicated in index.html and category.html, and the two copies had drifted.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-26 12:08:15 +08:00
Vinta ChenandClaude 7974eeacdf fix: render group page category list as collapsible details
Group pages rendered "Browse by category" with a plain div heading instead of the homepage's details/summary, so the two-column grid never applied, the arrow showed but did nothing, and the list didn't collapse on phones.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-26 12:08:15 +08:00
Vinta ChenandClaude 90e0365d1e style: self-host preloaded fonts with font-display optional
Google Fonts loaded async with display=swap, so every first paint showed Georgia and Avenir Next and then visibly switched to the web fonts mid-read.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-25 23:08:54 +08:00
Vinta ChenandClaude 43578a40c9 fix: use straight quotes in home hero kicker
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-25 22:47:45 +08:00
Vinta ChenandClaude e1d4806abb fix: hide decorative arrows and the search icon from screen readers
Arrow glyphs on rows, jump links, sort headers, and the category toggle, plus the search icon, were exposed to assistive tech, adding noise to every row and link name.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-25 21:55:57 +08:00
Vinta ChenandClaude 3efb5a35bf style: keep the search hint on one line and shorten the homepage table heading
The hint's column capped at 28rem, so "Press / to search. Tags open their category. Click a row for details." wrapped to two lines beside the heading.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 23:56:32 +08:00
Vinta ChenandClaude e11a67638d style: drop the scroll-in reveal animation from every section
Sections faded and slid in as they scrolled into view, so screenshots and quick scrolls caught the sponsor band and search box half-drawn.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 23:51:21 +08:00
Vinta ChenandClaude 97cd7b28fb style: show the contribute section without the scroll-in animation
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 23:50:07 +08:00
Vinta ChenandClaude 3a5af3f87f style: list stars before the commit time in expanded rows
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 23:44:32 +08:00
Vinta ChenandClaude 4ea309ff7d style: render homepage descriptions in the category pages' description row
The homepage printed each description inside its expanded row as .expand-desc, styled apart from the .desc-row that category pages use, so every spacing change to the table had to be tuned twice. The homepage now reveals the same .desc-row while a row is open, so its descriptions take the category pages' 15.2px size, and the .expand-desc markup and styles are gone.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 23:37:37 +08:00
Vinta ChenandClaude 6e9dc809af fix: drop plural and sort/search hints on single-project category pages
Pages with one project read "Search 1 projects" and told readers to re-sort or search a one-row table.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 23:12:13 +08:00
Vinta ChenandClaude 262d914e5d fix: correct site copy that described a tag filter and mixed terminology
Copy told visitors to tap a tag to filter and mentioned a filter although tags are plain links and no filter exists; casing and terminology were inconsistent.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 22:35:14 +08:00
Vinta ChenandClaude 52851226e0 fix: clarify sponsorship price, duration, and placement wording
"Indie Dev from $99 a month" put "from" on one tier although every tier discounts longer terms, the duration line listed terms the tier cards don't price, and the independence note left out the site placement.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 22:35:14 +08:00
Vinta ChenandClaude 11b72122c5 feat: drop the build date stat from the hero stats lines
The hero "Updated on" stat only restated when the site was last built.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 20:21:48 +08:00
Vinta ChenandClaude 28b03ce6b7 fix: stack hero stats on phones instead of running them together
On phones the hero stats ran together as one sentence, breaking wherever space ran out and leaving a "/" dangling at a line end.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 20:17:42 +08:00
Vinta ChenandClaude 9d4f372a79 fix: shorten sponsorship email buttons and break address only after @
At phone width the two primary buttons labelled with the full address wrapped over three lines, and the address in the Get started sentence broke at its hyphen.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 20:09:39 +08:00
Vinta ChenandClaude 7516a5c4f6 fix: keep each hero stat on one line and read "Updated on"
On phones the ISO date in the hero stat broke at its hyphen.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 20:03:15 +08:00
Vinta ChenandClaude 82320c9d23 fix: remove animated sheen from hero background
On narrow phone heroes the sheen, a diagonal light stripe sliding across for 54s after load, rendered as a near-vertical band sweeping sideways that read as a loading or progress bar.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 19:57:47 +08:00
Vinta ChenandClaude e0dd1e7ca4 docs: tighten sponsor copy in README, SPONSORSHIP.md, and sponsorship page
The sponsor copy bolded two phrases in the README call to action, repeated tier prices already in the tier headings, repeated one phrase across three Content tiers, and had a double "or" in the Duration line.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 16:37:36 +08:00
Vinta ChenandClaude cf804b5f78 fix: shorten the search placeholder on phones
The full placeholder was cut off on narrow screens, e.g. "Search 529 projects across 74".

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 16:36:33 +08:00
Vinta ChenandClaude ebdda1367c fix: keep the UTM label on one line in its code chip
The inline code in the sponsorship UTM note broke across lines at 1280px.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 16:36:33 +08:00
Vinta ChenandClaude 6769bc86bb feat(website): tell sponsors about UTM tags on the sponsorship page
SPONSORSHIP.md tells sponsors their links carry UTM tags, but the /sponsorship/ page, which mirrors it, left that out.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 16:28:44 +08:00
Vinta ChenandClaude 2c0145fbbc style: wrap tier billing line under price and keep amounts with units
The longer billing lines added with the annual prices broke across two or three lines beside the price and split amounts from their units.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 15:51:43 +08:00
Vinta ChenandClaude 9b43e6e337 fix: collapse home hero category list into a disclosure on phones
On phones the hero's 74-link category grid was 1,236px tall and pushed the project table down to 2,583px, over three screens.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 15:49:36 +08:00
Vinta ChenandClaude 5f2bff2845 fix: show Downloads instead of Stars on narrow screens
Below 960px the table hid the PyPI Downloads column but kept the default downloads sort, so the visible Stars column looked unsorted and the active sort header was not shown or tappable.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 15:49:36 +08:00
Vinta ChenandClaude 786ebb4c78 feat(website): show the sponsor band on category pages
The sponsor band rendered only on the homepage, so visitors who entered on a category page and never opened the homepage saw no sponsors. Category, subcategory, group, and Stdlib pages now show the same band between the hero and the table.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 09:09:22 +08:00
Vinta ChenandClaude 45ad644f1b refactor(website): move the sponsor band into a template partial
The sponsor band markup lived inline in index.html, so another page could show it only by copying the markup. The rendered homepage is byte-identical.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 09:09:22 +08:00
Vinta ChenandClaude 636584efd2 feat: include a small logo in the Featured sponsor tier
Featured cost $200/month, about twice Indie Dev's $99, yet offered the same text-only README entry and website link, leaving little visible reason to pick it over Indie Dev. Featured now includes a small logo next to its README entry and a logo on the website, and the Get Started content list asks Featured sponsors for a logo.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 09:09:22 +08:00
Vinta ChenandClaude 94f70f8425 feat: show lowest sponsor price and link README CTA to the website
The README sponsor CTA linked to SPONSORSHIP.md, so sponsor-page visits from the README never reached GA4.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 09:09:22 +08:00
Vinta ChenandClaude 07c3e3eb4c feat: add annual sponsorship pricing with 3 months free
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 09:09:22 +08:00
Vinta ChenandClaude 7e6baa968b feat(website): send a GA4 event on sponsorship email clicks
Mailto clicks on the sponsorship page leave no page view, so the sponsor funnel ended at the sponsorship page and never showed who went on to email. Each click now sends a sponsor_contact event with a short tier value (headline, featured, indie, or general) rather than the link URL, since GA4 caps event parameter values at 100 characters and the Indie Dev mailto href is 101.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 09:09:21 +08:00
Vinta ChenandClaude 1ebff58bf9 feat: link category intro picks to their table rows
Picks in a "How to choose" list were plain text, so a reader had to hunt for the tool's row in the table.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 19:45:38 +08:00
Vinta ChenandClaude f6c80bf440 fix: drop noindex from category redirect stubs
Redirect stubs for renamed category URLs carried a robots noindex meta, so Search Console filed them under "Excluded by 'noindex' tag" instead of treating the instant meta refresh as a permanent redirect, and the old URLs' ranking was not passed to the new pages.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-07 18:36:19 +08:00
Vinta ChenandClaude c16dae14ef feat: show section intro lead on group pages
Group pages showed only tables, so visitors arriving from broad searches like "python ml library" got none of the which-one-to-pick guidance that each section's intro already gives.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 19:35:04 +08:00
Vinta Chen a2801e72c0 update docs 2026-09-29 22:40:55 +08:00
Vinta ChenandClaude ec818ebcf8 fix: drop redundant aria-hidden on homepage description rows
Homepage description rows carried aria-hidden="true" on top of hidden, unlike category pages (fixed in 528f9ed); the hidden attribute alone already keeps them from assistive tech while hidden.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 14:48:02 +08:00
Vinta ChenandClaude 77b1b70df5 fix: hide use-case and page tags that repeat the group heading
On section and subcategory pages, every row repeated its use case and current page as tags (and as the label under the name on phones), right under a heading that already said the same thing. They are now hidden in editorial order and shown again when a column sort flattens the groups.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 02:05:18 +08:00
Vinta ChenandClaude 62a4e7c4e5 fix: make tags link to category pages instead of filtering in place
Clicking a category or group tag filtered the homepage table in place while rewriting the address bar to the category URL, so one URL rendered two different pages and readers never reached category pages with their intros and guides; category pages also showed a redundant self-referential filter bar.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 00:34:07 +08:00
Vinta ChenandClaude 2b9469c0ae feat: group category page rows by use case, restructure intro
Category pages sorted rows by downloads, which buried editorial leads (the Django ORM showed as row 7 of 7, tkinter as 14 of 14) against CONTRIBUTING.md's "position is the marker"; the full intro in the hero pushed the table 2.5 screens down on a phone; and every page repeated the same "Search every project in one place" H2.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-26 23:33:57 +08:00
Vinta ChenandClaude 528f9edbb7 fix: expose entry description rows to screen readers
Every entry description row carried aria-hidden="true", hiding descriptions that sighted readers can see from screen readers.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-26 23:32:20 +08:00
Vinta ChenandClaude eb51124608 refactor: extract category table row markup into entry_rows macro
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-26 22:20:37 +08:00
Vinta ChenandClaude a74ca52860 feat: render per-category intro text above the entry list
Category pages carried no text of their own beyond the README one-line description, and most meta descriptions fell back to a generic "Explore N curated Python projects" line, which correlated with weak search rankings for category queries. This adds optional per-category intro markdown files rendered under the H1, with the first paragraph used as the meta description and links opening in a new tab, starting with the ORM category.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-26 19:42:22 +08:00