diff --git a/README.md b/README.md index a31817a53..ab7109a62 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,8 @@ +![Contribute to Scroll](./src/assets/banner.png) + +[![Twitter Follow](https://img.shields.io/twitter/follow/Scroll_ZKP?style=social)](https://twitter.com/Scroll_ZKP) +[![Discord](https://img.shields.io/discord/984015101017346058?color=%235865F2&label=Discord&logo=discord&logoColor=%23fff)](https://discord.gg/scroll) + This is the open source project for the Scroll documentation. ## Developing @@ -8,13 +13,9 @@ npm install && npm run dev ## Docs architecture -- All docs are markdown and stored in `/src/pages`. +- All articles are markdown and stored in `/src/content/docs/`. - Navigation is JSON in `/src/config/sidebar.ts` -## Deployment - -Managed by Scroll using Netlify at https://app.netlify.com/sites/scroll-documentation/overview. - ## Credits - Special thanks to the Chainlink team whose documentation we forked. Their repo is available [here](https://github.com/smartcontractkit/documentation) and viewable at [https://docs.chain.link/](https://docs.chain.link/). diff --git a/astro-i18next.config.ts b/astro-i18next.config.ts index 539545585..2b3e6b322 100644 --- a/astro-i18next.config.ts +++ b/astro-i18next.config.ts @@ -2,5 +2,6 @@ export default { defaultLocale: "en", showDefaultLocale: true, - locales: ["en", "zh"], + locales: ["en", "zh", "es"], + load: ["server", "client"], } diff --git a/public/assets/icons/apple-touch-icon-256x256.png b/public/assets/icons/apple-touch-icon-256x256.png index 93ba89304..5d2d96b1a 100644 Binary files a/public/assets/icons/apple-touch-icon-256x256.png and b/public/assets/icons/apple-touch-icon-256x256.png differ diff --git a/public/assets/icons/favicon-32x32.png b/public/assets/icons/favicon-32x32.png index f9a1c9608..b6291d994 100644 Binary files a/public/assets/icons/favicon-32x32.png and b/public/assets/icons/favicon-32x32.png differ diff --git a/public/favicon.ico b/public/favicon.ico index af291920d..00c69ea55 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json index 73586261b..e5b4c44e5 100644 --- a/public/locales/en/translation.json +++ b/public/locales/en/translation.json @@ -1,4 +1,15 @@ { + "rightSidebar": { + "onThisPage": "On This Page", + "more": "More", + "editThisPage": "Edit this page", + "joinOurCommunity": "Join our community", + "feedback": "Feedback" + }, + "ui": { + "whatsNext": "What's Next", + "readMore": "Read More" + }, "landing": { "test": "test", "search": { diff --git a/public/locales/es/translation.json b/public/locales/es/translation.json index 261ba69ce..8c177c20d 100644 --- a/public/locales/es/translation.json +++ b/public/locales/es/translation.json @@ -1,5 +1,148 @@ { + "rightSidebar": { + "onThisPage": "En esta página", + "more": "Más", + "editThisPage": "Editar esta página", + "joinOurCommunity": "Únete a nuestro Discord", + "feedback": "Feedback" + }, + "ui": { + "whatsNext": "¿Qué sigue?", + "readMore": "Leer Más" + }, + "landing": { + "test": "test", + "search": { + "title": "Bienvenido a la Documentación de Scroll", + "placeholder": "Buscar Documentación de Scroll..." + }, + "newUserCTA": { + "title": "Nuevo en Scroll y los ZK Rollups?", + "description": "Aprende lo básico en la Guía de Inicio" + }, + "resourcesCTA": { + "title": "Recursos Útiles" + }, + "nodesCTA": { + "title": "Necesitas correr tu propio Nodo de Scroll?", + "description": "Consulte la Guía del Operador de Nodos para obtener más información sobre la puesta en marcha y el mantenimiento de los Nodos de Scroll.", + "buttonText": "Guía del Operador de Nodos" + }, + "TutorialsCTA": { + "title": "Ver tutoriales", + "description": "Obtenga más información sobre la tecnología que estamos construyendo. Subimos constantemente nuevos vídeos a nuestro canal de YouTube.", + "buttonText": "Ver tutoriales" + }, + "LinksCTA": { + "card1": { + "title": "¿Necesita ayuda para integrarse?", + "description": "Talk to an expert once we TODO: a url" + }, + "card2": { + "title": "Discord", + "description": "Únete a nuestra Comunidad" + }, + "card3": { + "title": "TODO: Discourse", + "description": "Really, join the community" + } + }, + "NewsletterCTA": { + "title": "Stay updated on the latest Scroll news", + "placeholder": "Enter your email address", + "buttonText": "Sign up" + } + }, + "sidebar": { + "gettingStarted": { + "gettingStarted": "Primeros Pasos", + "overview": "Vista General", + "scrollSepoliaTestnet": "Scroll Sepolia Testnet", + "userGuide": "Guía de Usuario", + "setup": "Configuración", + "faucet": "Faucet", + "bridge": "Bridge", + "transferTokens": "Transferencia de Tokens", + "commonErrors": "Errores Comunes", + "rollupExplorer": "Rollup Explorer", + "scrollSepoliaBlockExplorer": "Scroll Sepolia Explorer", + "sepoliaBlockExplorer": "Sepolia Explorer", + "community": "Comunidad", + "discord": "Discord", + "communityForum": "Forum de la Comunidad" + }, + "developers": { + "developers": "Desarrolladores", + "buildingOnScroll": "Construyendo en Scroll", + "developerQuickstart": "Inicio rápido para Desarrolladores", + "verifyingSmartContracts": "Verificando Smart Contracts", + "scrollContracts": "Contratos de Scroll", + "ethereumAndScrollDifferences": "Diferencias entre Scroll y Ethereum", + "l1AndL2Bridging": "L1 y L2 Bridging", + "ethAndErc20TokenBridge": "ETH y ERC20 Token Bridge", + "erc721NftBridge": "ERC721 NFT Bridge", + "erc1155TokenBridge": "ERC1155 Token Bridge", + "theScrollMessenger": "El Scroll Messenger", + "transactionFeesOnScroll": "Comisiones de Transacciones en Scroll", + "l2Fee": "Comisión L2", + "l1Fee": "Comisión L1", + "gasOracle": "Gas Oracle", + "future": "Futuro", + "guides": "Guías", + "contractDeploymentTutorial": "Tutorial de Despliegue de Contratos", + "crossChainInteraction": "Interacción Cross-chain del Scroll Messenger", + "bridgingERC20TokenThroughCustomGateway": "Bridging de un ERC20 a través de una Gateway Personalizada", + "bridgingERC721NftThroughCustomGateway": "Bridging de un ERC721 NFT a través de una Gateway Personalizada", + "bridgingERC1155ThroughCustomGateway": "Bridging de un ERC1155 a través de una Gateway Personalizada", + "estimatingGasAndTxFees": "Estimación de las Tarifas de Gas y Tx", + "resources": "Recursos", + "rollupExplorer": "Rollup Explorer", + "scrollSepoliaBlockExplorer": "Scroll Sepolia Explorer", + "sepoliaBlockExplorer": "Sepolia Explorer" + }, + "technology": { + "introduction": "Introducción", + "principles": "Principios", + "scrollArchitecture": "Arquitectura de Scroll", + "overview": "Vista General", + + "scrollChain": "Scroll Chain", + "accountsAndState": "Cuentas y Estado", + "blocks": "Bloques", + "transactions": "Transacciones", + "rollupProcess": "Proceso del Rollup", + "evmDifferencesFromEthereum": "Diferencias de EVM respecto a Ethereum", + + "bridge": "Bridge", + "crossDomainMessaging": "Cross-Domain Messaging", + "depositGateways": "Gateways de Depósito", + "withdrawGateways": "Gateways de Retiro", + + "sequencer": "Secuenciador", + "executionNode": "Nodo de Ejecución", + "rollupNode": "Nodo Rollup", + "zkTrie": "zkTrie", + + "zkevm": "zkEVM", + "introToZkevm": "Intro a la zkEVM", + "zkevmOverview": "Vista General de la zkEVM", + "bridgeOverview": "Vista General del Bridge", + "prover": "Prover", + "proofGeneration": "Proof Generation", + "cpuProverRepo": "CPU Prover Repo" + }, + "learn": { + "ethereumAndProtocols": "Ethereum y Protocolos", + "theScalabilityProblem": "El Problema de la Escalabilidad", + "introToRollups": "Intro a los Rollups", + "zeroKnowledge": "Zero Knowledge", + "introToZeroKnowledge": "Intro a la Zero Knowledge", + "polynomialCommitmentSchemes": "Esquemas de Compromiso Polinómicos", + "kzgCommitmentScheme": "Esquema de Compromiso KZG", + "additionalResources": "Recursos Adicionales" + } + }, "notTranslated": { - "notTranslated": "Esta página aún no ha sido traducida." + "notTranslated": "Esta página no ha sido traducida aún." } } diff --git a/public/scroll-docs-white.svg b/public/scroll-docs-white.svg index 2fa605bfc..3ee150262 100644 --- a/public/scroll-docs-white.svg +++ b/public/scroll-docs-white.svg @@ -1,66 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/scroll-docs.svg b/public/scroll-docs.svg index 58aabd632..f7c775e53 100644 --- a/public/scroll-docs.svg +++ b/public/scroll-docs.svg @@ -1,124 +1,27 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + diff --git a/public/scroll-logo-light.svg b/public/scroll-logo-light.svg deleted file mode 100644 index 19b6c675a..000000000 --- a/public/scroll-logo-light.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/public/scroll-white.svg b/public/scroll-white.svg index 4dbfc4c20..ce3ba1224 100644 --- a/public/scroll-white.svg +++ b/public/scroll-white.svg @@ -1,58 +1,13 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/public/scroll.svg b/public/scroll.svg deleted file mode 100644 index 7cef1e4d1..000000000 --- a/public/scroll.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/banner.png b/src/assets/banner.png new file mode 100644 index 000000000..8c8c66d8c Binary files /dev/null and b/src/assets/banner.png differ diff --git a/src/components/Footer/PureFooter/PureFooter.module.css b/src/components/Footer/PureFooter/PureFooter.module.css index 61a537a2d..9c2a147de 100644 --- a/src/components/Footer/PureFooter/PureFooter.module.css +++ b/src/components/Footer/PureFooter/PureFooter.module.css @@ -9,6 +9,10 @@ "logo follow" "about resource" "version version"; + row-gap: 50px; + } + .version { + margin-top: 22px; } } diff --git a/src/components/Footer/PureFooter/PureFooter.tsx b/src/components/Footer/PureFooter/PureFooter.tsx index 5572562da..ee126d83f 100644 --- a/src/components/Footer/PureFooter/PureFooter.tsx +++ b/src/components/Footer/PureFooter/PureFooter.tsx @@ -6,7 +6,7 @@ const Footer = () => { return (
- +

About Scroll

@@ -33,10 +33,8 @@ const Footer = () => {

Follow Us

{mediaList.map((item) => ( - - { - - } + + {} ))}
diff --git a/src/components/Footer/helper.tsx b/src/components/Footer/helper.tsx index 36e5f75f5..19835b40f 100644 --- a/src/components/Footer/helper.tsx +++ b/src/components/Footer/helper.tsx @@ -22,13 +22,9 @@ const TwitterIcon: React.FC> = (props) => ( ) export const aboutList = [ - { - name: "Team", - href: "https://scroll.io/team", - }, { name: "Join Us", - href: "https://scroll.io/join-us", + href: "https://jobs.lever.co/ScrollFoundation", }, { name: "Health Status", @@ -55,7 +51,7 @@ export const resourceList = [ }, { name: "Press Kit", - href: "https://scrollzkp.notion.site/Scroll-Brand-Assets-PUBLIC-AREA-c4e2cca84be342aa8b00e8bda92ee4f7", + href: "https://scrollzkp.notion.site/Scroll-Rebrand-Assets-5bb83465f56f40989c4f772b39ed3a06", }, ] diff --git a/src/components/Header/Header.astro b/src/components/Header/Header.astro index 5dbcbf177..580473af1 100644 --- a/src/components/Header/Header.astro +++ b/src/components/Header/Header.astro @@ -45,7 +45,11 @@ const section = frontmatter?.section ?? ""
- + diff --git a/src/components/RightSidebar/TableOfContents/index.tsx b/src/components/RightSidebar/TableOfContents/index.tsx index 37ab33571..f9e22ea1b 100644 --- a/src/components/RightSidebar/TableOfContents/index.tsx +++ b/src/components/RightSidebar/TableOfContents/index.tsx @@ -3,6 +3,8 @@ import { useStore } from "@nanostores/preact" import type { FunctionalComponent } from "preact" import { useState, useEffect, useRef } from "preact/hooks" import { shouldUpdateToc } from "./tocStore" +import i18next, { t } from "i18next" + export interface Heading { depth: number text: string @@ -79,7 +81,7 @@ const TableOfContents: FunctionalComponent<{ return ( <> -

On this page

+

{t("rightSidebar.onThisPage")}