From d9cf6537a2f6db87f3f9fb0d406745070fb770d1 Mon Sep 17 00:00:00 2001 From: Tsotne Nazarashvili Date: Sat, 15 Apr 2023 02:15:34 +0400 Subject: [PATCH] Update CMS and Crowdin integration with optimized workflows and refactored project structure --- .github/workflows/algolia-index.yml | 33 - .github/workflows/algolia.yml | 49 + .github/workflows/build.yml | 46 + .github/workflows/crowdin.yml | 68 +- .github/workflows/netlify-cms-auth.yml | 48 + .github/workflows/netlify-cms.yml | 55 + .github/workflows/pr-dev-to-production.yml | 2 + .gitignore | 9 +- README.md | 72 +- .../{en => }/community-and-events.yml | 0 _data/categories/{en => }/community-calls.yml | 0 _data/categories/{en => }/ecosystem.yml | 0 _data/categories/{en => }/engineering.yml | 0 _data/categories/{en => }/foundation.yml | 0 _data/categories/{en => }/governance.yml | 0 _data/categories/{en => }/stark-math.yml | 0 _data/categories/{en => }/stark-struck.yml | 0 _data/events/{en => }/btc-prague.yml | 0 _data/events/{en => }/buidl-asia-2023.yml | 0 .../{en => }/cairo-1-and-starknet-roadmap.yml | 0 .../{en => }/club3-meetup-zk-rollups.yml | 0 .../events/{en => }/consensus-by-coindesk.yml | 0 _data/events/{en => }/cscml-2023.yml | 0 .../{en => }/duke-blockchain-conference.yml | 0 _data/events/{en => }/eth-austin.yml | 0 .../ethcc-ethereum-community-conference.yml | 0 _data/events/{en => }/ethprague.yml | 0 _data/events/{en => }/hacksummit.yml | 0 _data/events/{en => }/hbc2023.yml | 0 _data/events/{en => }/mit-bitcoin-expo.yml | 0 .../{en => }/paris-blockchain-week-summit.yml | 0 .../{en => }/prague-blockchain-week.yml | 0 .../{en => }/prague-defi-summit-2023.yml | 0 .../{en => }/starknet-asia-tokyo-workshop.yml | 0 .../{en => }/starknet-meetup-beijing.yml | 0 .../{en => }/starknet-meetup-zurich.yml | 0 _data/events/{en => }/starknet-prague-1.yml | 0 .../{en => }/starkware-sessions-2023.yml | 0 .../events/{en => }/talks-about-starknet.yml | 0 ...oshi-mystery-at-the-origins-of-bitcoin.yml | 0 _data/i18n/config.json | 226 - _data/i18n/intl/af.json | 3 - _data/i18n/intl/ar.json | 3 - _data/i18n/intl/ca.json | 3 - _data/i18n/intl/cs.json | 3 - _data/i18n/intl/da.json | 3 - _data/i18n/intl/de.json | 3 - _data/i18n/intl/el.json | 3 - _data/i18n/intl/en.json | 3 - _data/i18n/intl/es.json | 3 - _data/i18n/intl/fi.json | 3 - _data/i18n/intl/fr.json | 3 - _data/i18n/intl/he.json | 3 - _data/i18n/intl/hu.json | 3 - _data/i18n/intl/it.json | 3 - _data/i18n/intl/ja.json | 3 - _data/i18n/intl/ko.json | 3 - _data/i18n/intl/nl.json | 3 - _data/i18n/intl/no.json | 3 - _data/i18n/intl/pl.json | 3 - _data/i18n/intl/pt.json | 3 - _data/i18n/intl/ro.json | 3 - _data/i18n/intl/ru.json | 3 - _data/i18n/intl/sr.json | 3 - _data/i18n/intl/sv.json | 3 - _data/i18n/intl/tr.json | 3 - _data/i18n/intl/uk.json | 3 - _data/i18n/intl/vi.json | 3 - _data/i18n/intl/zh.json | 3 - .../69447136-1854-49d5-8808-5dddb902f94f.yml | 0 .../7027c387-6558-475e-97e6-6631442a2bd1.yml | 0 _data/jobs/{en => }/job1.yml | 0 _data/jobs/{en => }/job2.yml | 0 _data/pages/{en => }/block-explorers.yml | 0 _data/pages/{en => }/bridges-and-on-ramps.yml | 0 _data/pages/{en => }/community.yml | 0 _data/pages/{en => }/dapps.yml | 0 _data/pages/{en => }/developers.yml | 0 _data/pages/{en => }/disclaimers.yml | 0 _data/pages/{en => }/ecosystem.yml | 0 .../{en => }/frequently-asked-questions.yml | 0 _data/pages/{en => }/glossary.yml | 0 _data/pages/{en => }/governance.yml | 0 _data/pages/{en => }/home.yml | 0 _data/pages/{en => }/language-resources.yml | 0 _data/pages/{en => }/language-support.yml | 0 _data/pages/{en => }/learn.yml | 0 _data/pages/{en => }/online-communities.yml | 0 _data/pages/{en => }/resources-and-tools.yml | 0 _data/pages/{en => }/test-media-kit.yml | 0 _data/pages/{en => }/wallets.yml | 0 _data/pages/{en => }/what-is-starknet.yml | 0 ...ering-herd-the-rise-of-l2-native-dapps.yml | 0 ...airo-1-0-alpha-2-new-release-is-coming.yml | 0 _data/posts/{en => }/cairo-1-0-is-here.yml | 0 _data/posts/{en => }/cairo-1-0.yml | 0 _data/posts/{en => }/community-call-1.yml | 0 ...apps-on-starknet-with-francesco-ceccon.yml | 0 ...me-guiltygyoza-presenting-solve-2-mint.yml | 0 ...ity-call-12-starknets-decentralization.yml | 0 ...sion-updates-and-educational-resources.yml | 0 ...munity-call-15-presentation-by-braavos.yml | 0 ...sing-starknet-and-snapshot-partnership.yml | 0 ...munity-call-17-talking-about-recursion.yml | 0 ...-nethermind-presenting-warp-transpiler.yml | 0 ...irko-from-equilibrium-about-full-nodes.yml | 0 ...in-data-availability-volition-and-more.yml | 0 ...ron-hayman-is-hosting-jane-from-zklend.yml | 0 ...multi-sigs-on-starknet-roadmap-updates.yml | 0 ...ntation-by-frens-lands-roadmap-updates.yml | 0 ...nity-call-24-presentation-by-cartridge.yml | 0 ...all-25-upcoming-versions-and-regenesis.yml | 0 ...a-truffle-and-diligence-with-consensys.yml | 0 ...-presentation-of-carbonable-starksheet.yml | 0 ...ty-call-28-presentation-by-summary-dev.yml | 0 .../community-call-29-community-update.yml | 0 ...all-30-introducing-starknet-governance.yml | 0 ...all-31-the-new-starknet-rust-sequencer.yml | 0 ...y-call-32-starknet-v0-11-and-cairo-1-0.yml | 0 ...and-bridging-and-messaging-on-starknet.yml | 0 ...1-wrap-up-fee-mechanism-alpha-versions.yml | 0 ...call-6-presenting-zorro-starknet-alpha.yml | 0 ...ermind-and-updates-on-starknet-roadmap.yml | 0 _data/posts/{en => }/community-call-8.yml | 0 _data/posts/{en => }/community-call-9.yml | 0 .../crypto-gurkha-walk-the-talk-szn2-ep-3.yml | 0 .../crypto-gurkha-walk-the-talk-szn2-ep-4.yml | 0 ...cision-making-nathan-heyden-avihu-levy.yml | 0 ...llup-future-eli-ben-sasson-uri-kolodny.yml | 0 ...with-tom-brand-about-starknet-and-more.yml | 0 .../ethcc-5-stark-recursion-avihu-levy.yml | 0 ...c-5-starknet-next-steps-eli-ben-sasson.yml | 0 .../ethprague-stark-recursion-avihu-levy.yml | 0 ...starknetisrevolutionizingcryptosigning.yml | 0 ...erience-for-mainstream-crypto-adoption.yml | 0 .../introducing-the-starknet-foundation.yml | 0 ...missionless-stark-powered-l2-zk-rollup.yml | 0 .../{en => }/open-sourcing-cairo-1-0.yml | 0 .../open-sourcing-the-starknet-prover.yml | 0 ...yrus-an-open-source-starknet-full-node.yml | 0 ...overeignty-a-decentralization-proposal.yml | 0 ...n-and-governance-proposal-for-starknet.yml | 0 .../{en => }/part-3-starknet-token-design.yml | 0 _data/posts/{en => }/recursive-starks.yml | 0 .../posts/{en => }/redefining-scalability.yml | 0 ...ium-volition-where-is-your-data-stored.yml | 0 ...-2022-unleashing-the-power-of-l2-dapps.yml | 0 ...me-10-zero-knowledge-the-known-unknown.yml | 0 ...-11-preserving-mathematical-distancing.yml | 0 .../{en => }/stark-home-12-how-2-l2-stark.yml | 0 ...stark-home-13-dark-forest-escape-route.yml | 0 ...ark-home-14-one-stark-to-rule-them-all.yml | 0 ...king-proofs-via-cryptographic-sampling.yml | 0 .../stark-home-16-recursive-starks.yml | 0 ...-home-17-the-value-of-errors-in-proofs.yml | 0 ...-epsilon-capital-efficiency-on-l2-defi.yml | 0 .../stark-home-19-computational-integrity.yml | 0 ...furious-fourier-transforms-pcps-starks.yml | 0 ...an-a-picture-is-worth-a-thousand-words.yml | 0 ...ome-21-starknet-planets-the-game-is-on.yml | 0 .../stark-home-22-cairo-whitepaper-redux.yml | 0 .../stark-home-23-in-mathematics-we-trust.yml | 0 ...fireside-chat-with-professor-dan-boneh.yml | 0 ...me-25-warp-away-from-solidity-to-cairo.yml | 0 ...e-amazing-untold-invention-story-of-zk.yml | 0 .../stark-home-27-recursing-on-recursion.yml | 0 .../stark-home-28-unlocking-the-magic.yml | 0 ...polynomials-used-in-succinct-zk-proofs.yml | 0 .../{en => }/stark-home-30-why-cairo-1-0.yml | 0 ...-hot-air-programming-for-succinct-zkps.yml | 0 .../stark-home-5-the-sounds-of-soundness.yml | 0 .../{en => }/stark-home-6-deep-fri-dive.yml | 0 ...he-cambrian-explosion-of-crypto-proofs.yml | 0 .../stark-home-8-time-warping-starks.yml | 0 ...n-source-stark-fastest-prover-included.yml | 0 _data/posts/{en => }/stark-spaces-apexpro.yml | 0 .../posts/{en => }/stark-spaces-safe-cex.yml | 0 .../stark-spaces-starknet-regenesis.yml | 0 ...tark-struck-podcast-ep-1-guiltygyoza-1.yml | 0 .../stark-struck-podcast-ep-1-guiltygyoza.yml | 0 ...-podcast-ep-10-tarrence-from-cartridge.yml | 0 .../stark-struck-podcast-ep-3-jag-1.yml | 0 .../stark-struck-podcast-ep-3-jag.yml | 0 ...ruck-podcast-ep-5-sean-han-from-aspect.yml | 0 ...-podcast-ep-6-julien-niset-from-argent.yml | 0 ...odcast-ep-7-brian-and-jane-from-zklend.yml | 0 ...st-ep-8-marcello-bardus-from-herodotus.yml | 0 ...odcast-ep-9-scott-piriou-from-snapshot.yml | 0 ...eutaud-with-scott-piriou-from-snapshot.yml | 0 _data/posts/{en => }/starkgate-alpha.yml | 0 ...rknet-alpha-0-10-0-released-to-mainnet.yml | 0 .../posts/{en => }/starknet-alpha-0-10-0.yml | 0 _data/posts/{en => }/starknet-alpha-0-7-0.yml | 0 _data/posts/{en => }/starknet-alpha-0-8-0.yml | 0 _data/posts/{en => }/starknet-alpha-0-9-0.yml | 0 _data/posts/{en => }/starknet-alpha-1.yml | 0 _data/posts/{en => }/starknet-alpha-2.yml | 0 .../{en => }/starknet-alpha-4-release.yml | 0 .../starknet-alpha-is-coming-to-mainnet.yml | 0 .../starknet-alpha-now-on-mainnet.yml | 0 ...1-0-the-transition-to-cairo-1-0-begins.yml | 0 ...ntation-by-braavos-and-roadmap-updates.yml | 0 ...all-33-papyrus-starknets-new-full-node.yml | 0 ...community-call-34-presenting-hashstack.yml | 0 ...call-35-sharp-the-backbone-of-starknet.yml | 0 ...6-a-foretaste-of-protostar-with-cairo1.yml | 0 ...mmunity-call-37-starknet-alpha-v0-11-0.yml | 0 ...unity-call-38-starknet-roadmap-updates.yml | 0 ...tralized-and-permissionless-zk-rollups.yml | 0 .../starknet-house-weekly-session-0.yml | 0 .../starknet-house-weekly-session-1.yml | 0 .../starknet-house-weekly-session-2.yml | 0 .../starknet-on-to-the-next-challenge.yml | 0 .../{en => }/starknet-performance-roadmap.yml | 0 .../starknet-planets-alpha-on-testnet.yml | 0 .../{en => }/starknet-regenesis-the-plan.yml | 0 ...starknet-token-is-deployed-on-ethereum.yml | 0 ...-folk-history-of-starknet-sylve-chevet.yml | 0 .../starknets-governance-first-phase.yml | 0 .../{en => }/starknets-new-sequencer.yml | 0 .../{en => }/starks-starkex-and-starknet.yml | 0 ...022-vietnams-first-starknet-conference.yml | 0 ...ben-sasson-and-uri-kolodny-at-bankless.yml | 0 ...help-scale-ethereum-real-vision-crypto.yml | 0 ...per-scaling-with-starkware-at-bankless.yml | 0 ...this-is-the-future-of-ethereum-scaling.yml | 0 ...tarknet-foundation-meet-the-committees.yml | 0 ...-building-a-vibrant-ecosystem-of-dapps.yml | 0 ...pt-1-kakarot-a-zk-evm-written-in-cairo.yml | 0 ...pt-2-kakarot-a-zk-evm-written-in-cairo.yml | 0 ...lcome-to-the-world-starknet-foundation.yml | 0 .../why-is-visa-excited-about-starknet.yml | 0 ...asson-on-blockchains-and-scalable-zkps.yml | 0 _data/settings/{en => }/alert.yml | 0 _data/settings/{en => }/block-explorers.yml | 0 _data/settings/{en => }/bridges.yml | 0 _data/settings/{en => }/dapps.yml | 0 _data/settings/{en => }/fiat-on-ramps.yml | 0 _data/settings/{en => }/main-menu.yml | 0 _data/settings/{en => }/redirects.yml | 0 _data/settings/{en => }/wallets.yml | 0 _data/topics/{en => }/account-abstraction.yml | 0 _data/topics/{en => }/alpha.yml | 0 _data/topics/{en => }/blockchain.yml | 0 _data/topics/{en => }/cairo.yml | 0 _data/topics/{en => }/composability.yml | 0 _data/topics/{en => }/contracts.yml | 0 _data/topics/{en => }/cryptography.yml | 0 _data/topics/{en => }/dapps.yml | 0 _data/topics/{en => }/data-availability.yml | 0 _data/topics/{en => }/decentralization.yml | 0 _data/topics/{en => }/defi.yml | 0 _data/topics/{en => }/ethereum.yml | 0 _data/topics/{en => }/events.yml | 0 _data/topics/{en => }/fullnode.yml | 0 _data/topics/{en => }/getting-started.yml | 0 _data/topics/{en => }/governance.yml | 0 _data/topics/{en => }/layer-2.yml | 0 _data/topics/{en => }/opensource.yml | 0 _data/topics/{en => }/prover.yml | 0 _data/topics/{en => }/recursive-starks.yml | 0 _data/topics/{en => }/rust.yml | 0 _data/topics/{en => }/scalability.yml | 0 _data/topics/{en => }/security.yml | 0 _data/topics/{en => }/sequencing.yml | 0 _data/topics/{en => }/starkex.yml | 0 _data/topics/{en => }/starknet-foundation.yml | 0 _data/topics/{en => }/starknet.yml | 0 _data/topics/{en => }/starkware.yml | 0 _data/topics/{en => }/token.yml | 0 _data/topics/{en => }/validium.yml | 0 _data/topics/{en => }/volition.yml | 0 _data/topics/{en => }/zk-proofs.yml | 0 _data/topics/{en => }/zk-rollups.yml | 0 _data/tutorials/{en => }/01encode01.yml | 0 _data/tutorials/{en => }/01encode02.yml | 0 _data/tutorials/{en => }/01encode03.yml | 0 _data/tutorials/{en => }/01encode04.yml | 0 _data/tutorials/{en => }/01encode05.yml | 0 _data/tutorials/{en => }/01encode06.yml | 0 _data/tutorials/{en => }/01encode07.yml | 0 _data/tutorials/{en => }/01encode08.yml | 0 _data/tutorials/{en => }/01encode09.yml | 0 _data/tutorials/{en => }/01encode10.yml | 0 _data/tutorials/{en => }/01encode11.yml | 0 _data/tutorials/{en => }/01encode12.yml | 0 _data/tutorials/{en => }/01encode14.yml | 0 _data/tutorials/{en => }/01encode15.yml | 0 _data/tutorials/{en => }/01encode16.yml | 0 _data/tutorials/{en => }/02encode01.yml | 0 _data/tutorials/{en => }/02encode03.yml | 0 _data/tutorials/{en => }/02encode04.yml | 0 _data/tutorials/{en => }/02encode05.yml | 0 _data/tutorials/{en => }/0byte01.yml | 0 _data/tutorials/{en => }/0byte02.yml | 0 _data/tutorials/{en => }/0byte03.yml | 0 _data/tutorials/{en => }/0byte04.yml | 0 _data/tutorials/{en => }/0byte05.yml | 0 _data/tutorials/{en => }/0byte06.yml | 0 _data/tutorials/{en => }/0byte07.yml | 0 _data/tutorials/{en => }/0byte08.yml | 0 _data/tutorials/{en => }/0cairo001.yml | 0 _data/tutorials/{en => }/0cairo002.yml | 0 _data/tutorials/{en => }/0cairo003.yml | 0 _data/tutorials/{en => }/0cairo004.yml | 0 _data/tutorials/{en => }/0cairo005.yml | 0 _data/tutorials/{en => }/0cairo01.yml | 0 _data/tutorials/{en => }/0cairows01.yml | 0 _data/tutorials/{en => }/0cairows02.yml | 0 _data/tutorials/{en => }/0cairows03.yml | 0 _data/tutorials/{en => }/0cairows04.yml | 0 _data/tutorials/{en => }/0cairows05.yml | 0 _data/tutorials/{en => }/0cairows06.yml | 0 _data/tutorials/{en => }/0cairows07.yml | 0 _data/tutorials/{en => }/0cairows08.yml | 0 _data/tutorials/{en => }/0cairows09.yml | 0 _data/tutorials/{en => }/0cairows10.yml | 0 _data/tutorials/{en => }/0cairows11.yml | 0 _data/tutorials/{en => }/0snedu01-medium.yml | 0 _data/tutorials/{en => }/0snedu01.yml | 0 _data/tutorials/{en => }/0snedu02.yml | 0 _data/tutorials/{en => }/0snedu03.yml | 0 _data/tutorials/{en => }/0snedu04.yml | 0 _data/tutorials/{en => }/0snedu05.yml | 0 _data/tutorials/{en => }/0snedu06.yml | 0 _data/tutorials/{en => }/0snedu07.yml | 0 _data/tutorials/{en => }/0snedu08.yml | 0 _data/tutorials/{en => }/0snedu09.yml | 0 .../b7cb9a4a-e51b-41d8-a04e-a67eaee97c66.yml | 0 crowdin.yml | 41 +- env.d.ts | 3 - netlify.toml | 9 - next.config.mjs | 8 +- package.json | 105 +- src/app/(static-cms)/(auth)/auth/route.ts | 27 - src/app/(static-cms)/(auth)/callback/route.ts | 87 - src/app/(static-cms)/(auth)/config.ts | 21 - .../(static-cms)/cms/(components)/CMSPage.tsx | 68 - src/app/(static-cms)/cms/config.ts | 1528 -- src/app/(static-cms)/cms/page.tsx | 26 - src/app/(static-cms)/cms/widgets/uuid.tsx | 76 - src/app/(static-cms)/cms/widgets/youtube.tsx | 158 - .../(components)/ClientLocaleProvider.tsx | 4 +- src/app/[locale]/(components)/Footer.tsx | 4 +- .../[locale]/(components)/LocaleSwitcher.tsx | 10 +- src/app/[locale]/(components)/MainSearch.tsx | 4 +- src/app/[locale]/(components)/Navbar.tsx | 2 +- .../[locale]/(components)/PageContainer.tsx | 6 +- .../PageContentContainerNoSidebar.tsx | 1 - src/app/[locale]/(components)/SubNavBlog.tsx | 2 +- .../[locale]/(components)/TableOfContents.tsx | 2 +- src/app/[locale]/[...slug]/page.tsx | 8 +- .../events/(components)/EventsPage.tsx | 6 +- src/app/[locale]/events/past/page.tsx | 7 - src/app/[locale]/layout.tsx | 8 +- .../[locale]/posts/(components)/PostsPage.tsx | 4 +- .../[locale]/posts/[category]/[slug]/page.tsx | 10 +- src/app/[locale]/posts/[category]/page.tsx | 6 +- src/app/[locale]/posts/page.tsx | 4 +- src/blocks/AccordionBlock.tsx | 2 +- src/blocks/Block.tsx | 3 +- src/blocks/BlockCards.tsx | 18 +- src/blocks/BlockGrouping.tsx | 3 +- src/blocks/MarkdownBlock.tsx | 2 +- src/blocks/OrderedBlock.tsx | 2 +- src/blocks/cards/BasicCard.tsx | 5 +- src/blocks/cards/CardLink.tsx | 4 +- src/blocks/cards/CommunityCard.tsx | 2 +- src/blocks/cards/IconLinkCard.tsx | 6 +- src/blocks/cards/ImageIconCard.tsx | 6 +- src/blocks/cards/LargeCard.tsx | 4 +- src/blocks/cards/StatCard.tsx | 5 +- .../BlockBlockExplorers.tsx | 2 +- .../dataBlocks/BlockBridges/BlockBridges.tsx | 2 +- .../dataBlocks/BlockDapps/BlockDapps.tsx | 2 +- .../dataBlocks/BlockOnRamps/BlockOnRamps.tsx | 2 +- .../dataBlocks/BlockWallets/BlockWallets.tsx | 2 +- src/components/Accordion/Accordion.tsx | 2 +- src/components/Alert/Alert.tsx | 3 +- src/components/ArticleCard/ArticleCard.tsx | 3 +- .../ArticleCard/FeaturedArticleCard.tsx | 4 - src/components/Badge/Badge.stories.tsx | 3 +- src/components/Card/Card.tsx | 3 +- src/components/Card/GridCard.tsx | 7 - src/components/ColumnLink/ColumnLink.tsx | 7 +- src/components/Footer/Footer.tsx | 1 - .../IconButton/IconButton.stories.tsx | 6 +- src/components/IconButton/IconButton.tsx | 8 +- .../Navbar/LanguageSwitcherDropdown.tsx | 2 - .../Layout/Navbar/MenuItemWithDropdown.tsx | 4 - src/components/LinkList/LinkList.tsx | 5 +- src/components/ListCards/EventCard.tsx | 2 - src/components/ListCards/JobCard.tsx | 2 - src/components/ListCards/ListCard.tsx | 7 +- src/components/Stat/Stat.tsx | 2 - src/components/SubNav/SubNav.tsx | 1 - src/components/Tag/TagStyles.ts | 2 +- src/data/categories.ts | 23 - src/data/dapps.ts | 23 - src/data/fiat-on-ramps.ts | 26 - src/data/i18n/config.ts | 16 - src/data/settings/alert.ts | 24 - src/data/topics.ts | 20 - src/data/utils.ts | 43 - src/pages/api/youtube.ts | 6 +- src/utils/utils.ts | 13 +- tsconfig.json | 70 +- tsconfig.node.json | 14 +- tsconfig.options.json | 27 + tsconfig.projects.json | 11 + vitest.config.ts | 1 - workspaces/cms-config/package.json | 12 + workspaces/cms-config/src/blocks.ts | 522 + .../cms-config/src/collections/categories.ts | 25 + .../cms-config/src/collections/events.ts | 111 + .../cms-config/src/collections/index.ts | 20 + workspaces/cms-config/src/collections/jobs.ts | 155 + .../cms-config/src/collections/pages.ts | 60 + .../cms-config/src/collections/posts.ts | 97 + .../cms-config/src/collections/settings.ts | 365 + .../cms-config/src/collections/topics.ts | 25 + .../cms-config/src/collections/tutorials.ts | 122 + workspaces/cms-config/src/main.ts | 19 + workspaces/cms-config/tsconfig.json | 7 + workspaces/cms-data/package.json | 13 + .../cms-data/src}/block-explorers.ts | 19 +- .../cms-data/src}/bridges.ts | 19 +- workspaces/cms-data/src/categories.ts | 36 + workspaces/cms-data/src/dapps.ts | 36 + .../cms-data/src}/events.ts | 19 +- workspaces/cms-data/src/fiat-on-ramps.ts | 39 + workspaces/cms-data/src/i18n/config.ts | 240 + .../cms-data/src}/i18n/intl.ts | 15 +- .../data => workspaces/cms-data/src}/pages.ts | 30 +- .../data => workspaces/cms-data/src}/posts.ts | 34 +- workspaces/cms-data/src/settings/alert.ts | 37 + .../cms-data/src}/settings/main-menu.ts | 23 +- workspaces/cms-data/src/topics.ts | 33 + .../cms-data/src}/wallets.ts | 19 +- workspaces/cms-data/tsconfig.json | 9 + .../package.json | 11 +- .../src/algolia.ts | 0 workspaces/cms-scripts/src/crowdin.ts | 250 + .../src/data.ts | 151 +- .../src/git.ts | 0 .../src/index.ts | 40 +- .../src/main-menu.ts | 0 workspaces/cms-scripts/src/pre-crowdin.ts | 76 + workspaces/cms-scripts/src/utils.ts | 38 + workspaces/cms-scripts/tsconfig.json | 8 + workspaces/cms-utils/package.json | 12 + workspaces/cms-utils/src/index.ts | 52 + workspaces/cms-utils/tsconfig.json | 7 + workspaces/content-onedge/.gitignore | 1 - workspaces/content-onedge/netlify.toml | 3 - workspaces/content-onedge/src/locales.ts | 15 - workspaces/content-onedge/src/pre-crowdin.ts | 50 - workspaces/content-onedge/src/utils.ts | 56 - workspaces/netlify-cms-auth/package.json | 20 + workspaces/netlify-cms-auth/src/auth.ts | 16 + workspaces/netlify-cms-auth/src/callback.ts | 82 + workspaces/netlify-cms-auth/src/env.ts | 4 + workspaces/netlify-cms-auth/src/index.test.ts | 25 + workspaces/netlify-cms-auth/src/index.ts | 26 + .../netlify-cms-auth/test/setup-test-env.ts | 0 workspaces/netlify-cms-auth/tsconfig.json | 20 + workspaces/netlify-cms-auth/wrangler.toml | 3 + workspaces/netlify-cms-widgets/package.json | 15 + .../src}/uuid.tsx | 2 +- .../src}/youtube.tsx | 26 +- workspaces/netlify-cms-widgets/tsconfig.json | 11 + workspaces/netlify-cms/.gitignore | 1 - workspaces/netlify-cms/index.html | 13 + workspaces/netlify-cms/netlify.toml | 3 - workspaces/netlify-cms/package.json | 31 +- workspaces/netlify-cms/public/vite.svg | 1 + workspaces/netlify-cms/src/App.tsx | 35 + workspaces/netlify-cms/src/cms.tsx | 18 - workspaces/netlify-cms/src/config.ts | 1442 -- workspaces/netlify-cms/src/index.css | 11 + workspaces/netlify-cms/src/index.html | 11 - workspaces/netlify-cms/src/main.tsx | 5 + workspaces/netlify-cms/src/styles.ts | 24 - workspaces/netlify-cms/src/vite-env.d.ts | 1 + workspaces/netlify-cms/tsconfig.json | 15 + workspaces/netlify-cms/tsconfig.node.json | 7 + workspaces/netlify-cms/vite.config.ts | 10 + yarn.lock | 19803 +++++----------- 488 files changed, 9304 insertions(+), 18708 deletions(-) delete mode 100644 .github/workflows/algolia-index.yml create mode 100644 .github/workflows/algolia.yml create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/netlify-cms-auth.yml create mode 100644 .github/workflows/netlify-cms.yml rename _data/categories/{en => }/community-and-events.yml (100%) rename _data/categories/{en => }/community-calls.yml (100%) rename _data/categories/{en => }/ecosystem.yml (100%) rename _data/categories/{en => }/engineering.yml (100%) rename _data/categories/{en => }/foundation.yml (100%) rename _data/categories/{en => }/governance.yml (100%) rename _data/categories/{en => }/stark-math.yml (100%) rename _data/categories/{en => }/stark-struck.yml (100%) rename _data/events/{en => }/btc-prague.yml (100%) rename _data/events/{en => }/buidl-asia-2023.yml (100%) rename _data/events/{en => }/cairo-1-and-starknet-roadmap.yml (100%) rename _data/events/{en => }/club3-meetup-zk-rollups.yml (100%) rename _data/events/{en => }/consensus-by-coindesk.yml (100%) rename _data/events/{en => }/cscml-2023.yml (100%) rename _data/events/{en => }/duke-blockchain-conference.yml (100%) rename _data/events/{en => }/eth-austin.yml (100%) rename _data/events/{en => }/ethcc-ethereum-community-conference.yml (100%) rename _data/events/{en => }/ethprague.yml (100%) rename _data/events/{en => }/hacksummit.yml (100%) rename _data/events/{en => }/hbc2023.yml (100%) rename _data/events/{en => }/mit-bitcoin-expo.yml (100%) rename _data/events/{en => }/paris-blockchain-week-summit.yml (100%) rename _data/events/{en => }/prague-blockchain-week.yml (100%) rename _data/events/{en => }/prague-defi-summit-2023.yml (100%) rename _data/events/{en => }/starknet-asia-tokyo-workshop.yml (100%) rename _data/events/{en => }/starknet-meetup-beijing.yml (100%) rename _data/events/{en => }/starknet-meetup-zurich.yml (100%) rename _data/events/{en => }/starknet-prague-1.yml (100%) rename _data/events/{en => }/starkware-sessions-2023.yml (100%) rename _data/events/{en => }/talks-about-starknet.yml (100%) rename _data/events/{en => }/the-satoshi-mystery-at-the-origins-of-bitcoin.yml (100%) delete mode 100644 _data/i18n/config.json delete mode 100644 _data/i18n/intl/af.json delete mode 100644 _data/i18n/intl/ar.json delete mode 100644 _data/i18n/intl/ca.json delete mode 100644 _data/i18n/intl/cs.json delete mode 100644 _data/i18n/intl/da.json delete mode 100644 _data/i18n/intl/de.json delete mode 100644 _data/i18n/intl/el.json delete mode 100644 _data/i18n/intl/en.json delete mode 100644 _data/i18n/intl/es.json delete mode 100644 _data/i18n/intl/fi.json delete mode 100644 _data/i18n/intl/fr.json delete mode 100644 _data/i18n/intl/he.json delete mode 100644 _data/i18n/intl/hu.json delete mode 100644 _data/i18n/intl/it.json delete mode 100644 _data/i18n/intl/ja.json delete mode 100644 _data/i18n/intl/ko.json delete mode 100644 _data/i18n/intl/nl.json delete mode 100644 _data/i18n/intl/no.json delete mode 100644 _data/i18n/intl/pl.json delete mode 100644 _data/i18n/intl/pt.json delete mode 100644 _data/i18n/intl/ro.json delete mode 100644 _data/i18n/intl/ru.json delete mode 100644 _data/i18n/intl/sr.json delete mode 100644 _data/i18n/intl/sv.json delete mode 100644 _data/i18n/intl/tr.json delete mode 100644 _data/i18n/intl/uk.json delete mode 100644 _data/i18n/intl/vi.json delete mode 100644 _data/i18n/intl/zh.json rename _data/jobs/{en => }/69447136-1854-49d5-8808-5dddb902f94f.yml (100%) rename _data/jobs/{en => }/7027c387-6558-475e-97e6-6631442a2bd1.yml (100%) rename _data/jobs/{en => }/job1.yml (100%) rename _data/jobs/{en => }/job2.yml (100%) rename _data/pages/{en => }/block-explorers.yml (100%) rename _data/pages/{en => }/bridges-and-on-ramps.yml (100%) rename _data/pages/{en => }/community.yml (100%) rename _data/pages/{en => }/dapps.yml (100%) rename _data/pages/{en => }/developers.yml (100%) rename _data/pages/{en => }/disclaimers.yml (100%) rename _data/pages/{en => }/ecosystem.yml (100%) rename _data/pages/{en => }/frequently-asked-questions.yml (100%) rename _data/pages/{en => }/glossary.yml (100%) rename _data/pages/{en => }/governance.yml (100%) rename _data/pages/{en => }/home.yml (100%) rename _data/pages/{en => }/language-resources.yml (100%) rename _data/pages/{en => }/language-support.yml (100%) rename _data/pages/{en => }/learn.yml (100%) rename _data/pages/{en => }/online-communities.yml (100%) rename _data/pages/{en => }/resources-and-tools.yml (100%) rename _data/pages/{en => }/test-media-kit.yml (100%) rename _data/pages/{en => }/wallets.yml (100%) rename _data/pages/{en => }/what-is-starknet.yml (100%) rename _data/posts/{en => }/a-thundering-herd-the-rise-of-l2-native-dapps.yml (100%) rename _data/posts/{en => }/cairo-1-0-alpha-2-new-release-is-coming.yml (100%) rename _data/posts/{en => }/cairo-1-0-is-here.yml (100%) rename _data/posts/{en => }/cairo-1-0.yml (100%) rename _data/posts/{en => }/community-call-1.yml (100%) rename _data/posts/{en => }/community-call-10-building-react-apps-on-starknet-with-francesco-ceccon.yml (100%) rename _data/posts/{en => }/community-call-11-presenting-matchboxdao-ogame-guiltygyoza-presenting-solve-2-mint.yml (100%) rename _data/posts/{en => }/community-call-12-starknets-decentralization.yml (100%) rename _data/posts/{en => }/community-call-13-version-updates-and-educational-resources.yml (100%) rename _data/posts/{en => }/community-call-15-presentation-by-braavos.yml (100%) rename _data/posts/{en => }/community-call-16-discussing-starknet-and-snapshot-partnership.yml (100%) rename _data/posts/{en => }/community-call-17-talking-about-recursion.yml (100%) rename _data/posts/{en => }/community-call-18-nethermind-presenting-warp-transpiler.yml (100%) rename _data/posts/{en => }/community-call-19-talking-with-mirko-from-equilibrium-about-full-nodes.yml (100%) rename _data/posts/{en => }/community-call-2-shard-labs-hardhat-plugin-data-availability-volition-and-more.yml (100%) rename _data/posts/{en => }/community-call-20-liron-hayman-is-hosting-jane-from-zklend.yml (100%) rename _data/posts/{en => }/community-call-21-multi-sigs-on-starknet-roadmap-updates.yml (100%) rename _data/posts/{en => }/community-call-22-presentation-by-frens-lands-roadmap-updates.yml (100%) rename _data/posts/{en => }/community-call-24-presentation-by-cartridge.yml (100%) rename _data/posts/{en => }/community-call-25-upcoming-versions-and-regenesis.yml (100%) rename _data/posts/{en => }/community-call-26-metamask-infura-truffle-and-diligence-with-consensys.yml (100%) rename _data/posts/{en => }/community-call-27-presentation-of-carbonable-starksheet.yml (100%) rename _data/posts/{en => }/community-call-28-presentation-by-summary-dev.yml (100%) rename _data/posts/{en => }/community-call-29-community-update.yml (100%) rename _data/posts/{en => }/community-call-30-introducing-starknet-governance.yml (100%) rename _data/posts/{en => }/community-call-31-the-new-starknet-rust-sequencer.yml (100%) rename _data/posts/{en => }/community-call-32-starknet-v0-11-and-cairo-1-0.yml (100%) rename _data/posts/{en => }/community-call-4-argent-x-presentation-and-bridging-and-messaging-on-starknet.yml (100%) rename _data/posts/{en => }/community-call-5-2021-wrap-up-fee-mechanism-alpha-versions.yml (100%) rename _data/posts/{en => }/community-call-6-presenting-zorro-starknet-alpha.yml (100%) rename _data/posts/{en => }/community-call-7-greg-from-nethermind-and-updates-on-starknet-roadmap.yml (100%) rename _data/posts/{en => }/community-call-8.yml (100%) rename _data/posts/{en => }/community-call-9.yml (100%) rename _data/posts/{en => }/crypto-gurkha-walk-the-talk-szn2-ep-3.yml (100%) rename _data/posts/{en => }/crypto-gurkha-walk-the-talk-szn2-ep-4.yml (100%) rename _data/posts/{en => }/decentralizing-decision-making-nathan-heyden-avihu-levy.yml (100%) rename _data/posts/{en => }/empire-podcast-starkware-l3s-and-the-zk-rollup-future-eli-ben-sasson-uri-kolodny.yml (100%) rename _data/posts/{en => }/encode-ama-with-tom-brand-about-starknet-and-more.yml (100%) rename _data/posts/{en => }/ethcc-5-stark-recursion-avihu-levy.yml (100%) rename _data/posts/{en => }/ethcc-5-starknet-next-steps-eli-ben-sasson.yml (100%) rename _data/posts/{en => }/ethprague-stark-recursion-avihu-levy.yml (100%) rename _data/posts/{en => }/howstarknetisrevolutionizingcryptosigning.yml (100%) rename _data/posts/{en => }/improving-security-and-user-experience-for-mainstream-crypto-adoption.yml (100%) rename _data/posts/{en => }/introducing-the-starknet-foundation.yml (100%) rename _data/posts/{en => }/on-the-road-to-starknet-a-permissionless-stark-powered-l2-zk-rollup.yml (100%) rename _data/posts/{en => }/open-sourcing-cairo-1-0.yml (100%) rename _data/posts/{en => }/open-sourcing-the-starknet-prover.yml (100%) rename _data/posts/{en => }/papyrus-an-open-source-starknet-full-node.yml (100%) rename _data/posts/{en => }/part-1-starknet-sovereignty-a-decentralization-proposal.yml (100%) rename _data/posts/{en => }/part-2-a-decentralization-and-governance-proposal-for-starknet.yml (100%) rename _data/posts/{en => }/part-3-starknet-token-design.yml (100%) rename _data/posts/{en => }/recursive-starks.yml (100%) rename _data/posts/{en => }/redefining-scalability.yml (100%) rename _data/posts/{en => }/rollup-validium-volition-where-is-your-data-stored.yml (100%) rename _data/posts/{en => }/smartcon-2022-unleashing-the-power-of-l2-dapps.yml (100%) rename _data/posts/{en => }/stark-home-10-zero-knowledge-the-known-unknown.yml (100%) rename _data/posts/{en => }/stark-home-11-preserving-mathematical-distancing.yml (100%) rename _data/posts/{en => }/stark-home-12-how-2-l2-stark.yml (100%) rename _data/posts/{en => }/stark-home-13-dark-forest-escape-route.yml (100%) rename _data/posts/{en => }/stark-home-14-one-stark-to-rule-them-all.yml (100%) rename _data/posts/{en => }/stark-home-15-shrinking-proofs-via-cryptographic-sampling.yml (100%) rename _data/posts/{en => }/stark-home-16-recursive-starks.yml (100%) rename _data/posts/{en => }/stark-home-17-the-value-of-errors-in-proofs.yml (100%) rename _data/posts/{en => }/stark-home-18-t-epsilon-capital-efficiency-on-l2-defi.yml (100%) rename _data/posts/{en => }/stark-home-19-computational-integrity.yml (100%) rename _data/posts/{en => }/stark-home-2-fast-and-furious-fourier-transforms-pcps-starks.yml (100%) rename _data/posts/{en => }/stark-home-20-with-madhu-sudan-a-picture-is-worth-a-thousand-words.yml (100%) rename _data/posts/{en => }/stark-home-21-starknet-planets-the-game-is-on.yml (100%) rename _data/posts/{en => }/stark-home-22-cairo-whitepaper-redux.yml (100%) rename _data/posts/{en => }/stark-home-23-in-mathematics-we-trust.yml (100%) rename _data/posts/{en => }/stark-home-24-fireside-chat-with-professor-dan-boneh.yml (100%) rename _data/posts/{en => }/stark-home-25-warp-away-from-solidity-to-cairo.yml (100%) rename _data/posts/{en => }/stark-home-26-shafi-goldwasser-and-the-amazing-untold-invention-story-of-zk.yml (100%) rename _data/posts/{en => }/stark-home-27-recursing-on-recursion.yml (100%) rename _data/posts/{en => }/stark-home-28-unlocking-the-magic.yml (100%) rename _data/posts/{en => }/stark-home-3-lets-do-arithmetic-why-are-polynomials-used-in-succinct-zk-proofs.yml (100%) rename _data/posts/{en => }/stark-home-30-why-cairo-1-0.yml (100%) rename _data/posts/{en => }/stark-home-4-hot-air-programming-for-succinct-zkps.yml (100%) rename _data/posts/{en => }/stark-home-5-the-sounds-of-soundness.yml (100%) rename _data/posts/{en => }/stark-home-6-deep-fri-dive.yml (100%) rename _data/posts/{en => }/stark-home-7-the-cambrian-explosion-of-crypto-proofs.yml (100%) rename _data/posts/{en => }/stark-home-8-time-warping-starks.yml (100%) rename _data/posts/{en => }/stark-home-9-ethstark-open-source-stark-fastest-prover-included.yml (100%) rename _data/posts/{en => }/stark-spaces-apexpro.yml (100%) rename _data/posts/{en => }/stark-spaces-safe-cex.yml (100%) rename _data/posts/{en => }/stark-spaces-starknet-regenesis.yml (100%) rename _data/posts/{en => }/stark-struck-podcast-ep-1-guiltygyoza-1.yml (100%) rename _data/posts/{en => }/stark-struck-podcast-ep-1-guiltygyoza.yml (100%) rename _data/posts/{en => }/stark-struck-podcast-ep-10-tarrence-from-cartridge.yml (100%) rename _data/posts/{en => }/stark-struck-podcast-ep-3-jag-1.yml (100%) rename _data/posts/{en => }/stark-struck-podcast-ep-3-jag.yml (100%) rename _data/posts/{en => }/stark-struck-podcast-ep-5-sean-han-from-aspect.yml (100%) rename _data/posts/{en => }/stark-struck-podcast-ep-6-julien-niset-from-argent.yml (100%) rename _data/posts/{en => }/stark-struck-podcast-ep-7-brian-and-jane-from-zklend.yml (100%) rename _data/posts/{en => }/stark-struck-podcast-ep-8-marcello-bardus-from-herodotus.yml (100%) rename _data/posts/{en => }/stark-struck-podcast-ep-9-scott-piriou-from-snapshot.yml (100%) rename _data/posts/{en => }/stark-struck-podcast-episode-9-henri-lieutaud-with-scott-piriou-from-snapshot.yml (100%) rename _data/posts/{en => }/starkgate-alpha.yml (100%) rename _data/posts/{en => }/starknet-alpha-0-10-0-released-to-mainnet.yml (100%) rename _data/posts/{en => }/starknet-alpha-0-10-0.yml (100%) rename _data/posts/{en => }/starknet-alpha-0-7-0.yml (100%) rename _data/posts/{en => }/starknet-alpha-0-8-0.yml (100%) rename _data/posts/{en => }/starknet-alpha-0-9-0.yml (100%) rename _data/posts/{en => }/starknet-alpha-1.yml (100%) rename _data/posts/{en => }/starknet-alpha-2.yml (100%) rename _data/posts/{en => }/starknet-alpha-4-release.yml (100%) rename _data/posts/{en => }/starknet-alpha-is-coming-to-mainnet.yml (100%) rename _data/posts/{en => }/starknet-alpha-now-on-mainnet.yml (100%) rename _data/posts/{en => }/starknet-alpha-v0-11-0-the-transition-to-cairo-1-0-begins.yml (100%) rename _data/posts/{en => }/starknet-community-call-23-presentation-by-braavos-and-roadmap-updates.yml (100%) rename _data/posts/{en => }/starknet-community-call-33-papyrus-starknets-new-full-node.yml (100%) rename _data/posts/{en => }/starknet-community-call-34-presenting-hashstack.yml (100%) rename _data/posts/{en => }/starknet-community-call-35-sharp-the-backbone-of-starknet.yml (100%) rename _data/posts/{en => }/starknet-community-call-36-a-foretaste-of-protostar-with-cairo1.yml (100%) rename _data/posts/{en => }/starknet-community-call-37-starknet-alpha-v0-11-0.yml (100%) rename _data/posts/{en => }/starknet-community-call-38-starknet-roadmap-updates.yml (100%) rename _data/posts/{en => }/starknet-decentralized-and-permissionless-zk-rollups.yml (100%) rename _data/posts/{en => }/starknet-house-weekly-session-0.yml (100%) rename _data/posts/{en => }/starknet-house-weekly-session-1.yml (100%) rename _data/posts/{en => }/starknet-house-weekly-session-2.yml (100%) rename _data/posts/{en => }/starknet-on-to-the-next-challenge.yml (100%) rename _data/posts/{en => }/starknet-performance-roadmap.yml (100%) rename _data/posts/{en => }/starknet-planets-alpha-on-testnet.yml (100%) rename _data/posts/{en => }/starknet-regenesis-the-plan.yml (100%) rename _data/posts/{en => }/starknet-token-is-deployed-on-ethereum.yml (100%) rename _data/posts/{en => }/starknetcc-lisbon-a-folk-history-of-starknet-sylve-chevet.yml (100%) rename _data/posts/{en => }/starknets-governance-first-phase.yml (100%) rename _data/posts/{en => }/starknets-new-sequencer.yml (100%) rename _data/posts/{en => }/starks-starkex-and-starknet.yml (100%) rename _data/posts/{en => }/starkvietnam-conference-2022-vietnams-first-starknet-conference.yml (100%) rename _data/posts/{en => }/starkware-isnt-leaving-ethereum-eli-ben-sasson-and-uri-kolodny-at-bankless.yml (100%) rename _data/posts/{en => }/starkware-to-open-source-its-tech-to-help-scale-ethereum-real-vision-crypto.yml (100%) rename _data/posts/{en => }/super-scaling-with-starkware-at-bankless.yml (100%) rename _data/posts/{en => }/the-blockcrunch-podcast-with-jason-choi-this-is-the-future-of-ethereum-scaling.yml (100%) rename _data/posts/{en => }/the-starknet-foundation-meet-the-committees.yml (100%) rename _data/posts/{en => }/transacting-on-starkwares-live-zk-rollups-and-building-a-vibrant-ecosystem-of-dapps.yml (100%) rename _data/posts/{en => }/twitter-space-pt-1-kakarot-a-zk-evm-written-in-cairo.yml (100%) rename _data/posts/{en => }/twitter-space-pt-2-kakarot-a-zk-evm-written-in-cairo.yml (100%) rename _data/posts/{en => }/welcome-to-the-world-starknet-foundation.yml (100%) rename _data/posts/{en => }/why-is-visa-excited-about-starknet.yml (100%) rename _data/posts/{en => }/zkstudyclub-eli-ben-sasson-on-blockchains-and-scalable-zkps.yml (100%) rename _data/settings/{en => }/alert.yml (100%) rename _data/settings/{en => }/block-explorers.yml (100%) rename _data/settings/{en => }/bridges.yml (100%) rename _data/settings/{en => }/dapps.yml (100%) rename _data/settings/{en => }/fiat-on-ramps.yml (100%) rename _data/settings/{en => }/main-menu.yml (100%) rename _data/settings/{en => }/redirects.yml (100%) rename _data/settings/{en => }/wallets.yml (100%) rename _data/topics/{en => }/account-abstraction.yml (100%) rename _data/topics/{en => }/alpha.yml (100%) rename _data/topics/{en => }/blockchain.yml (100%) rename _data/topics/{en => }/cairo.yml (100%) rename _data/topics/{en => }/composability.yml (100%) rename _data/topics/{en => }/contracts.yml (100%) rename _data/topics/{en => }/cryptography.yml (100%) rename _data/topics/{en => }/dapps.yml (100%) rename _data/topics/{en => }/data-availability.yml (100%) rename _data/topics/{en => }/decentralization.yml (100%) rename _data/topics/{en => }/defi.yml (100%) rename _data/topics/{en => }/ethereum.yml (100%) rename _data/topics/{en => }/events.yml (100%) rename _data/topics/{en => }/fullnode.yml (100%) rename _data/topics/{en => }/getting-started.yml (100%) rename _data/topics/{en => }/governance.yml (100%) rename _data/topics/{en => }/layer-2.yml (100%) rename _data/topics/{en => }/opensource.yml (100%) rename _data/topics/{en => }/prover.yml (100%) rename _data/topics/{en => }/recursive-starks.yml (100%) rename _data/topics/{en => }/rust.yml (100%) rename _data/topics/{en => }/scalability.yml (100%) rename _data/topics/{en => }/security.yml (100%) rename _data/topics/{en => }/sequencing.yml (100%) rename _data/topics/{en => }/starkex.yml (100%) rename _data/topics/{en => }/starknet-foundation.yml (100%) rename _data/topics/{en => }/starknet.yml (100%) rename _data/topics/{en => }/starkware.yml (100%) rename _data/topics/{en => }/token.yml (100%) rename _data/topics/{en => }/validium.yml (100%) rename _data/topics/{en => }/volition.yml (100%) rename _data/topics/{en => }/zk-proofs.yml (100%) rename _data/topics/{en => }/zk-rollups.yml (100%) rename _data/tutorials/{en => }/01encode01.yml (100%) rename _data/tutorials/{en => }/01encode02.yml (100%) rename _data/tutorials/{en => }/01encode03.yml (100%) rename _data/tutorials/{en => }/01encode04.yml (100%) rename _data/tutorials/{en => }/01encode05.yml (100%) rename _data/tutorials/{en => }/01encode06.yml (100%) rename _data/tutorials/{en => }/01encode07.yml (100%) rename _data/tutorials/{en => }/01encode08.yml (100%) rename _data/tutorials/{en => }/01encode09.yml (100%) rename _data/tutorials/{en => }/01encode10.yml (100%) rename _data/tutorials/{en => }/01encode11.yml (100%) rename _data/tutorials/{en => }/01encode12.yml (100%) rename _data/tutorials/{en => }/01encode14.yml (100%) rename _data/tutorials/{en => }/01encode15.yml (100%) rename _data/tutorials/{en => }/01encode16.yml (100%) rename _data/tutorials/{en => }/02encode01.yml (100%) rename _data/tutorials/{en => }/02encode03.yml (100%) rename _data/tutorials/{en => }/02encode04.yml (100%) rename _data/tutorials/{en => }/02encode05.yml (100%) rename _data/tutorials/{en => }/0byte01.yml (100%) rename _data/tutorials/{en => }/0byte02.yml (100%) rename _data/tutorials/{en => }/0byte03.yml (100%) rename _data/tutorials/{en => }/0byte04.yml (100%) rename _data/tutorials/{en => }/0byte05.yml (100%) rename _data/tutorials/{en => }/0byte06.yml (100%) rename _data/tutorials/{en => }/0byte07.yml (100%) rename _data/tutorials/{en => }/0byte08.yml (100%) rename _data/tutorials/{en => }/0cairo001.yml (100%) rename _data/tutorials/{en => }/0cairo002.yml (100%) rename _data/tutorials/{en => }/0cairo003.yml (100%) rename _data/tutorials/{en => }/0cairo004.yml (100%) rename _data/tutorials/{en => }/0cairo005.yml (100%) rename _data/tutorials/{en => }/0cairo01.yml (100%) rename _data/tutorials/{en => }/0cairows01.yml (100%) rename _data/tutorials/{en => }/0cairows02.yml (100%) rename _data/tutorials/{en => }/0cairows03.yml (100%) rename _data/tutorials/{en => }/0cairows04.yml (100%) rename _data/tutorials/{en => }/0cairows05.yml (100%) rename _data/tutorials/{en => }/0cairows06.yml (100%) rename _data/tutorials/{en => }/0cairows07.yml (100%) rename _data/tutorials/{en => }/0cairows08.yml (100%) rename _data/tutorials/{en => }/0cairows09.yml (100%) rename _data/tutorials/{en => }/0cairows10.yml (100%) rename _data/tutorials/{en => }/0cairows11.yml (100%) rename _data/tutorials/{en => }/0snedu01-medium.yml (100%) rename _data/tutorials/{en => }/0snedu01.yml (100%) rename _data/tutorials/{en => }/0snedu02.yml (100%) rename _data/tutorials/{en => }/0snedu03.yml (100%) rename _data/tutorials/{en => }/0snedu04.yml (100%) rename _data/tutorials/{en => }/0snedu05.yml (100%) rename _data/tutorials/{en => }/0snedu06.yml (100%) rename _data/tutorials/{en => }/0snedu07.yml (100%) rename _data/tutorials/{en => }/0snedu08.yml (100%) rename _data/tutorials/{en => }/0snedu09.yml (100%) rename _data/tutorials/{en => }/b7cb9a4a-e51b-41d8-a04e-a67eaee97c66.yml (100%) delete mode 100644 env.d.ts delete mode 100644 netlify.toml delete mode 100644 src/app/(static-cms)/(auth)/auth/route.ts delete mode 100644 src/app/(static-cms)/(auth)/callback/route.ts delete mode 100644 src/app/(static-cms)/(auth)/config.ts delete mode 100644 src/app/(static-cms)/cms/(components)/CMSPage.tsx delete mode 100644 src/app/(static-cms)/cms/config.ts delete mode 100644 src/app/(static-cms)/cms/page.tsx delete mode 100644 src/app/(static-cms)/cms/widgets/uuid.tsx delete mode 100644 src/app/(static-cms)/cms/widgets/youtube.tsx delete mode 100644 src/data/categories.ts delete mode 100644 src/data/dapps.ts delete mode 100644 src/data/fiat-on-ramps.ts delete mode 100644 src/data/i18n/config.ts delete mode 100644 src/data/settings/alert.ts delete mode 100644 src/data/topics.ts delete mode 100644 src/data/utils.ts create mode 100644 tsconfig.options.json create mode 100644 tsconfig.projects.json create mode 100644 workspaces/cms-config/package.json create mode 100644 workspaces/cms-config/src/blocks.ts create mode 100644 workspaces/cms-config/src/collections/categories.ts create mode 100644 workspaces/cms-config/src/collections/events.ts create mode 100644 workspaces/cms-config/src/collections/index.ts create mode 100644 workspaces/cms-config/src/collections/jobs.ts create mode 100644 workspaces/cms-config/src/collections/pages.ts create mode 100644 workspaces/cms-config/src/collections/posts.ts create mode 100644 workspaces/cms-config/src/collections/settings.ts create mode 100644 workspaces/cms-config/src/collections/topics.ts create mode 100644 workspaces/cms-config/src/collections/tutorials.ts create mode 100644 workspaces/cms-config/src/main.ts create mode 100644 workspaces/cms-config/tsconfig.json create mode 100644 workspaces/cms-data/package.json rename {src/data => workspaces/cms-data/src}/block-explorers.ts (52%) rename {src/data => workspaces/cms-data/src}/bridges.ts (50%) create mode 100644 workspaces/cms-data/src/categories.ts create mode 100644 workspaces/cms-data/src/dapps.ts rename {src/data => workspaces/cms-data/src}/events.ts (57%) create mode 100644 workspaces/cms-data/src/fiat-on-ramps.ts create mode 100644 workspaces/cms-data/src/i18n/config.ts rename {src/data => workspaces/cms-data/src}/i18n/intl.ts (68%) rename {src/data => workspaces/cms-data/src}/pages.ts (88%) rename {src/data => workspaces/cms-data/src}/posts.ts (66%) create mode 100644 workspaces/cms-data/src/settings/alert.ts rename {src/data => workspaces/cms-data/src}/settings/main-menu.ts (65%) create mode 100644 workspaces/cms-data/src/topics.ts rename {src/data => workspaces/cms-data/src}/wallets.ts (55%) create mode 100644 workspaces/cms-data/tsconfig.json rename workspaces/{content-onedge => cms-scripts}/package.json (58%) rename workspaces/{content-onedge => cms-scripts}/src/algolia.ts (100%) create mode 100644 workspaces/cms-scripts/src/crowdin.ts rename workspaces/{content-onedge => cms-scripts}/src/data.ts (67%) rename workspaces/{content-onedge => cms-scripts}/src/git.ts (100%) rename workspaces/{content-onedge => cms-scripts}/src/index.ts (61%) rename workspaces/{content-onedge => cms-scripts}/src/main-menu.ts (100%) create mode 100644 workspaces/cms-scripts/src/pre-crowdin.ts create mode 100644 workspaces/cms-scripts/src/utils.ts create mode 100644 workspaces/cms-scripts/tsconfig.json create mode 100644 workspaces/cms-utils/package.json create mode 100644 workspaces/cms-utils/src/index.ts create mode 100644 workspaces/cms-utils/tsconfig.json delete mode 100644 workspaces/content-onedge/.gitignore delete mode 100644 workspaces/content-onedge/netlify.toml delete mode 100644 workspaces/content-onedge/src/locales.ts delete mode 100644 workspaces/content-onedge/src/pre-crowdin.ts delete mode 100644 workspaces/content-onedge/src/utils.ts create mode 100644 workspaces/netlify-cms-auth/package.json create mode 100644 workspaces/netlify-cms-auth/src/auth.ts create mode 100644 workspaces/netlify-cms-auth/src/callback.ts create mode 100644 workspaces/netlify-cms-auth/src/env.ts create mode 100644 workspaces/netlify-cms-auth/src/index.test.ts create mode 100644 workspaces/netlify-cms-auth/src/index.ts create mode 100644 workspaces/netlify-cms-auth/test/setup-test-env.ts create mode 100644 workspaces/netlify-cms-auth/tsconfig.json create mode 100644 workspaces/netlify-cms-auth/wrangler.toml create mode 100644 workspaces/netlify-cms-widgets/package.json rename workspaces/{netlify-cms/src/widgets => netlify-cms-widgets/src}/uuid.tsx (95%) rename workspaces/{netlify-cms/src/widgets => netlify-cms-widgets/src}/youtube.tsx (81%) create mode 100644 workspaces/netlify-cms-widgets/tsconfig.json delete mode 100644 workspaces/netlify-cms/.gitignore create mode 100644 workspaces/netlify-cms/index.html delete mode 100644 workspaces/netlify-cms/netlify.toml create mode 100644 workspaces/netlify-cms/public/vite.svg create mode 100644 workspaces/netlify-cms/src/App.tsx delete mode 100644 workspaces/netlify-cms/src/cms.tsx delete mode 100644 workspaces/netlify-cms/src/config.ts create mode 100644 workspaces/netlify-cms/src/index.css delete mode 100644 workspaces/netlify-cms/src/index.html create mode 100644 workspaces/netlify-cms/src/main.tsx delete mode 100644 workspaces/netlify-cms/src/styles.ts create mode 100644 workspaces/netlify-cms/src/vite-env.d.ts create mode 100644 workspaces/netlify-cms/tsconfig.json create mode 100644 workspaces/netlify-cms/tsconfig.node.json create mode 100644 workspaces/netlify-cms/vite.config.ts diff --git a/.github/workflows/algolia-index.yml b/.github/workflows/algolia-index.yml deleted file mode 100644 index 0275efc276..0000000000 --- a/.github/workflows/algolia-index.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: update algolia index (web_posts_*) - -on: - push: - paths: - - "_data/posts/**" - - "_data/pages/**" - - "_data/jobs/**" - - "_data/events/**" - - "_data/tutorials/**" - - "workspaces/content-onedge/**" - - ".github/workflows/algolia-index.yml" - branches: - - dev - - production - -jobs: - update-index: - environment: "dev-algolia-index" - env: - ALGOLIA_INDEX: ${{ github.ref_name }} - ALGOLIA_APP_ID: ${{ secrets.ALGOLIA_APP_ID }} - ALGOLIA_SEARCH_API_KEY: ${{ secrets.ALGOLIA_SEARCH_API_KEY }} - ALGOLIA_WRITE_API_KEY: ${{ secrets.ALGOLIA_WRITE_API_KEY }} - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: 18 - cache: yarn - - run: yarn - - run: yarn update:algolia diff --git a/.github/workflows/algolia.yml b/.github/workflows/algolia.yml new file mode 100644 index 0000000000..a8f4114f6b --- /dev/null +++ b/.github/workflows/algolia.yml @@ -0,0 +1,49 @@ +name: Algolia Action + +on: + push: + paths: + - "_data/**" + - "workspaces/cms-*/**" + - ".github/workflows/algolia.yml" + branches: + - dev + - production + +jobs: + update-index: + runs-on: ubuntu-22.04 + environment: "dev-algolia-index" + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 18 + cache: yarn + + - name: Cache dependencies + uses: actions/cache@v3 + with: + path: | + .yarn/cache + .yarn/install-state.gz + .eslintcache + **/tsconfig.tsbuildinfo + **/.types/** + **/.types-*/** + key: build-cache-${{ hashFiles('yarn.lock') }} + restore-keys: | + build-cache- + + - name: Install dependencies + run: yarn + + - name: Update Algolia search index + run: yarn workspace @starknet-io/cms-scripts update-algolia-index + env: + ALGOLIA_INDEX: ${{ github.ref_name }} + ALGOLIA_APP_ID: ${{ secrets.ALGOLIA_APP_ID }} + ALGOLIA_SEARCH_API_KEY: ${{ secrets.ALGOLIA_SEARCH_API_KEY }} + ALGOLIA_WRITE_API_KEY: ${{ secrets.ALGOLIA_WRITE_API_KEY }} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000000..5c6159f7db --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,46 @@ +name: Build + +on: + push: + +jobs: + build: + name: Build + runs-on: ubuntu-22.04 + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 18 + cache: yarn + + - name: Cache dependencies + uses: actions/cache@v3 + with: + path: | + .yarn/cache + .yarn/install-state.gz + .eslintcache + **/tsconfig.tsbuildinfo + **/.types/** + **/.types-*/** + key: build-cache-${{ hashFiles('yarn.lock') }} + restore-keys: | + build-cache- + + - name: Install dependencies + run: yarn + + - name: Restore Crowdin Cache + uses: actions/cache/restore@v3 + with: + path: _crowdin + key: crowdin-cache-dev + + - name: Update dynamic data + run: yarn workspace @starknet-io/cms-scripts update-dynamic-data + + - name: Build project + run: yarn exec next build diff --git a/.github/workflows/crowdin.yml b/.github/workflows/crowdin.yml index 6eb066e97d..e30fb0801a 100644 --- a/.github/workflows/crowdin.yml +++ b/.github/workflows/crowdin.yml @@ -1,41 +1,65 @@ name: Crowdin Action on: - - workflow_dispatch + workflow_dispatch: concurrency: crowdin-dev jobs: synchronize-with-crowdin: + name: Synchronize with Crowdin environment: "dev-crowdin" - - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Checkout uses: actions/checkout@v3 + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 18 + cache: yarn + + - name: Cache dependencies + uses: actions/cache@v3 + with: + path: | + .yarn/cache + .yarn/install-state.gz + .eslintcache + **/tsconfig.tsbuildinfo + **/.types/** + **/.types-*/** + key: build-cache-${{ hashFiles('yarn.lock') }} + restore-keys: | + build-cache- - # - uses: actions/setup-node@v3 - # with: - # node-version: 18 - # cache: yarn - # - run: yarn - # - run: yarn workspace content-onedge-workspace pre-crowdin + - name: Install dependencies + run: yarn - - name: crowdin action - uses: crowdin/github-action@v1 + - name: Restore Crowdin Cache + uses: actions/cache/restore@v3 with: - upload_sources: true - upload_translations: false - download_translations: true - # download_language: 'de' - localization_branch_name: ${{ github.ref_name }}_l10n - crowdin_branch_name: dev - create_pull_request: true - pull_request_title: "New Crowdin Translations" - pull_request_body: "New Crowdin translations by [Crowdin GH Action](https://github.com/crowdin/github-action)" - base_url: "https://starkware.crowdin.com" + path: _crowdin + key: crowdin-cache-${{ github.ref_name }} + + - name: Run pre-Crowdin script for file preparation + run: yarn workspace @starknet-io/cms-scripts pre-crowdin + + - name: Upload source files to Crowdin project + run: yarn crowdin upload -b ${{ github.ref_name }} env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} + + - name: Download approved translations from Crowdin + run: yarn crowdin download -b ${{ github.ref_name }} --export-only-approved --skip-untranslated-strings + env: + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} + CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} + + - name: Save Crowdin Cache + uses: actions/cache/save@v3 + with: + path: _crowdin + key: crowdin-cache-${{ github.ref_name }} diff --git a/.github/workflows/netlify-cms-auth.yml b/.github/workflows/netlify-cms-auth.yml new file mode 100644 index 0000000000..8cdb9de726 --- /dev/null +++ b/.github/workflows/netlify-cms-auth.yml @@ -0,0 +1,48 @@ +name: Build and Deploy Netlify CMS Auth + +on: + push: + branches: + - deploy/netlify-cms-auth + +jobs: + build_and_deploy: + name: Build and Deploy + environment: "netlify-cms-auth" + permissions: + contents: read + deployments: write + runs-on: ubuntu-22.04 + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 18 + cache: yarn + + - name: Cache dependencies + uses: actions/cache@v3 + with: + path: | + .yarn/cache + .yarn/install-state.gz + .eslintcache + **/tsconfig.tsbuildinfo + **/.types/** + **/.types-*/** + key: build-cache-${{ hashFiles('yarn.lock') }} + restore-keys: | + build-cache- + + - name: Install dependencies + run: yarn + + - name: Publish + uses: cloudflare/wrangler-action@2.0.0 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + workingDirectory: workspaces/netlify-cms-auth + command: publish diff --git a/.github/workflows/netlify-cms.yml b/.github/workflows/netlify-cms.yml new file mode 100644 index 0000000000..41f3135f0e --- /dev/null +++ b/.github/workflows/netlify-cms.yml @@ -0,0 +1,55 @@ +name: Build and Deploy Netlify CMS + +on: + push: + +jobs: + build-and-deploy: + name: Build and Deploy + environment: "netlify-cms" + permissions: + contents: read + deployments: write + runs-on: ubuntu-22.04 + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: 18 + cache: yarn + + - name: Cache dependencies + uses: actions/cache@v3 + with: + path: | + .yarn/cache + .yarn/install-state.gz + .eslintcache + **/tsconfig.tsbuildinfo + **/.types/** + **/.types-*/** + key: build-cache-${{ hashFiles('yarn.lock') }} + restore-keys: | + build-cache- + + - name: Install dependencies + run: yarn + + - name: Build Netlify CMS + run: yarn workspace @starknet-io/netlify-cms build + env: + VITE_GIT_BRANCH_NAME: ${{ github.ref_name }} + # TODO update this once CORS updates land on prod + VITE_API_BASE_URL: https://starknet-website-git-tsotne-wip2-yuki-labs.vercel.app/api + + - name: Deploy Netlify CMS + uses: cloudflare/pages-action@1 + with: + apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} + accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }} + projectName: starknet-netlify-cms + directory: workspaces/netlify-cms/dist + gitHubToken: ${{ secrets.GITHUB_TOKEN }} + branch: ${{ github.ref_name }} diff --git a/.github/workflows/pr-dev-to-production.yml b/.github/workflows/pr-dev-to-production.yml index 1ee0abef10..bf216e14ef 100644 --- a/.github/workflows/pr-dev-to-production.yml +++ b/.github/workflows/pr-dev-to-production.yml @@ -1,3 +1,5 @@ +name: Open PR to merge dev into production + on: push: branches: diff --git a/.gitignore b/.gitignore index 637805ddad..96509ba8af 100644 --- a/.gitignore +++ b/.gitignore @@ -54,4 +54,11 @@ next-env.d.ts .netlify #vscode -.vscode/settings.json \ No newline at end of file +.vscode/settings.json + +.types +.types-* +_crowdin +*.vars +*.__* +dist diff --git a/README.md b/README.md index afc6aa4730..84f5624061 100644 --- a/README.md +++ b/README.md @@ -2,56 +2,51 @@ This is the official repository for [starknet.io](https://starknet.io). The website is built using a modern tech stack, and we encourage community contributions to the codebase, content and translations. -Features ----------- +## Features + The StarkNet website includes the following features: -- Responsive design, optimized for both desktop and mobile devices. -- Detailed information about StarkNet and its underlying technology. -- Documentation and resources for developers interested in building on StarkNet. -- Latest news and updates related to the StarkNet ecosystem. -- Community and social media links, for users to stay connected and engaged. - -Tech Stack ----------- - -- [Next.js](https://nextjs.org/) for server-rendered React app -- [Chakra UI](https://chakra-ui.com/) for UI components -- [React](https://reactjs.org/) as a JavaScript library for UI -- [TypeScript](https://www.typescriptlang.org/) for type-safe JavaScript code -- [Algolia](https://www.algolia.com/) for search functionality -- [Framer Motion](https://www.framer.com/motion) for animations -- [Storybook](https://storybook.js.org/) for component development and testing -- [Cypress](https://www.cypress.io/) for end-to-end testing -- [Crowdin](https://crowdin.com/) for translations -- [Yarn](https://yarnpkg.com/) as the package manager +- Responsive design, optimized for both desktop and mobile devices. +- Detailed information about StarkNet and its underlying technology. +- Documentation and resources for developers interested in building on StarkNet. +- Latest news and updates related to the StarkNet ecosystem. +- Community and social media links, for users to stay connected and engaged. + +## Tech Stack + +- [Next.js](https://nextjs.org/) for server-rendered React app +- [Chakra UI](https://chakra-ui.com/) for UI components +- [React](https://reactjs.org/) as a JavaScript library for UI +- [TypeScript](https://www.typescriptlang.org/) for type-safe JavaScript code +- [Algolia](https://www.algolia.com/) for search functionality +- [Framer Motion](https://www.framer.com/motion) for animations +- [Storybook](https://storybook.js.org/) for component development and testing +- [Cypress](https://www.cypress.io/) for end-to-end testing +- [Crowdin](https://crowdin.com/) for translations +- [Yarn](https://yarnpkg.com/) as the package manager - [NetlifyCMS](https://www.netlifycms.org) Give non-technical users a simple way to edit and add content -Getting Started ---------------- +## Getting Started 1. Clone the repository: - - ``` git clone https://github.com/starknet-io/starknet-website.git ``` + `git clone https://github.com/starknet-io/starknet-website.git` 2. Change into the repository directory: - ```cd starknet-website``` + `cd starknet-website` 3. Install dependencies: - ```yarn install``` + `yarn install` 4. Run the development server: - ```yarn dev``` + `yarn dev` 5. Open your browser and visit `http://localhost:3000` to see the website running locally. - -Contributing to the Code ------------------------- +## Contributing to the Code 1. Fork the repository to your own GitHub account. @@ -59,24 +54,21 @@ Contributing to the Code 3. Create a new branch for your changes: - - ```git checkout -b my-feature-branch``` + `git checkout -b my-feature-branch` 4. Make your changes and test them locally. 5. Commit and push your changes to your fork: + `git add . ` - ```git add . ``` - - ```git commit -m "Description of my changes" ``` + `git commit -m "Description of my changes" ` - ```git push origin my-feature-branch ``` + `git push origin my-feature-branch ` 6. Create a pull request from your fork's branch to the `dev` branch of the original repository. -Contributing Translations -------------------------- +## Contributing Translations We use Crowdin for translations. Visit [StarkNet Website on Crowdin](https://starkware.crowdin.com/starknet-web) to contribute translations for different languages. @@ -85,4 +77,4 @@ We use Crowdin for translations. Visit [StarkNet Website on Crowdin](https://sta 3. Start translating the strings in the translation editor. 4. Save your changes and submit them for review. -We appreciate all contributions! Your translations will help make the StarkNet website more accessible to people around the world. \ No newline at end of file +We appreciate all contributions! Your translations will help make the StarkNet website more accessible to people around the world. diff --git a/_data/categories/en/community-and-events.yml b/_data/categories/community-and-events.yml similarity index 100% rename from _data/categories/en/community-and-events.yml rename to _data/categories/community-and-events.yml diff --git a/_data/categories/en/community-calls.yml b/_data/categories/community-calls.yml similarity index 100% rename from _data/categories/en/community-calls.yml rename to _data/categories/community-calls.yml diff --git a/_data/categories/en/ecosystem.yml b/_data/categories/ecosystem.yml similarity index 100% rename from _data/categories/en/ecosystem.yml rename to _data/categories/ecosystem.yml diff --git a/_data/categories/en/engineering.yml b/_data/categories/engineering.yml similarity index 100% rename from _data/categories/en/engineering.yml rename to _data/categories/engineering.yml diff --git a/_data/categories/en/foundation.yml b/_data/categories/foundation.yml similarity index 100% rename from _data/categories/en/foundation.yml rename to _data/categories/foundation.yml diff --git a/_data/categories/en/governance.yml b/_data/categories/governance.yml similarity index 100% rename from _data/categories/en/governance.yml rename to _data/categories/governance.yml diff --git a/_data/categories/en/stark-math.yml b/_data/categories/stark-math.yml similarity index 100% rename from _data/categories/en/stark-math.yml rename to _data/categories/stark-math.yml diff --git a/_data/categories/en/stark-struck.yml b/_data/categories/stark-struck.yml similarity index 100% rename from _data/categories/en/stark-struck.yml rename to _data/categories/stark-struck.yml diff --git a/_data/events/en/btc-prague.yml b/_data/events/btc-prague.yml similarity index 100% rename from _data/events/en/btc-prague.yml rename to _data/events/btc-prague.yml diff --git a/_data/events/en/buidl-asia-2023.yml b/_data/events/buidl-asia-2023.yml similarity index 100% rename from _data/events/en/buidl-asia-2023.yml rename to _data/events/buidl-asia-2023.yml diff --git a/_data/events/en/cairo-1-and-starknet-roadmap.yml b/_data/events/cairo-1-and-starknet-roadmap.yml similarity index 100% rename from _data/events/en/cairo-1-and-starknet-roadmap.yml rename to _data/events/cairo-1-and-starknet-roadmap.yml diff --git a/_data/events/en/club3-meetup-zk-rollups.yml b/_data/events/club3-meetup-zk-rollups.yml similarity index 100% rename from _data/events/en/club3-meetup-zk-rollups.yml rename to _data/events/club3-meetup-zk-rollups.yml diff --git a/_data/events/en/consensus-by-coindesk.yml b/_data/events/consensus-by-coindesk.yml similarity index 100% rename from _data/events/en/consensus-by-coindesk.yml rename to _data/events/consensus-by-coindesk.yml diff --git a/_data/events/en/cscml-2023.yml b/_data/events/cscml-2023.yml similarity index 100% rename from _data/events/en/cscml-2023.yml rename to _data/events/cscml-2023.yml diff --git a/_data/events/en/duke-blockchain-conference.yml b/_data/events/duke-blockchain-conference.yml similarity index 100% rename from _data/events/en/duke-blockchain-conference.yml rename to _data/events/duke-blockchain-conference.yml diff --git a/_data/events/en/eth-austin.yml b/_data/events/eth-austin.yml similarity index 100% rename from _data/events/en/eth-austin.yml rename to _data/events/eth-austin.yml diff --git a/_data/events/en/ethcc-ethereum-community-conference.yml b/_data/events/ethcc-ethereum-community-conference.yml similarity index 100% rename from _data/events/en/ethcc-ethereum-community-conference.yml rename to _data/events/ethcc-ethereum-community-conference.yml diff --git a/_data/events/en/ethprague.yml b/_data/events/ethprague.yml similarity index 100% rename from _data/events/en/ethprague.yml rename to _data/events/ethprague.yml diff --git a/_data/events/en/hacksummit.yml b/_data/events/hacksummit.yml similarity index 100% rename from _data/events/en/hacksummit.yml rename to _data/events/hacksummit.yml diff --git a/_data/events/en/hbc2023.yml b/_data/events/hbc2023.yml similarity index 100% rename from _data/events/en/hbc2023.yml rename to _data/events/hbc2023.yml diff --git a/_data/events/en/mit-bitcoin-expo.yml b/_data/events/mit-bitcoin-expo.yml similarity index 100% rename from _data/events/en/mit-bitcoin-expo.yml rename to _data/events/mit-bitcoin-expo.yml diff --git a/_data/events/en/paris-blockchain-week-summit.yml b/_data/events/paris-blockchain-week-summit.yml similarity index 100% rename from _data/events/en/paris-blockchain-week-summit.yml rename to _data/events/paris-blockchain-week-summit.yml diff --git a/_data/events/en/prague-blockchain-week.yml b/_data/events/prague-blockchain-week.yml similarity index 100% rename from _data/events/en/prague-blockchain-week.yml rename to _data/events/prague-blockchain-week.yml diff --git a/_data/events/en/prague-defi-summit-2023.yml b/_data/events/prague-defi-summit-2023.yml similarity index 100% rename from _data/events/en/prague-defi-summit-2023.yml rename to _data/events/prague-defi-summit-2023.yml diff --git a/_data/events/en/starknet-asia-tokyo-workshop.yml b/_data/events/starknet-asia-tokyo-workshop.yml similarity index 100% rename from _data/events/en/starknet-asia-tokyo-workshop.yml rename to _data/events/starknet-asia-tokyo-workshop.yml diff --git a/_data/events/en/starknet-meetup-beijing.yml b/_data/events/starknet-meetup-beijing.yml similarity index 100% rename from _data/events/en/starknet-meetup-beijing.yml rename to _data/events/starknet-meetup-beijing.yml diff --git a/_data/events/en/starknet-meetup-zurich.yml b/_data/events/starknet-meetup-zurich.yml similarity index 100% rename from _data/events/en/starknet-meetup-zurich.yml rename to _data/events/starknet-meetup-zurich.yml diff --git a/_data/events/en/starknet-prague-1.yml b/_data/events/starknet-prague-1.yml similarity index 100% rename from _data/events/en/starknet-prague-1.yml rename to _data/events/starknet-prague-1.yml diff --git a/_data/events/en/starkware-sessions-2023.yml b/_data/events/starkware-sessions-2023.yml similarity index 100% rename from _data/events/en/starkware-sessions-2023.yml rename to _data/events/starkware-sessions-2023.yml diff --git a/_data/events/en/talks-about-starknet.yml b/_data/events/talks-about-starknet.yml similarity index 100% rename from _data/events/en/talks-about-starknet.yml rename to _data/events/talks-about-starknet.yml diff --git a/_data/events/en/the-satoshi-mystery-at-the-origins-of-bitcoin.yml b/_data/events/the-satoshi-mystery-at-the-origins-of-bitcoin.yml similarity index 100% rename from _data/events/en/the-satoshi-mystery-at-the-origins-of-bitcoin.yml rename to _data/events/the-satoshi-mystery-at-the-origins-of-bitcoin.yml diff --git a/_data/i18n/config.json b/_data/i18n/config.json deleted file mode 100644 index 456fbeff60..0000000000 --- a/_data/i18n/config.json +++ /dev/null @@ -1,226 +0,0 @@ -[ - { - "code": "en", - "hrefLang": "en", - "name": "English", - "localName": "English", - "langDir": "ltr", - "dateFormat": "MM/DD/YYYY" - }, - { - "code": "af", - "hrefLang": "af", - "name": "Afrikaans", - "localName": "Afrikaans", - "langDir": "ltr", - "dateFormat": "YYYY-DD-MM" - }, - { - "code": "ar", - "hrefLang": "ar", - "name": "Arabic", - "localName": "العربية", - "langDir": "rtl", - "dateFormat": "MM/DD/YYYY" - }, - { - "code": "ca", - "hrefLang": "ca", - "name": "Catalan", - "localName": "Català", - "langDir": "ltr", - "dateFormat": "MM/DD/YYYY" - }, - { - "code": "cs", - "hrefLang": "cs", - "name": "Czech", - "localName": "Čeština", - "langDir": "ltr", - "dateFormat": "MM/DD/YYYY" - }, - { - "code": "da", - "hrefLang": "da", - "name": "Danish", - "localName": "Dansk", - "langDir": "ltr", - "dateFormat": "MM/DD/YYYY" - }, - { - "code": "de", - "hrefLang": "de", - "name": "German", - "localName": "Deutsch", - "langDir": "ltr", - "dateFormat": "DD/MM/YYYY" - }, - { - "code": "el", - "hrefLang": "el", - "name": "Greek", - "localName": "Ελληνικά", - "langDir": "ltr", - "dateFormat": "MM/DD/YYYY" - }, - { - "code": "es", - "hrefLang": "es", - "name": "Spanish", - "localName": "Español", - "langDir": "ltr", - "dateFormat": "DD/MM/YYYY" - }, - { - "code": "fi", - "hrefLang": "fi", - "name": "Finnish", - "localName": "Suomi", - "langDir": "ltr", - "dateFormat": "MM/DD/YYYY" - }, - { - "code": "fr", - "hrefLang": "fr", - "name": "French", - "localName": "Français", - "langDir": "ltr", - "dateFormat": "DD/MM/YYYY" - }, - { - "code": "he", - "hrefLang": "he", - "name": "Hebrew", - "localName": "עִברִית", - "langDir": "rtl", - "dateFormat": "DD/MM/YYYY" - }, - { - "code": "hu", - "hrefLang": "hu", - "name": "Hungarian", - "localName": "Magyar", - "langDir": "ltr", - "dateFormat": "MM/DD/YYYY" - }, - { - "code": "it", - "hrefLang": "it", - "name": "Italian", - "localName": "Italiano", - "langDir": "ltr", - "dateFormat": "DD/MM/YYYY" - }, - { - "code": "ja", - "hrefLang": "ja", - "name": "Japanese", - "localName": "日本語", - "langDir": "ltr", - "dateFormat": "YYYY/MM/DD" - }, - { - "code": "ko", - "hrefLang": "ko", - "name": "Korean", - "localName": "한국어", - "langDir": "ltr", - "dateFormat": "MM/DD/YYYY" - }, - { - "code": "nl", - "hrefLang": "nl", - "name": "Dutch", - "localName": "Nederlands", - "langDir": "ltr", - "dateFormat": "MM/DD/YYYY" - }, - { - "code": "no", - "hrefLang": "no", - "name": "Norwegian", - "localName": "Norsk", - "langDir": "ltr", - "dateFormat": "MM/DD/YYYY" - }, - { - "code": "pl", - "hrefLang": "pl", - "name": "Polish", - "localName": "Polski", - "langDir": "ltr", - "dateFormat": "MM/DD/YYYY" - }, - { - "code": "pt", - "hrefLang": "pt", - "name": "Portuguese", - "localName": "Português", - "langDir": "ltr", - "dateFormat": "MM/DD/YYYY" - }, - { - "code": "ro", - "hrefLang": "ro", - "name": "Romanian", - "localName": "Română", - "langDir": "ltr", - "dateFormat": "MM/DD/YYYY" - }, - { - "code": "ru", - "hrefLang": "ru", - "name": "Russian", - "localName": "Pусский", - "langDir": "ltr", - "dateFormat": "MM/DD/YYYY" - }, - { - "code": "sr", - "hrefLang": "sr", - "name": "Serbian", - "localName": "Српски", - "langDir": "ltr", - "dateFormat": "MM/DD/YYYY" - }, - { - "code": "sv", - "hrefLang": "sv", - "name": "Swedish", - "localName": "Svenska", - "langDir": "ltr", - "dateFormat": "MM/DD/YYYY" - }, - { - "code": "tr", - "hrefLang": "tr", - "name": "Turkish", - "localName": "Türkçe", - "langDir": "ltr", - "dateFormat": "MM/DD/YYYY" - }, - { - "code": "uk", - "hrefLang": "uk", - "name": "Ukrainian", - "localName": "Українська", - "langDir": "ltr", - "dateFormat": "MM/DD/YYYY" - }, - { - "code": "vi", - "hrefLang": "vi", - "name": "Vietnamese", - "localName": "Tiếng Việt", - "langDir": "ltr", - "dateFormat": "MM/DD/YYYY" - }, - { - "code": "zh", - "hrefLang": "zh", - "name": "Chinese Simplified", - "localName": "简体中文", - "langDir": "ltr", - "dateFormat": "YYYY-MM-DD" - } -] \ No newline at end of file diff --git a/_data/i18n/intl/af.json b/_data/i18n/intl/af.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/af.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/ar.json b/_data/i18n/intl/ar.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/ar.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/ca.json b/_data/i18n/intl/ca.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/ca.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/cs.json b/_data/i18n/intl/cs.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/cs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/da.json b/_data/i18n/intl/da.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/da.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/de.json b/_data/i18n/intl/de.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/de.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/el.json b/_data/i18n/intl/el.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/el.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/en.json b/_data/i18n/intl/en.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/en.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/es.json b/_data/i18n/intl/es.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/es.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/fi.json b/_data/i18n/intl/fi.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/fi.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/fr.json b/_data/i18n/intl/fr.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/fr.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/he.json b/_data/i18n/intl/he.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/he.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/hu.json b/_data/i18n/intl/hu.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/hu.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/it.json b/_data/i18n/intl/it.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/it.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/ja.json b/_data/i18n/intl/ja.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/ja.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/ko.json b/_data/i18n/intl/ko.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/ko.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/nl.json b/_data/i18n/intl/nl.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/nl.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/no.json b/_data/i18n/intl/no.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/no.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/pl.json b/_data/i18n/intl/pl.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/pl.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/pt.json b/_data/i18n/intl/pt.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/pt.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/ro.json b/_data/i18n/intl/ro.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/ro.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/ru.json b/_data/i18n/intl/ru.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/ru.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/sr.json b/_data/i18n/intl/sr.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/sr.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/sv.json b/_data/i18n/intl/sv.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/sv.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/tr.json b/_data/i18n/intl/tr.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/tr.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/uk.json b/_data/i18n/intl/uk.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/uk.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/vi.json b/_data/i18n/intl/vi.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/vi.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/i18n/intl/zh.json b/_data/i18n/intl/zh.json deleted file mode 100644 index 3cf6b01b27..0000000000 --- a/_data/i18n/intl/zh.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "search": "Search" -} diff --git a/_data/jobs/en/69447136-1854-49d5-8808-5dddb902f94f.yml b/_data/jobs/69447136-1854-49d5-8808-5dddb902f94f.yml similarity index 100% rename from _data/jobs/en/69447136-1854-49d5-8808-5dddb902f94f.yml rename to _data/jobs/69447136-1854-49d5-8808-5dddb902f94f.yml diff --git a/_data/jobs/en/7027c387-6558-475e-97e6-6631442a2bd1.yml b/_data/jobs/7027c387-6558-475e-97e6-6631442a2bd1.yml similarity index 100% rename from _data/jobs/en/7027c387-6558-475e-97e6-6631442a2bd1.yml rename to _data/jobs/7027c387-6558-475e-97e6-6631442a2bd1.yml diff --git a/_data/jobs/en/job1.yml b/_data/jobs/job1.yml similarity index 100% rename from _data/jobs/en/job1.yml rename to _data/jobs/job1.yml diff --git a/_data/jobs/en/job2.yml b/_data/jobs/job2.yml similarity index 100% rename from _data/jobs/en/job2.yml rename to _data/jobs/job2.yml diff --git a/_data/pages/en/block-explorers.yml b/_data/pages/block-explorers.yml similarity index 100% rename from _data/pages/en/block-explorers.yml rename to _data/pages/block-explorers.yml diff --git a/_data/pages/en/bridges-and-on-ramps.yml b/_data/pages/bridges-and-on-ramps.yml similarity index 100% rename from _data/pages/en/bridges-and-on-ramps.yml rename to _data/pages/bridges-and-on-ramps.yml diff --git a/_data/pages/en/community.yml b/_data/pages/community.yml similarity index 100% rename from _data/pages/en/community.yml rename to _data/pages/community.yml diff --git a/_data/pages/en/dapps.yml b/_data/pages/dapps.yml similarity index 100% rename from _data/pages/en/dapps.yml rename to _data/pages/dapps.yml diff --git a/_data/pages/en/developers.yml b/_data/pages/developers.yml similarity index 100% rename from _data/pages/en/developers.yml rename to _data/pages/developers.yml diff --git a/_data/pages/en/disclaimers.yml b/_data/pages/disclaimers.yml similarity index 100% rename from _data/pages/en/disclaimers.yml rename to _data/pages/disclaimers.yml diff --git a/_data/pages/en/ecosystem.yml b/_data/pages/ecosystem.yml similarity index 100% rename from _data/pages/en/ecosystem.yml rename to _data/pages/ecosystem.yml diff --git a/_data/pages/en/frequently-asked-questions.yml b/_data/pages/frequently-asked-questions.yml similarity index 100% rename from _data/pages/en/frequently-asked-questions.yml rename to _data/pages/frequently-asked-questions.yml diff --git a/_data/pages/en/glossary.yml b/_data/pages/glossary.yml similarity index 100% rename from _data/pages/en/glossary.yml rename to _data/pages/glossary.yml diff --git a/_data/pages/en/governance.yml b/_data/pages/governance.yml similarity index 100% rename from _data/pages/en/governance.yml rename to _data/pages/governance.yml diff --git a/_data/pages/en/home.yml b/_data/pages/home.yml similarity index 100% rename from _data/pages/en/home.yml rename to _data/pages/home.yml diff --git a/_data/pages/en/language-resources.yml b/_data/pages/language-resources.yml similarity index 100% rename from _data/pages/en/language-resources.yml rename to _data/pages/language-resources.yml diff --git a/_data/pages/en/language-support.yml b/_data/pages/language-support.yml similarity index 100% rename from _data/pages/en/language-support.yml rename to _data/pages/language-support.yml diff --git a/_data/pages/en/learn.yml b/_data/pages/learn.yml similarity index 100% rename from _data/pages/en/learn.yml rename to _data/pages/learn.yml diff --git a/_data/pages/en/online-communities.yml b/_data/pages/online-communities.yml similarity index 100% rename from _data/pages/en/online-communities.yml rename to _data/pages/online-communities.yml diff --git a/_data/pages/en/resources-and-tools.yml b/_data/pages/resources-and-tools.yml similarity index 100% rename from _data/pages/en/resources-and-tools.yml rename to _data/pages/resources-and-tools.yml diff --git a/_data/pages/en/test-media-kit.yml b/_data/pages/test-media-kit.yml similarity index 100% rename from _data/pages/en/test-media-kit.yml rename to _data/pages/test-media-kit.yml diff --git a/_data/pages/en/wallets.yml b/_data/pages/wallets.yml similarity index 100% rename from _data/pages/en/wallets.yml rename to _data/pages/wallets.yml diff --git a/_data/pages/en/what-is-starknet.yml b/_data/pages/what-is-starknet.yml similarity index 100% rename from _data/pages/en/what-is-starknet.yml rename to _data/pages/what-is-starknet.yml diff --git a/_data/posts/en/a-thundering-herd-the-rise-of-l2-native-dapps.yml b/_data/posts/a-thundering-herd-the-rise-of-l2-native-dapps.yml similarity index 100% rename from _data/posts/en/a-thundering-herd-the-rise-of-l2-native-dapps.yml rename to _data/posts/a-thundering-herd-the-rise-of-l2-native-dapps.yml diff --git a/_data/posts/en/cairo-1-0-alpha-2-new-release-is-coming.yml b/_data/posts/cairo-1-0-alpha-2-new-release-is-coming.yml similarity index 100% rename from _data/posts/en/cairo-1-0-alpha-2-new-release-is-coming.yml rename to _data/posts/cairo-1-0-alpha-2-new-release-is-coming.yml diff --git a/_data/posts/en/cairo-1-0-is-here.yml b/_data/posts/cairo-1-0-is-here.yml similarity index 100% rename from _data/posts/en/cairo-1-0-is-here.yml rename to _data/posts/cairo-1-0-is-here.yml diff --git a/_data/posts/en/cairo-1-0.yml b/_data/posts/cairo-1-0.yml similarity index 100% rename from _data/posts/en/cairo-1-0.yml rename to _data/posts/cairo-1-0.yml diff --git a/_data/posts/en/community-call-1.yml b/_data/posts/community-call-1.yml similarity index 100% rename from _data/posts/en/community-call-1.yml rename to _data/posts/community-call-1.yml diff --git a/_data/posts/en/community-call-10-building-react-apps-on-starknet-with-francesco-ceccon.yml b/_data/posts/community-call-10-building-react-apps-on-starknet-with-francesco-ceccon.yml similarity index 100% rename from _data/posts/en/community-call-10-building-react-apps-on-starknet-with-francesco-ceccon.yml rename to _data/posts/community-call-10-building-react-apps-on-starknet-with-francesco-ceccon.yml diff --git a/_data/posts/en/community-call-11-presenting-matchboxdao-ogame-guiltygyoza-presenting-solve-2-mint.yml b/_data/posts/community-call-11-presenting-matchboxdao-ogame-guiltygyoza-presenting-solve-2-mint.yml similarity index 100% rename from _data/posts/en/community-call-11-presenting-matchboxdao-ogame-guiltygyoza-presenting-solve-2-mint.yml rename to _data/posts/community-call-11-presenting-matchboxdao-ogame-guiltygyoza-presenting-solve-2-mint.yml diff --git a/_data/posts/en/community-call-12-starknets-decentralization.yml b/_data/posts/community-call-12-starknets-decentralization.yml similarity index 100% rename from _data/posts/en/community-call-12-starknets-decentralization.yml rename to _data/posts/community-call-12-starknets-decentralization.yml diff --git a/_data/posts/en/community-call-13-version-updates-and-educational-resources.yml b/_data/posts/community-call-13-version-updates-and-educational-resources.yml similarity index 100% rename from _data/posts/en/community-call-13-version-updates-and-educational-resources.yml rename to _data/posts/community-call-13-version-updates-and-educational-resources.yml diff --git a/_data/posts/en/community-call-15-presentation-by-braavos.yml b/_data/posts/community-call-15-presentation-by-braavos.yml similarity index 100% rename from _data/posts/en/community-call-15-presentation-by-braavos.yml rename to _data/posts/community-call-15-presentation-by-braavos.yml diff --git a/_data/posts/en/community-call-16-discussing-starknet-and-snapshot-partnership.yml b/_data/posts/community-call-16-discussing-starknet-and-snapshot-partnership.yml similarity index 100% rename from _data/posts/en/community-call-16-discussing-starknet-and-snapshot-partnership.yml rename to _data/posts/community-call-16-discussing-starknet-and-snapshot-partnership.yml diff --git a/_data/posts/en/community-call-17-talking-about-recursion.yml b/_data/posts/community-call-17-talking-about-recursion.yml similarity index 100% rename from _data/posts/en/community-call-17-talking-about-recursion.yml rename to _data/posts/community-call-17-talking-about-recursion.yml diff --git a/_data/posts/en/community-call-18-nethermind-presenting-warp-transpiler.yml b/_data/posts/community-call-18-nethermind-presenting-warp-transpiler.yml similarity index 100% rename from _data/posts/en/community-call-18-nethermind-presenting-warp-transpiler.yml rename to _data/posts/community-call-18-nethermind-presenting-warp-transpiler.yml diff --git a/_data/posts/en/community-call-19-talking-with-mirko-from-equilibrium-about-full-nodes.yml b/_data/posts/community-call-19-talking-with-mirko-from-equilibrium-about-full-nodes.yml similarity index 100% rename from _data/posts/en/community-call-19-talking-with-mirko-from-equilibrium-about-full-nodes.yml rename to _data/posts/community-call-19-talking-with-mirko-from-equilibrium-about-full-nodes.yml diff --git a/_data/posts/en/community-call-2-shard-labs-hardhat-plugin-data-availability-volition-and-more.yml b/_data/posts/community-call-2-shard-labs-hardhat-plugin-data-availability-volition-and-more.yml similarity index 100% rename from _data/posts/en/community-call-2-shard-labs-hardhat-plugin-data-availability-volition-and-more.yml rename to _data/posts/community-call-2-shard-labs-hardhat-plugin-data-availability-volition-and-more.yml diff --git a/_data/posts/en/community-call-20-liron-hayman-is-hosting-jane-from-zklend.yml b/_data/posts/community-call-20-liron-hayman-is-hosting-jane-from-zklend.yml similarity index 100% rename from _data/posts/en/community-call-20-liron-hayman-is-hosting-jane-from-zklend.yml rename to _data/posts/community-call-20-liron-hayman-is-hosting-jane-from-zklend.yml diff --git a/_data/posts/en/community-call-21-multi-sigs-on-starknet-roadmap-updates.yml b/_data/posts/community-call-21-multi-sigs-on-starknet-roadmap-updates.yml similarity index 100% rename from _data/posts/en/community-call-21-multi-sigs-on-starknet-roadmap-updates.yml rename to _data/posts/community-call-21-multi-sigs-on-starknet-roadmap-updates.yml diff --git a/_data/posts/en/community-call-22-presentation-by-frens-lands-roadmap-updates.yml b/_data/posts/community-call-22-presentation-by-frens-lands-roadmap-updates.yml similarity index 100% rename from _data/posts/en/community-call-22-presentation-by-frens-lands-roadmap-updates.yml rename to _data/posts/community-call-22-presentation-by-frens-lands-roadmap-updates.yml diff --git a/_data/posts/en/community-call-24-presentation-by-cartridge.yml b/_data/posts/community-call-24-presentation-by-cartridge.yml similarity index 100% rename from _data/posts/en/community-call-24-presentation-by-cartridge.yml rename to _data/posts/community-call-24-presentation-by-cartridge.yml diff --git a/_data/posts/en/community-call-25-upcoming-versions-and-regenesis.yml b/_data/posts/community-call-25-upcoming-versions-and-regenesis.yml similarity index 100% rename from _data/posts/en/community-call-25-upcoming-versions-and-regenesis.yml rename to _data/posts/community-call-25-upcoming-versions-and-regenesis.yml diff --git a/_data/posts/en/community-call-26-metamask-infura-truffle-and-diligence-with-consensys.yml b/_data/posts/community-call-26-metamask-infura-truffle-and-diligence-with-consensys.yml similarity index 100% rename from _data/posts/en/community-call-26-metamask-infura-truffle-and-diligence-with-consensys.yml rename to _data/posts/community-call-26-metamask-infura-truffle-and-diligence-with-consensys.yml diff --git a/_data/posts/en/community-call-27-presentation-of-carbonable-starksheet.yml b/_data/posts/community-call-27-presentation-of-carbonable-starksheet.yml similarity index 100% rename from _data/posts/en/community-call-27-presentation-of-carbonable-starksheet.yml rename to _data/posts/community-call-27-presentation-of-carbonable-starksheet.yml diff --git a/_data/posts/en/community-call-28-presentation-by-summary-dev.yml b/_data/posts/community-call-28-presentation-by-summary-dev.yml similarity index 100% rename from _data/posts/en/community-call-28-presentation-by-summary-dev.yml rename to _data/posts/community-call-28-presentation-by-summary-dev.yml diff --git a/_data/posts/en/community-call-29-community-update.yml b/_data/posts/community-call-29-community-update.yml similarity index 100% rename from _data/posts/en/community-call-29-community-update.yml rename to _data/posts/community-call-29-community-update.yml diff --git a/_data/posts/en/community-call-30-introducing-starknet-governance.yml b/_data/posts/community-call-30-introducing-starknet-governance.yml similarity index 100% rename from _data/posts/en/community-call-30-introducing-starknet-governance.yml rename to _data/posts/community-call-30-introducing-starknet-governance.yml diff --git a/_data/posts/en/community-call-31-the-new-starknet-rust-sequencer.yml b/_data/posts/community-call-31-the-new-starknet-rust-sequencer.yml similarity index 100% rename from _data/posts/en/community-call-31-the-new-starknet-rust-sequencer.yml rename to _data/posts/community-call-31-the-new-starknet-rust-sequencer.yml diff --git a/_data/posts/en/community-call-32-starknet-v0-11-and-cairo-1-0.yml b/_data/posts/community-call-32-starknet-v0-11-and-cairo-1-0.yml similarity index 100% rename from _data/posts/en/community-call-32-starknet-v0-11-and-cairo-1-0.yml rename to _data/posts/community-call-32-starknet-v0-11-and-cairo-1-0.yml diff --git a/_data/posts/en/community-call-4-argent-x-presentation-and-bridging-and-messaging-on-starknet.yml b/_data/posts/community-call-4-argent-x-presentation-and-bridging-and-messaging-on-starknet.yml similarity index 100% rename from _data/posts/en/community-call-4-argent-x-presentation-and-bridging-and-messaging-on-starknet.yml rename to _data/posts/community-call-4-argent-x-presentation-and-bridging-and-messaging-on-starknet.yml diff --git a/_data/posts/en/community-call-5-2021-wrap-up-fee-mechanism-alpha-versions.yml b/_data/posts/community-call-5-2021-wrap-up-fee-mechanism-alpha-versions.yml similarity index 100% rename from _data/posts/en/community-call-5-2021-wrap-up-fee-mechanism-alpha-versions.yml rename to _data/posts/community-call-5-2021-wrap-up-fee-mechanism-alpha-versions.yml diff --git a/_data/posts/en/community-call-6-presenting-zorro-starknet-alpha.yml b/_data/posts/community-call-6-presenting-zorro-starknet-alpha.yml similarity index 100% rename from _data/posts/en/community-call-6-presenting-zorro-starknet-alpha.yml rename to _data/posts/community-call-6-presenting-zorro-starknet-alpha.yml diff --git a/_data/posts/en/community-call-7-greg-from-nethermind-and-updates-on-starknet-roadmap.yml b/_data/posts/community-call-7-greg-from-nethermind-and-updates-on-starknet-roadmap.yml similarity index 100% rename from _data/posts/en/community-call-7-greg-from-nethermind-and-updates-on-starknet-roadmap.yml rename to _data/posts/community-call-7-greg-from-nethermind-and-updates-on-starknet-roadmap.yml diff --git a/_data/posts/en/community-call-8.yml b/_data/posts/community-call-8.yml similarity index 100% rename from _data/posts/en/community-call-8.yml rename to _data/posts/community-call-8.yml diff --git a/_data/posts/en/community-call-9.yml b/_data/posts/community-call-9.yml similarity index 100% rename from _data/posts/en/community-call-9.yml rename to _data/posts/community-call-9.yml diff --git a/_data/posts/en/crypto-gurkha-walk-the-talk-szn2-ep-3.yml b/_data/posts/crypto-gurkha-walk-the-talk-szn2-ep-3.yml similarity index 100% rename from _data/posts/en/crypto-gurkha-walk-the-talk-szn2-ep-3.yml rename to _data/posts/crypto-gurkha-walk-the-talk-szn2-ep-3.yml diff --git a/_data/posts/en/crypto-gurkha-walk-the-talk-szn2-ep-4.yml b/_data/posts/crypto-gurkha-walk-the-talk-szn2-ep-4.yml similarity index 100% rename from _data/posts/en/crypto-gurkha-walk-the-talk-szn2-ep-4.yml rename to _data/posts/crypto-gurkha-walk-the-talk-szn2-ep-4.yml diff --git a/_data/posts/en/decentralizing-decision-making-nathan-heyden-avihu-levy.yml b/_data/posts/decentralizing-decision-making-nathan-heyden-avihu-levy.yml similarity index 100% rename from _data/posts/en/decentralizing-decision-making-nathan-heyden-avihu-levy.yml rename to _data/posts/decentralizing-decision-making-nathan-heyden-avihu-levy.yml diff --git a/_data/posts/en/empire-podcast-starkware-l3s-and-the-zk-rollup-future-eli-ben-sasson-uri-kolodny.yml b/_data/posts/empire-podcast-starkware-l3s-and-the-zk-rollup-future-eli-ben-sasson-uri-kolodny.yml similarity index 100% rename from _data/posts/en/empire-podcast-starkware-l3s-and-the-zk-rollup-future-eli-ben-sasson-uri-kolodny.yml rename to _data/posts/empire-podcast-starkware-l3s-and-the-zk-rollup-future-eli-ben-sasson-uri-kolodny.yml diff --git a/_data/posts/en/encode-ama-with-tom-brand-about-starknet-and-more.yml b/_data/posts/encode-ama-with-tom-brand-about-starknet-and-more.yml similarity index 100% rename from _data/posts/en/encode-ama-with-tom-brand-about-starknet-and-more.yml rename to _data/posts/encode-ama-with-tom-brand-about-starknet-and-more.yml diff --git a/_data/posts/en/ethcc-5-stark-recursion-avihu-levy.yml b/_data/posts/ethcc-5-stark-recursion-avihu-levy.yml similarity index 100% rename from _data/posts/en/ethcc-5-stark-recursion-avihu-levy.yml rename to _data/posts/ethcc-5-stark-recursion-avihu-levy.yml diff --git a/_data/posts/en/ethcc-5-starknet-next-steps-eli-ben-sasson.yml b/_data/posts/ethcc-5-starknet-next-steps-eli-ben-sasson.yml similarity index 100% rename from _data/posts/en/ethcc-5-starknet-next-steps-eli-ben-sasson.yml rename to _data/posts/ethcc-5-starknet-next-steps-eli-ben-sasson.yml diff --git a/_data/posts/en/ethprague-stark-recursion-avihu-levy.yml b/_data/posts/ethprague-stark-recursion-avihu-levy.yml similarity index 100% rename from _data/posts/en/ethprague-stark-recursion-avihu-levy.yml rename to _data/posts/ethprague-stark-recursion-avihu-levy.yml diff --git a/_data/posts/en/howstarknetisrevolutionizingcryptosigning.yml b/_data/posts/howstarknetisrevolutionizingcryptosigning.yml similarity index 100% rename from _data/posts/en/howstarknetisrevolutionizingcryptosigning.yml rename to _data/posts/howstarknetisrevolutionizingcryptosigning.yml diff --git a/_data/posts/en/improving-security-and-user-experience-for-mainstream-crypto-adoption.yml b/_data/posts/improving-security-and-user-experience-for-mainstream-crypto-adoption.yml similarity index 100% rename from _data/posts/en/improving-security-and-user-experience-for-mainstream-crypto-adoption.yml rename to _data/posts/improving-security-and-user-experience-for-mainstream-crypto-adoption.yml diff --git a/_data/posts/en/introducing-the-starknet-foundation.yml b/_data/posts/introducing-the-starknet-foundation.yml similarity index 100% rename from _data/posts/en/introducing-the-starknet-foundation.yml rename to _data/posts/introducing-the-starknet-foundation.yml diff --git a/_data/posts/en/on-the-road-to-starknet-a-permissionless-stark-powered-l2-zk-rollup.yml b/_data/posts/on-the-road-to-starknet-a-permissionless-stark-powered-l2-zk-rollup.yml similarity index 100% rename from _data/posts/en/on-the-road-to-starknet-a-permissionless-stark-powered-l2-zk-rollup.yml rename to _data/posts/on-the-road-to-starknet-a-permissionless-stark-powered-l2-zk-rollup.yml diff --git a/_data/posts/en/open-sourcing-cairo-1-0.yml b/_data/posts/open-sourcing-cairo-1-0.yml similarity index 100% rename from _data/posts/en/open-sourcing-cairo-1-0.yml rename to _data/posts/open-sourcing-cairo-1-0.yml diff --git a/_data/posts/en/open-sourcing-the-starknet-prover.yml b/_data/posts/open-sourcing-the-starknet-prover.yml similarity index 100% rename from _data/posts/en/open-sourcing-the-starknet-prover.yml rename to _data/posts/open-sourcing-the-starknet-prover.yml diff --git a/_data/posts/en/papyrus-an-open-source-starknet-full-node.yml b/_data/posts/papyrus-an-open-source-starknet-full-node.yml similarity index 100% rename from _data/posts/en/papyrus-an-open-source-starknet-full-node.yml rename to _data/posts/papyrus-an-open-source-starknet-full-node.yml diff --git a/_data/posts/en/part-1-starknet-sovereignty-a-decentralization-proposal.yml b/_data/posts/part-1-starknet-sovereignty-a-decentralization-proposal.yml similarity index 100% rename from _data/posts/en/part-1-starknet-sovereignty-a-decentralization-proposal.yml rename to _data/posts/part-1-starknet-sovereignty-a-decentralization-proposal.yml diff --git a/_data/posts/en/part-2-a-decentralization-and-governance-proposal-for-starknet.yml b/_data/posts/part-2-a-decentralization-and-governance-proposal-for-starknet.yml similarity index 100% rename from _data/posts/en/part-2-a-decentralization-and-governance-proposal-for-starknet.yml rename to _data/posts/part-2-a-decentralization-and-governance-proposal-for-starknet.yml diff --git a/_data/posts/en/part-3-starknet-token-design.yml b/_data/posts/part-3-starknet-token-design.yml similarity index 100% rename from _data/posts/en/part-3-starknet-token-design.yml rename to _data/posts/part-3-starknet-token-design.yml diff --git a/_data/posts/en/recursive-starks.yml b/_data/posts/recursive-starks.yml similarity index 100% rename from _data/posts/en/recursive-starks.yml rename to _data/posts/recursive-starks.yml diff --git a/_data/posts/en/redefining-scalability.yml b/_data/posts/redefining-scalability.yml similarity index 100% rename from _data/posts/en/redefining-scalability.yml rename to _data/posts/redefining-scalability.yml diff --git a/_data/posts/en/rollup-validium-volition-where-is-your-data-stored.yml b/_data/posts/rollup-validium-volition-where-is-your-data-stored.yml similarity index 100% rename from _data/posts/en/rollup-validium-volition-where-is-your-data-stored.yml rename to _data/posts/rollup-validium-volition-where-is-your-data-stored.yml diff --git a/_data/posts/en/smartcon-2022-unleashing-the-power-of-l2-dapps.yml b/_data/posts/smartcon-2022-unleashing-the-power-of-l2-dapps.yml similarity index 100% rename from _data/posts/en/smartcon-2022-unleashing-the-power-of-l2-dapps.yml rename to _data/posts/smartcon-2022-unleashing-the-power-of-l2-dapps.yml diff --git a/_data/posts/en/stark-home-10-zero-knowledge-the-known-unknown.yml b/_data/posts/stark-home-10-zero-knowledge-the-known-unknown.yml similarity index 100% rename from _data/posts/en/stark-home-10-zero-knowledge-the-known-unknown.yml rename to _data/posts/stark-home-10-zero-knowledge-the-known-unknown.yml diff --git a/_data/posts/en/stark-home-11-preserving-mathematical-distancing.yml b/_data/posts/stark-home-11-preserving-mathematical-distancing.yml similarity index 100% rename from _data/posts/en/stark-home-11-preserving-mathematical-distancing.yml rename to _data/posts/stark-home-11-preserving-mathematical-distancing.yml diff --git a/_data/posts/en/stark-home-12-how-2-l2-stark.yml b/_data/posts/stark-home-12-how-2-l2-stark.yml similarity index 100% rename from _data/posts/en/stark-home-12-how-2-l2-stark.yml rename to _data/posts/stark-home-12-how-2-l2-stark.yml diff --git a/_data/posts/en/stark-home-13-dark-forest-escape-route.yml b/_data/posts/stark-home-13-dark-forest-escape-route.yml similarity index 100% rename from _data/posts/en/stark-home-13-dark-forest-escape-route.yml rename to _data/posts/stark-home-13-dark-forest-escape-route.yml diff --git a/_data/posts/en/stark-home-14-one-stark-to-rule-them-all.yml b/_data/posts/stark-home-14-one-stark-to-rule-them-all.yml similarity index 100% rename from _data/posts/en/stark-home-14-one-stark-to-rule-them-all.yml rename to _data/posts/stark-home-14-one-stark-to-rule-them-all.yml diff --git a/_data/posts/en/stark-home-15-shrinking-proofs-via-cryptographic-sampling.yml b/_data/posts/stark-home-15-shrinking-proofs-via-cryptographic-sampling.yml similarity index 100% rename from _data/posts/en/stark-home-15-shrinking-proofs-via-cryptographic-sampling.yml rename to _data/posts/stark-home-15-shrinking-proofs-via-cryptographic-sampling.yml diff --git a/_data/posts/en/stark-home-16-recursive-starks.yml b/_data/posts/stark-home-16-recursive-starks.yml similarity index 100% rename from _data/posts/en/stark-home-16-recursive-starks.yml rename to _data/posts/stark-home-16-recursive-starks.yml diff --git a/_data/posts/en/stark-home-17-the-value-of-errors-in-proofs.yml b/_data/posts/stark-home-17-the-value-of-errors-in-proofs.yml similarity index 100% rename from _data/posts/en/stark-home-17-the-value-of-errors-in-proofs.yml rename to _data/posts/stark-home-17-the-value-of-errors-in-proofs.yml diff --git a/_data/posts/en/stark-home-18-t-epsilon-capital-efficiency-on-l2-defi.yml b/_data/posts/stark-home-18-t-epsilon-capital-efficiency-on-l2-defi.yml similarity index 100% rename from _data/posts/en/stark-home-18-t-epsilon-capital-efficiency-on-l2-defi.yml rename to _data/posts/stark-home-18-t-epsilon-capital-efficiency-on-l2-defi.yml diff --git a/_data/posts/en/stark-home-19-computational-integrity.yml b/_data/posts/stark-home-19-computational-integrity.yml similarity index 100% rename from _data/posts/en/stark-home-19-computational-integrity.yml rename to _data/posts/stark-home-19-computational-integrity.yml diff --git a/_data/posts/en/stark-home-2-fast-and-furious-fourier-transforms-pcps-starks.yml b/_data/posts/stark-home-2-fast-and-furious-fourier-transforms-pcps-starks.yml similarity index 100% rename from _data/posts/en/stark-home-2-fast-and-furious-fourier-transforms-pcps-starks.yml rename to _data/posts/stark-home-2-fast-and-furious-fourier-transforms-pcps-starks.yml diff --git a/_data/posts/en/stark-home-20-with-madhu-sudan-a-picture-is-worth-a-thousand-words.yml b/_data/posts/stark-home-20-with-madhu-sudan-a-picture-is-worth-a-thousand-words.yml similarity index 100% rename from _data/posts/en/stark-home-20-with-madhu-sudan-a-picture-is-worth-a-thousand-words.yml rename to _data/posts/stark-home-20-with-madhu-sudan-a-picture-is-worth-a-thousand-words.yml diff --git a/_data/posts/en/stark-home-21-starknet-planets-the-game-is-on.yml b/_data/posts/stark-home-21-starknet-planets-the-game-is-on.yml similarity index 100% rename from _data/posts/en/stark-home-21-starknet-planets-the-game-is-on.yml rename to _data/posts/stark-home-21-starknet-planets-the-game-is-on.yml diff --git a/_data/posts/en/stark-home-22-cairo-whitepaper-redux.yml b/_data/posts/stark-home-22-cairo-whitepaper-redux.yml similarity index 100% rename from _data/posts/en/stark-home-22-cairo-whitepaper-redux.yml rename to _data/posts/stark-home-22-cairo-whitepaper-redux.yml diff --git a/_data/posts/en/stark-home-23-in-mathematics-we-trust.yml b/_data/posts/stark-home-23-in-mathematics-we-trust.yml similarity index 100% rename from _data/posts/en/stark-home-23-in-mathematics-we-trust.yml rename to _data/posts/stark-home-23-in-mathematics-we-trust.yml diff --git a/_data/posts/en/stark-home-24-fireside-chat-with-professor-dan-boneh.yml b/_data/posts/stark-home-24-fireside-chat-with-professor-dan-boneh.yml similarity index 100% rename from _data/posts/en/stark-home-24-fireside-chat-with-professor-dan-boneh.yml rename to _data/posts/stark-home-24-fireside-chat-with-professor-dan-boneh.yml diff --git a/_data/posts/en/stark-home-25-warp-away-from-solidity-to-cairo.yml b/_data/posts/stark-home-25-warp-away-from-solidity-to-cairo.yml similarity index 100% rename from _data/posts/en/stark-home-25-warp-away-from-solidity-to-cairo.yml rename to _data/posts/stark-home-25-warp-away-from-solidity-to-cairo.yml diff --git a/_data/posts/en/stark-home-26-shafi-goldwasser-and-the-amazing-untold-invention-story-of-zk.yml b/_data/posts/stark-home-26-shafi-goldwasser-and-the-amazing-untold-invention-story-of-zk.yml similarity index 100% rename from _data/posts/en/stark-home-26-shafi-goldwasser-and-the-amazing-untold-invention-story-of-zk.yml rename to _data/posts/stark-home-26-shafi-goldwasser-and-the-amazing-untold-invention-story-of-zk.yml diff --git a/_data/posts/en/stark-home-27-recursing-on-recursion.yml b/_data/posts/stark-home-27-recursing-on-recursion.yml similarity index 100% rename from _data/posts/en/stark-home-27-recursing-on-recursion.yml rename to _data/posts/stark-home-27-recursing-on-recursion.yml diff --git a/_data/posts/en/stark-home-28-unlocking-the-magic.yml b/_data/posts/stark-home-28-unlocking-the-magic.yml similarity index 100% rename from _data/posts/en/stark-home-28-unlocking-the-magic.yml rename to _data/posts/stark-home-28-unlocking-the-magic.yml diff --git a/_data/posts/en/stark-home-3-lets-do-arithmetic-why-are-polynomials-used-in-succinct-zk-proofs.yml b/_data/posts/stark-home-3-lets-do-arithmetic-why-are-polynomials-used-in-succinct-zk-proofs.yml similarity index 100% rename from _data/posts/en/stark-home-3-lets-do-arithmetic-why-are-polynomials-used-in-succinct-zk-proofs.yml rename to _data/posts/stark-home-3-lets-do-arithmetic-why-are-polynomials-used-in-succinct-zk-proofs.yml diff --git a/_data/posts/en/stark-home-30-why-cairo-1-0.yml b/_data/posts/stark-home-30-why-cairo-1-0.yml similarity index 100% rename from _data/posts/en/stark-home-30-why-cairo-1-0.yml rename to _data/posts/stark-home-30-why-cairo-1-0.yml diff --git a/_data/posts/en/stark-home-4-hot-air-programming-for-succinct-zkps.yml b/_data/posts/stark-home-4-hot-air-programming-for-succinct-zkps.yml similarity index 100% rename from _data/posts/en/stark-home-4-hot-air-programming-for-succinct-zkps.yml rename to _data/posts/stark-home-4-hot-air-programming-for-succinct-zkps.yml diff --git a/_data/posts/en/stark-home-5-the-sounds-of-soundness.yml b/_data/posts/stark-home-5-the-sounds-of-soundness.yml similarity index 100% rename from _data/posts/en/stark-home-5-the-sounds-of-soundness.yml rename to _data/posts/stark-home-5-the-sounds-of-soundness.yml diff --git a/_data/posts/en/stark-home-6-deep-fri-dive.yml b/_data/posts/stark-home-6-deep-fri-dive.yml similarity index 100% rename from _data/posts/en/stark-home-6-deep-fri-dive.yml rename to _data/posts/stark-home-6-deep-fri-dive.yml diff --git a/_data/posts/en/stark-home-7-the-cambrian-explosion-of-crypto-proofs.yml b/_data/posts/stark-home-7-the-cambrian-explosion-of-crypto-proofs.yml similarity index 100% rename from _data/posts/en/stark-home-7-the-cambrian-explosion-of-crypto-proofs.yml rename to _data/posts/stark-home-7-the-cambrian-explosion-of-crypto-proofs.yml diff --git a/_data/posts/en/stark-home-8-time-warping-starks.yml b/_data/posts/stark-home-8-time-warping-starks.yml similarity index 100% rename from _data/posts/en/stark-home-8-time-warping-starks.yml rename to _data/posts/stark-home-8-time-warping-starks.yml diff --git a/_data/posts/en/stark-home-9-ethstark-open-source-stark-fastest-prover-included.yml b/_data/posts/stark-home-9-ethstark-open-source-stark-fastest-prover-included.yml similarity index 100% rename from _data/posts/en/stark-home-9-ethstark-open-source-stark-fastest-prover-included.yml rename to _data/posts/stark-home-9-ethstark-open-source-stark-fastest-prover-included.yml diff --git a/_data/posts/en/stark-spaces-apexpro.yml b/_data/posts/stark-spaces-apexpro.yml similarity index 100% rename from _data/posts/en/stark-spaces-apexpro.yml rename to _data/posts/stark-spaces-apexpro.yml diff --git a/_data/posts/en/stark-spaces-safe-cex.yml b/_data/posts/stark-spaces-safe-cex.yml similarity index 100% rename from _data/posts/en/stark-spaces-safe-cex.yml rename to _data/posts/stark-spaces-safe-cex.yml diff --git a/_data/posts/en/stark-spaces-starknet-regenesis.yml b/_data/posts/stark-spaces-starknet-regenesis.yml similarity index 100% rename from _data/posts/en/stark-spaces-starknet-regenesis.yml rename to _data/posts/stark-spaces-starknet-regenesis.yml diff --git a/_data/posts/en/stark-struck-podcast-ep-1-guiltygyoza-1.yml b/_data/posts/stark-struck-podcast-ep-1-guiltygyoza-1.yml similarity index 100% rename from _data/posts/en/stark-struck-podcast-ep-1-guiltygyoza-1.yml rename to _data/posts/stark-struck-podcast-ep-1-guiltygyoza-1.yml diff --git a/_data/posts/en/stark-struck-podcast-ep-1-guiltygyoza.yml b/_data/posts/stark-struck-podcast-ep-1-guiltygyoza.yml similarity index 100% rename from _data/posts/en/stark-struck-podcast-ep-1-guiltygyoza.yml rename to _data/posts/stark-struck-podcast-ep-1-guiltygyoza.yml diff --git a/_data/posts/en/stark-struck-podcast-ep-10-tarrence-from-cartridge.yml b/_data/posts/stark-struck-podcast-ep-10-tarrence-from-cartridge.yml similarity index 100% rename from _data/posts/en/stark-struck-podcast-ep-10-tarrence-from-cartridge.yml rename to _data/posts/stark-struck-podcast-ep-10-tarrence-from-cartridge.yml diff --git a/_data/posts/en/stark-struck-podcast-ep-3-jag-1.yml b/_data/posts/stark-struck-podcast-ep-3-jag-1.yml similarity index 100% rename from _data/posts/en/stark-struck-podcast-ep-3-jag-1.yml rename to _data/posts/stark-struck-podcast-ep-3-jag-1.yml diff --git a/_data/posts/en/stark-struck-podcast-ep-3-jag.yml b/_data/posts/stark-struck-podcast-ep-3-jag.yml similarity index 100% rename from _data/posts/en/stark-struck-podcast-ep-3-jag.yml rename to _data/posts/stark-struck-podcast-ep-3-jag.yml diff --git a/_data/posts/en/stark-struck-podcast-ep-5-sean-han-from-aspect.yml b/_data/posts/stark-struck-podcast-ep-5-sean-han-from-aspect.yml similarity index 100% rename from _data/posts/en/stark-struck-podcast-ep-5-sean-han-from-aspect.yml rename to _data/posts/stark-struck-podcast-ep-5-sean-han-from-aspect.yml diff --git a/_data/posts/en/stark-struck-podcast-ep-6-julien-niset-from-argent.yml b/_data/posts/stark-struck-podcast-ep-6-julien-niset-from-argent.yml similarity index 100% rename from _data/posts/en/stark-struck-podcast-ep-6-julien-niset-from-argent.yml rename to _data/posts/stark-struck-podcast-ep-6-julien-niset-from-argent.yml diff --git a/_data/posts/en/stark-struck-podcast-ep-7-brian-and-jane-from-zklend.yml b/_data/posts/stark-struck-podcast-ep-7-brian-and-jane-from-zklend.yml similarity index 100% rename from _data/posts/en/stark-struck-podcast-ep-7-brian-and-jane-from-zklend.yml rename to _data/posts/stark-struck-podcast-ep-7-brian-and-jane-from-zklend.yml diff --git a/_data/posts/en/stark-struck-podcast-ep-8-marcello-bardus-from-herodotus.yml b/_data/posts/stark-struck-podcast-ep-8-marcello-bardus-from-herodotus.yml similarity index 100% rename from _data/posts/en/stark-struck-podcast-ep-8-marcello-bardus-from-herodotus.yml rename to _data/posts/stark-struck-podcast-ep-8-marcello-bardus-from-herodotus.yml diff --git a/_data/posts/en/stark-struck-podcast-ep-9-scott-piriou-from-snapshot.yml b/_data/posts/stark-struck-podcast-ep-9-scott-piriou-from-snapshot.yml similarity index 100% rename from _data/posts/en/stark-struck-podcast-ep-9-scott-piriou-from-snapshot.yml rename to _data/posts/stark-struck-podcast-ep-9-scott-piriou-from-snapshot.yml diff --git a/_data/posts/en/stark-struck-podcast-episode-9-henri-lieutaud-with-scott-piriou-from-snapshot.yml b/_data/posts/stark-struck-podcast-episode-9-henri-lieutaud-with-scott-piriou-from-snapshot.yml similarity index 100% rename from _data/posts/en/stark-struck-podcast-episode-9-henri-lieutaud-with-scott-piriou-from-snapshot.yml rename to _data/posts/stark-struck-podcast-episode-9-henri-lieutaud-with-scott-piriou-from-snapshot.yml diff --git a/_data/posts/en/starkgate-alpha.yml b/_data/posts/starkgate-alpha.yml similarity index 100% rename from _data/posts/en/starkgate-alpha.yml rename to _data/posts/starkgate-alpha.yml diff --git a/_data/posts/en/starknet-alpha-0-10-0-released-to-mainnet.yml b/_data/posts/starknet-alpha-0-10-0-released-to-mainnet.yml similarity index 100% rename from _data/posts/en/starknet-alpha-0-10-0-released-to-mainnet.yml rename to _data/posts/starknet-alpha-0-10-0-released-to-mainnet.yml diff --git a/_data/posts/en/starknet-alpha-0-10-0.yml b/_data/posts/starknet-alpha-0-10-0.yml similarity index 100% rename from _data/posts/en/starknet-alpha-0-10-0.yml rename to _data/posts/starknet-alpha-0-10-0.yml diff --git a/_data/posts/en/starknet-alpha-0-7-0.yml b/_data/posts/starknet-alpha-0-7-0.yml similarity index 100% rename from _data/posts/en/starknet-alpha-0-7-0.yml rename to _data/posts/starknet-alpha-0-7-0.yml diff --git a/_data/posts/en/starknet-alpha-0-8-0.yml b/_data/posts/starknet-alpha-0-8-0.yml similarity index 100% rename from _data/posts/en/starknet-alpha-0-8-0.yml rename to _data/posts/starknet-alpha-0-8-0.yml diff --git a/_data/posts/en/starknet-alpha-0-9-0.yml b/_data/posts/starknet-alpha-0-9-0.yml similarity index 100% rename from _data/posts/en/starknet-alpha-0-9-0.yml rename to _data/posts/starknet-alpha-0-9-0.yml diff --git a/_data/posts/en/starknet-alpha-1.yml b/_data/posts/starknet-alpha-1.yml similarity index 100% rename from _data/posts/en/starknet-alpha-1.yml rename to _data/posts/starknet-alpha-1.yml diff --git a/_data/posts/en/starknet-alpha-2.yml b/_data/posts/starknet-alpha-2.yml similarity index 100% rename from _data/posts/en/starknet-alpha-2.yml rename to _data/posts/starknet-alpha-2.yml diff --git a/_data/posts/en/starknet-alpha-4-release.yml b/_data/posts/starknet-alpha-4-release.yml similarity index 100% rename from _data/posts/en/starknet-alpha-4-release.yml rename to _data/posts/starknet-alpha-4-release.yml diff --git a/_data/posts/en/starknet-alpha-is-coming-to-mainnet.yml b/_data/posts/starknet-alpha-is-coming-to-mainnet.yml similarity index 100% rename from _data/posts/en/starknet-alpha-is-coming-to-mainnet.yml rename to _data/posts/starknet-alpha-is-coming-to-mainnet.yml diff --git a/_data/posts/en/starknet-alpha-now-on-mainnet.yml b/_data/posts/starknet-alpha-now-on-mainnet.yml similarity index 100% rename from _data/posts/en/starknet-alpha-now-on-mainnet.yml rename to _data/posts/starknet-alpha-now-on-mainnet.yml diff --git a/_data/posts/en/starknet-alpha-v0-11-0-the-transition-to-cairo-1-0-begins.yml b/_data/posts/starknet-alpha-v0-11-0-the-transition-to-cairo-1-0-begins.yml similarity index 100% rename from _data/posts/en/starknet-alpha-v0-11-0-the-transition-to-cairo-1-0-begins.yml rename to _data/posts/starknet-alpha-v0-11-0-the-transition-to-cairo-1-0-begins.yml diff --git a/_data/posts/en/starknet-community-call-23-presentation-by-braavos-and-roadmap-updates.yml b/_data/posts/starknet-community-call-23-presentation-by-braavos-and-roadmap-updates.yml similarity index 100% rename from _data/posts/en/starknet-community-call-23-presentation-by-braavos-and-roadmap-updates.yml rename to _data/posts/starknet-community-call-23-presentation-by-braavos-and-roadmap-updates.yml diff --git a/_data/posts/en/starknet-community-call-33-papyrus-starknets-new-full-node.yml b/_data/posts/starknet-community-call-33-papyrus-starknets-new-full-node.yml similarity index 100% rename from _data/posts/en/starknet-community-call-33-papyrus-starknets-new-full-node.yml rename to _data/posts/starknet-community-call-33-papyrus-starknets-new-full-node.yml diff --git a/_data/posts/en/starknet-community-call-34-presenting-hashstack.yml b/_data/posts/starknet-community-call-34-presenting-hashstack.yml similarity index 100% rename from _data/posts/en/starknet-community-call-34-presenting-hashstack.yml rename to _data/posts/starknet-community-call-34-presenting-hashstack.yml diff --git a/_data/posts/en/starknet-community-call-35-sharp-the-backbone-of-starknet.yml b/_data/posts/starknet-community-call-35-sharp-the-backbone-of-starknet.yml similarity index 100% rename from _data/posts/en/starknet-community-call-35-sharp-the-backbone-of-starknet.yml rename to _data/posts/starknet-community-call-35-sharp-the-backbone-of-starknet.yml diff --git a/_data/posts/en/starknet-community-call-36-a-foretaste-of-protostar-with-cairo1.yml b/_data/posts/starknet-community-call-36-a-foretaste-of-protostar-with-cairo1.yml similarity index 100% rename from _data/posts/en/starknet-community-call-36-a-foretaste-of-protostar-with-cairo1.yml rename to _data/posts/starknet-community-call-36-a-foretaste-of-protostar-with-cairo1.yml diff --git a/_data/posts/en/starknet-community-call-37-starknet-alpha-v0-11-0.yml b/_data/posts/starknet-community-call-37-starknet-alpha-v0-11-0.yml similarity index 100% rename from _data/posts/en/starknet-community-call-37-starknet-alpha-v0-11-0.yml rename to _data/posts/starknet-community-call-37-starknet-alpha-v0-11-0.yml diff --git a/_data/posts/en/starknet-community-call-38-starknet-roadmap-updates.yml b/_data/posts/starknet-community-call-38-starknet-roadmap-updates.yml similarity index 100% rename from _data/posts/en/starknet-community-call-38-starknet-roadmap-updates.yml rename to _data/posts/starknet-community-call-38-starknet-roadmap-updates.yml diff --git a/_data/posts/en/starknet-decentralized-and-permissionless-zk-rollups.yml b/_data/posts/starknet-decentralized-and-permissionless-zk-rollups.yml similarity index 100% rename from _data/posts/en/starknet-decentralized-and-permissionless-zk-rollups.yml rename to _data/posts/starknet-decentralized-and-permissionless-zk-rollups.yml diff --git a/_data/posts/en/starknet-house-weekly-session-0.yml b/_data/posts/starknet-house-weekly-session-0.yml similarity index 100% rename from _data/posts/en/starknet-house-weekly-session-0.yml rename to _data/posts/starknet-house-weekly-session-0.yml diff --git a/_data/posts/en/starknet-house-weekly-session-1.yml b/_data/posts/starknet-house-weekly-session-1.yml similarity index 100% rename from _data/posts/en/starknet-house-weekly-session-1.yml rename to _data/posts/starknet-house-weekly-session-1.yml diff --git a/_data/posts/en/starknet-house-weekly-session-2.yml b/_data/posts/starknet-house-weekly-session-2.yml similarity index 100% rename from _data/posts/en/starknet-house-weekly-session-2.yml rename to _data/posts/starknet-house-weekly-session-2.yml diff --git a/_data/posts/en/starknet-on-to-the-next-challenge.yml b/_data/posts/starknet-on-to-the-next-challenge.yml similarity index 100% rename from _data/posts/en/starknet-on-to-the-next-challenge.yml rename to _data/posts/starknet-on-to-the-next-challenge.yml diff --git a/_data/posts/en/starknet-performance-roadmap.yml b/_data/posts/starknet-performance-roadmap.yml similarity index 100% rename from _data/posts/en/starknet-performance-roadmap.yml rename to _data/posts/starknet-performance-roadmap.yml diff --git a/_data/posts/en/starknet-planets-alpha-on-testnet.yml b/_data/posts/starknet-planets-alpha-on-testnet.yml similarity index 100% rename from _data/posts/en/starknet-planets-alpha-on-testnet.yml rename to _data/posts/starknet-planets-alpha-on-testnet.yml diff --git a/_data/posts/en/starknet-regenesis-the-plan.yml b/_data/posts/starknet-regenesis-the-plan.yml similarity index 100% rename from _data/posts/en/starknet-regenesis-the-plan.yml rename to _data/posts/starknet-regenesis-the-plan.yml diff --git a/_data/posts/en/starknet-token-is-deployed-on-ethereum.yml b/_data/posts/starknet-token-is-deployed-on-ethereum.yml similarity index 100% rename from _data/posts/en/starknet-token-is-deployed-on-ethereum.yml rename to _data/posts/starknet-token-is-deployed-on-ethereum.yml diff --git a/_data/posts/en/starknetcc-lisbon-a-folk-history-of-starknet-sylve-chevet.yml b/_data/posts/starknetcc-lisbon-a-folk-history-of-starknet-sylve-chevet.yml similarity index 100% rename from _data/posts/en/starknetcc-lisbon-a-folk-history-of-starknet-sylve-chevet.yml rename to _data/posts/starknetcc-lisbon-a-folk-history-of-starknet-sylve-chevet.yml diff --git a/_data/posts/en/starknets-governance-first-phase.yml b/_data/posts/starknets-governance-first-phase.yml similarity index 100% rename from _data/posts/en/starknets-governance-first-phase.yml rename to _data/posts/starknets-governance-first-phase.yml diff --git a/_data/posts/en/starknets-new-sequencer.yml b/_data/posts/starknets-new-sequencer.yml similarity index 100% rename from _data/posts/en/starknets-new-sequencer.yml rename to _data/posts/starknets-new-sequencer.yml diff --git a/_data/posts/en/starks-starkex-and-starknet.yml b/_data/posts/starks-starkex-and-starknet.yml similarity index 100% rename from _data/posts/en/starks-starkex-and-starknet.yml rename to _data/posts/starks-starkex-and-starknet.yml diff --git a/_data/posts/en/starkvietnam-conference-2022-vietnams-first-starknet-conference.yml b/_data/posts/starkvietnam-conference-2022-vietnams-first-starknet-conference.yml similarity index 100% rename from _data/posts/en/starkvietnam-conference-2022-vietnams-first-starknet-conference.yml rename to _data/posts/starkvietnam-conference-2022-vietnams-first-starknet-conference.yml diff --git a/_data/posts/en/starkware-isnt-leaving-ethereum-eli-ben-sasson-and-uri-kolodny-at-bankless.yml b/_data/posts/starkware-isnt-leaving-ethereum-eli-ben-sasson-and-uri-kolodny-at-bankless.yml similarity index 100% rename from _data/posts/en/starkware-isnt-leaving-ethereum-eli-ben-sasson-and-uri-kolodny-at-bankless.yml rename to _data/posts/starkware-isnt-leaving-ethereum-eli-ben-sasson-and-uri-kolodny-at-bankless.yml diff --git a/_data/posts/en/starkware-to-open-source-its-tech-to-help-scale-ethereum-real-vision-crypto.yml b/_data/posts/starkware-to-open-source-its-tech-to-help-scale-ethereum-real-vision-crypto.yml similarity index 100% rename from _data/posts/en/starkware-to-open-source-its-tech-to-help-scale-ethereum-real-vision-crypto.yml rename to _data/posts/starkware-to-open-source-its-tech-to-help-scale-ethereum-real-vision-crypto.yml diff --git a/_data/posts/en/super-scaling-with-starkware-at-bankless.yml b/_data/posts/super-scaling-with-starkware-at-bankless.yml similarity index 100% rename from _data/posts/en/super-scaling-with-starkware-at-bankless.yml rename to _data/posts/super-scaling-with-starkware-at-bankless.yml diff --git a/_data/posts/en/the-blockcrunch-podcast-with-jason-choi-this-is-the-future-of-ethereum-scaling.yml b/_data/posts/the-blockcrunch-podcast-with-jason-choi-this-is-the-future-of-ethereum-scaling.yml similarity index 100% rename from _data/posts/en/the-blockcrunch-podcast-with-jason-choi-this-is-the-future-of-ethereum-scaling.yml rename to _data/posts/the-blockcrunch-podcast-with-jason-choi-this-is-the-future-of-ethereum-scaling.yml diff --git a/_data/posts/en/the-starknet-foundation-meet-the-committees.yml b/_data/posts/the-starknet-foundation-meet-the-committees.yml similarity index 100% rename from _data/posts/en/the-starknet-foundation-meet-the-committees.yml rename to _data/posts/the-starknet-foundation-meet-the-committees.yml diff --git a/_data/posts/en/transacting-on-starkwares-live-zk-rollups-and-building-a-vibrant-ecosystem-of-dapps.yml b/_data/posts/transacting-on-starkwares-live-zk-rollups-and-building-a-vibrant-ecosystem-of-dapps.yml similarity index 100% rename from _data/posts/en/transacting-on-starkwares-live-zk-rollups-and-building-a-vibrant-ecosystem-of-dapps.yml rename to _data/posts/transacting-on-starkwares-live-zk-rollups-and-building-a-vibrant-ecosystem-of-dapps.yml diff --git a/_data/posts/en/twitter-space-pt-1-kakarot-a-zk-evm-written-in-cairo.yml b/_data/posts/twitter-space-pt-1-kakarot-a-zk-evm-written-in-cairo.yml similarity index 100% rename from _data/posts/en/twitter-space-pt-1-kakarot-a-zk-evm-written-in-cairo.yml rename to _data/posts/twitter-space-pt-1-kakarot-a-zk-evm-written-in-cairo.yml diff --git a/_data/posts/en/twitter-space-pt-2-kakarot-a-zk-evm-written-in-cairo.yml b/_data/posts/twitter-space-pt-2-kakarot-a-zk-evm-written-in-cairo.yml similarity index 100% rename from _data/posts/en/twitter-space-pt-2-kakarot-a-zk-evm-written-in-cairo.yml rename to _data/posts/twitter-space-pt-2-kakarot-a-zk-evm-written-in-cairo.yml diff --git a/_data/posts/en/welcome-to-the-world-starknet-foundation.yml b/_data/posts/welcome-to-the-world-starknet-foundation.yml similarity index 100% rename from _data/posts/en/welcome-to-the-world-starknet-foundation.yml rename to _data/posts/welcome-to-the-world-starknet-foundation.yml diff --git a/_data/posts/en/why-is-visa-excited-about-starknet.yml b/_data/posts/why-is-visa-excited-about-starknet.yml similarity index 100% rename from _data/posts/en/why-is-visa-excited-about-starknet.yml rename to _data/posts/why-is-visa-excited-about-starknet.yml diff --git a/_data/posts/en/zkstudyclub-eli-ben-sasson-on-blockchains-and-scalable-zkps.yml b/_data/posts/zkstudyclub-eli-ben-sasson-on-blockchains-and-scalable-zkps.yml similarity index 100% rename from _data/posts/en/zkstudyclub-eli-ben-sasson-on-blockchains-and-scalable-zkps.yml rename to _data/posts/zkstudyclub-eli-ben-sasson-on-blockchains-and-scalable-zkps.yml diff --git a/_data/settings/en/alert.yml b/_data/settings/alert.yml similarity index 100% rename from _data/settings/en/alert.yml rename to _data/settings/alert.yml diff --git a/_data/settings/en/block-explorers.yml b/_data/settings/block-explorers.yml similarity index 100% rename from _data/settings/en/block-explorers.yml rename to _data/settings/block-explorers.yml diff --git a/_data/settings/en/bridges.yml b/_data/settings/bridges.yml similarity index 100% rename from _data/settings/en/bridges.yml rename to _data/settings/bridges.yml diff --git a/_data/settings/en/dapps.yml b/_data/settings/dapps.yml similarity index 100% rename from _data/settings/en/dapps.yml rename to _data/settings/dapps.yml diff --git a/_data/settings/en/fiat-on-ramps.yml b/_data/settings/fiat-on-ramps.yml similarity index 100% rename from _data/settings/en/fiat-on-ramps.yml rename to _data/settings/fiat-on-ramps.yml diff --git a/_data/settings/en/main-menu.yml b/_data/settings/main-menu.yml similarity index 100% rename from _data/settings/en/main-menu.yml rename to _data/settings/main-menu.yml diff --git a/_data/settings/en/redirects.yml b/_data/settings/redirects.yml similarity index 100% rename from _data/settings/en/redirects.yml rename to _data/settings/redirects.yml diff --git a/_data/settings/en/wallets.yml b/_data/settings/wallets.yml similarity index 100% rename from _data/settings/en/wallets.yml rename to _data/settings/wallets.yml diff --git a/_data/topics/en/account-abstraction.yml b/_data/topics/account-abstraction.yml similarity index 100% rename from _data/topics/en/account-abstraction.yml rename to _data/topics/account-abstraction.yml diff --git a/_data/topics/en/alpha.yml b/_data/topics/alpha.yml similarity index 100% rename from _data/topics/en/alpha.yml rename to _data/topics/alpha.yml diff --git a/_data/topics/en/blockchain.yml b/_data/topics/blockchain.yml similarity index 100% rename from _data/topics/en/blockchain.yml rename to _data/topics/blockchain.yml diff --git a/_data/topics/en/cairo.yml b/_data/topics/cairo.yml similarity index 100% rename from _data/topics/en/cairo.yml rename to _data/topics/cairo.yml diff --git a/_data/topics/en/composability.yml b/_data/topics/composability.yml similarity index 100% rename from _data/topics/en/composability.yml rename to _data/topics/composability.yml diff --git a/_data/topics/en/contracts.yml b/_data/topics/contracts.yml similarity index 100% rename from _data/topics/en/contracts.yml rename to _data/topics/contracts.yml diff --git a/_data/topics/en/cryptography.yml b/_data/topics/cryptography.yml similarity index 100% rename from _data/topics/en/cryptography.yml rename to _data/topics/cryptography.yml diff --git a/_data/topics/en/dapps.yml b/_data/topics/dapps.yml similarity index 100% rename from _data/topics/en/dapps.yml rename to _data/topics/dapps.yml diff --git a/_data/topics/en/data-availability.yml b/_data/topics/data-availability.yml similarity index 100% rename from _data/topics/en/data-availability.yml rename to _data/topics/data-availability.yml diff --git a/_data/topics/en/decentralization.yml b/_data/topics/decentralization.yml similarity index 100% rename from _data/topics/en/decentralization.yml rename to _data/topics/decentralization.yml diff --git a/_data/topics/en/defi.yml b/_data/topics/defi.yml similarity index 100% rename from _data/topics/en/defi.yml rename to _data/topics/defi.yml diff --git a/_data/topics/en/ethereum.yml b/_data/topics/ethereum.yml similarity index 100% rename from _data/topics/en/ethereum.yml rename to _data/topics/ethereum.yml diff --git a/_data/topics/en/events.yml b/_data/topics/events.yml similarity index 100% rename from _data/topics/en/events.yml rename to _data/topics/events.yml diff --git a/_data/topics/en/fullnode.yml b/_data/topics/fullnode.yml similarity index 100% rename from _data/topics/en/fullnode.yml rename to _data/topics/fullnode.yml diff --git a/_data/topics/en/getting-started.yml b/_data/topics/getting-started.yml similarity index 100% rename from _data/topics/en/getting-started.yml rename to _data/topics/getting-started.yml diff --git a/_data/topics/en/governance.yml b/_data/topics/governance.yml similarity index 100% rename from _data/topics/en/governance.yml rename to _data/topics/governance.yml diff --git a/_data/topics/en/layer-2.yml b/_data/topics/layer-2.yml similarity index 100% rename from _data/topics/en/layer-2.yml rename to _data/topics/layer-2.yml diff --git a/_data/topics/en/opensource.yml b/_data/topics/opensource.yml similarity index 100% rename from _data/topics/en/opensource.yml rename to _data/topics/opensource.yml diff --git a/_data/topics/en/prover.yml b/_data/topics/prover.yml similarity index 100% rename from _data/topics/en/prover.yml rename to _data/topics/prover.yml diff --git a/_data/topics/en/recursive-starks.yml b/_data/topics/recursive-starks.yml similarity index 100% rename from _data/topics/en/recursive-starks.yml rename to _data/topics/recursive-starks.yml diff --git a/_data/topics/en/rust.yml b/_data/topics/rust.yml similarity index 100% rename from _data/topics/en/rust.yml rename to _data/topics/rust.yml diff --git a/_data/topics/en/scalability.yml b/_data/topics/scalability.yml similarity index 100% rename from _data/topics/en/scalability.yml rename to _data/topics/scalability.yml diff --git a/_data/topics/en/security.yml b/_data/topics/security.yml similarity index 100% rename from _data/topics/en/security.yml rename to _data/topics/security.yml diff --git a/_data/topics/en/sequencing.yml b/_data/topics/sequencing.yml similarity index 100% rename from _data/topics/en/sequencing.yml rename to _data/topics/sequencing.yml diff --git a/_data/topics/en/starkex.yml b/_data/topics/starkex.yml similarity index 100% rename from _data/topics/en/starkex.yml rename to _data/topics/starkex.yml diff --git a/_data/topics/en/starknet-foundation.yml b/_data/topics/starknet-foundation.yml similarity index 100% rename from _data/topics/en/starknet-foundation.yml rename to _data/topics/starknet-foundation.yml diff --git a/_data/topics/en/starknet.yml b/_data/topics/starknet.yml similarity index 100% rename from _data/topics/en/starknet.yml rename to _data/topics/starknet.yml diff --git a/_data/topics/en/starkware.yml b/_data/topics/starkware.yml similarity index 100% rename from _data/topics/en/starkware.yml rename to _data/topics/starkware.yml diff --git a/_data/topics/en/token.yml b/_data/topics/token.yml similarity index 100% rename from _data/topics/en/token.yml rename to _data/topics/token.yml diff --git a/_data/topics/en/validium.yml b/_data/topics/validium.yml similarity index 100% rename from _data/topics/en/validium.yml rename to _data/topics/validium.yml diff --git a/_data/topics/en/volition.yml b/_data/topics/volition.yml similarity index 100% rename from _data/topics/en/volition.yml rename to _data/topics/volition.yml diff --git a/_data/topics/en/zk-proofs.yml b/_data/topics/zk-proofs.yml similarity index 100% rename from _data/topics/en/zk-proofs.yml rename to _data/topics/zk-proofs.yml diff --git a/_data/topics/en/zk-rollups.yml b/_data/topics/zk-rollups.yml similarity index 100% rename from _data/topics/en/zk-rollups.yml rename to _data/topics/zk-rollups.yml diff --git a/_data/tutorials/en/01encode01.yml b/_data/tutorials/01encode01.yml similarity index 100% rename from _data/tutorials/en/01encode01.yml rename to _data/tutorials/01encode01.yml diff --git a/_data/tutorials/en/01encode02.yml b/_data/tutorials/01encode02.yml similarity index 100% rename from _data/tutorials/en/01encode02.yml rename to _data/tutorials/01encode02.yml diff --git a/_data/tutorials/en/01encode03.yml b/_data/tutorials/01encode03.yml similarity index 100% rename from _data/tutorials/en/01encode03.yml rename to _data/tutorials/01encode03.yml diff --git a/_data/tutorials/en/01encode04.yml b/_data/tutorials/01encode04.yml similarity index 100% rename from _data/tutorials/en/01encode04.yml rename to _data/tutorials/01encode04.yml diff --git a/_data/tutorials/en/01encode05.yml b/_data/tutorials/01encode05.yml similarity index 100% rename from _data/tutorials/en/01encode05.yml rename to _data/tutorials/01encode05.yml diff --git a/_data/tutorials/en/01encode06.yml b/_data/tutorials/01encode06.yml similarity index 100% rename from _data/tutorials/en/01encode06.yml rename to _data/tutorials/01encode06.yml diff --git a/_data/tutorials/en/01encode07.yml b/_data/tutorials/01encode07.yml similarity index 100% rename from _data/tutorials/en/01encode07.yml rename to _data/tutorials/01encode07.yml diff --git a/_data/tutorials/en/01encode08.yml b/_data/tutorials/01encode08.yml similarity index 100% rename from _data/tutorials/en/01encode08.yml rename to _data/tutorials/01encode08.yml diff --git a/_data/tutorials/en/01encode09.yml b/_data/tutorials/01encode09.yml similarity index 100% rename from _data/tutorials/en/01encode09.yml rename to _data/tutorials/01encode09.yml diff --git a/_data/tutorials/en/01encode10.yml b/_data/tutorials/01encode10.yml similarity index 100% rename from _data/tutorials/en/01encode10.yml rename to _data/tutorials/01encode10.yml diff --git a/_data/tutorials/en/01encode11.yml b/_data/tutorials/01encode11.yml similarity index 100% rename from _data/tutorials/en/01encode11.yml rename to _data/tutorials/01encode11.yml diff --git a/_data/tutorials/en/01encode12.yml b/_data/tutorials/01encode12.yml similarity index 100% rename from _data/tutorials/en/01encode12.yml rename to _data/tutorials/01encode12.yml diff --git a/_data/tutorials/en/01encode14.yml b/_data/tutorials/01encode14.yml similarity index 100% rename from _data/tutorials/en/01encode14.yml rename to _data/tutorials/01encode14.yml diff --git a/_data/tutorials/en/01encode15.yml b/_data/tutorials/01encode15.yml similarity index 100% rename from _data/tutorials/en/01encode15.yml rename to _data/tutorials/01encode15.yml diff --git a/_data/tutorials/en/01encode16.yml b/_data/tutorials/01encode16.yml similarity index 100% rename from _data/tutorials/en/01encode16.yml rename to _data/tutorials/01encode16.yml diff --git a/_data/tutorials/en/02encode01.yml b/_data/tutorials/02encode01.yml similarity index 100% rename from _data/tutorials/en/02encode01.yml rename to _data/tutorials/02encode01.yml diff --git a/_data/tutorials/en/02encode03.yml b/_data/tutorials/02encode03.yml similarity index 100% rename from _data/tutorials/en/02encode03.yml rename to _data/tutorials/02encode03.yml diff --git a/_data/tutorials/en/02encode04.yml b/_data/tutorials/02encode04.yml similarity index 100% rename from _data/tutorials/en/02encode04.yml rename to _data/tutorials/02encode04.yml diff --git a/_data/tutorials/en/02encode05.yml b/_data/tutorials/02encode05.yml similarity index 100% rename from _data/tutorials/en/02encode05.yml rename to _data/tutorials/02encode05.yml diff --git a/_data/tutorials/en/0byte01.yml b/_data/tutorials/0byte01.yml similarity index 100% rename from _data/tutorials/en/0byte01.yml rename to _data/tutorials/0byte01.yml diff --git a/_data/tutorials/en/0byte02.yml b/_data/tutorials/0byte02.yml similarity index 100% rename from _data/tutorials/en/0byte02.yml rename to _data/tutorials/0byte02.yml diff --git a/_data/tutorials/en/0byte03.yml b/_data/tutorials/0byte03.yml similarity index 100% rename from _data/tutorials/en/0byte03.yml rename to _data/tutorials/0byte03.yml diff --git a/_data/tutorials/en/0byte04.yml b/_data/tutorials/0byte04.yml similarity index 100% rename from _data/tutorials/en/0byte04.yml rename to _data/tutorials/0byte04.yml diff --git a/_data/tutorials/en/0byte05.yml b/_data/tutorials/0byte05.yml similarity index 100% rename from _data/tutorials/en/0byte05.yml rename to _data/tutorials/0byte05.yml diff --git a/_data/tutorials/en/0byte06.yml b/_data/tutorials/0byte06.yml similarity index 100% rename from _data/tutorials/en/0byte06.yml rename to _data/tutorials/0byte06.yml diff --git a/_data/tutorials/en/0byte07.yml b/_data/tutorials/0byte07.yml similarity index 100% rename from _data/tutorials/en/0byte07.yml rename to _data/tutorials/0byte07.yml diff --git a/_data/tutorials/en/0byte08.yml b/_data/tutorials/0byte08.yml similarity index 100% rename from _data/tutorials/en/0byte08.yml rename to _data/tutorials/0byte08.yml diff --git a/_data/tutorials/en/0cairo001.yml b/_data/tutorials/0cairo001.yml similarity index 100% rename from _data/tutorials/en/0cairo001.yml rename to _data/tutorials/0cairo001.yml diff --git a/_data/tutorials/en/0cairo002.yml b/_data/tutorials/0cairo002.yml similarity index 100% rename from _data/tutorials/en/0cairo002.yml rename to _data/tutorials/0cairo002.yml diff --git a/_data/tutorials/en/0cairo003.yml b/_data/tutorials/0cairo003.yml similarity index 100% rename from _data/tutorials/en/0cairo003.yml rename to _data/tutorials/0cairo003.yml diff --git a/_data/tutorials/en/0cairo004.yml b/_data/tutorials/0cairo004.yml similarity index 100% rename from _data/tutorials/en/0cairo004.yml rename to _data/tutorials/0cairo004.yml diff --git a/_data/tutorials/en/0cairo005.yml b/_data/tutorials/0cairo005.yml similarity index 100% rename from _data/tutorials/en/0cairo005.yml rename to _data/tutorials/0cairo005.yml diff --git a/_data/tutorials/en/0cairo01.yml b/_data/tutorials/0cairo01.yml similarity index 100% rename from _data/tutorials/en/0cairo01.yml rename to _data/tutorials/0cairo01.yml diff --git a/_data/tutorials/en/0cairows01.yml b/_data/tutorials/0cairows01.yml similarity index 100% rename from _data/tutorials/en/0cairows01.yml rename to _data/tutorials/0cairows01.yml diff --git a/_data/tutorials/en/0cairows02.yml b/_data/tutorials/0cairows02.yml similarity index 100% rename from _data/tutorials/en/0cairows02.yml rename to _data/tutorials/0cairows02.yml diff --git a/_data/tutorials/en/0cairows03.yml b/_data/tutorials/0cairows03.yml similarity index 100% rename from _data/tutorials/en/0cairows03.yml rename to _data/tutorials/0cairows03.yml diff --git a/_data/tutorials/en/0cairows04.yml b/_data/tutorials/0cairows04.yml similarity index 100% rename from _data/tutorials/en/0cairows04.yml rename to _data/tutorials/0cairows04.yml diff --git a/_data/tutorials/en/0cairows05.yml b/_data/tutorials/0cairows05.yml similarity index 100% rename from _data/tutorials/en/0cairows05.yml rename to _data/tutorials/0cairows05.yml diff --git a/_data/tutorials/en/0cairows06.yml b/_data/tutorials/0cairows06.yml similarity index 100% rename from _data/tutorials/en/0cairows06.yml rename to _data/tutorials/0cairows06.yml diff --git a/_data/tutorials/en/0cairows07.yml b/_data/tutorials/0cairows07.yml similarity index 100% rename from _data/tutorials/en/0cairows07.yml rename to _data/tutorials/0cairows07.yml diff --git a/_data/tutorials/en/0cairows08.yml b/_data/tutorials/0cairows08.yml similarity index 100% rename from _data/tutorials/en/0cairows08.yml rename to _data/tutorials/0cairows08.yml diff --git a/_data/tutorials/en/0cairows09.yml b/_data/tutorials/0cairows09.yml similarity index 100% rename from _data/tutorials/en/0cairows09.yml rename to _data/tutorials/0cairows09.yml diff --git a/_data/tutorials/en/0cairows10.yml b/_data/tutorials/0cairows10.yml similarity index 100% rename from _data/tutorials/en/0cairows10.yml rename to _data/tutorials/0cairows10.yml diff --git a/_data/tutorials/en/0cairows11.yml b/_data/tutorials/0cairows11.yml similarity index 100% rename from _data/tutorials/en/0cairows11.yml rename to _data/tutorials/0cairows11.yml diff --git a/_data/tutorials/en/0snedu01-medium.yml b/_data/tutorials/0snedu01-medium.yml similarity index 100% rename from _data/tutorials/en/0snedu01-medium.yml rename to _data/tutorials/0snedu01-medium.yml diff --git a/_data/tutorials/en/0snedu01.yml b/_data/tutorials/0snedu01.yml similarity index 100% rename from _data/tutorials/en/0snedu01.yml rename to _data/tutorials/0snedu01.yml diff --git a/_data/tutorials/en/0snedu02.yml b/_data/tutorials/0snedu02.yml similarity index 100% rename from _data/tutorials/en/0snedu02.yml rename to _data/tutorials/0snedu02.yml diff --git a/_data/tutorials/en/0snedu03.yml b/_data/tutorials/0snedu03.yml similarity index 100% rename from _data/tutorials/en/0snedu03.yml rename to _data/tutorials/0snedu03.yml diff --git a/_data/tutorials/en/0snedu04.yml b/_data/tutorials/0snedu04.yml similarity index 100% rename from _data/tutorials/en/0snedu04.yml rename to _data/tutorials/0snedu04.yml diff --git a/_data/tutorials/en/0snedu05.yml b/_data/tutorials/0snedu05.yml similarity index 100% rename from _data/tutorials/en/0snedu05.yml rename to _data/tutorials/0snedu05.yml diff --git a/_data/tutorials/en/0snedu06.yml b/_data/tutorials/0snedu06.yml similarity index 100% rename from _data/tutorials/en/0snedu06.yml rename to _data/tutorials/0snedu06.yml diff --git a/_data/tutorials/en/0snedu07.yml b/_data/tutorials/0snedu07.yml similarity index 100% rename from _data/tutorials/en/0snedu07.yml rename to _data/tutorials/0snedu07.yml diff --git a/_data/tutorials/en/0snedu08.yml b/_data/tutorials/0snedu08.yml similarity index 100% rename from _data/tutorials/en/0snedu08.yml rename to _data/tutorials/0snedu08.yml diff --git a/_data/tutorials/en/0snedu09.yml b/_data/tutorials/0snedu09.yml similarity index 100% rename from _data/tutorials/en/0snedu09.yml rename to _data/tutorials/0snedu09.yml diff --git a/_data/tutorials/en/b7cb9a4a-e51b-41d8-a04e-a67eaee97c66.yml b/_data/tutorials/b7cb9a4a-e51b-41d8-a04e-a67eaee97c66.yml similarity index 100% rename from _data/tutorials/en/b7cb9a4a-e51b-41d8-a04e-a67eaee97c66.yml rename to _data/tutorials/b7cb9a4a-e51b-41d8-a04e-a67eaee97c66.yml diff --git a/crowdin.yml b/crowdin.yml index 84fcd31fe2..aa7d0f6cff 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -3,21 +3,26 @@ project_id_env: CROWDIN_PROJECT_ID api_token_env: CROWDIN_PERSONAL_TOKEN preserve_hierarchy: true files: - - source: /_data/categories/en/*.yml - translation: /_data/categories/%two_letters_code%/%original_file_name% - - source: /_data/events/en/*.yml - translation: /_data/events/%two_letters_code%/%original_file_name% - - source: /_data/i18n/intl/en.json - translation: /_data/i18n/intl/%two_letters_code%.json - - source: /_data/jobs/en/*.yml - translation: /_data/jobs/%two_letters_code%/%original_file_name% - - source: /_data/pages/en/*.yml - translation: /_data/pages/%two_letters_code%/%original_file_name% - - source: /_data/posts/en/*.yml - translation: /_data/posts/%two_letters_code%/%original_file_name% - - source: /_data/settings/en/*.yml - translation: /_data/settings/%two_letters_code%/%original_file_name% - - source: /_data/topics/en/*.yml - translation: /_data/topics/%two_letters_code%/%original_file_name% - - source: /_data/tutorials/en/*.yml - translation: /_data/tutorials/%two_letters_code%/%original_file_name% + - source: /_crowdin/source/categories/* + translation: /_crowdin/translation/%two_letters_code%/categories/%original_file_name% + + - source: /_crowdin/source/events/* + translation: /_crowdin/translation/%two_letters_code%/events/%original_file_name% + + - source: /_crowdin/source/jobs/* + translation: /_crowdin/translation/%two_letters_code%/jobs/%original_file_name% + + - source: /_crowdin/source/pages/* + translation: /_crowdin/translation/%two_letters_code%/pages/%original_file_name% + + - source: /_crowdin/source/posts/* + translation: /_crowdin/translation/%two_letters_code%/posts/%original_file_name% + + - source: /_crowdin/source/settings/* + translation: /_crowdin/translation/%two_letters_code%/settings/%original_file_name% + + - source: /_crowdin/source/topics/* + translation: /_crowdin/translation/%two_letters_code%/topics/%original_file_name% + + - source: /_crowdin/source/tutorials/* + translation: /_crowdin/translation/%two_letters_code%/tutorials/%original_file_name% diff --git a/env.d.ts b/env.d.ts deleted file mode 100644 index 2f3edd0b2b..0000000000 --- a/env.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -declare module "*.yml" { - export default any; -} diff --git a/netlify.toml b/netlify.toml deleted file mode 100644 index 606ee14d39..0000000000 --- a/netlify.toml +++ /dev/null @@ -1,9 +0,0 @@ -[dev] -framework = "next" - -[build] - command = "yarn build" - publish = ".next" - -[[plugins]] - package = "@netlify/plugin-nextjs" diff --git a/next.config.mjs b/next.config.mjs index 195c15fa69..21f2d66c26 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -14,10 +14,16 @@ const withMDX = mdx({ /** @type {import('next').NextConfig} */ const nextConfig = { + reactStrictMode: false, experimental: { appDir: true, }, + transpilePackages: [ + "@starknet-io/cms-config", + "@starknet-io/cms-data", + "@starknet-io/cms-utils", + ], images: { domains: [ "tailwindui.com", @@ -28,7 +34,7 @@ const nextConfig = { dangerouslyAllowSVG: true, }, async redirects() { - const data = JSON.parse(await fs.readFile("_data/_dynamic/redirects/en.json", { encoding: "utf8" })) + const data = JSON.parse(await fs.readFile(`${process.cwd()}/_crowdin/data/redirects/en.json`, { encoding: "utf8" })) return data.map((item) => ({ ...item, permanent: false })); }, diff --git a/package.json b/package.json index 0cdbea3d01..0328e3c1a7 100644 --- a/package.json +++ b/package.json @@ -3,8 +3,8 @@ "version": "0.0.0", "private": true, "scripts": { - "dev": "yarn data; next dev", - "build": "yarn data; next build", + "dev": "next dev", + "build": "yarn data && next build", "start": "next start", "lint": "next lint", "fmt": "yarn rome:format", @@ -16,10 +16,11 @@ "test": "yarn vitest run", "test:e2e": "start-server-and-test 'yarn dev' 3000 'yarn cy:open'", "test:e2e:ci": "start-server-and-test 'yarn dev' 3000 'yarn cy:run'", - "typecheck": "tsc --noEmit", - "cms": "yarn workspace netlify-cms-workspace dev", - "data": "yarn workspace content-onedge-workspace update-dynamic-data", - "update:algolia": "yarn workspace content-onedge-workspace update-algolia-index", + "typecheck": "tsc -b", + "typecheck:watch": "tsc -b -w", + "cms": "yarn workspace @starknet-io/netlify-cms dev", + "data": "yarn workspace @starknet-io/cms-scripts update-dynamic-data", + "update:algolia": "yarn workspace @starknet-io/cms-scripts update-algolia-index", "storybook": "storybook dev -p 6006", "build-storybook": "storybook build", "theme": "chakra-cli tokens src/style/theme.ts", @@ -31,8 +32,8 @@ "@algolia/autocomplete-plugin-query-suggestions": "^1.8.3", "@algolia/autocomplete-plugin-recent-searches": "^1.8.3", "@algolia/autocomplete-theme-classic": "^1.8.3", - "@chakra-ui/pro-theme": "^0.0.57", - "@chakra-ui/react": "^2.4.9", + "@chakra-ui/pro-theme": "^0.0.64", + "@chakra-ui/react": "^2.5.5", "@crowdin/cli": "^3.10.1", "@emotion/react": "^11.10.6", "@emotion/styled": "^11.10.6", @@ -44,68 +45,77 @@ "@fontsource/tajawal": "^4.5.9", "@formatjs/intl-localematcher": "^0.2.32", "@headlessui/react": "^1.7.13", - "@heroicons/react": "^2.0.16", + "@heroicons/react": "^2.0.17", "@mdx-js/loader": "^2.3.0", "@mdx-js/mdx": "^2.3.0", "@mdx-js/react": "^2.3.0", - "@mui/material": "^5.11.11", - "@netlify/plugin-nextjs": "^4.30.4", - "@next/mdx": "^13.2.3", - "@staticcms/core": "^1.2.12", + "@mui/material": "^5.11.15", + "@next/mdx": "^13.2.4", + "@starknet-io/cms-data": "workspace:*", + "@starknet-io/cms-utils": "workspace:*", "@testing-library/jest-dom": "^5.16.5", "@twistezo/react-text-scramble": "^1.0.6", "@types/cors": "^2.8.13", - "@types/mdx": "^2.0.3", + "@types/mdx": "^2.0.4", "@types/negotiator": "^0.6.1", - "@types/node": "^18.14.6", - "@types/react": "^18.0.28", + "@types/node": "^18.15.11", + "@types/react": "^18.0.31", "@types/react-dom": "^18.0.11", - "@types/simple-oauth2": "^5.0.2", + "@types/simple-oauth2": "^5.0.4", "@types/uuid": "^9.0.1", "@vitejs/plugin-react": "^3.1.0", - "algoliasearch": "^4.15.0", - "autoprefixer": "^10.4.13", + "algoliasearch": "^4.16.0", + "autoprefixer": "^10.4.14", "browser-lang": "0.1.0", "classnames": "^2.3.2", "cors": "^2.8.5", - "cypress": "^12.7.0", + "cypress": "^12.9.0", "date-fns": "^2.29.3", - "eslint": "^8.35.0", - "eslint-config-next": "^13.2.3", - "framer-motion": "^6.5.1", - "googleapis": "^110.0.0", - "happy-dom": "^8.9.0", + "eslint": "^8.37.0", + "eslint-config-next": "^13.2.4", + "framer-motion": "^10.10.0", + "googleapis": "^114.0.0", + "happy-dom": "^9.1.0", + "isomorphic-unfetch": "^4.0.2", "js-yaml-loader": "^1.2.2", "moment": "^2.29.4", - "moment-timezone": "^0.5.41", + "moment-timezone": "^0.5.43", "negotiator": "^0.6.3", - "netlify-cli": "^12.14.0", - "next": "^13.2.3", + "netlify-cms-app": "^2.15.72", + "netlify-cms-core": "^2.55.2", + "netlify-cms-lib-widgets": "^1.8.1", + "netlify-cms-ui-default": "^2.15.5", + "netlify-cms-widget-markdown": "^2.15.1", + "next": "^13.2.4", + "node-fetch": "^3.3.1", "postcss": "^8.4.21", "react": "^18.2.0", "react-dom": "^18.2.0", "react-icons": "^4.8.0", "react-in-viewport": "^1.0.0-alpha.29", - "react-instantsearch-dom": "^6.39.0", - "react-instantsearch-hooks-web": "^6.41.0", - "react-markdown": "^8.0.5", + "react-instantsearch-dom": "^6.39.1", + "react-instantsearch-hooks-web": "^6.42.0", + "react-markdown": "^8.0.6", "react-use": "^17.4.0", "react-youtube": "^10.1.0", "remark-frontmatter": "^4.0.1", "remark-mdx-frontmatter": "^2.1.1", "remark-parse": "^10.0.1", - "rome": "^11.0.0", + "rome": "^12.0.0", "simple-git": "^3.17.0", "simple-oauth2": "^5.0.0", "start-server-and-test": "^2.0.0", - "typescript": "^4.9.5", + "tsconfig-moon": "^1.3.0", + "typescript": "^5.0.3", + "unfetch": "^5.0.0", "unified": "^10.1.2", "unist-util-index": "^3.0.2", "use-scramble": "^2.2.12", "uuid": "^9.0.0", - "vite": "^4.1.4", - "vite-tsconfig-paths": "^4.0.5", - "vitest": "^0.29.2", + "vercel": "latest", + "vite": "^4.2.1", + "vite-tsconfig-paths": "^4.0.7", + "vitest": "^0.29.8", "yaml": "^2.2.1" }, "packageManager": "yarn@3.3.1", @@ -113,21 +123,24 @@ "./workspaces/*" ], "resolutions": { - "netlify-cms-widget-markdown/unified": "^10.0.0" + "netlify-cms-widget-markdown/unified": "^10.0.0", + "@types/react": "^18.0.31", + "@types/react-dom": "^18.0.11", + "vite": "^4.2.1" }, "devDependencies": { - "@chakra-ui/cli": "^2.3.1", - "@chakra-ui/storybook-addon": "^4.0.17", - "@storybook/addon-essentials": "^7.0.0-beta.64", - "@storybook/addon-interactions": "^7.0.0-beta.64", - "@storybook/addon-links": "^7.0.0-beta.64", - "@storybook/blocks": "^7.0.0-beta.64", - "@storybook/nextjs": "^7.0.0-beta.64", - "@storybook/react": "^7.0.0-beta.64", + "@chakra-ui/cli": "^2.3.0", + "@chakra-ui/storybook-addon": "^4.0.16", + "@storybook/addon-essentials": "^7.0.0", + "@storybook/addon-interactions": "^7.0.0", + "@storybook/addon-links": "^7.0.0", + "@storybook/blocks": "^7.0.0", + "@storybook/nextjs": "^7.0.0", + "@storybook/react": "^7.0.0", "@storybook/testing-library": "^0.0.13", "@types/youtube-player": "^5.5.7", "eslint-plugin-storybook": "^0.6.11", - "storybook": "^7.0.0-beta.64", + "storybook": "^7.0.0", "storybook-addon-dark-mode-toggle": "^0.0.6" } } diff --git a/src/app/(static-cms)/(auth)/auth/route.ts b/src/app/(static-cms)/(auth)/auth/route.ts deleted file mode 100644 index a7937d82d7..0000000000 --- a/src/app/(static-cms)/(auth)/auth/route.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { AuthorizationCode } from "simple-oauth2"; -import { randomBytes } from "crypto"; -import { Provider, moduleOptionsByProvider, scopeByProvider } from "../config"; -import { NextRequest, NextResponse } from "next/server"; - -export const randomString = () => randomBytes(4).toString("hex"); - -export async function GET(req: NextRequest) { - const host = req.headers.get("host"); - const url = new URL(`https://${host}/${req.url}`); - const urlParams = url.searchParams; - const provider = urlParams.get("provider") as Provider; - - if (provider != null && moduleOptionsByProvider[provider] == null) { - throw new Error(`Unsupported provider ${provider}`); - } - - const client = new AuthorizationCode(moduleOptionsByProvider[provider]); - - const authorizationUri = client.authorizeURL({ - redirect_uri: `https://${host}/callback?provider=${provider}`, - scope: scopeByProvider[provider], - state: randomString(), - }); - - return NextResponse.redirect(authorizationUri, 301); -} diff --git a/src/app/(static-cms)/(auth)/callback/route.ts b/src/app/(static-cms)/(auth)/callback/route.ts deleted file mode 100644 index f4e3bbb800..0000000000 --- a/src/app/(static-cms)/(auth)/callback/route.ts +++ /dev/null @@ -1,87 +0,0 @@ -import { NextRequest, NextResponse } from "next/server"; -import { AuthorizationCode } from "simple-oauth2"; -import { moduleOptionsByProvider, Provider } from "../config"; - -export async function GET(req: NextRequest) { - const host = req.headers.get("host"); - const url = new URL(`https://${host}/${req.url}`); - const urlParams = url.searchParams; - const code = urlParams.get("code"); - const provider = urlParams.get("provider") as Provider; - - if (provider != null && moduleOptionsByProvider[provider] == null) { - throw new Error(`Unsupported provider ${provider}`); - } - - try { - if (!code) throw new Error(`Missing code ${code}`); - - const client = new AuthorizationCode(moduleOptionsByProvider[provider]); - const tokenParams = { - code, - redirect_uri: `https://${host}/callback?provider=${provider}`, - }; - - const accessToken = await client.getToken(tokenParams); - const token = accessToken.token["access_token"] as string; - - const responseBody = renderBody("success", { - token, - provider, - }); - - return new NextResponse(responseBody, { - headers: { - "content-type": "text/html; charset=utf-8", - }, - }); - } catch (e: any) { - return new NextResponse(renderBody("error", e), { - headers: { - "content-type": "text/html; charset=utf-8", - }, - }); - } -} - -function renderBody( - status: string, - content: { - token: string; - provider: string; - }, -) { - const authorization = JSON.stringify( - ["authorization", content.provider, status, JSON.stringify(content)].join( - ":", - ), - ); - - const authorizing = JSON.stringify( - ["authorizing", content.provider].join(":"), - ); - - return ` - - - - - - - `; -} diff --git a/src/app/(static-cms)/(auth)/config.ts b/src/app/(static-cms)/(auth)/config.ts deleted file mode 100644 index d05d04525b..0000000000 --- a/src/app/(static-cms)/(auth)/config.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { ModuleOptions } from "simple-oauth2"; - -export type Provider = "github"; - -export const moduleOptionsByProvider = { - github: { - client: { - id: process.env.OAUTH_GITHUB_CLIENT_ID as string, - secret: process.env.OAUTH_GITHUB_CLIENT_SECRET as string, - }, - auth: { - tokenHost: "https://github.com", - tokenPath: "/login/oauth/access_token", - authorizePath: "/login/oauth/authorize", - }, - }, -} satisfies Record; - -export const scopeByProvider = { - github: "repo,user", -} satisfies Record; diff --git a/src/app/(static-cms)/cms/(components)/CMSPage.tsx b/src/app/(static-cms)/cms/(components)/CMSPage.tsx deleted file mode 100644 index 14fc9b6dc2..0000000000 --- a/src/app/(static-cms)/cms/(components)/CMSPage.tsx +++ /dev/null @@ -1,68 +0,0 @@ -"use client"; - -import * as React from "react"; -import * as ReactDOM from "react-dom"; -import { loadScript } from "src/utils/utils"; -import { config } from "../config"; -import { UUIDWidget } from "../widgets/uuid"; -import { YoutubeWidget } from "../widgets/youtube"; - -interface Props { - readonly backendBranch: string; -} - -declare global { - interface Window { - CMS?: typeof import("@staticcms/core").default; - react?: typeof React; - "react-dom"?: typeof ReactDOM; - } -} - -export default function CMSPage({ backendBranch }: Props) { - React.useEffect(() => { - void (async () => { - window["react"] = React; - window["react-dom"] = ReactDOM; - - await Promise.all([ - loadScript( - "https://unpkg.com/@staticcms/core@1.2.12/dist/static-cms-core.js", - ), - loadScript( - "https://identity.netlify.com/v1/netlify-identity-widget.js", - ), - ]); - - // if (process.env.NODE_ENV === "development") { - // config.local_backend = true; - // } - - window.CMS!.registerWidget([UUIDWidget(), YoutubeWidget()]); - - window.CMS!.init({ - config: { - ...config, - backend: { - ...config.backend, - branch: backendBranch, - }, - }, - }); - })(); - }, [backendBranch]); - - return ( -