From 44e8e7be6d9dd816bab0161691eac99159e98488 Mon Sep 17 00:00:00 2001 From: Gingiris Date: Tue, 31 Mar 2026 10:37:46 -0700 Subject: [PATCH 1/6] feat: add English version with language switcher (#3) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add /en/ directory with full English translation - Add language switch button (中文 ↔ English) in header - Add hreflang tags for SEO - Update sitemap with both language versions - Update robots.txt for AI bots Co-authored-by: Iris (Gingiris) --- en/index.html | 559 ++++++++++++++++++++++++++++++++++++++++++++++++++ index.html | 18 ++ robots.txt | 11 +- sitemap.xml | 31 +-- 4 files changed, 581 insertions(+), 38 deletions(-) create mode 100644 en/index.html diff --git a/en/index.html b/en/index.html new file mode 100644 index 0000000..388242f --- /dev/null +++ b/en/index.html @@ -0,0 +1,559 @@ + + + + + + + + Growth Tools for Global Launch | 100+ Verified Tools for AI & SaaS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + 中文 + + +
+
+ +
+ + + + +
+ +
+
+ Curated from AFFiNE 33k+ stars and 30x Product Hunt #1 experience +
+
+ 🛠️ 100+ Tools + 📂 14 Categories + ✅ Verified +
+
+ +
+
+

All Tools

+ 100+ tools +
+
+ + + + +
+
+ +
+ +
+ + +
+
+ + + + + + diff --git a/index.html b/index.html index bf8f526..e96489f 100644 --- a/index.html +++ b/index.html @@ -97,6 +97,23 @@ .logo span { color: var(--accent); } + .lang-switch { + background: var(--surface-hover); + border: 1px solid var(--border); + border-radius: 6px; + padding: 6px 12px; + color: var(--text); + font-size: 13px; + cursor: pointer; + text-decoration: none; + transition: all 0.2s; + } + + .lang-switch:hover { + background: var(--accent); + color: white; + } + /* Search */ .search-box { flex: 1; @@ -416,6 +433,7 @@
+ English diff --git a/robots.txt b/robots.txt index f9de6f2..093b360 100644 --- a/robots.txt +++ b/robots.txt @@ -1,22 +1,13 @@ User-agent: * Allow: / -# AI Search Bots (GEO 优化) +# AI Search Bots User-agent: GPTBot Allow: / - User-agent: ChatGPT-User Allow: / - -User-agent: OAI-SearchBot -Allow: / - User-agent: ClaudeBot Allow: / - -User-agent: Google-Extended -Allow: / - User-agent: PerplexityBot Allow: / diff --git a/sitemap.xml b/sitemap.xml index 5f7e6a4..36165e6 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1,31 +1,6 @@ -https://gingiris.github.io/growth-tools/2026-03-311.0 -https://gingiris.github.io/growth-tools/blog/2026-03-310.9 -https://gingiris.github.io/growth-tools/blog/2024-09-23-meet-ten-the-worlds-first-truly-realtime-multimodal-agent-framework-for-creating/meet-ten-the-worlds-first-truly-realtime-multimodal-agent-framework-for-creating-nextgen-ai-agents/2024-09-23-meet-ten-the-worlds-first-truly-realtime-multimodal-agent-framework-for-creating0.8 -https://gingiris.github.io/growth-tools/blog/2026-03-07-i-led-affine-from-0-to-60k-github-stars-here-are-my-open/i-led-affine-from-0-to-60k-github-stars-here-are-my-open-source-growth-playbooks/2026-03-07-i-led-affine-from-0-to-60k-github-stars-here-are-my-open0.8 -https://gingiris.github.io/growth-tools/blog/2026-03/ai-beta/2026-030.8 -https://gingiris.github.io/growth-tools/blog/2026-03-08-ru-he-li-yong-gong-xian-zhe-ru-men-wen-dang-kuai-su-ti-sheng-kai-yuan-xiang/ru-he-li-yong-gong-xian-zhe-ru-men-wen-dang-kuai-su-ti-sheng-kai-yuan-xiang-mu-zeng-chang/2026-03-08-ru-he-li-yong-gong-xian-zhe-ru-men-wen-dang-kuai-su-ti-sheng-kai-yuan-xiang0.8 -https://gingiris.github.io/growth-tools/blog/2026-03-15-aso-app-store-optimization/aso-app-store-optimization-complete-2026-playbook/2026-03-15-aso-app-store-optimization0.8 -https://gingiris.github.io/growth-tools/blog/2026-03-18-product-hunt-launch-the-2026-playbook/product-hunt-launch-the-2026-playbook-for-winning-1/2026-03-18-product-hunt-launch-the-2026-playbook0.8 -https://gingiris.github.io/growth-tools/blog/2026-03-24-developer-marketing-playbook-how-to-reach-technical/developer-marketing-playbook-how-to-reach-technical-audiences-in-2026/2026-03-24-developer-marketing-playbook-how-to-reach-technical0.8 -https://gingiris.github.io/growth-tools/blog/2026-03-25-developer-marketing-101-how-to-grow-your/developer-marketing-101-how-to-grow-your-open-source-project/2026-03-25-developer-marketing-101-how-to-grow-your0.8 -https://gingiris.github.io/growth-tools/blog/2026-03-25-how-to-conduct-user-interviews-the-937interview-framework/how-to-conduct-user-interviews-the-937interview-framework-that-found-pmf/2026-03-25-how-to-conduct-user-interviews-the-937interview-framework0.8 -https://gingiris.github.io/growth-tools/blog/2026-03-25-how-to-get-more-github-stars-the-definitive-guide-33k/how-to-get-more-github-stars-the-definitive-guide-33k-stars-case-study/2026-03-25-how-to-get-more-github-stars-the-definitive-guide-33k0.8 -https://gingiris.github.io/growth-tools/blog/2026-03-25-product-hunt-launch-playbook-the-definitive-guide/product-hunt-launch-playbook-the-definitive-guide-30x-1-winner/2026-03-25-product-hunt-launch-playbook-the-definitive-guide0.8 -https://gingiris.github.io/growth-tools/blog/2026-03-25-startup-launch-checklist-47-tasks-before-during/startup-launch-checklist-47-tasks-before-during-after-launch-day/2026-03-25-startup-launch-checklist-47-tasks-before-during0.8 -https://gingiris.github.io/growth-tools/blog/2026-03-27-github-star-growth-10-proven-tactics-that-got/github-star-growth-10-proven-tactics-that-got-us-33k-stars/2026-03-27-github-star-growth-10-proven-tactics-that-got0.8 -https://gingiris.github.io/growth-tools/blog/2026-03-27-saas-gotomarket-strategy-the-complete-framework-from-0/saas-gotomarket-strategy-the-complete-framework-from-0-to-10m-arr/2026-03-27-saas-gotomarket-strategy-the-complete-framework-from-00.8 -https://gingiris.github.io/growth-tools/blog/2026-03-29-aso-guide-app-store-optimization/aso-guide-app-store-optimization-complete-guide-2026/2026-03-29-aso-guide-app-store-optimization0.8 -https://gingiris.github.io/growth-tools/blog/2026-03-29-github-readme-best-practices-how-to-write-a-readme/github-readme-best-practices-how-to-write-a-readme-that-gets-stars/2026-03-29-github-readme-best-practices-how-to-write-a-readme0.8 -https://gingiris.github.io/growth-tools/blog/2026-03-29-how-to-launch-on-product-hunt-stepbystep-guide/how-to-launch-on-product-hunt-stepbystep-guide-30x-1-winner/2026-03-29-how-to-launch-on-product-hunt-stepbystep-guide0.8 -https://gingiris.github.io/growth-tools/blog/2026-03-29-product-hunt-launch-checklist-the-complete-2026-guide-from-30x/product-hunt-launch-checklist-the-complete-2026-guide-from-30x-daily-1-experience/2026-03-29-product-hunt-launch-checklist-the-complete-2026-guide-from-30x0.8 -https://gingiris.github.io/growth-tools/blog/2026-03-29-saas-growth-strategy-complete-framework-from-0/saas-growth-strategy-complete-framework-from-0-to-10m-arr/2026-03-29-saas-growth-strategy-complete-framework-from-00.8 -https://gingiris.github.io/growth-tools/blog/2026-03-30-100-growth-tools-for-startups-going/100-growth-tools-for-startups-going-global-2026-edition/2026-03-30-100-growth-tools-for-startups-going0.8 -https://gingiris.github.io/growth-tools/blog/2026-03-30/geo-optimization-guide/2026-03-300.8 -https://gingiris.github.io/growth-tools/blog/2026-03-30-github-stars-history-how-to-track-and/github-stars-history-how-to-track-and-analyze-repository-growth/2026-03-30-github-stars-history-how-to-track-and0.8 -https://gingiris.github.io/growth-tools/blog/2026-03-30-reddit-marketing-guide-how-to-promote/reddit-marketing-guide-how-to-promote-without-getting-banned/2026-03-30-reddit-marketing-guide-how-to-promote0.8 -https://gingiris.github.io/growth-tools/blog/2026-03-30/reddit-marketing-guide/2026-03-300.8 -https://gingiris.github.io/growth-tools/blog/2026-03-31/github-stars-history/2026-03-310.8 -https://gingiris.github.io/growth-tools/blog/2026-03-31-product-hunt-launch-checklist-30time/product-hunt-launch-checklist-30time-1-winners-playbook/2026-03-31-product-hunt-launch-checklist-30time0.8 +https://gingiris.github.io/growth-tools/2026-04-011.0 +https://gingiris.github.io/growth-tools/en/2026-04-011.0 +https://gingiris.github.io/growth-tools/blog/2026-04-010.9 From c461aaa2f0b4758a8c2c4be776cb2ba0b53f8f1c Mon Sep 17 00:00:00 2001 From: Gingiris Date: Tue, 31 Mar 2026 10:41:32 -0700 Subject: [PATCH 2/6] feat: add English README (README_en.md) (#4) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: add English version with language switcher - Add /en/ directory with full English translation - Add language switch button (中文 ↔ English) in header - Add hreflang tags for SEO - Update sitemap with both language versions - Update robots.txt for AI bots * feat: add English README (README_en.md) - Complete English translation of all tool categories - Maintain bilingual structure with English-first formatting - Add Gingiris free tools section - GitHub SEO optimized --------- Co-authored-by: Iris (Gingiris) --- README_en.md | 226 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 226 insertions(+) create mode 100644 README_en.md diff --git a/README_en.md b/README_en.md new file mode 100644 index 0000000..128a37b --- /dev/null +++ b/README_en.md @@ -0,0 +1,226 @@ +# 🚀 Growth Tools for Global Launch | 100+ Verified Tools for AI & SaaS + +[![Awesome](https://awesome.re/badge.svg)](https://awesome.re) +[![GitHub Stars](https://img.shields.io/github/stars/Gingiris/growth-tools?style=for-the-badge)](https://github.com/Gingiris/growth-tools) +[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge)](http://makeapullrequest.com) + +**100+ growth tools for AI & SaaS** — From KOL outreach to SEO analytics, social media to product analytics. One-stop shop for global growth. + +> 🎯 Based on real experience from **AFFiNE (33k+ GitHub stars)** and **30x Product Hunt #1** launches. + +[📚 Launch Playbook](https://github.com/Gingiris/gingiris-launch) · [🌟 OSS Marketing](https://github.com/Gingiris/gingiris-opensource) · [📈 B2B Growth](https://github.com/Gingiris/gingiris-b2b-growth) · [📱 ASO Guide](https://github.com/Gingiris/gingiris-aso-growth) + +--- + +## 📋 Table of Contents + +- [Social Listening & Analytics](#-social-listening--analytics) +- [KOL/Influencer Management](#-kolinfluencer-management) +- [Social Outreach](#-social-outreach) +- [Reddit Growth](#-reddit-growth) +- [SEO Tools](#-seo-tools) +- [Link Tracking & UTM](#-link-tracking--utm) +- [UGC Management](#-ugc-management) +- [Community Discovery](#-community-discovery) +- [Content Creation](#-content-creation) +- [Analytics & Tracking](#-analytics--tracking) +- [Email Marketing](#-email-marketing) +- [Ad Accounts & Resources](#-ad-accounts--resources) +- [Advertising](#-advertising) +- [Other Tools](#-other-tools) +- [Gingiris Free Tools](#-gingiris-free-tools) + +--- + +## 🎧 Social Listening & Analytics + +| Tool | Description | Pricing | Link | +|:-----|:------------|:--------|:-----| +| **Toolify Social Listening** | AI social listening, track product mentions | Freemium | [toolify.ai](https://www.toolify.ai/social-listening) | +| **Vizzylabs** | Viral content analysis, social trends | Free | [vizzylabs](https://app.vizzylabs.ai/trending) | +| **Tweet Binder** | Twitter analytics and conversion tracking | Paid | [tweetbinder](https://www.tweetbinder.com/) | +| **PH Deck** | Daily Product Hunt featured products tracker | Free | [phdeck](https://www.phdeck.com/) | + +--- + +## 👥 KOL/Influencer Management + +| Tool | Description | Pricing | Link | +|:-----|:------------|:--------|:-----| +| **EEzycollab** | KOL matching + email outreach一体化 | Freemium | [eezycollab](https://www.eezycollab.com/) | +| **Nanoinfluencer** | KOL matching / competitor research | Freemium | [nanoinfluencer](https://www.nanoinfluencer.ai/) | +| **EasyKOL** | KOL management platform | Paid | [easykol](https://easykol.com/) | +| **NoxInfluencer** | Influencer database | Freemium | [noxinfluencer](https://cn.noxinfluencer.com/) | +| **Connpass** | Japan community/KOL resources | Free | [connpass](https://connpass.com/) | + +--- + +## 📤 Social Outreach + +### Multi-Platform + +| Tool | Description | Pricing | Link | +|:-----|:------------|:--------|:-----| +| **OpenCord** | Multi-platform DM and community management | Paid | [opencord.io](https://opencord.io/) | +| **Phantombuster** | Social automation (LinkedIn, Twitter, Instagram) | Paid | [phantombuster.com](https://phantombuster.com/) | + +### Twitter/X + +| Tool | Description | Pricing | Link | +|:-----|:------------|:--------|:-----| +| **Wisprflow** | Twitter growth tool, UGC reposting | Paid | [wisprflow.com](https://wisprflow.com/) | +| **Roccoca** | Twitter growth + thread automation | Paid | [roccoca.com](https://roccoca.com/) | +| **TAP™** | AI-powered Twitter growth | Paid | [tap.so](https://tap.so/) | + +### LinkedIn + +| Tool | Description | Pricing | Link | +|:-----|:------------|:--------|:-----| +| **Phantombuster** | LinkedIn outreach automation | Paid | [phantombuster.com](https://phantombuster.com/) | +| **MeetAlfred** | LinkedIn multi-channel outreach | Freemium | [meetalfred.com](https://www.meetalfred.com/) | + +--- + +## Reddit Growth + +| Tool | Description | Pricing | Link | +|:-----|:------------|:--------|:-----| +| **Later for Reddit** | Reddit scheduling tool | Free | [laterforreddit.com](https://laterforreddit.com/) | +| **Redditmetis** | Reddit user analytics | Free | [redditmetis.com](https://redditmetis.com/) | +| **Subreddit Stats** | Subreddit analytics | Free | [subredditstats.com](https://subredditstats.com/) | + +--- + +## 🔍 SEO Tools + +| Tool | Description | Pricing | Link | +|:-----|:------------|:--------|:-----| +| **DataForSEO** | SEO data API | Freemium | [dataforseo.com](https://dataforseo.com/) | +| **Ahrefs** | Backlinks, keywords, site audit | Paid | [ahrefs.com](https://ahrefs.com/) | +| **Semrush** | SEO, content, social | Paid | [semrush.com](https://semrush.com/) | +| **SEOptimer** | Quick site audit | Freemium | [seoptimer.com](https://www.seoptimer.com/) | +| **IndexNow** | Instant search engine indexing | Free | [indexnow.org](https://www.indexnow.org/) | + +--- + +## 🔗 Link Tracking & UTM + +| Tool | Description | Pricing | Link | +|:-----|:------------|:--------|:-----| +| **Taggshop** | UTM builder + link shortener | Freemium | [taggshop.com](https://taggshop.com/) | +| **Rebrandly** | Branded links + analytics | Freemium | [rebrandly.com](https://www.rebrandly.com/) | +| **Bitly** | Link management | Freemium | [bitly.com](https://bitly.com/) | + +--- + +## 🎨 UGC Management + +| Tool | Description | Pricing | Link | +|:-----|:------------|:--------|:-----| +| **Octopuss** | UGC content discovery & management | Freemium | [octopuss.io](https://octopuss.io/) | +| **UGC Creator Search** | Find UGC creators | Freemium | [ugcsearch.com](https://ugcsearch.com/) | + +--- + +## 🌍 Community Discovery + +| Tool | Description | Pricing | Link | +|:-----|:------------|:--------|:-----| +| **Similarweb** | Traffic & audience insights | Freemium | [similarweb.com](https://www.similarweb.com/) | +| **Gummysearch** | Reddit audience research | Freemium | [gummysearch.com](https://www.gummysearch.com/) | +| **Communities** | Discover online communities | Free | [communities.gov](https://www.communities.gov/) | + +--- + +## ✍️ Content Creation + +| Tool | Description | Pricing | Link | +|:-----|:------------|:--------|:-----| +| **Gamma** | AI presentation & document | Freemium | [gamma.app](https://gamma.app/) | +| **Tome** | AI storytelling | Freemium | [tome.app](https://tome.app/) | +| **Capcut** | Video editing | Free | [capcut.com](https://www.capcut.com/) | +| **Canva** | Design for non-designers | Freemium | [canva.com](https://www.canva.com/) | +| **VEED** | Online video editor | Freemium | [veed.io](https://www.veed.io/) | + +--- + +## 📊 Analytics & Tracking + +| Tool | Description | Pricing | Link | +|:-----|:------------|:--------|:-----| +| **Plausible** | Privacy-friendly analytics | Paid | [plausible.io](https://plausible.io/) | +| **PostHog** | Open-source product analytics | Freemium | [posthog.com](https://posthog.com/) | +| **Umami** | Self-hosted analytics | Free | [umami.is](https://umami.is/) | +| **Mixpanel** | Product analytics | Freemium | [mixpanel.com](https://mixpanel.com/) | + +--- + +## 📧 Email Marketing + +| Tool | Description | Pricing | Link | +|:-----|:------------|:--------|:-----| +| **Resend** | Email for developers | Freemium | [resend.com](https://resend.com/) | +| **Mailchimp** | Email marketing platform | Freemium | [mailchimp.com](https://mailchimp.com/) | +| **Buttondown** | Newsletter platform | Paid | [buttondown.email](https://buttondown.email/) | +| **ConvertKit** | Creator email marketing | Freemium | [convertkit.com](https://convertkit.com/) | + +--- + +## 🔑 Ad Accounts & Resources + +| Tool | Description | Pricing | Link | +|:-----|:------------|:--------|:-----| +| **3ue.co** | Cheap ads accounts | Paid | [3ue.co](https://dash.3ue.co/) | +| **Adalfred** | Ads management | Paid | [adalfred.com](https://www.adalfred.com/) | + +--- + +## 📢 Advertising + +| Tool | Description | Pricing | Link | +|:-----|:------------|:--------|:-----| +| **Taboola** | Native ads | Paid | [taboola.com](https://www.taboola.com/) | +| **Outbrain** | Content discovery ads | Paid | [outbrain.com](https://www.outbrain.com/) | +| **Headlime** | AI ad copy | Freemium | [headlime.com](https://headlime.com/) | + +--- + +## 🛠️ Other Tools + +| Tool | Description | Pricing | Link | +|:-----|:------------|:--------|:-----| +| **Notion** | Docs & wiki | Freemium | [notion.so](https://notion.so/) | +| **Carrd** | Simple landing pages | Paid | [carrd.co](https://carrd.co/) | +| **Loom** | Async video | Freemium | [loom.com](https://loom.com/) | +| **Calendly** | Meeting scheduling | Freemium | [calendly.com](https://calendly.com/) | + +--- + +## 🔥 Gingiris Free Tools + +| Tool | Description | Link | +|:-----|:------------|:-----| +| **PH Comment Generator** | Generate authentic PH launch comments | [Try Free](https://gingiris.github.io/ph-comment-generator/) | +| **GitHub Issue Generator** | Create structured GitHub issues | [Try Free](https://gingiris.github.io/github-issue-generator/) | +| **GitHub README Generator** | Write README that gets stars | [Try Free](https://gingiris.github.io/github-readme-generator/) | + +--- + +## 🫚 About Gingiris + +Curated by **Iris** (生姜iris), ex-COO of [AFFiNE](https://github.com/toeverything/AFFiNE). + +**My Playbooks:** + +| Playbook | Description | Stars | +|:---------|:------------|:------| +| [🚀 Launch Playbook](https://github.com/Gingiris/gingiris-launch) | 30x PH #1 winner tactics | ⭐ | +| [🌟 OSS Marketing](https://github.com/Gingiris/gingiris-opensource) | 0→33k GitHub stars | ⭐ | +| [📈 B2B Growth](https://github.com/Gingiris/gingiris-b2b-growth) | PMF → $10M ARR | ⭐ | +| [📱 ASO Guide](https://github.com/Gingiris/gingiris-aso-growth) | App Store optimization | ⭐ | + +**Contact:** [@iris_carrot](https://twitter.com/iris_carrot) + +--- + +*⭐ Star this repo if you found it useful!* From c84c276c395c757124a0f901c380530b1882e200 Mon Sep 17 00:00:00 2001 From: "Iris (Gingiris)" Date: Wed, 1 Apr 2026 01:44:14 +0800 Subject: [PATCH 3/6] fix: tool rendering - use full JS from Chinese version, 100+ tools --- en/index.html | 101 +------------------------------------------------- 1 file changed, 1 insertion(+), 100 deletions(-) diff --git a/en/index.html b/en/index.html index 388242f..c8da237 100644 --- a/en/index.html +++ b/en/index.html @@ -456,104 +456,5 @@

No tools found

{ name: "Loom", icon: "🎬", category: "Video", price: "freemium", desc: "Record quick videos for demos", url: "https://loom.com" }, { name: "Carrd", icon: "🃏", category: "Landing Pages", price: "paid", desc: "Simple one-page sites", url: "https://carrd.co" }, { name: "Typeform", icon: "📋", category: "Forms", price: "freemium", desc: "Beautiful forms and surveys", url: "https://typeform.com" }, - { name: "Mailchimp", icon: "📧", category: "Email", price: "freemium", desc: "Email marketing platform", url: "https://mailchimp.com" }, - { name: "Buffer", icon: "📱", category: "Social Media", price: "freemium", desc: "Social media scheduling", url: "https://buffer.com" }, - { name: "Ahrefs", icon: "🔍", category: "SEO", price: "paid", desc: "SEO tools and analytics", url: "https://ahrefs.com" }, - { name: "Canva", icon: "🖼️", category: "Design", price: "freemium", desc: "Easy design tool", url: "https://canva.com" }, - { name: "Calendly", icon: "📅", category: "Scheduling", price: "freemium", desc: "Meeting scheduling", url: "https://calendly.com" }, - { name: "Zapier", icon: "⚡", category: "Automation", price: "freemium", desc: "Connect apps and automate workflows", url: "https://zapier.com" }, - { name: "Intercom", icon: "💬", category: "Support", price: "paid", desc: "Customer messaging platform", url: "https://intercom.com" }, - { name: "Mixpanel", icon: "📊", category: "Analytics", price: "freemium", desc: "Product analytics", url: "https://mixpanel.com" }, - { name: "Hotjar", icon: "🔥", category: "Analytics", price: "freemium", desc: "User behavior analytics", url: "https://hotjar.com" }, - { name: "Product Hunt", icon: "🚀", category: "Launch", price: "free", desc: "Launch your product", url: "https://producthunt.com" }, - { name: "Reddit", icon: "🤖", category: "Community", price: "free", desc: "Community building", url: "https://reddit.com" }, - { name: "Twitter", icon: "🐦", category: "Social Media", price: "free", desc: "Social media platform", url: "https://twitter.com" }, - { name: "Stripe", icon: "💳", category: "Payments", price: "paid", desc: "Payment infrastructure", url: "https://stripe.com" }, - { name: "Vercel", icon: "▲", category: "Hosting", price: "freemium", desc: "Deploy your projects", url: "https://vercel.com" }, - { name: "Supabase", icon: "🔮", category: "Backend", price: "freemium", desc: "Open source Firebase alternative", url: "https://supabase.com" }, - { name: "Resend", icon: "✉️", category: "Email", price: "freemium", desc: "Email for developers", url: "https://resend.com" }, - { name: "Plausible", icon: "📈", category: "Analytics", price: "paid", desc: "Privacy-friendly analytics", url: "https://plausible.io" }, - { name: "Deno Deploy", icon: "🦕", category: "Hosting", price: "free", desc: "Edge hosting", url: "https://deno.com/deploy" } - ]; - - // Categories - const categories = ["All", "Documentation", "Code Hosting", "Design", "Video", "Landing Pages", "Forms", "Email", "Social Media", "SEO", "Scheduling", "Automation", "Support", "Analytics", "Launch", "Community", "Payments", "Hosting", "Backend"]; - - let currentCategory = "All"; - let currentPrice = "all"; - - // Render categories - const categoryList = document.getElementById('categoryList'); - categories.forEach(cat => { - const li = document.createElement('li'); - li.textContent = cat; - li.className = cat === 'All' ? 'active' : ''; - li.onclick = () => selectCategory(cat); - categoryList.appendChild(li); - }); - - function selectCategory(cat) { - currentCategory = cat; - document.querySelectorAll('.category-list li').forEach(li => { - li.className = li.textContent === cat ? 'active' : ''; - }); - renderTools(); - } - - // Filter buttons - document.querySelectorAll('.filter-btn').forEach(btn => { - btn.onclick = () => { - currentPrice = btn.dataset.price; - document.querySelectorAll('.filter-btn').forEach(b => b.className = 'filter-btn'); - btn.className = 'filter-btn active'; - renderTools(); - }; - }); - - // Search - document.getElementById('searchInput').addEventListener('input', renderTools); - - function renderTools() { - const grid = document.getElementById('toolsGrid'); - const search = document.getElementById('searchInput').value.toLowerCase(); - const title = document.getElementById('categoryTitle'); - const count = document.getElementById('toolCount'); - const noResults = document.getElementById('noResults'); - - let filtered = tools.filter(t => { - const matchCat = currentCategory === 'All' || t.category === currentCategory; - const matchPrice = currentPrice === 'all' || t.price === currentPrice; - const matchSearch = t.name.toLowerCase().includes(search) || t.desc.toLowerCase().includes(search); - return matchCat && matchPrice && matchSearch; - }); - - title.textContent = currentCategory === 'All' ? 'All Tools' : currentCategory; - count.textContent = filtered.length + ' tools'; - - if (filtered.length === 0) { - grid.innerHTML = ''; - noResults.style.display = 'block'; - return; - } - - noResults.style.display = 'none'; - grid.innerHTML = filtered.map(t => ' - -
-
' + t.icon + '
- ' + t.price + ' -
-
' + t.name + '
-
' + t.desc + '
- -
- ').join(''); - } - - renderTools(); - - + { name: " From 4f5a1e329b713681883035f6def2cb8ae7c36105 Mon Sep 17 00:00:00 2001 From: "Iris (Gingiris)" Date: Wed, 1 Apr 2026 01:46:11 +0800 Subject: [PATCH 4/6] fix: fully translate English version from Chinese (tools, categories, descriptions) --- en/index.html | 524 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 391 insertions(+), 133 deletions(-) diff --git a/en/index.html b/en/index.html index c8da237..33b3d9b 100644 --- a/en/index.html +++ b/en/index.html @@ -6,29 +6,24 @@ Growth Tools for Global Launch | 100+ Verified Tools for AI & SaaS - - + + - - - - - - - - + + + - + @@ -37,8 +32,8 @@ "@context": "https://schema.org", "@type": "WebApplication", "name": "Gingiris Growth Tools", - "description": "100+ verified growth tools for AI & SaaS global launch", - "url": "https://gingiris.github.io/growth-tools/en/", + "description": "100+ verified growth tools for AI & SaaS", + "url": "https://gingiris.github.io/growth-tools/", "applicationCategory": "BusinessApplication", "offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD" }, "author": { "@type": "Person", "name": "Iris", "url": "https://twitter.com/Iris_carrot" } @@ -57,27 +52,30 @@ --text-secondary: #888; --accent: #6366f1; --accent-hover: #818cf8; - --accent-secondary: #f97316; - --accent-secondary-hover: #fb923c; + --green: #22c55e; + --blue: #3b82f6; + --orange: #f97316; + --pink: #ec4899; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: var(--bg); color: var(--text); - line-height: 1.6; + line-height: 1.5; } - a { color: var(--accent); text-decoration: none; } - a:hover { color: var(--accent-hover); } + a { color: inherit; text-decoration: none; } + /* Header */ .header { - background: var(--surface); - border-bottom: 1px solid var(--border); - padding: 12px 24px; position: sticky; top: 0; z-index: 100; + background: rgba(15, 15, 15, 0.9); + backdrop-filter: blur(10px); + border-bottom: 1px solid var(--border); + padding: 12px 24px; } .header-inner { @@ -89,8 +87,11 @@ } .logo { - font-size: 18px; - font-weight: 600; + font-size: 20px; + font-weight: 700; + display: flex; + align-items: center; + gap: 8px; white-space: nowrap; } @@ -113,57 +114,77 @@ color: white; } + /* Search */ .search-box { flex: 1; - max-width: 400px; + max-width: 500px; + position: relative; } .search-box input { width: 100%; - padding: 8px 16px; - background: var(--bg); + padding: 10px 16px 10px 40px; + background: var(--surface); border: 1px solid var(--border); border-radius: 8px; color: var(--text); font-size: 14px; } - .search-box input::placeholder { color: var(--text-secondary); } + .search-box input:focus { + outline: none; + border-color: var(--accent); + } + + .search-box::before { + content: "🔍"; + position: absolute; + left: 12px; + top: 50%; + transform: translateY(-50%); + font-size: 14px; + } .header-links { display: flex; gap: 16px; - align-items: center; + font-size: 14px; } .header-links a { color: var(--text-secondary); - font-size: 14px; transition: color 0.2s; } .header-links a:hover { color: var(--text); } - - .submit-btn { - background: var(--accent-secondary) !important; - color: white !important; - padding: 6px 14px; + .header-links .submit-btn { + background: var(--accent); + color: #fff !important; + padding: 6px 12px; border-radius: 6px; font-weight: 500; } + .header-links .submit-btn:hover { + background: #2563eb; + } - .submit-btn:hover { background: var(--accent-secondary-hover) !important; } - + /* Main Layout */ .main { max-width: 1400px; margin: 0 auto; - padding: 24px; display: flex; - gap: 24px; + min-height: calc(100vh - 60px); } + /* Sidebar */ .sidebar { width: 220px; + padding: 24px 16px; + border-right: 1px solid var(--border); + position: sticky; + top: 60px; + height: calc(100vh - 60px); + overflow-y: auto; flex-shrink: 0; } @@ -172,76 +193,63 @@ text-transform: uppercase; color: var(--text-secondary); margin-bottom: 12px; - letter-spacing: 0.5px; + padding: 0 8px; } .category-list { list-style: none; } - .category-list li { + .category-item { padding: 8px 12px; border-radius: 6px; cursor: pointer; font-size: 14px; - color: var(--text-secondary); - transition: all 0.2s; - margin-bottom: 4px; - } - - .category-list li:hover, .category-list li.active { - background: var(--surface); - color: var(--text); - } - - .content { flex: 1; } - - .stats-banner { - background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%); - border: 1px solid var(--accent); - border-radius: 12px; - padding: 16px 24px; - margin-bottom: 24px; display: flex; - justify-content: space-between; align-items: center; - flex-wrap: wrap; - gap: 12px; + gap: 8px; + transition: background 0.2s; + margin-bottom: 2px; } - .stats-text { - font-size: 14px; - } + .category-item:hover { background: var(--surface); } + .category-item.active { background: var(--accent); color: #fff; } - .stats-text strong { color: var(--accent); } + .category-count { + margin-left: auto; + font-size: 12px; + color: var(--text-secondary); + background: var(--surface); + padding: 2px 6px; + border-radius: 10px; + } - .stats-badges { - display: flex; - gap: 8px; + .category-item.active .category-count { + background: rgba(255,255,255,0.2); + color: #fff; } - .badge { - background: var(--surface); - padding: 4px 10px; - border-radius: 16px; - font-size: 12px; + /* Content */ + .content { + flex: 1; + padding: 24px; } .content-header { display: flex; justify-content: space-between; align-items: center; - margin-bottom: 20px; + margin-bottom: 24px; } .content-header h1 { font-size: 24px; + font-weight: 600; } .tool-count { color: var(--text-secondary); font-size: 14px; - margin-left: 8px; } .filters { @@ -250,7 +258,7 @@ } .filter-btn { - padding: 6px 14px; + padding: 6px 12px; background: var(--surface); border: 1px solid var(--border); border-radius: 6px; @@ -260,16 +268,13 @@ transition: all 0.2s; } - .filter-btn:hover { border-color: var(--accent); } - .filter-btn.active { - background: var(--accent); - border-color: var(--accent); - color: white; - } + .filter-btn:hover { border-color: var(--accent); color: var(--text); } + .filter-btn.active { background: var(--accent); border-color: var(--accent); color: #fff; } + /* Tools Grid */ .tools-grid { display: grid; - grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); + grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; } @@ -277,11 +282,10 @@ background: var(--surface); border: 1px solid var(--border); border-radius: 12px; - padding: 16px; + padding: 20px; transition: all 0.2s; - text-decoration: none; - color: inherit; - display: block; + display: flex; + flex-direction: column; } .tool-card:hover { @@ -291,47 +295,45 @@ .tool-header { display: flex; - justify-content: space-between; align-items: flex-start; + gap: 12px; margin-bottom: 12px; } .tool-icon { - width: 40px; - height: 40px; - background: linear-gradient(135deg, var(--accent), var(--accent-secondary)); - border-radius: 8px; + width: 44px; + height: 44px; + background: linear-gradient(135deg, var(--accent), var(--pink)); + border-radius: 10px; display: flex; align-items: center; justify-content: center; - font-size: 18px; - } - - .tool-price { - padding: 4px 8px; - border-radius: 4px; - font-size: 11px; - font-weight: 500; + font-size: 20px; + flex-shrink: 0; } - .price-free { background: #065f46; color: #6ee7b7; } - .price-freemium { background: #1e40af; color: #93c5fd; } - .price-paid { background: #7c2d12; color: #fca5a5; } + .tool-info { flex: 1; min-width: 0; } .tool-name { font-size: 16px; font-weight: 600; margin-bottom: 4px; + display: flex; + align-items: center; + gap: 8px; + } + + .tool-category { + font-size: 12px; + color: var(--text-secondary); } .tool-desc { - font-size: 13px; + font-size: 14px; color: var(--text-secondary); - margin-bottom: 12px; - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - overflow: hidden; + line-height: 1.5; + margin-bottom: 16px; + flex: 1; } .tool-footer { @@ -340,37 +342,90 @@ align-items: center; } - .tool-category { - font-size: 11px; - color: var(--text-secondary); - background: var(--bg); - padding: 2px 8px; - border-radius: 4px; + .price-tag { + font-size: 12px; + padding: 4px 10px; + border-radius: 12px; + font-weight: 500; } + .price-free { background: rgba(34, 197, 94, 0.15); color: var(--green); } + .price-freemium { background: rgba(59, 130, 246, 0.15); color: var(--blue); } + .price-paid { background: rgba(249, 115, 22, 0.15); color: var(--orange); } + .tool-link { - font-size: 12px; + font-size: 13px; color: var(--accent); + display: flex; + align-items: center; + gap: 4px; + } + + .tool-link:hover { color: var(--accent-hover); } + + /* Stats Banner */ + .stats-banner { + background: linear-gradient(135deg, rgba(99, 102, 241, 0.1), rgba(236, 72, 153, 0.1)); + border: 1px solid var(--border); + border-radius: 12px; + padding: 20px 24px; + margin-bottom: 24px; + display: flex; + align-items: center; + justify-content: space-between; + flex-wrap: wrap; + gap: 16px; + } + + .stats-text { + font-size: 14px; + color: var(--text-secondary); + } + + .stats-text strong { color: var(--text); } + + .stats-badges { + display: flex; + gap: 12px; } + .badge { + display: flex; + align-items: center; + gap: 6px; + padding: 6px 12px; + background: var(--surface); + border-radius: 20px; + font-size: 13px; + } + + /* Footer */ .footer { - text-align: center; - padding: 40px 24px; border-top: 1px solid var(--border); - margin-top: 40px; + padding: 24px; + text-align: center; color: var(--text-secondary); font-size: 14px; } .footer a { color: var(--accent); } + /* Mobile */ @media (max-width: 768px) { .sidebar { display: none; } .header-links { display: none; } - .header-inner { flex-wrap: wrap; } - .search-box { order: 3; max-width: 100%; } .tools-grid { grid-template-columns: 1fr; } + .stats-banner { flex-direction: column; text-align: center; } + } + + /* No results */ + .no-results { + text-align: center; + padding: 60px 20px; + color: var(--text-secondary); } + + .no-results h3 { font-size: 18px; margin-bottom: 8px; color: var(--text); } @@ -378,13 +433,13 @@
- 中文 + English