Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
54611a0
Removing sections (#505)
Turupawn Oct 22, 2025
b77d43f
Fix redirects + improved dev FAQ (#508)
Turupawn Oct 24, 2025
462d0ae
added static redirects (#510)
Turupawn Oct 24, 2025
1b555b8
Fix redirects (fix conflicts) (#512)
Turupawn Oct 24, 2025
926b0e0
Temp redirect conflict fix (#513)
Turupawn Oct 24, 2025
ccd1493
Temp redirect fix (#514)
Turupawn Oct 24, 2025
2fe13ae
Update redirects.json (#515)
Turupawn Oct 24, 2025
74913d5
Update from Prod (#516)
Turupawn Oct 24, 2025
a369508
Update redirects.json (#517)
Turupawn Oct 24, 2025
c2d4e7d
Fix/merge prod into develop (#519)
Turupawn Oct 24, 2025
4ff9cae
Update redirects.json (#520)
Turupawn Oct 24, 2025
e708a09
Update redirects.json (#522)
Turupawn Oct 24, 2025
5ac4b98
Update redirects.json (#523)
Turupawn Oct 24, 2025
607911f
Prod to develop (#526)
Turupawn Oct 24, 2025
55963d4
Prod to develop (#528)
Turupawn Oct 24, 2025
db2c27e
Rebase fix (#529)
Turupawn Oct 24, 2025
b6e3451
Update redirects.json (#530)
Turupawn Oct 24, 2025
5212fa9
Develop temp (#531)
Turupawn Oct 24, 2025
6fa370c
your message
Scroll-Filbert Oct 27, 2025
3c2a163
Merge pull request #533 from scroll-tech/filbert/feynman-upgrade
Scroll-Filbert Oct 27, 2025
d799667
Update feynman docs
Scroll-Filbert Oct 27, 2025
410f231
Fix wording
Scroll-Filbert Oct 27, 2025
aebcb58
Merge pull request #535 from scroll-tech/filbert/feynman-upgrade
Scroll-Filbert Oct 27, 2025
30fe0a9
Remove unused references (#540)
Scroll-Filbert Nov 4, 2025
adb6e20
fix: switch Mermaid to client-side rendering for Vercel compatibility…
zzq0826 Nov 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion astro.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ export default defineConfig({
remarkPlugins: [remarkMath, remarkGfm],
rehypePlugins: [
rehypeSlug,
[rehypeMermaid, { strategy: "img-png" }],
[rehypeMermaid, { strategy: "pre-mermaid" }],
[
rehypeAutolinkHeadings,
{
Expand Down
63 changes: 4 additions & 59 deletions public/locales/en/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,25 +57,6 @@
}
},
"sidebar": {
"gettingStarted": {
"gettingStarted": "Getting Started",
"overview": "Overview",
"scrollSepoliaTestnet": "Scroll Sepolia Testnet",
"userGuide": "User Guide",
"setup": "Setup",
"faucet": "Faucet",
"bridge": "Bridge",
"transferTokens": "Transfer Tokens",
"commonErrors": "Common Errors",
"rollupExplorer": "Rollup Explorer",
"scrollSepoliaBlockExplorer": "Scroll Sepolia Explorer",
"scrollMainnet": "Scroll Mainnet",
"scrollscan": "Scrollscan Block Explorer",
"sepoliaBlockExplorer": "Sepolia Explorer",
"community": "Community",
"discord": "Discord",
"communityForum": "Community Forum"
},
"developers": {
"developers": "Developers",
"buildingOnScroll": "Building on Scroll",
Expand Down Expand Up @@ -114,12 +95,6 @@
"sepoliaBlockExplorer": "Scrollscan Explorer",
"transactionJourney": "Checking Transaction Journey"
},
"whatToBuild": {
"whatToBuild": "What to Build",
"stablecoinPaymentsTutorial": "Stablecoin Payments Tutorial",
"solidityCookbook": "Solidity Cookbook",
"privacyDappsWithZk": "Privacy dApps with ZK"
},
"technology": {
"introduction": "Introduction",
"principles": "Principles",
Expand Down Expand Up @@ -150,46 +125,16 @@
"security": "Security",
"auditsAndBugBounty": "Audits & Bug Bounty",
"l2BeatAssessment": "L2Beat Assessment",
"feynmanUpgrade": "Feynman Upgrade",
"euclidUpgrade": "Euclid Upgrade",
"darwinV2Upgrade": "Darwin v2 Upgrade",
"darwinUpgrade": "Darwin Upgrade",
"curieUpgrade": "Curie Upgrade",
"bernoulliUpgrade": "Bernoulli Upgrade"
},
"learn": {
"ethereumAndProtocols": "Ethereum & Protocols",
"theScalabilityProblem": "The Scalability Problem",
"introToRollups": "Intro to Rollups",
"zeroKnowledge": "Zero Knowledge",
"introToZeroKnowledge": "Intro to Zero Knowledge",
"polynomialCommitmentSchemes": "Polynomial Commitment Schemes",
"kzgCommitmentScheme": "KZG Commitment Scheme",
"additionalResources": "Additional Resources"
},
"sdk": {
"overview": "Overview",
"scrollSdk": "Scroll SDK Introduction",
"faq": "Scroll SDK FAQ",
"technicalStack": "Technical Stack",
"stackOverview": "Stack Overview",
"configuration": "Configuration",
"services": "Services",
"smartContracts": "Smart Contracts",
"proofGeneration": "Proof Generation",
"integrations": "Integrations",
"guides": "Guides",
"devnetDeployment": "Devnet Deployment",
"productionDeployment": "Production Deployment",
"digitalOcean": "Digital Ocean & ERC20 Gas Token Testnet",
"customizingSdkComponents": "Customizing SDK Components",
"awsDeployment": "AWS Deployment",
"operation": "Operating a Chain",
"contractsVerification": "Contracts Verification",
"gasAndFees": "Gas & Fee Management",
"monitoring": "Monitoring",
"security": "Security and Recovery",
"upgrades": "Upgrading",
"troubleshooting": "Troubleshooting"
"community": {
"community": "Community",
"faq": "Community FAQ"
}
},
"footer": {
Expand Down
6 changes: 0 additions & 6 deletions public/locales/es/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -112,12 +112,6 @@
"sepoliaRollupExplorer": "Explorador de Rollup",
"sepoliaBlockExplorer": "Explorador de bloques Scrollscan"
},
"whatToBuild": {
"whatToBuild": "Qué construir",
"stablecoinPaymentsTutorial": "Pagos con Stablecoins",
"solidityCookbook": "Recetario de Solidity",
"privacyDappsWithZk": "Dapps Privadas con ZK"
},
"technology": {
"introduction": "Introducción",
"principles": "Principios",
Expand Down
Binary file not shown.
9 changes: 0 additions & 9 deletions src/assets/svgs/home/home-learn.svg

This file was deleted.

3 changes: 0 additions & 3 deletions src/assets/svgs/home/home-sdk.svg

This file was deleted.

28 changes: 19 additions & 9 deletions src/components/Footer/Subscribe/Subscribe.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ import { useState, useEffect } from "preact/hooks"
import MailchimpSubscribe from "react-mailchimp-subscribe"
import SubscribeSvg from "~/assets/svgs/footer/subscribe.svg?react"
import { clsx } from "~/lib"
import i18next, { changeLanguage, t } from "i18next"
import { t } from "i18next"
import { useI18nReady } from "~/hooks/useI18nReady"

import EmailInput from "./EmailInput.tsx"
import styles from "./Subscribe.module.css"
Expand All @@ -19,8 +20,7 @@ export default function Subscribe(props) {
const [email, setEmail] = useState("")
const [customMessage, setCustomMessage] = useState("")
const [emailValid, setEmailValid] = useState(false)

i18next.changeLanguage(props.lang)
const isReady = useI18nReady(props.lang)

useEffect(() => {
setCustomMessage("")
Expand All @@ -42,6 +42,10 @@ export default function Subscribe(props) {
setEmail(e.target.value)
}

if (!isReady) {
return null
}

return (
<div className={clsx(styles.container, "dark:bg-dark-highlight")}>
<div className={styles.subscribeBox}>
Expand All @@ -50,22 +54,28 @@ export default function Subscribe(props) {
</span>

<div className={styles.copyBox}>
<div className={styles.subscribeTitle}>{ t("landing.NewsletterCTA.title") }</div>
<div className={styles.subscribeText}>
{ t("landing.NewsletterCTA.text") }
</div>
<div className={styles.subscribeTitle}>{t("landing.NewsletterCTA.title")}</div>
<div className={styles.subscribeText}>{t("landing.NewsletterCTA.text")}</div>
</div>
<MailchimpSubscribe
url={url}
render={({ subscribe, status, message }: any) => (
render={({
subscribe,
status,
message,
}: {
subscribe: (data: { EMAIL: string }) => void
status: string
message: string
}) => (
<div className={styles.emailBox}>
<EmailInput
className={styles.emailInput}
value={email}
onChange={handleChangeEmail}
onClick={() => handleSubmit(subscribe)}
onEnter={() => handleSubmit(subscribe)}
placeholder= { t("landing.NewsletterCTA.placeholder") }
placeholder={t("landing.NewsletterCTA.placeholder")}
end={status === "success"}
/>
{customMessage && <div className={styles.errorMessage}>{customMessage}</div>}
Expand Down
6 changes: 6 additions & 0 deletions src/components/HeadCommon.astro
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,12 @@ import "../styles/design-system/global-styles.css"
<!-- Scrollable a11y code helper -->
<script src="/make-scrollable-code-focusable.js" is:inline></script>

<!-- Mermaid.js for client-side rendering -->
<script type="module">
import mermaid from "https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs"
mermaid.initialize({ startOnLoad: true, theme: "default" })
</script>

<!-- Google Tag Manager -->
<!-- <script type="text/javascript">
;(function (w, d, s, l, i) {
Expand Down
8 changes: 7 additions & 1 deletion src/components/RightSidebar/TableOfContents/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +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"
import { t } from "i18next"
import { useI18nReady } from "~/hooks/useI18nReady"

export interface Heading {
depth: number
Expand All @@ -21,6 +22,7 @@ const TableOfContents: FunctionalComponent<{
const [currentID, setCurrentID] = useState("overview")
const onThisPageID = "on-this-page-heading"
const $shouldUpdateToc = useStore(shouldUpdateToc)
const isReady = useI18nReady()

useEffect(() => {
if (!tableOfContents.current) return
Expand Down Expand Up @@ -79,6 +81,10 @@ const TableOfContents: FunctionalComponent<{
setHeadings(headingList)
}

if (!isReady) {
return null
}

return (
<>
<h2 className="heading">{t("rightSidebar.onThisPage")}</h2>
Expand Down
26 changes: 1 addition & 25 deletions src/config/menu.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,44 +8,20 @@ type MenuItems = Record<LanguageKey, MenuItem[]>

export const MENU: MenuItems = {
en: [
{
text: "Getting Started",
link: "/en/getting-started/overview",
section: "gettingStarted",
},
{ text: "Developers", link: "/en/developers", section: "developers" },
{ text: "Technology", link: "/en/technology", section: "technology" },
{ text: "Learn", link: "/en/learn", section: "learn" },
{ text: "SDK", link: "/en/sdk", section: "sdk" },
{ text: "Community", link: "/en/community/faq", section: "community" },
],
zh: [
{
text: "入门",
link: "/zh/getting-started/overview",
section: "gettingStarted",
},
{ text: "开发者", link: "/zh/developers", section: "developers" },
{ text: "技术", link: "/zh/technology", section: "technology" },
{ text: "学习", link: "/zh/learn", section: "learn" },
],
es: [
{
text: "¿Cómo empezar?",
link: "/es/getting-started/overview",
section: "gettingStarted",
},
{ text: "Desarrolladores", link: "/es/developers", section: "developers" },
{ text: "Tecnología", link: "/es/technology", section: "technology" },
{ text: "Aprende", link: "/es/learn", section: "learn" },
],
tr: [
{
text: "Başla",
link: "/tr/getting-started/overview",
section: "gettingStarted",
},
{ text: "Geliştiriciler", link: "/tr/developers", section: "developers" },
{ text: "Teknoloji", link: "/tr/technology", section: "technology" },
{ text: "Öğren", link: "/tr/learn", section: "learn" },
],
}
Loading