diff --git a/docs/README.mdx b/docs/README.mdx
index 2d8ffb00..1a9abeb3 100644
--- a/docs/README.mdx
+++ b/docs/README.mdx
@@ -1,32 +1,14 @@
---
sidebar_position: 10
-title: Welcome
+title: We've Moved!
---
-Soroban is a smart contracts platform designed to be sensible, built-to-scale, batteries-included, and developer-friendly.
+All of our documentation content previously available at `soroban.stellar.org` has now been merged into one, consolidated collection available in the [Stellar Developers Documentation](https://developers.stellar.org). Redirects from this site are in-place, and links have been updated everywhere we've found them.
-:::success Validated!
+If you have any issues finding the content you're looking for, please give our [docs search](https://developers.stellar.org/search) a try. If you still have trouble, we welcome all feedback, issues, and pull requests in the [stellar-docs GitHub repo](https://github.com/stellar/stellar-docs).
-On Tuesday, February 20, 2024 the validators of the Stellar network voted to upgrade Mainnet to Protocol version 20, marking the dawn of a new era for the Stellar network. The Soroban platform is now running and the [phased rollout] has begun!
+:::info There is one temporary exception...
-:::
-
-While it works well with Stellar, a blockchain that shares its values of scale and sensibility, it doesn't depend on or require Stellar at all, and can be used by any transaction processor, including other blockchains, L2s, and permissioned ledgers.
-
-Soroban was introduced to the Stellar Mainnet as a part of protocol version 20. The Soroban platform includes the smart contracts environment, a Rust SDK, A CLI, and an RPC server. Developers can write and test contracts on their local machine, or deploy them to Testnet, or deploy them to Mainnet (keep in mind the resource constraints of the [phased rollout]).
-
-## What this means for the future
-
-We've been releasing very early versions of Soroban since the earliest days of its existence. We have moved on from having "preview releases" and "release candidates" and a "stable relase" and the platform is now **live on Mainnet**! New development efforts are now targeted to a future protocol version, and the current release has been "frozen."
-
-We still believe it's important to share the development process, and we want Stellar ecosystem developers and smart contract developers from other ecosystems to continue experimenting and we continue listening for feedback. Please keep testing it out, see what you can do, and let us know what you think.
+The [Soroban Dapps Challenge](/dapps) remains here, for a brief time. There are some version mismatches we're working through, and that section will also be folded into the collection at `developers.stellar.org` soon.
-## How to leave feedback
-
-Please feel free to file issues in the Soroban repos, or, if you prefer, to raise them in the `soroban` channels in the [Stellar Developer Discord](https://discord.gg/sp8zfb4qH6).
-
-## Why it's called Soroban
-
-The Japanese soroban is the smallest and simplest abacus. Its design is intentionally compact and minimalist, focused on doing the essentials — and doing them well. It set the global standard for abacuses and is still in practical use today. The name aligns with the goals of this platform because we, too, want to build something that focuses on doing the essentials well, that sets a global standard, and that proves useful far into the future.
-
-[phased rollout]: https://stellar.org/blog/developers/the-stellar-network-s-phased-rollout-of-smart-contracts-the-road-to-mainnet
+:::
diff --git a/docs/faq.mdx b/docs/faq.mdx
index 266597bd..5c37410d 100644
--- a/docs/faq.mdx
+++ b/docs/faq.mdx
@@ -2,8 +2,18 @@
sidebar_position: 80
title: FAQs
description: Frequently asked questions about Soroban on Stellar.
+sidebar_custom_props:
+ migration:
+ href: https://developers.stellar.org/docs/learn/smart-contract-internals/faq
+ label: FAQs
---
+:::danger These are not the droids you're looking for
+
+This page has been migrated to the Stellar Developers documentation. Please [click here](https://developers.stellar.org/docs/learn/smart-contract-internals/faq) for the most up-to-date information
+
+:::
+
Frequently asked questions about Soroban on Stellar.
diff --git a/docs/getting-started/create-an-app.mdx b/docs/getting-started/create-an-app.mdx
index bd6fa9f9..a00f0705 100644
--- a/docs/getting-started/create-an-app.mdx
+++ b/docs/getting-started/create-an-app.mdx
@@ -2,8 +2,18 @@
sidebar_position: 50
title: 5. Create an App
description: Make a frontend web app that interacts with your smart contracts.
+sidebar_custom_props:
+ migration:
+ href: https://developers.stellar.org/docs/smart-contracts/getting-started/create-an-app
+ label: 5. Create an App
---
+:::danger These are not the droids you're looking for
+
+This page has been migrated to the Stellar Developers documentation. Please [click here](https://developers.stellar.org/docs/smart-contracts/getting-started/create-an-app) for the most up-to-date information
+
+:::
+
With two smart contracts deployed to a public network, you can now create a web app that interacts with them via RPC calls. Let's get started.
## Initialize a frontend toolchain
diff --git a/docs/getting-started/deploy-increment-contract.mdx b/docs/getting-started/deploy-increment-contract.mdx
index a221acad..31e09c16 100644
--- a/docs/getting-started/deploy-increment-contract.mdx
+++ b/docs/getting-started/deploy-increment-contract.mdx
@@ -2,8 +2,18 @@
sidebar_position: 40
title: 4. Deploy the Increment Contract
description: Deploy the Increment contract to Testnet.
+sidebar_custom_props:
+ migration:
+ href: https://developers.stellar.org/docs/smart-contracts/getting-started/deploy-increment-contract
+ label: 4. Deploy the Increment Contract
---
+:::danger These are not the droids you're looking for
+
+This page has been migrated to the Stellar Developers documentation. Please [click here](https://developers.stellar.org/docs/smart-contracts/getting-started/deploy-increment-contract) for the most up-to-date information
+
+:::
+
Install and configure Rust to deploy smart contracts.
diff --git a/docs/getting-started/storing-data.mdx b/docs/getting-started/storing-data.mdx
index d5ffe954..70af51a0 100644
--- a/docs/getting-started/storing-data.mdx
+++ b/docs/getting-started/storing-data.mdx
@@ -2,8 +2,18 @@
sidebar_position: 30
title: 3. Storing Data
description: Write a smart contract that stores and retrieves data.
+sidebar_custom_props:
+ migration:
+ href: https://developers.stellar.org/docs/smart-contracts/getting-started/storing-data
+ label: 3. Storing Data
---
+:::danger These are not the droids you're looking for
+
+This page has been migrated to the Stellar Developers documentation. Please [click here](https://developers.stellar.org/docs/smart-contracts/getting-started/storing-data) for the most up-to-date information
+
+:::
+
Use Stellar assets on Soroban.
diff --git a/docs/tokens/token-interface.mdx b/docs/tokens/token-interface.mdx
index 7d6ed066..9ab5dc81 100644
--- a/docs/tokens/token-interface.mdx
+++ b/docs/tokens/token-interface.mdx
@@ -2,8 +2,18 @@
sidebar_position: 10
title: Token Interface
description: The common interface implemented by tokens that are compatible with Soroban's built-in tokens.
+sidebar_custom_props:
+ migration:
+ href: https://developers.stellar.org/docs/smart-contracts/tokens/token-interface
+ label: Stellar Asset Contract
---
+:::danger These are not the droids you're looking for
+
+This page has been migrated to the Stellar Developers documentation. Please [click here](https://developers.stellar.org/docs/smart-contracts/tokens/token-interface) for the most up-to-date information
+
+:::
+
Token contracts, including the Stellar Asset Contract and example token
implementations expose the following common interface.
diff --git a/docs/tutorials/README.mdx b/docs/tutorials/README.mdx
index ba319b52..6c97a31e 100644
--- a/docs/tutorials/README.mdx
+++ b/docs/tutorials/README.mdx
@@ -1,12 +1,18 @@
---
title: Tutorials
hide_table_of_contents: true
+sidebar_custom_props:
+ migration:
+ href: https://developers.stellar.org/docs/smart-contracts/example-contracts
+ label: Tutorials
---
-import DocCardList from "@theme/DocCardList";
+:::danger These are not the droids you're looking for
-The Soroban team has put together a large collection of [example contracts] to demonstrate use of the Soroban smart contracts platform. For many of these example contracts, we've written an accompanying "tutorial" that will walk you through the example contracts and describe a bit more about their design. You can think of these "tutorials" as example contracts that end with a deployable smart contract. You can use the provided filters to find a relevant tutorial for your experience level.
+This page has been migrated to the Stellar Developers documentation. Please [click here](https://developers.stellar.org/docs/smart-contracts/example-contracts) for the most up-to-date information
+
+:::
-
+The Soroban team has put together a large collection of [example contracts] to demonstrate use of the Soroban smart contracts platform. For many of these example contracts, we've written an accompanying "tutorial" that will walk you through the example contracts and describe a bit more about their design. You can think of these "tutorials" as example contracts that end with a deployable smart contract. You can use the provided filters to find a relevant tutorial for your experience level.
[example contracts]: https://github.com/stellar/soroban-examples
diff --git a/docusaurus.config.js b/docusaurus.config.js
index d8c3974f..2f0ecdf2 100644
--- a/docusaurus.config.js
+++ b/docusaurus.config.js
@@ -77,10 +77,6 @@ const config = {
themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
- announcementBar: {
- id: 'announcementBar-migration',
- content: "🎉️ We're moving!! 🎉️ We're merging the Soroban documentation into the Stellar Developers documentation. Please check this GH issue for progress and updates.",
- },
image: 'img/meta.png',
docs: {
sidebar: {
diff --git a/nginx/includes/redirects.conf b/nginx/includes/redirects.conf
index 707c6264..2eb5f7c4 100644
--- a/nginx/includes/redirects.conf
+++ b/nginx/includes/redirects.conf
@@ -1,38 +1,38 @@
-rewrite "^/docs/category/examples$" "/docs/tutorials" permanent;
+rewrite "^/docs/category/examples$" "https://developers.stellar.org/docs/smart-contracts/example-contracts" permanent;
rewrite "^/docs/getting-started/run-rpc$" "https://developers.stellar.org/network/soroban-rpc/admin-guide" permanent;
-rewrite "^/docs/category/tutorials$" "/docs/tutorials" permanent;
-rewrite "^/docs/tutorials/deploy-to-futurenet$" "/docs/getting-started/deploy-to-testnet" permanent;
-rewrite "^/fundamentals-and-concepts/faq$" "/docs/faq" permanent;
-rewrite "^/docs/examples/events$" "/docs/tutorials/events" permanent;
+rewrite "^/docs/category/tutorials$" "https://developers.stellar.org/docs/smart-contracts/example-contracts" permanent;
+rewrite "^/docs/tutorials/deploy-to-futurenet$" "https://developers.stellar.org/docs/smart-contracts/getting-started/deploy-to-testnet" permanent;
+rewrite "^/fundamentals-and-concepts/faq$" "https://developers.stellar.org/docs/smart-contracts/faq" permanent;
+rewrite "^/docs/examples/events$" "https://developers.stellar.org/docs/smart-contracts/example-contracts/events" permanent;
rewrite "^/docs/learn/rust-dialect$" "https://developers.stellar.org/docs/learn/smart-contract-internals/rust-dialect" permanent;
-rewrite "^/docs/advanced-tutorials/liquidity-pool-b6f$" "/docs/tutorials/liquidity-pool" permanent;
+rewrite "^/docs/advanced-tutorials/liquidity-pool-b6f$" "https://developers.stellar.org/docs/smart-contracts/example-contracts/liquidity-pool" permanent;
rewrite "^/docs(/category)?/learn$" "https://developers.stellar.org/docs/learn/smart-contract-internals" permanent;
rewrite "^/docs/category/fundamentals-and-concepts$" "https://developers.stellar.org/docs/learn/smart-contract-internals" permanent;
-rewrite "^/docs/built-in-contracts/token$" "/docs/tokens/stellar-asset-contract" permanent;
-rewrite "^/docs/getting-started/deploy-to-a-local-network$" "/docs/getting-started/deploy-to-testnet" permanent;
-rewrite "^/docs/getting-started/deploy-to-futurenet$" "/docs/getting-started/deploy-to-testnet" permanent;
+rewrite "^/docs/built-in-contracts/token$" "https://developers.stellar.org/docs/smart-contracts/tokens/stellar-asset-contract" permanent;
+rewrite "^/docs/getting-started/deploy-to-a-local-network$" "https://developers.stellar.org/docs/smart-contracts/getting-started/deploy-to-testnet" permanent;
+rewrite "^/docs/getting-started/deploy-to-futurenet$" "https://developers.stellar.org/docs/smart-contracts/getting-started/deploy-to-testnet" permanent;
rewrite "^/docs/tutorials/testing$" "https://developers.stellar.org/docs/learn/smart-contract-internals/debugging" permanent;
-rewrite "^/docs/category/how-to-guides$" "/docs/guides" permanent;
-rewrite "^/docs/getting-started/connect-freighter-wallet$" "/docs/reference/freighter" permanent;
-rewrite "^/docs/common-interfaces/token$" "/docs/tokens/token-interface" permanent;
-rewrite "^/docs/how-to-guides/tokens$" "/docs/tutorials/tokens" permanent;
+rewrite "^/docs/category/how-to-guides$" "https://developers.stellar.org/docs/smart-contracts/guides" permanent;
+rewrite "^/docs/getting-started/connect-freighter-wallet$" "https://developers.stellar.org/docs/smart-contracts/guides/freighter" permanent;
+rewrite "^/docs/common-interfaces/token$" "https://developers.stellar.org/docs/smart-contracts/tokens/token-interface" permanent;
+rewrite "^/docs/how-to-guides/tokens$" "https://developers.stellar.org/docs/smart-contracts/example-contracts/tokens" permanent;
rewrite "^/dapps/category/challenges$" "/dashboard" permanent;
-rewrite "^/docs/guides/cli/wrap-token$" "/docs/guides/cli/deploy-stellar-asset-contract" permanent;
+rewrite "^/docs/guides/cli/wrap-token$" "https://developers.stellar.org/docs/smart-contracts/guides/cli/deploy-stellar-asset-contract" permanent;
# BEGIN re-structure redirects
rewrite "^/sorobanathon" "/" permanent;
-rewrite "^/docs/reference/interfaces/token-interface" "/docs/tokens/token-interface" permanent;
-rewrite "^/docs/category/getting-started$" "/docs/getting-started/setup" permanent;
-rewrite "^/docs/tutorials/stellar-asset-contract" "/docs/tokens/stellar-asset-contract" permanent;
+rewrite "^/docs/reference/interfaces/token-interface" "https://developers.stellar.org/docs/smart-contracts/tokens/token-interface" permanent;
+rewrite "^/docs/category/getting-started$" "https://developers.stellar.org/docs/smart-contracts/getting-started/setup" permanent;
+rewrite "^/docs/tutorials/stellar-asset-contract" "https://developers.stellar.org/docs/smart-contracts/tokens/stellar-asset-contract" permanent;
rewrite "^/docs/category/migrating-from-evm$" "https://developers.stellar.org/docs/learn/migrate/evm" permanent;
rewrite "^/docs/fundamentals-and-concepts/migrating-from-evm(/.*)$" "https://developers.stellar.org/docs/learn/migrate/evm$1" permanent;
rewrite "^/docs/reference/releases$" "https://developers.stellar.org/docs/reference/software-versions" permanent;
-rewrite "^/docs/fundamentals-and-concepts/faq$" "/docs/faq" permanent;
+rewrite "^/docs/fundamentals-and-concepts/faq$" "https://developers.stellar.org/docs/smart-contracts/faq" permanent;
rewrite "^/docs/reference/testnet$" "https://developers.stellar.org/docs/reference/networks" permanent;
rewrite "^/docs/fundamentals-and-concepts/(built-in-types|custom-types|fully-typed-contracts)$" "https://developers.stellar.org/docs/learn/smart-contract-internals/types/$1" permanent;
rewrite "^/docs/fundamentals-and-concepts/invoking-contracts-with-transactions$" "https://developers.stellar.org/docs/learn/smart-contract-internals/contract-interactions/stellar-transaction" permanent;
rewrite "^/docs/soroban-internals/contract-interactions/stellar-transactions$" "https://developers.stellar.org/docs/learn/smart-contract-internals/contract-interactions/stellar-transaction" permanent;
rewrite "^/docs/fundamentals-and-concepts/interacting-with-contracts$" "https://developers.stellar.org/docs/learn/smart-contract-internals/contract-interactions" permanent;
-rewrite "^/docs/(basic|advanced)-tutorials(/.*)$" "/docs/tutorials$2" permanent;
+rewrite "^/docs/(basic|advanced)-tutorials(/.*)$" "https://developers.stellar.org/docs/smart-contracts/example-contracts$2" permanent;
rewrite "^/docs/fundamentals-and-concepts(/.*)$" "https://developers.stellar.org/docs/learn/smart-contract-internals$1" permanent;
rewrite "^/docs/notes" "https://developers.stellar.org/meetings" permanent;
##### BEGIN merge redirects
@@ -61,5 +61,14 @@ rewrite "^/meetings(.*)$" "https://developers.stellar.org/meetings$1" permanent;
# learn
rewrite "^/docs/category/soroban-internals$" "https://developers.stellar.org/docs/learn/smart-contract-internals" permanent;
rewrite "^/docs/soroban-internals/contract-interactions$" "https://developers.stellar.org/docs/learn/smart-contract-internals/contract-interactions/overview" permanent;
+rewrite "^/docs/soroban-internals/fees-and-metering$" "https://developers.stellar.org/docs/learn/fundamentals/fees-resource-limits-metering" permanent;
rewrite "^/docs/soroban-internals(.*)$" "https://developers.stellar.org/docs/learn/smart-contract-internals$1" permanent;
rewrite "^/docs/migrate(.*)$" "https://developers.stellar.org/docs/learn/migrate$1" permanent;
+# smart contracts
+rewrite "^/docs/guides(.*)$" "https://developers.stellar.org/docs/smart-contracts/guides$1" permanent;
+rewrite "^/docs/tutorials(.*)$" "https://developers.stellar.org/docs/smart-contracts/example-contracts$1" permanent;
+rewrite "^/docs/getting-started(.*)$" "https://developers.stellar.org/docs/smart-contracts/getting-started$1" permanent;
+rewrite "^/docs/category/tokens$" "https://developers.stellar.org/docs/smart-contracts/tokens" permanent;
+rewrite "^/docs/tokens(.*)$" "https://developers.stellar.org/docs/smart-contracts/tokens$1" permanent;
+rewrite "^/docs/reference/freighter$" "https://developers.stellar.org/docs/smart-contracts/guides/freighter" permanent;
+rewrite "^/docs/faq$" "https://developers.stellar.org/docs/learn/smart-contract-internals/faq" permanent;
diff --git a/src/sidebar-generator.js b/src/sidebar-generator.js
index 0fe8a08d..9404f7d5 100644
--- a/src/sidebar-generator.js
+++ b/src/sidebar-generator.js
@@ -4,6 +4,13 @@ const path = require('path')
const migrationLinksRecursive = (sidebarItems) => {
const result = sidebarItems.map((sidebarItem) => {
if (sidebarItem.type === 'category') {
+ if (sidebarItem.label === 'How-To Guides' || sidebarItem.label === 'Tutorials') {
+ return {
+ type: 'link',
+ href: sidebarItem.customProps.migration.href,
+ label: sidebarItem.customProps.migration.label,
+ }
+ }
return {...sidebarItem, items: migrationLinksRecursive(sidebarItem.items)}
}
diff --git a/src/theme/DocItem/Footer/index.js b/src/theme/DocItem/Footer/index.js
index d3c7981d..80f671ff 100644
--- a/src/theme/DocItem/Footer/index.js
+++ b/src/theme/DocItem/Footer/index.js
@@ -5,7 +5,6 @@ import {useDoc} from '@docusaurus/theme-common/internal';
import LastUpdated from '@theme/LastUpdated';
import EditThisPage from '@theme/EditThisPage';
import TagsListInline from '@theme/TagsListInline';
-import DocCardList from '@theme/DocCardList';
import ReaderFeedback from '@site/src/components/ReaderFeedback';
import styles from './styles.module.css';
@@ -52,18 +51,11 @@ export default function DocItemFooter() {
const canDisplayTagsRow = tags.length > 0;
const canDisplayEditMetaRow = !!(editUrl || lastUpdatedAt || lastUpdatedBy);
const canDisplayFooter = canDisplayTagsRow || canDisplayEditMetaRow;
- const canDisplayDocCardsOnGuide = metadata.permalink.startsWith('/docs/guides')
if (!canDisplayFooter) {
return null;
}
return (
<>
- {canDisplayDocCardsOnGuide &&
-
- {metadata.permalink !== '/docs/guides/' &&
Guides in this category:
}
-
-
- }