diff --git a/website/src/pages/ar/index.json b/website/src/pages/ar/index.json index 2443372843a8..1859ecd97d97 100644 --- a/website/src/pages/ar/index.json +++ b/website/src/pages/ar/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "متعدد-السلاسل", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/cs/index.json b/website/src/pages/cs/index.json index 545b2b717b56..71edccafecb2 100644 --- a/website/src/pages/cs/index.json +++ b/website/src/pages/cs/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "Substreams", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/de/index.json b/website/src/pages/de/index.json index b56ea56c5897..98defd61cd2d 100644 --- a/website/src/pages/de/index.json +++ b/website/src/pages/de/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "Substreams", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/en/index.json b/website/src/pages/en/index.json index 95bf30d1752a..59e8e3dc4c44 100644 --- a/website/src/pages/en/index.json +++ b/website/src/pages/en/index.json @@ -79,10 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, - "substreams": { - "title": "Substreams", + "substreamsQuickStart": { + "title": "Substreams quick start", "description": "Stream high-speed data for real-time indexing." }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "timeseries": { "title": "Timeseries & Aggregations", "description": "Learn to track metrics like daily volumes or user growth." @@ -109,12 +121,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/es/index.json b/website/src/pages/es/index.json index 2c1eeb105f26..834777839888 100644 --- a/website/src/pages/es/index.json +++ b/website/src/pages/es/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "Corrientes secundarias", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/fr/index.json b/website/src/pages/fr/index.json index ee19877c78e6..1dfcdd296ff2 100644 --- a/website/src/pages/fr/index.json +++ b/website/src/pages/fr/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "Substreams", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/hi/index.json b/website/src/pages/hi/index.json index 006af907dc33..c3a367a834e2 100644 --- a/website/src/pages/hi/index.json +++ b/website/src/pages/hi/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "सबस्ट्रीम", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/it/index.json b/website/src/pages/it/index.json index f243894b47b5..bc68d697f9ff 100644 --- a/website/src/pages/it/index.json +++ b/website/src/pages/it/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "Substreams", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/ja/index.json b/website/src/pages/ja/index.json index 2034192e0089..e86abf91ce46 100644 --- a/website/src/pages/ja/index.json +++ b/website/src/pages/ja/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "サブストリーム", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/ko/index.json b/website/src/pages/ko/index.json index 95bf30d1752a..a6c6be7529e5 100644 --- a/website/src/pages/ko/index.json +++ b/website/src/pages/ko/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "Substreams", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/mr/index.json b/website/src/pages/mr/index.json index add2f95c68b0..16d41fa3d2e2 100644 --- a/website/src/pages/mr/index.json +++ b/website/src/pages/mr/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "उपप्रवाह", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/nl/index.json b/website/src/pages/nl/index.json index 200a19192e1c..8d6df68fb4a2 100644 --- a/website/src/pages/nl/index.json +++ b/website/src/pages/nl/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "Substreams", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/pl/index.json b/website/src/pages/pl/index.json index ca9ba66107b7..c394bd1bb4c1 100644 --- a/website/src/pages/pl/index.json +++ b/website/src/pages/pl/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "Substreams", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/pt/index.json b/website/src/pages/pt/index.json index 0fe9ac551a34..d774c480810c 100644 --- a/website/src/pages/pt/index.json +++ b/website/src/pages/pt/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "Substreams", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/ro/index.json b/website/src/pages/ro/index.json index fe31bcb97070..75409a8cb1b7 100644 --- a/website/src/pages/ro/index.json +++ b/website/src/pages/ro/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "Substreams", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/ru/index.json b/website/src/pages/ru/index.json index 28d369ba865d..2ed6227a1169 100644 --- a/website/src/pages/ru/index.json +++ b/website/src/pages/ru/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "Субпотоки", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/sv/index.json b/website/src/pages/sv/index.json index 23a97080ffc1..d1a2ec1c974c 100644 --- a/website/src/pages/sv/index.json +++ b/website/src/pages/sv/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "Underströmmar", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/tr/index.json b/website/src/pages/tr/index.json index 7a721a844042..4bf68efda099 100644 --- a/website/src/pages/tr/index.json +++ b/website/src/pages/tr/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "Substream'ler", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/uk/index.json b/website/src/pages/uk/index.json index 2e98e3092a7e..915586882ea3 100644 --- a/website/src/pages/uk/index.json +++ b/website/src/pages/uk/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "Substreams", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/ur/index.json b/website/src/pages/ur/index.json index ba4e9527fa53..f53d929f26f1 100644 --- a/website/src/pages/ur/index.json +++ b/website/src/pages/ur/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "سب سٹریمز", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/vi/index.json b/website/src/pages/vi/index.json index 2793483b60d9..b6492df752f1 100644 --- a/website/src/pages/vi/index.json +++ b/website/src/pages/vi/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "Substreams", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/pages/zh/index.json b/website/src/pages/zh/index.json index 73a3a54b8106..a4968f1550d3 100644 --- a/website/src/pages/zh/index.json +++ b/website/src/pages/zh/index.json @@ -79,6 +79,22 @@ "title": "Subgraph quick start", "description": "Kickstart your journey into subgraph development." }, + "substreamsQuickStart": { + "title": "Substreams quick start", + "description": "Stream high-speed data for real-time indexing." + }, + "tokenapi": { + "title": "The Graph's Token API", + "description": "Query token data and leverage native MCP support." + }, + "graphExplorer": { + "title": "Graph Explorer", + "description": "Find and query existing blockchain data." + }, + "substreamsDev": { + "title": "Substreams.dev", + "description": "Access tutorials, templates, and documentation to build custom data modules." + }, "substreams": { "title": "子流", "description": "Stream high-speed data for real-time indexing." @@ -109,12 +125,16 @@ "title": "Substreams.dev", "description": "Access tutorials, templates, and documentation to build custom data modules." }, + "customSubstreamsSinks": { + "title": "Custom Substreams Sinks", + "description": "Leverage existing Substreams sinks to access data." + }, "substreamsStarter": { "title": "Substreams starter", "description": "Leverage this boilerplate to create your first Substreams module." }, "substreamsRepo": { - "title": "Substreams repo", + "title": "Substreams GitHub repository", "description": "Study, contribute to, or customize the core Substreams framework." } } diff --git a/website/src/supportedNetworks/components/NetworkDetailsPage.tsx b/website/src/supportedNetworks/components/NetworkDetailsPage.tsx index 03d579c61729..d78786407d48 100644 --- a/website/src/supportedNetworks/components/NetworkDetailsPage.tsx +++ b/website/src/supportedNetworks/components/NetworkDetailsPage.tsx @@ -1,128 +1,83 @@ -import { memo } from 'react' - -import { Subgraph, Substreams, SubstreamsPoweredSubgraph } from '@edgeandnode/gds/icons' - import { Card, TimeIcon } from '@/components' import { useI18n } from '@/i18n' -import { isEVMNetwork, type Network } from '../utils' +import { isEVMNetwork, type Network, type NetworkData, type ProcessedNetwork, supportsTokenAPI } from '../utils' + +import { + evmNoTokenAPICards, + evmSubgraphsOnlyCards, + evmWithTokenAPICards, + nonEvmNoTokenAPICards, + nonEvmWithTokenAPICards, +} from './ResourceCards' type NetworkDetailsPageProps = { - network: Network + network: Network | ProcessedNetwork | NetworkData } -const EVMResources = memo(() => { - const { t } = useI18n() +interface NetworkFeatures { + supportsSubgraphs: boolean + supportsSubstreams: boolean + supportsTokenAPI: boolean +} - return ( -
-
- } - className="min-h-64" - icon={} - /> - } - className="min-h-64" - icon={} - /> - } - className="min-h-64" - icon={} - /> -
-
- } - /> - } - /> -
-
- ) -}) +function getNetworkFeatures(network: Network | ProcessedNetwork | NetworkData): NetworkFeatures { + if ('subgraphs' in network && typeof network.subgraphs === 'boolean') { + const processedNetwork = network + return { + supportsSubgraphs: processedNetwork.subgraphs, + supportsSubstreams: processedNetwork.substreams, + supportsTokenAPI: processedNetwork.tokenapi, + } + } -const NonEVMResources = memo(() => { - const { t } = useI18n() + return { + supportsSubgraphs: 'services' in network && Boolean(network.services.subgraphs?.length), + supportsSubstreams: 'services' in network && Boolean(network.services.substreams?.length), + supportsTokenAPI: supportsTokenAPI(network.id), + } +} - return ( -
-
- } - className="min-h-64" - icon={} - /> - } - className="min-h-64" - icon={} - /> - } - className="min-h-64" - icon={} - /> -
-
- } - /> - } - /> -
-
- ) -}) +function getResourceCardsConfig(isEVM: boolean, features: NetworkFeatures) { + const { supportsSubgraphs, supportsSubstreams, supportsTokenAPI } = features -EVMResources.displayName = 'EVMResources' -NonEVMResources.displayName = 'NonEVMResources' + if (isEVM) { + if (supportsSubgraphs && !supportsSubstreams) { + return evmSubgraphsOnlyCards + } + if (supportsTokenAPI) { + return evmWithTokenAPICards + } + return evmNoTokenAPICards + } -const NetworkDetailsPage = memo(({ network }: NetworkDetailsPageProps) => { + return supportsTokenAPI ? nonEvmWithTokenAPICards : nonEvmNoTokenAPICards +} + +function NetworkDetailsPage({ network }: NetworkDetailsPageProps) { const { t } = useI18n() + const isEVM = isEVMNetwork(network) + const features = getNetworkFeatures(network) + const cards = getResourceCardsConfig(isEVM, features) return ( <> -

{t('index.supportedNetworks.guides')}

- {isEVMNetwork(network) ? : } +

{t('index.supportedNetworks.guides')}

+
+ {cards.map((card) => ( + } + className="col-span-full [&:nth-child(-n+3)]:lg:col-span-2 [&:nth-child(-n+3)]:lg:min-h-64 [&:nth-child(n+4)]:lg:col-span-3" + icon={card.icon} + /> + ))} +
) -}) - -NetworkDetailsPage.displayName = 'NetworkDetailsPage' +} export default NetworkDetailsPage diff --git a/website/src/supportedNetworks/components/ResourceCards.tsx b/website/src/supportedNetworks/components/ResourceCards.tsx new file mode 100644 index 000000000000..7c000b4f0b06 --- /dev/null +++ b/website/src/supportedNetworks/components/ResourceCards.tsx @@ -0,0 +1,201 @@ +import { + APIToken, + GraphExplorer, + MoneyWavy, + Subgraph, + Substreams, + SubstreamsPoweredSubgraph, +} from '@edgeandnode/gds/icons' + +type Resource = { + href: string + titleKey: string + descriptionKey: string + minutes: number + icon?: React.ReactNode +} + +// EVM + Subgraphs, Substreams and Token API +export const evmWithTokenAPICards = [ + { + href: 'https://thegraph.com/docs/en/subgraphs/quick-start/', + titleKey: 'index.networkGuides.evm.subgraphQuickStart.title' as const, + descriptionKey: 'index.networkGuides.evm.subgraphQuickStart.description' as const, + minutes: 10, + icon: , + }, + { + href: 'https://docs.substreams.dev/', + titleKey: 'index.networkGuides.evm.substreamsQuickStart.title' as const, + descriptionKey: 'index.networkGuides.evm.substreamsQuickStart.description' as const, + minutes: 15, + icon: , + }, + { + href: 'https://thegraph.com/docs/en/token-api/quick-start/', + titleKey: 'index.networkGuides.evm.tokenapi.title' as const, + descriptionKey: 'index.networkGuides.evm.tokenapi.description' as const, + minutes: 8, + icon: , + }, + { + href: 'https://thegraph.com/docs/en/subgraphs/explorer/', + titleKey: 'index.networkGuides.evm.graphExplorer.title' as const, + descriptionKey: 'index.networkGuides.evm.graphExplorer.description' as const, + minutes: 12, + }, + { + href: 'https://substreams.dev/', + titleKey: 'index.networkGuides.evm.substreamsDev.title' as const, + descriptionKey: 'index.networkGuides.evm.substreamsDev.description' as const, + minutes: 5, + }, +] satisfies Resource[] + +// EVM without Token API +export const evmNoTokenAPICards = [ + { + href: 'https://thegraph.com/docs/en/subgraphs/quick-start/', + titleKey: 'index.networkGuides.evm.subgraphQuickStart.title' as const, + descriptionKey: 'index.networkGuides.evm.subgraphQuickStart.description' as const, + minutes: 10, + icon: , + }, + { + href: 'https://thegraph.com/docs/en/substreams/quick-start/', + titleKey: 'index.networkGuides.evm.substreamsQuickStart.title' as const, + descriptionKey: 'index.networkGuides.evm.substreamsQuickStart.description' as const, + minutes: 15, + icon: , + }, + { + href: 'https://thegraph.com/docs/en/subgraphs/billing/', + titleKey: 'index.networkGuides.evm.billing.title' as const, + descriptionKey: 'index.networkGuides.evm.billing.description' as const, + minutes: 5, + icon: , + }, + { + href: 'https://thegraph.com/docs/en/subgraphs/explorer/', + titleKey: 'index.networkGuides.evm.graphExplorer.title' as const, + descriptionKey: 'index.networkGuides.evm.graphExplorer.description' as const, + minutes: 12, + }, + { + href: 'https://substreams.dev/', + titleKey: 'index.networkGuides.evm.substreamsDev.title' as const, + descriptionKey: 'index.networkGuides.evm.substreamsDev.description' as const, + minutes: 5, + }, +] + +// EVM only Subgraphs +export const evmSubgraphsOnlyCards = [ + { + href: 'https://thegraph.com/docs/en/subgraphs/quick-start/', + titleKey: 'index.networkGuides.evm.subgraphQuickStart.title' as const, + descriptionKey: 'index.networkGuides.evm.subgraphQuickStart.description' as const, + minutes: 10, + icon: , + }, + { + href: 'https://thegraph.com/docs/en/subgraphs/explorer/', + titleKey: 'index.networkGuides.evm.graphExplorer.title' as const, + descriptionKey: 'index.networkGuides.evm.graphExplorer.description' as const, + minutes: 12, + icon: , + }, + { + href: 'https://thegraph.com/docs/en/subgraphs/billing/', + titleKey: 'index.networkGuides.evm.billing.title' as const, + descriptionKey: 'index.networkGuides.evm.billing.description' as const, + minutes: 5, + icon: , + }, + { + href: 'https://thegraph.com/docs/en/subgraphs/best-practices/timeseries/', + titleKey: 'index.networkGuides.evm.timeseries.title' as const, + descriptionKey: 'index.networkGuides.evm.timeseries.description' as const, + minutes: 5, + }, + { + href: 'https://thegraph.com/docs/en/subgraphs/developing/creating/advanced/', + titleKey: 'index.networkGuides.evm.advancedFeatures.title' as const, + descriptionKey: 'index.networkGuides.evm.advancedFeatures.description' as const, + minutes: 7, + }, +] + +// Non-EVM + Token API +export const nonEvmWithTokenAPICards = [ + { + href: 'https://docs.substreams.dev/', + titleKey: 'index.networkGuides.nonEvm.officialDocs.title' as const, + descriptionKey: 'index.networkGuides.nonEvm.officialDocs.description' as const, + minutes: 15, + icon: , + }, + { + href: 'https://thegraph.com/docs/en/sps/introduction/', + titleKey: 'index.networkGuides.nonEvm.spsIntro.title' as const, + descriptionKey: 'index.networkGuides.nonEvm.spsIntro.description' as const, + minutes: 8, + icon: , + }, + { + href: 'https://substreams.dev/', + titleKey: 'index.networkGuides.nonEvm.substreamsDev.title' as const, + descriptionKey: 'index.networkGuides.nonEvm.substreamsDev.description' as const, + minutes: 10, + icon: , + }, + { + href: 'https://github.com/streamingfast/substreams-starter', + titleKey: 'index.networkGuides.nonEvm.substreamsStarter.title' as const, + descriptionKey: 'index.networkGuides.nonEvm.substreamsStarter.description' as const, + minutes: 5, + }, + { + href: 'https://github.com/streamingfast/substreams', + titleKey: 'index.networkGuides.nonEvm.substreamsRepo.title' as const, + descriptionKey: 'index.networkGuides.nonEvm.substreamsRepo.description' as const, + minutes: 7, + }, +] + +// Non-EVM without Token API +export const nonEvmNoTokenAPICards = [ + { + href: 'https://thegraph.com/docs/en/substreams/quick-start/', + titleKey: 'index.networkGuides.evm.substreamsQuickStart.title' as const, + descriptionKey: 'index.networkGuides.evm.substreamsQuickStart.description' as const, + minutes: 15, + icon: , + }, + { + href: 'https://substreams.dev/', + titleKey: 'index.networkGuides.nonEvm.substreamsDev.title' as const, + descriptionKey: 'index.networkGuides.nonEvm.substreamsDev.description' as const, + minutes: 10, + icon: , + }, + { + href: 'https://docs.substreams.dev/how-to-guides/sinks', + titleKey: 'index.networkGuides.nonEvm.customSubstreamsSinks.title' as const, + descriptionKey: 'index.networkGuides.nonEvm.customSubstreamsSinks.description' as const, + minutes: 8, + icon: , + }, + { + href: 'https://github.com/streamingfast/substreams-starter', + titleKey: 'index.networkGuides.nonEvm.substreamsStarter.title' as const, + descriptionKey: 'index.networkGuides.nonEvm.substreamsStarter.description' as const, + minutes: 5, + }, + { + href: 'https://github.com/streamingfast/substreams', + titleKey: 'index.networkGuides.nonEvm.substreamsRepo.title' as const, + descriptionKey: 'index.networkGuides.nonEvm.substreamsRepo.description' as const, + minutes: 7, + }, +]