diff --git a/SPONSORSHIP.md b/SPONSORSHIP.md index debd6f9159..4900a1048d 100644 --- a/SPONSORSHIP.md +++ b/SPONSORSHIP.md @@ -37,7 +37,7 @@ Your sponsorship puts your product in front of developers at the exact moment th ## Get Started -Email [vinta.chen@gmail.com](mailto:vinta.chen@gmail.com?subject=Awesome%20Python%20Sponsorship) with: +Email [sponsorship@awesome-python.com](mailto:sponsorship@awesome-python.com?subject=Awesome%20Python%20Sponsorship) with: - **Tier:** Headline Sponsor ($500/mo) or Featured Sponsor ($150/mo) - **Content:** Product name, URL, logo, and description (Headline tier) or `[Name](URL) - Description.` entry (Featured tier) diff --git a/website/build.py b/website/build.py index 96cf050631..bcfc64d1e6 100644 --- a/website/build.py +++ b/website/build.py @@ -270,6 +270,36 @@ def extract_categories_body(markdown: str) -> str: return "".join(lines[start_idx:end_idx]).rstrip() + "\n" +def github_markdown_anchor(text: str) -> str: + anchor = text.strip().lower() + anchor = re.sub(r"[^\w\s-]", "", anchor) + anchor = re.sub(r"\s", "-", anchor) + return f"#{anchor}" + + +def link_llms_category_index_to_canonical_pages(markdown: str, categories: Sequence[ParsedSection]) -> str: + """Point the README-derived category index at canonical category pages.""" + category_urls = {} + for category in categories: + public_url = category_public_url(category) + category_urls[f"#{category['slug']}"] = public_url + category_urls[github_markdown_anchor(category["name"])] = public_url + lines = markdown.splitlines(keepends=True) + out: list[str] = [] + + def replace_link(match: re.Match[str]) -> str: + target = match.group(1) + url = category_urls.get(target) + if url is None: + return match.group(0) + return match.group(0).replace(f"({target})", f"({url})", 1) + + for line in lines: + out.append(MARKDOWN_LINK_RE.sub(replace_link, line)) + + return "".join(out) + + def build_llms_txt( template_text: str, *, @@ -280,7 +310,10 @@ def build_llms_txt( ) -> str: """Render the llms.txt entry point with the curated category catalog.""" categories_md = annotate_entries_with_stars( - extract_categories_body(readme_text).rstrip(), + link_llms_category_index_to_canonical_pages( + extract_categories_body(readme_text).rstrip(), + categories, + ), stars_data, format_stars=lambda n: f"GitHub stars: {n}", ) diff --git a/website/templates/sponsorship.html b/website/templates/sponsorship.html index dbd5180104..f8807cfb6d 100644 --- a/website/templates/sponsorship.html +++ b/website/templates/sponsorship.html @@ -40,9 +40,9 @@
Email vinta.chen@gmail.comsponsorship@awesome-python.com with the four items below.
@@ -213,9 +213,9 @@