2437 Commits

Author SHA1 Message Date
Vinta Chen 5f725c25d7 use sponsorship@awesome-python.com as contact
Deploy Website / deploy (push) Has been cancelled
CI / test (push) Has been cancelled
2026-05-07 21:14:26 +08:00
Vinta Chen 10c06fb26d add category links in llms.txt 2026-05-07 20:00:56 +08:00
Original Gary 5f042e2fb2 Add birdnet to Audio section (#3116)
Deploy Website / deploy (push) Has been cancelled
CI / test (push) Has been cancelled
Co-authored-by: Sam <sam@openpaws.ai>
2026-05-07 14:31:32 +04:00
ChrisJr404 daf311d67f Add taskiq (#3112) 2026-05-07 14:29:06 +04:00
Vinta Chen 50d382a5c8 use https 2026-05-07 17:28:40 +08:00
Vinta Chen 0f5085cbdf Merge pull request #3110 from Bortlesboat/codex/use-https-json-schema-link
Use HTTPS for JSON Schema link
2026-05-07 17:27:16 +08:00
Bortlesboat 9ddd1d045b Use HTTPS for JSON Schema link 2026-05-05 04:07:23 -04:00
cryxnet 08fe624c8d Add promptise (#3088)
Deploy Website / deploy (push) Has been cancelled
CI / test (push) Has been cancelled
* Add promptise
2026-05-05 10:42:10 +04:00
Vinta Chen 6c18b6447e feat: use explicit Projects section in README
Deploy Website / deploy (push) Has been cancelled
CI / test (push) Has been cancelled
2026-05-04 21:24:57 +08:00
Vinta Chen 921d47b455 remove index.md 2026-05-04 17:11:34 +08:00
Vinta Chen 3510db9df9 update llms.txt 2026-05-04 17:05:05 +08:00
Vinta Chen 509ebaff7a use file modification time as lastmod in sitemap 2026-05-04 16:24:52 +08:00
Jinyang d3bce3f61f Merge pull request #3082 from Basit-Rahim/master
Added simulation library
2026-05-04 07:52:40 +04:00
Vinta Chen 82437475ad docs(DESIGN.md): align with actual CSS
Deploy Website / deploy (push) Has been cancelled
CI / test (push) Has been cancelled
- Expand --bg-page surface entry to document the vertical gradient
  (--bg-page-top, --bg-page, --bg-page-end) and top-left radial highlight
- Add --hero-bg-mid to the hero gradient token description
- Clarify non-interactive element token usage: ink tokens on --bg-paper-strong
  or --bg-paper; call out specific .source-badge and .sponsorship-body code rules
- Replace vague 1px shadow rule with the two allowed depth treatments:
  search inset/shadow and primary CTA shadow
- Correct 0.4rem radius callout from 'expand-row' to '.sponsorship-body code'
- Update hero gradient in Depth section to include --hero-bg-mid
- Update .tag hover description: --highlight bg, --tag-hover-border border,
  ink text; active state adds hero-ink text; rename variants to tag-group/tag-source
- Update Source badge / inline code component entry to reflect --ink-soft vs --ink
- Tighten Iteration Guide audit items 2 and 3 to match the above

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 21:20:25 +08:00
Vinta Chen 7640a32904 docs(DESIGN.md): add flexbox/grid layout rule
Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 21:16:20 +08:00
Vinta Chen dc19f2d5cd fix formatting 2026-05-03 21:16:00 +08:00
Vinta Chen 83bab2cab6 docs(DESIGN.md): add YAML frontmatter, hex approximations, typography table, and Iteration Guide
- Add YAML frontmatter with version, name, and description
- Annotate each color token with approximate hex sRGB equivalent
- Replace bullet-list type scale with a structured typography table
- Add Iteration Guide section with six-step post-generation audit checklist
- Add Known Gaps section documenting color format, frontmatter scope, and spacing scale

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 21:12:05 +08:00
Vinta Chen db18ff4d40 docs(design): restructure DESIGN.md to follow Google Stitch format
Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 20:39:37 +08:00
Vinta Chen 9379e0a42c style(sitemap): pretty-print generated sitemap.xml with 2-space indent
Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 20:16:13 +08:00
Vinta Chen a9a58ce06b Merge pull request #3107 from vinta/chore/refine-ui
chore: refine UI, add JSON-LD, polish category SEO
2026-05-03 20:13:14 +08:00
Vinta Chen 28b61a9212 style(seo): switch category page title separator from pipe to hyphen
Google truncates pipe separators and treats hyphens as cleaner word
boundaries in SERP titles.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 20:03:29 +08:00
Vinta Chen c886e470b6 feat(website): lead category meta description with real description when present, count first as fallback
Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 19:57:31 +08:00
Vinta Chen 2f398acefb fix(seo): align JSON-LD with Yoast/RankMath conventions
- Wrap category pages in a self-contained @graph (WebSite + CollectionPage)
- Set canonical @id on CollectionPage to its URL (no hash fragment)
- Expand isPartOf to typed object {"@type": "WebSite", "@id": ...}
- Extract _website_node() and ISPARTOF_WEBSITE constants to avoid repetition
- Update tests to assert @graph structure on category pages

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 19:31:14 +08:00
Vinta Chen 86d2aa7e01 feat(website): add CollectionPage JSON-LD to category, group, and subcategory pages
Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 19:23:14 +08:00
Vinta Chen b2910d59c8 feat(website): add homepage JSON-LD with WebSite, CollectionPage, ItemList for SEO/AEO
Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 19:18:15 +08:00
Vinta Chen 138059feeb feat(website): add Awesome Python and Sponsorship links to footer
Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 19:05:40 +08:00
Vinta Chen f57fc44295 style: bump tag font size to var(--text-xs) and codify 12px minimum font-size rule
Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 18:54:23 +08:00
Vinta Chen f3f92c691a feat(website): render subcategory, group, and source tags as anchor elements
Convert <button> tags for subcategory, group, and source filters to <a>
elements with href attributes so browsers surface URL preview on hover,
support open-in-new-tab, and allow middle-click navigation.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 18:49:34 +08:00
Vinta Chen 9de86ea785 feat(website): append #library-index to tag links on non-index pages
Tag clicks on category/other pages now land with the results section
scrolled into view.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 18:45:09 +08:00
Vinta Chen fc8d1ba35e feat(website): show desc-row on index page when a filter is active
On category pages desc-rows are always visible. On the index page they
were always hidden. Now they become visible whenever a tag/category
filter is applied, giving filtered results the same richness as category
pages.

Also tightens two related CSS rules: border-bottom suppression only
fires when the adjacent desc-row is actually visible, and the expand-row
description is hidden while the desc-row is already showing to avoid
duplicate text.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 13:08:27 +08:00
Vinta Chen 1afccd8bc9 update description for curses 2026-05-03 12:53:56 +08:00
Vinta Chen 1468ae78ff feat(website): show project description as always-visible desc-row on category pages
Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 12:47:17 +08:00
Vinta Chen d7a916837c Merge pull request #3106 from vinta/feature/better-seo-2
Static category pages and path-based filter URLs
2026-05-03 12:38:12 +08:00
Vinta Chen 0c20fee458 build: add ty config and reorder tool sections in pyproject.toml
Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 12:34:33 +08:00
Vinta Chen 3d99f7336d style(website): apply ruff format
Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 12:23:55 +08:00
Vinta Chen 432a1f4b71 build: add lint, format, typecheck make targets and ty dependency
Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 12:23:37 +08:00
Vinta Chen d3f35a9d21 test(website): remove redundant and brittle tests
Drops tests that either duplicate coverage already provided by adjacent
cases (single-word slugify, trailing-slash checks) or hard-code first-
category names and specific description strings that break whenever the
README content shifts.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 12:19:32 +08:00
Vinta Chen a068219684 fix(website): type build template entries 2026-05-03 12:08:41 +08:00
Vinta Chen 38b54caabb fix(website): trim sponsorship page nav and hero stats
Remove the 'All projects' nav link and total_entries hero stat from the
sponsorship page. Rename 'View the repository' CTA to 'View on GitHub'.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 11:45:07 +08:00
Vinta Chen ee01a0bade refactor(website): extract render_category, replace slugify filter with filter_urls map
- Extract render_category() helper to deduplicate the three category/group/builtin
  rendering blocks in build.py
- Replace synthetic dict literals with synthetic_category() helper
- Rewrite subcategory rendering to avoid O(n²) loop using precomputed dicts
- Pass filter_urls (not just JSON) to templates so Jinja can look up group URLs
  directly instead of applying the slugify filter at render time
- Remove slugify from env.filters (no longer used in templates)
- Replace isIndexPage() wrapper with isIndexDocument constant in main.js
- Fix: call applyFilters() on page load when activeFilter is set
- Remove dead else branch in tag click handler (category pages with no URL)
- Switch .hero-category-links from CSS columns to CSS grid for more even layout
- Remove max-width cap on .category-subtitle

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 11:38:22 +08:00
Vinta Chen 8a32d27ef5 fix(website): tighten sponsorship page copy for clarity
Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 09:46:50 +08:00
Vinta Chen 40913c3df3 fix double quotes 2026-05-03 09:38:28 +08:00
Vinta Chen c68b985d7c feat(website): add /sponsorship/ landing page
Adds a dedicated sponsorship page at /sponsorship/ built from the Jinja2
template, with hero stats, tier cards, and CSS. Updates the index.html
sponsor sidebar link to point to /sponsorship/ instead of the GitHub
SPONSORSHIP.md. Adds the URL to the sitemap and test fixtures.

Also renames .impeccable.md to DESIGN.md.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 09:35:39 +08:00
Vinta Chen 64781112d8 feat(website): add Browse by category nav to group page hero
Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 09:08:37 +08:00
Vinta Chen b82a254a09 fix(website): clear filter lands at /#library-index on category pages
Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 09:03:25 +08:00
Vinta Chen 70a8255289 feat(website): add /categories/built-in/ page for Built-in tag filter
Register Built-in as a navigable filter path alongside regular category
and group slugs, emit the page during build, add it to the sitemap, and
wire the Built-in tag buttons in index.html and category.html to navigate
there via data-url.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 08:35:55 +08:00
Vinta Chen d64b47b910 feat(website): mirror index layout on category pages
Add search input, filter chips, no-results block, and back-to-top
button to category/group/subcategory pages. Pass filter_urls_json to
all page types so tag-chip navigation works site-wide. Fix JS so
filter-clear and no-results-clear redirect to / on non-index pages
instead of trying to filter a non-existent local table. Remove the
now-redundant .category-results CSS overrides.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 08:26:37 +08:00
Vinta Chen 033694204c feat(website): move descriptions into expand row on category pages
Removes inline .category-row-desc from the name cell and renders
entry.description inside .expand-content instead, matching the
index page pattern. Drops the now-unused CSS rules for
.category-row-desc and the overridden .category-table .expand-content
padding.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-03 08:17:17 +08:00
Vinta Chen 03db91bcd0 style(website): left-align results note on category pages
Switch justify-self from end to start so the "Sorted by GitHub stars..."
note sits flush left under the heading instead of right-aligned.
2026-05-03 08:02:39 +08:00
Vinta Chen 1139402838 fix(website): stop category-page heading from wrapping
The results-intro grid (1fr + 28rem note column) squeezed the heading on
category pages with long names, e.g. "Python Projects in Environment
Management" wrapped onto two lines.

Scope a single-column override to .category-results so the heading takes
the full row and the note drops below right-aligned. Index page layout
is untouched since its heading is short.
2026-05-03 08:01:37 +08:00