- ![](/course-images/teleporter/source.png)
+ ![](/common-images/teleporter/source.png)
# Source
- Origin of communication
- Sender calls contract
- ![](/course-images/teleporter/message.png)
+ ![](/common-images/teleporter/message.png)
# Message
- Contains source, destination, and encoded data
- Signature guarantees authenticity
- ![](/course-images/teleporter/destination.png)
+ ![](/common-images/teleporter/destination.png)
# Destination
- Submission of message as transaction
- Verifies signatures
diff --git a/content/course/teleporter/02-interoperability/03-multi-chain-networks.mdx b/content/course/teleporter/02-interoperability/03-multi-chain-networks.mdx
index 9fee5bda..2d86f97e 100644
--- a/content/course/teleporter/02-interoperability/03-multi-chain-networks.mdx
+++ b/content/course/teleporter/02-interoperability/03-multi-chain-networks.mdx
@@ -5,7 +5,7 @@ updated: 2024-05-31
authors: [ashucoder9]
---
-![](/course-images/multi-chain-architecture/subnets.png)
+![](/common-images/multi-chain-architecture/subnets.png)
Avalanche is a multi-chain network, meaning the network has multiple chains being validated in parallel, while other networks, such as Bitcoin and Ethereum only have single chain. This feature provides greater scalability, independence, and customizability. Each blockchain is optimized for specialized use cases, boosting the network's overall performance.
@@ -14,7 +14,7 @@ Avalanche is a multi-chain network, meaning the network has multiple chains bein
To measure the performance of a blockchain, we can use two primary metrics: Time to finality (measured in seconds) and throughput (measured in transactions per second, TPS). To illustrate, we can think of a highway an as analogy.
-![](/course-images/consensus/tps-vs-ttf.png)
+![](/common-images/consensus/tps-vs-ttf.png)
Having a short time to finality is a short highway, taking a direct route from origin (submitting a transaction) to destination (finalization of the transaction) without any unnecessary detours. A finalized transaction is irreversibly written to the ledger. Once a transaction is final, users can be sure it has executed.
@@ -25,6 +25,6 @@ Having high transaction throughput is like having many lanes on the highway, mea
Different blockchain networks use different scaling approaches, such as Layer 2s, including roll-ups. Networks aim to maximize the throughput. Multi-chain systems have a simple, but incredible effective way of scaling. By running independent chains in parallel, the overall network can reach a massive combined throughput.
-![](/course-images/multi-chain-architecture/combined-throughput.png)
+![](/common-images/multi-chain-architecture/combined-throughput.png)
While roll-ups may enable a very high-throughput of a single chain, they can never outcompete the combined throughput of a multi-chain system. This is because there's no limit to the number of chains that can run in parallel.
\ No newline at end of file
diff --git a/content/course/teleporter/02-interoperability/04-interoperability-in-multi-chain-systems.mdx b/content/course/teleporter/02-interoperability/04-interoperability-in-multi-chain-systems.mdx
index f5df25ad..213c2ff0 100644
--- a/content/course/teleporter/02-interoperability/04-interoperability-in-multi-chain-systems.mdx
+++ b/content/course/teleporter/02-interoperability/04-interoperability-in-multi-chain-systems.mdx
@@ -7,6 +7,6 @@ authors: [ashucoder9]
Interoperability is crucial for multi-chain systems, as the price for easy scalability is fragmentation. However, this interoperability is equally important to all blockchain systems. Even though more dApps are based on the same chain in single-chain systems, many of them require interaction with other chains for liquidity or governance. Therefore, coming up with secure and efficient interoperability solutions is crucial for the entire blockchain space.
-![](/course-images/multi-chain-architecture/vm-variety.png)
+![](/common-images/multi-chain-architecture/vm-variety.png)
Avalanche, as a multi-chain system, provides flexibility on the execution and application layer but also offers a standardized messaging protocol. The necessary cryptographic algorithms are implemented in AvalancheGo, enabling cross-Subnet communication out of the box, even when the application and execution layers of the chains may be completely different. The VMs can utilize these modules to sign and verify messages, making interoperability between Subnets much easier than between unrelated chains from different networks.
\ No newline at end of file
diff --git a/content/course/teleporter/04-teleporter-basics/01-teleporter-basics.mdx b/content/course/teleporter/04-teleporter-basics/01-teleporter-basics.mdx
index fdefe710..5cd1276c 100644
--- a/content/course/teleporter/04-teleporter-basics/01-teleporter-basics.mdx
+++ b/content/course/teleporter/04-teleporter-basics/01-teleporter-basics.mdx
@@ -7,7 +7,7 @@ authors: [ashucoder9]
Teleporter enables you to send messages from one blockchain to another blockchain in the Avalanche network by simply calling the `sendCrossChainMessage` on the `TeleporterMessenger` contract. This invokes a smart contract on another Subnet, where the called contract implements the `ITeleporterReceiver` interface to receive messages on the destination Subnet. We will look at what happens under the hood in a later chapter.
-![](/course-images/teleporter/teleporter-source-destination.png)
+![](/common-images/teleporter/teleporter-source-destination.png)
# What You Will Learn
diff --git a/content/course/teleporter/04-teleporter-basics/02-recap-bytes-encoding-decoding.mdx b/content/course/teleporter/04-teleporter-basics/02-recap-bytes-encoding-decoding.mdx
index c3c57998..f84448cb 100644
--- a/content/course/teleporter/04-teleporter-basics/02-recap-bytes-encoding-decoding.mdx
+++ b/content/course/teleporter/04-teleporter-basics/02-recap-bytes-encoding-decoding.mdx
@@ -24,7 +24,7 @@ This makes it a pragmatic choice for encapsulating diverse data and data type en
In solidity we can use the functions `abi.encode()` and `abi.decode()` for encoding and decoding. These are part of the solidity language, so we do not need to import anything to use them.
-![Encoding and Decoding](/course-images/solidity/encoding-decoding.png)
+![Encoding and Decoding](/common-images/solidity/encoding-decoding.png)
## Encoding
When we encode data, we convert it into a byte array. This is useful when we want to send data from one contract to another. We can encode multiple values into a single byte array, which can then be decoded by the receiving contract.
diff --git a/content/course/teleporter/04-teleporter-basics/03-sending-a-message.mdx b/content/course/teleporter/04-teleporter-basics/03-sending-a-message.mdx
index 8b4eb9bf..aca5e22f 100644
--- a/content/course/teleporter/04-teleporter-basics/03-sending-a-message.mdx
+++ b/content/course/teleporter/04-teleporter-basics/03-sending-a-message.mdx
@@ -7,7 +7,7 @@ authors: [ashucoder9]
Sending a message is nothing more than a simple contract call to the Teleporter messenger contract.
-
+
The dApp on the Source Subnet has to call the `sendCrossChainMessage` function of the Teleporter contract. The Teleporter contract implements the `ITeleporterMessenge`r` interface below. Note that the dApp itself does not have to implement the interface.
diff --git a/content/course/teleporter/05-two-way-communication/01-two-way-communication.mdx b/content/course/teleporter/05-two-way-communication/01-two-way-communication.mdx
index 1c429b98..c6ae4584 100644
--- a/content/course/teleporter/05-two-way-communication/01-two-way-communication.mdx
+++ b/content/course/teleporter/05-two-way-communication/01-two-way-communication.mdx
@@ -7,7 +7,7 @@ authors: [ashucoder9]
When we send message with Teleporter, we can see check if a message has been delivered, but we do not get any feedback wether the message has been processed correctly or any return value. If we wanted to achieve this, we need to send a message back from the receiver to the original sender.
-![](/course-images/teleporter/two-way-communication.png)
+![](/common-images/teleporter/two-way-communication.png)
# What You Will Learn
diff --git a/content/course/teleporter/06-invoking-functions/01-invoking-functions.mdx b/content/course/teleporter/06-invoking-functions/01-invoking-functions.mdx
index e384eb1d..c48a4165 100644
--- a/content/course/teleporter/06-invoking-functions/01-invoking-functions.mdx
+++ b/content/course/teleporter/06-invoking-functions/01-invoking-functions.mdx
@@ -7,7 +7,7 @@ authors: [ashucoder9]
Well done, you successfully learned how to send simple data back and forth between blockchains. In this section we will look look further and invoke a smart contract function on the destination chain.
-![](/course-images/teleporter/invoking-functions.png)
+![](/common-images/teleporter/invoking-functions.png)
# What You Will Learn
diff --git a/content/course/teleporter/06-invoking-functions/02-encoding-multiple-values.mdx b/content/course/teleporter/06-invoking-functions/02-encoding-multiple-values.mdx
index 10067509..d65bbc8b 100644
--- a/content/course/teleporter/06-invoking-functions/02-encoding-multiple-values.mdx
+++ b/content/course/teleporter/06-invoking-functions/02-encoding-multiple-values.mdx
@@ -7,7 +7,7 @@ authors: [ashucoder9]
In this section, we will learn how to pack multiple values into a single message.
-![](/course-images/teleporter/message-multiple-parameters.png)
+![](/common-images/teleporter/message-multiple-parameters.png)
We can use `abi.encode()` to encode multiple values into a single byte array:
diff --git a/content/course/teleporter/06-invoking-functions/06-encoding-function-name.mdx b/content/course/teleporter/06-invoking-functions/06-encoding-function-name.mdx
index 08aa2458..ee9b1673 100644
--- a/content/course/teleporter/06-invoking-functions/06-encoding-function-name.mdx
+++ b/content/course/teleporter/06-invoking-functions/06-encoding-function-name.mdx
@@ -9,7 +9,7 @@ Great work. We can now pack multiple values into a message. In this section, we
For the add function we need to encode two numbers. For the concatenate function we need to encode two strings. How can we go about this? The concept is easy: It's like packing an envelope into another envelope:
-![](/course-images/teleporter/message-function-call.png)
+![](/common-images/teleporter/message-function-call.png)
## Ecoding the Function Name and Parameters
diff --git a/content/course/teleporter/07-teleporter-registry/01-teleporter-Registry.mdx b/content/course/teleporter/07-teleporter-registry/01-teleporter-Registry.mdx
index 8c62bfa8..db4c956d 100644
--- a/content/course/teleporter/07-teleporter-registry/01-teleporter-Registry.mdx
+++ b/content/course/teleporter/07-teleporter-registry/01-teleporter-Registry.mdx
@@ -7,7 +7,7 @@ authors: [ashucoder9]
When sending a message from the source chain we are calling the Teleporter contract:
-
+
The TeleporterMessenger contract is non-upgradable. Once a version of the contract is deployed it cannot be changed. This is with the intention of preventing any changes to the deployed contract that could potentially introduce bugs or vulnerabilities. However, there could still be new versions of TeleporterMessenger contracts needed to be deployed in the future.
diff --git a/content/course/teleporter/07-teleporter-registry/02-how-the-teleporter-registry-works.mdx b/content/course/teleporter/07-teleporter-registry/02-how-the-teleporter-registry-works.mdx
index 98ccfceb..37fcbaa2 100644
--- a/content/course/teleporter/07-teleporter-registry/02-how-the-teleporter-registry-works.mdx
+++ b/content/course/teleporter/07-teleporter-registry/02-how-the-teleporter-registry-works.mdx
@@ -7,11 +7,11 @@ authors: [ashucoder9]
TeleporterRegistry keeps track of TeleporterMessenger contract versions. Cross-Subnet dApps can request the latest or a specific version of the TeleporterMessenger:
-
+
Internally the TeleporterRegistry maintains a mapping of TeleporterMessenger contract versions to their addresses.
-
+
Each registry's mapping of version to contract address is independent of registries on other blockchains, and chains can decide on their own registry mapping entries. So the contract of version 4 on one chain does not have to be equal to that version on another chain.
diff --git a/content/course/teleporter/08-avalanche-warp-messaging/05-message-pickup.mdx b/content/course/teleporter/08-avalanche-warp-messaging/05-message-pickup.mdx
index ed1edf5e..dd18cca0 100644
--- a/content/course/teleporter/08-avalanche-warp-messaging/05-message-pickup.mdx
+++ b/content/course/teleporter/08-avalanche-warp-messaging/05-message-pickup.mdx
@@ -7,7 +7,7 @@ authors: [ashucoder9]
When the AWM Relayer detects a new message, it collects the signatures of that message from the validators of the source Subnet. The validator uses the BLS private key corresponding to their BLS public key (registered on the P-Chain) to create a signature for the unsigned warp message we've learned about earlier (in the Warp Message Format).
-![](/course-images/awm/relayer-pickup.png)
+![](/common-images/awm/relayer-pickup.png)
The AWM Relayer does not necessarily need to collect the signature of all validators. It only needs to ensure that the validators of the collected signatures represent a sufficiently large share of the total stake of the Subnet. It is up to the receiving Subnet to determine what the threshold is.
diff --git a/mdx-components.tsx b/mdx-components.tsx
index 584ec9c1..0bc0b236 100644
--- a/mdx-components.tsx
+++ b/mdx-components.tsx
@@ -13,6 +13,7 @@ import type { ReactNode } from 'react';
import { Popup, PopupContent, PopupTrigger } from 'fumadocs-ui/twoslash/popup';
import { Wrapper } from '@/components/preview/wrapper';
import YouTube from '@/components/youtube';
+import Gallery from '@/components/gallery';
import { cn } from './utils/cn';
export function useMDXComponents(components: MDXComponents): MDXComponents {
@@ -34,6 +35,7 @@ export function useMDXComponents(components: MDXComponents): MDXComponents {
Accordions,
Wrapper,
YouTube,
+ Gallery,
InstallTabs: ({
items,
children,
diff --git a/next.config.js b/next.config.js
index 6d98b640..db0d7665 100644
--- a/next.config.js
+++ b/next.config.js
@@ -66,7 +66,6 @@ const withMDX = createMDX({
},
],
},
- lastModifiedTime: 'git',
remarkPlugins: [
remarkMath,
[remarkInstall, { Tabs: 'InstallTabs' }],
diff --git a/public/course-images/avalanche-starter-kit/new-terminal.png b/public/common-images/avalanche-starter-kit/new-terminal.png
similarity index 100%
rename from public/course-images/avalanche-starter-kit/new-terminal.png
rename to public/common-images/avalanche-starter-kit/new-terminal.png
diff --git a/public/course-images/awm/relayer-pickup.png b/public/common-images/awm/relayer-pickup.png
similarity index 100%
rename from public/course-images/awm/relayer-pickup.png
rename to public/common-images/awm/relayer-pickup.png
diff --git a/public/course-images/codespaces/list-codespaces.png b/public/common-images/codespaces/list-codespaces.png
similarity index 100%
rename from public/course-images/codespaces/list-codespaces.png
rename to public/common-images/codespaces/list-codespaces.png
diff --git a/public/course-images/codespaces/stop-codespace.png b/public/common-images/codespaces/stop-codespace.png
similarity index 100%
rename from public/course-images/codespaces/stop-codespace.png
rename to public/common-images/codespaces/stop-codespace.png
diff --git a/public/course-images/consensus/tps-vs-ttf.png b/public/common-images/consensus/tps-vs-ttf.png
similarity index 100%
rename from public/course-images/consensus/tps-vs-ttf.png
rename to public/common-images/consensus/tps-vs-ttf.png
diff --git a/public/course-images/evm-precompiles/precompiles.png b/public/common-images/evm-precompiles/precompiles.png
similarity index 100%
rename from public/course-images/evm-precompiles/precompiles.png
rename to public/common-images/evm-precompiles/precompiles.png
diff --git a/public/course-images/multi-chain-architecture/combined-throughput.png b/public/common-images/multi-chain-architecture/combined-throughput.png
similarity index 100%
rename from public/course-images/multi-chain-architecture/combined-throughput.png
rename to public/common-images/multi-chain-architecture/combined-throughput.png
diff --git a/public/course-images/multi-chain-architecture/subnets.png b/public/common-images/multi-chain-architecture/subnets.png
similarity index 100%
rename from public/course-images/multi-chain-architecture/subnets.png
rename to public/common-images/multi-chain-architecture/subnets.png
diff --git a/public/course-images/multi-chain-architecture/vm-variety.png b/public/common-images/multi-chain-architecture/vm-variety.png
similarity index 100%
rename from public/course-images/multi-chain-architecture/vm-variety.png
rename to public/common-images/multi-chain-architecture/vm-variety.png
diff --git a/public/course-images/primary-network/p-chain.png b/public/common-images/primary-network/p-chain.png
similarity index 100%
rename from public/course-images/primary-network/p-chain.png
rename to public/common-images/primary-network/p-chain.png
diff --git a/public/course-images/solidity/encoding-decoding.png b/public/common-images/solidity/encoding-decoding.png
similarity index 100%
rename from public/course-images/solidity/encoding-decoding.png
rename to public/common-images/solidity/encoding-decoding.png
diff --git a/public/course-images/teleporter-token-bridge/hub-contract-structure.png b/public/common-images/teleporter-token-bridge/hub-contract-structure.png
similarity index 100%
rename from public/course-images/teleporter-token-bridge/hub-contract-structure.png
rename to public/common-images/teleporter-token-bridge/hub-contract-structure.png
diff --git a/public/course-images/teleporter-token-bridge/spoke-contract-structure.png b/public/common-images/teleporter-token-bridge/spoke-contract-structure.png
similarity index 100%
rename from public/course-images/teleporter-token-bridge/spoke-contract-structure.png
rename to public/common-images/teleporter-token-bridge/spoke-contract-structure.png
diff --git a/public/course-images/teleporter/destination.png b/public/common-images/teleporter/destination.png
similarity index 100%
rename from public/course-images/teleporter/destination.png
rename to public/common-images/teleporter/destination.png
diff --git a/public/course-images/teleporter/invoking-functions.png b/public/common-images/teleporter/invoking-functions.png
similarity index 100%
rename from public/course-images/teleporter/invoking-functions.png
rename to public/common-images/teleporter/invoking-functions.png
diff --git a/public/course-images/teleporter/message-function-call.png b/public/common-images/teleporter/message-function-call.png
similarity index 100%
rename from public/course-images/teleporter/message-function-call.png
rename to public/common-images/teleporter/message-function-call.png
diff --git a/public/course-images/teleporter/message-multiple-parameters.png b/public/common-images/teleporter/message-multiple-parameters.png
similarity index 100%
rename from public/course-images/teleporter/message-multiple-parameters.png
rename to public/common-images/teleporter/message-multiple-parameters.png
diff --git a/public/course-images/teleporter/message.png b/public/common-images/teleporter/message.png
similarity index 100%
rename from public/course-images/teleporter/message.png
rename to public/common-images/teleporter/message.png
diff --git a/public/course-images/teleporter/source.png b/public/common-images/teleporter/source.png
similarity index 100%
rename from public/course-images/teleporter/source.png
rename to public/common-images/teleporter/source.png
diff --git a/public/course-images/teleporter/teleporter-destination.png b/public/common-images/teleporter/teleporter-destination.png
similarity index 100%
rename from public/course-images/teleporter/teleporter-destination.png
rename to public/common-images/teleporter/teleporter-destination.png
diff --git a/public/course-images/teleporter/teleporter-registry-class-diagram.png b/public/common-images/teleporter/teleporter-registry-class-diagram.png
similarity index 100%
rename from public/course-images/teleporter/teleporter-registry-class-diagram.png
rename to public/common-images/teleporter/teleporter-registry-class-diagram.png
diff --git a/public/course-images/teleporter/teleporter-registry.png b/public/common-images/teleporter/teleporter-registry.png
similarity index 100%
rename from public/course-images/teleporter/teleporter-registry.png
rename to public/common-images/teleporter/teleporter-registry.png
diff --git a/public/course-images/teleporter/teleporter-source-destination.png b/public/common-images/teleporter/teleporter-source-destination.png
similarity index 100%
rename from public/course-images/teleporter/teleporter-source-destination.png
rename to public/common-images/teleporter/teleporter-source-destination.png
diff --git a/public/course-images/teleporter/teleporter-source.png b/public/common-images/teleporter/teleporter-source.png
similarity index 100%
rename from public/course-images/teleporter/teleporter-source.png
rename to public/common-images/teleporter/teleporter-source.png
diff --git a/public/course-images/teleporter/two-way-communication.png b/public/common-images/teleporter/two-way-communication.png
similarity index 100%
rename from public/course-images/teleporter/two-way-communication.png
rename to public/common-images/teleporter/two-way-communication.png
diff --git a/public/course-images/telepoter-chainlink-vrf/VRF provider and client.png b/public/common-images/telepoter-chainlink-vrf/VRF provider and client.png
similarity index 100%
rename from public/course-images/telepoter-chainlink-vrf/VRF provider and client.png
rename to public/common-images/telepoter-chainlink-vrf/VRF provider and client.png
diff --git a/public/course-banner/avalanche-fundamentals.jpg b/public/course-banner/avalanche-fundamentals.jpg
index 2575186d..bea148af 100644
Binary files a/public/course-banner/avalanche-fundamentals.jpg and b/public/course-banner/avalanche-fundamentals.jpg differ
diff --git a/public/course-banner/customizing-evm.jpg b/public/course-banner/customizing-evm.jpg
new file mode 100644
index 00000000..91ae13c6
Binary files /dev/null and b/public/course-banner/customizing-evm.jpg differ
diff --git a/public/course-banner/hypersdk.jpg b/public/course-banner/hypersdk.jpg
index a9f9f635..098eda8f 100644
Binary files a/public/course-banner/hypersdk.jpg and b/public/course-banner/hypersdk.jpg differ
diff --git a/public/course-banner/multi-chain-architecture.jpg b/public/course-banner/multi-chain-architecture.jpg
index 26d21e70..66888a2e 100644
Binary files a/public/course-banner/multi-chain-architecture.jpg and b/public/course-banner/multi-chain-architecture.jpg differ
diff --git a/public/course-banner/node-course.jpg b/public/course-banner/node-course.jpg
new file mode 100644
index 00000000..eeb20dc9
Binary files /dev/null and b/public/course-banner/node-course.jpg differ
diff --git a/public/course-banner/solidity-fundamentals.jpg b/public/course-banner/solidity-fundamentals.jpg
new file mode 100644
index 00000000..52ef01e8
Binary files /dev/null and b/public/course-banner/solidity-fundamentals.jpg differ
diff --git a/public/course-banner/teleporter.jpg b/public/course-banner/teleporter.jpg
index 5845d63e..4f3efc5e 100644
Binary files a/public/course-banner/teleporter.jpg and b/public/course-banner/teleporter.jpg differ
diff --git a/public/course/customizing-evm/29.png b/public/course/customizing-evm/29.png
new file mode 100644
index 00000000..273fd4b6
Binary files /dev/null and b/public/course/customizing-evm/29.png differ
diff --git a/public/showcases/briefkasten.png b/public/showcases/briefkasten.png
deleted file mode 100644
index e715eeea..00000000
Binary files a/public/showcases/briefkasten.png and /dev/null differ
diff --git a/public/showcases/frameground.png b/public/showcases/frameground.png
deleted file mode 100644
index 631a0a83..00000000
Binary files a/public/showcases/frameground.png and /dev/null differ
diff --git a/public/showcases/next-faq.png b/public/showcases/next-faq.png
deleted file mode 100644
index 516810c5..00000000
Binary files a/public/showcases/next-faq.png and /dev/null differ
diff --git a/public/showcases/nuqs.jpg b/public/showcases/nuqs.jpg
deleted file mode 100644
index b741d2d3..00000000
Binary files a/public/showcases/nuqs.jpg and /dev/null differ
diff --git a/public/showcases/xlog.png b/public/showcases/xlog.png
deleted file mode 100644
index 60ffb972..00000000
Binary files a/public/showcases/xlog.png and /dev/null differ
diff --git a/public/showcases/yeecord.png b/public/showcases/yeecord.png
deleted file mode 100644
index 83d0654b..00000000
Binary files a/public/showcases/yeecord.png and /dev/null differ
diff --git a/public/spot.png b/public/spot.png
deleted file mode 100644
index cafc8756..00000000
Binary files a/public/spot.png and /dev/null differ
diff --git a/scripts/generate-docs.mts b/scripts/generate-docs.mts
deleted file mode 100644
index 6f91e014..00000000
--- a/scripts/generate-docs.mts
+++ /dev/null
@@ -1,33 +0,0 @@
-import * as OpenAPI from 'fumadocs-openapi';
-import * as Typescript from 'fumadocs-typescript';
-import * as path from 'node:path';
-
-void OpenAPI.generateFiles({
- input: ['./*.yaml'],
- output: './content/docs/ui',
- per: 'tag',
- render: (title, description) => {
- return {
- frontmatter: [
- '---',
- `title: ${title}`,
- `description: ${description}`,
- 'toc: false',
- '---',
- ].join('\n'),
- };
- },
-});
-
-const demoRegex = /^---type-table-demo---\r?\n(?
.+)\r?\n---end---$/gm;
-void Typescript.generateFiles({
- input: ['./content/docs/**/*.model.mdx'],
- transformOutput(_, content) {
- return content.replace(demoRegex, '---type-table---\n$1\n---end---');
- },
- output: (file) =>
- path.resolve(
- path.dirname(file),
- `${path.basename(file).split('.')[0]}.mdx`,
- ),
-});
diff --git a/scripts/update-index.mts b/scripts/update-index.mts
deleted file mode 100644
index 60cc042f..00000000
--- a/scripts/update-index.mts
+++ /dev/null
@@ -1,34 +0,0 @@
-import { readFileSync } from 'node:fs';
-import { resolve } from 'node:path';
-import env from '@next/env';
-import algosearch from 'algoliasearch';
-import { sync } from 'fumadocs-core/search-algolia/server';
-import type { SearchIndex } from 'fumadocs-mdx';
-
-env.loadEnvConfig(process.cwd());
-
-const indexes = JSON.parse(
- readFileSync(
- resolve('./.next/server/chunks/fumadocs_search.json'),
- ).toString(),
-) as SearchIndex[];
-
-const client = algosearch(
- process.env.ALGOLIA_APP_ID || '',
- process.env.ALGOLIA_API_KEY || '',
-);
-
-void sync(client, {
- document: process.env.NEXT_PUBLIC_ALGOLIA_INDEX,
- documents: indexes.map((docs) => ({
- _id: docs.id,
- title: docs.title,
- url: docs.url,
- structured: docs.structuredData,
- extra_data: {
- tag: docs.url.split('/')[2],
- },
- })),
-}).then(() => {
- console.log('search updated');
-});
diff --git a/utils/modes.ts b/utils/modes.ts
deleted file mode 100644
index e69de29b..00000000