diff --git a/hosting/godot-html5-template/README.md b/hosting/godot-html5-template/README.mdx similarity index 92% rename from hosting/godot-html5-template/README.md rename to hosting/godot-html5-template/README.mdx index 7efa95296..05bd98e71 100644 --- a/hosting/godot-html5-template/README.md +++ b/hosting/godot-html5-template/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Godot HTML5 sample + + ## Overview The example shows how to deploy a Godot HTML5 build on the IC in an asset canister. The Godot HTML5 build is deployed as frontend, no backend is needed in this sample. diff --git a/hosting/photo-storage/README.md b/hosting/photo-storage/README.mdx similarity index 94% rename from hosting/photo-storage/README.md rename to hosting/photo-storage/README.mdx index 28a7b045a..207a001c2 100644 --- a/hosting/photo-storage/README.md +++ b/hosting/photo-storage/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Photo storage example + + The example shows how to store photos on the IC in an asset canister with the `@dfinity/assets` package. The photo storage app is deployed as a frontend in an asset canister which is also used for photo upload. @@ -16,6 +20,7 @@ This example requires an installation of: - [x] Download and install [git](https://git-scm.com/downloads). - [x] Download and install [Node.js](https://nodejs.org/en). + ## Install Clone the example dapp project: diff --git a/hosting/static-website/README.md b/hosting/static-website/README.mdx similarity index 96% rename from hosting/static-website/README.md rename to hosting/static-website/README.mdx index 91f93233f..6d2c0c803 100644 --- a/hosting/static-website/README.md +++ b/hosting/static-website/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Static website + + ## Overview The example shows how to deploy a simple, static website on the IC in an asset canister. The website is very simple, it just shows the DFINITY logo and has a basic styling of the logo. diff --git a/hosting/unity-webgl-template/README.md b/hosting/unity-webgl-template/README.mdx similarity index 91% rename from hosting/unity-webgl-template/README.md rename to hosting/unity-webgl-template/README.mdx index e4a43d250..82e08554a 100644 --- a/hosting/unity-webgl-template/README.md +++ b/hosting/unity-webgl-template/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Unity WebGL sample + + The example shows how to deploy a simple Unity WebGL build on the IC in an asset canister. It just shows a Unity WebGL build with the URP template installed. The Unity WebGL build is deployed as frontend, no backend is needed in this sample. diff --git a/motoko/actor_reference/README.md b/motoko/actor_reference/README.mdx similarity index 96% rename from motoko/actor_reference/README.md rename to motoko/actor_reference/README.mdx index e1e38721c..380cc3550 100644 --- a/motoko/actor_reference/README.md +++ b/motoko/actor_reference/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Actor reference + + ## Overview This example demonstrates a simple use of an actor reference to convert a textual representation of some principal to a value of an actor type, that, now typed as an actor, can be communicated with by calling the shared functions of its interface. diff --git a/motoko/auth_client_demo/README.md b/motoko/auth_client_demo/README.mdx similarity index 92% rename from motoko/auth_client_demo/README.md rename to motoko/auth_client_demo/README.mdx index c7b972d20..6fedcd700 100644 --- a/motoko/auth_client_demo/README.md +++ b/motoko/auth_client_demo/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Auth-client + + This is an example project, intended to demonstrate how an app developer might integrate with an [Internet Identity](https://identity.ic0.app). For a non-typescript implementation, see https://github.com/krpeacock/auth-client-demo/tree/vanilla-js diff --git a/motoko/basic_bitcoin/README.md b/motoko/basic_bitcoin/README.mdx similarity index 98% rename from motoko/basic_bitcoin/README.md rename to motoko/basic_bitcoin/README.mdx index 91de7e26b..254e7e0e1 100644 --- a/motoko/basic_bitcoin/README.md +++ b/motoko/basic_bitcoin/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Basic Bitcoin + + ## Deploying your first Bitcoin dapp ## Overview diff --git a/motoko/basic_dao/README.md b/motoko/basic_dao/README.mdx similarity index 97% rename from motoko/basic_dao/README.md rename to motoko/basic_dao/README.mdx index b1e76e6e8..f61c57b6e 100644 --- a/motoko/basic_dao/README.md +++ b/motoko/basic_dao/README.mdx @@ -1,5 +1,10 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Basic DAO + + + This sample project demonstrates a basic [decentralized autonomous organization](https://en.wikipedia.org/wiki/Decentralized_autonomous_organization) (DAO) that can be deployed to the [Internet Computer](https://github.com/dfinity/ic). The basic DAO sample code is available in [Motoko](https://github.com/dfinity/examples/tree/master/motoko/basic_dao) and [Rust](https://github.com/dfinity/examples/tree/master/rust/basic_dao). You can see a quick introduction on [YouTube](https://youtu.be/3IcYlieA-EE). ## Overview diff --git a/motoko/calc/README.md b/motoko/calc/README.mdx similarity index 92% rename from motoko/calc/README.md rename to motoko/calc/README.mdx index 8fbe34946..8c8eaface 100644 --- a/motoko/calc/README.md +++ b/motoko/calc/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Calculator + + ![Compatibility](https://img.shields.io/badge/compatibility-0.6.25-blue) [![Build Status](https://github.com/dfinity/examples/workflows/motoko-calc-example/badge.svg)](https://github.com/dfinity/examples/actions?query=workflow%3Amotoko-calc-example) @@ -59,4 +63,4 @@ If you base your application on this example, we recommend you familiarize yours For example, the following aspects are particularly relevant for this app: * [Consider using stable memory, version it, test it](https://internetcomputer.org/docs/current/references/security/rust-canister-development-security-best-practices/#consider-using-stable-memory-version-it-test-it), since this canister uses canister memory, and not stable memory. -* [Validate inputs](https://internetcomputer.org/docs/current/references/security/rust-canister-development-security-best-practices/#validate-inputs), since this canister accepts user input which requires input validation (e.g. div by 0 is not allowed). \ No newline at end of file +* [Validate inputs](https://internetcomputer.org/docs/current/references/security/rust-canister-development-security-best-practices/#validate-inputs), since this canister accepts user input which requires input validation (e.g. div by 0 is not allowed). diff --git a/motoko/cert-var/README.md b/motoko/cert-var/README.mdx similarity index 98% rename from motoko/cert-var/README.md rename to motoko/cert-var/README.mdx index b8cfb405e..dd9f20ce1 100644 --- a/motoko/cert-var/README.md +++ b/motoko/cert-var/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Certified variables + + ## Overview This example demonstrates the use of a single cryptographically certified variable, as supported by the Internet Computer. diff --git a/motoko/classes/README.md b/motoko/classes/README.mdx similarity index 96% rename from motoko/classes/README.md rename to motoko/classes/README.mdx index e856a782d..8cc1c0606 100644 --- a/motoko/classes/README.md +++ b/motoko/classes/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Classes + + ![Compatibility](https://img.shields.io/badge/compatibility-0.7.0-blue) [![Build Status](https://github.com/dfinity/examples/workflows/motoko-classes-example/badge.svg)](https://github.com/dfinity/examples/actions?query=workflow%3Amotoko-classes-example) diff --git a/motoko/composite_query/README.md b/motoko/composite_query/README.mdx similarity index 96% rename from motoko/composite_query/README.md rename to motoko/composite_query/README.mdx index 9d9b1d4de..fc7b52608 100644 --- a/motoko/composite_query/README.md +++ b/motoko/composite_query/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Composite queries + + ## Overview This example modifies the simple actor class example to demonstrate the implementation of composite queries. @@ -103,4 +107,4 @@ dfx canister call --query Map get '(15)' ## Security considerations and best practices -If you base your application on this example, we recommend you familiarize yourself with and adhere to the [security best practices](https://internetcomputer.org/docs/current/references/security/) for developing on ICP. This example may not implement all the best practices. \ No newline at end of file +If you base your application on this example, we recommend you familiarize yourself with and adhere to the [security best practices](https://internetcomputer.org/docs/current/references/security/) for developing on ICP. This example may not implement all the best practices. diff --git a/motoko/counter/README.md b/motoko/counter/README.mdx similarity index 94% rename from motoko/counter/README.md rename to motoko/counter/README.mdx index 495c4e733..eb56e0ba5 100644 --- a/motoko/counter/README.md +++ b/motoko/counter/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Counter + + ## Overview This example demonstrates a counter application. It uses an orthogonally persistent counter variable to store an arbitrary precision natural number that represents the current value of the counter. diff --git a/motoko/defi/README.md b/motoko/defi/README.mdx similarity index 98% rename from motoko/defi/README.md rename to motoko/defi/README.mdx index ea4ed345e..5da9bc21e 100644 --- a/motoko/defi/README.md +++ b/motoko/defi/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Decentralized exchange sample + + ## Overview To enable DeFi applications on the IC, canisters need to interact with token canisters and the ledger canister. This sample dapp illustrates how to facilitate these interactions. You can see a quick introduction on [YouTube](https://youtu.be/fLbaOmH24Gs). diff --git a/motoko/dip721-nft-container/README.md b/motoko/dip721-nft-container/README.mdx similarity index 99% rename from motoko/dip721-nft-container/README.md rename to motoko/dip721-nft-container/README.mdx index d6d146c26..78cdcd88b 100644 --- a/motoko/dip721-nft-container/README.md +++ b/motoko/dip721-nft-container/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # DIP721 NFTs + + This example demonstrates implementing an NFT canister. NFTs (non-fungible tokens) are unique tokens with arbitrary metadata, usually an image of some kind, to form the digital equivalent of trading cards. There are a few different NFT standards for the Internet Computer (e.g [EXT](https://github.com/Toniq-Labs/extendable-token), [IC-NFT](https://github.com/rocklabs-io/ic-nft)), but for the purposes of this tutorial we use [DIP-721](https://github.com/Psychedelic/DIP721). You can see a quick introduction on [YouTube](https://youtu.be/1po3udDADp4). @@ -439,4 +443,4 @@ For example, the following aspects are particularly relevant for this app: ## Resources [Rust](https://rustup.rs). [DIP721](https://github.com/Psychedelic/DIP721). -[Minting tool](https://github.com/dfinity/experimental-minting-tool). \ No newline at end of file +[Minting tool](https://github.com/dfinity/experimental-minting-tool). diff --git a/motoko/echo/README.md b/motoko/echo/README.mdx similarity index 86% rename from motoko/echo/README.md rename to motoko/echo/README.mdx index 8ded6bb66..a957047a7 100644 --- a/motoko/echo/README.md +++ b/motoko/echo/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Echo + + ## Overview This example demonstrates a simple echo effect, where an application sends back the data it receives. diff --git a/motoko/encrypted-notes-dapp-vetkd/README.md b/motoko/encrypted-notes-dapp-vetkd/README.mdx similarity index 97% rename from motoko/encrypted-notes-dapp-vetkd/README.md rename to motoko/encrypted-notes-dapp-vetkd/README.mdx index fcefde46a..920db1512 100644 --- a/motoko/encrypted-notes-dapp-vetkd/README.md +++ b/motoko/encrypted-notes-dapp-vetkd/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Encrypted notes: vetKD + + This is a copy of the encrypted-notes-dapp example, adapted to (1) use [the proposed vetKD feature](https://github.com/dfinity/interface-spec/pull/158) and (2) add sharing of notes between users. In particular, instead of creating a principal-specific AES key and syncing it across devices (by means of device-specific RSA keys), the notes are encrypted with an AES key that is derived (directly in the browser) from a note-ID-specific vetKey obtained from the backend canister (in encrypted form, using an ephemeral transport key), which itself obtains it from the vetKD system API. This way, there is no need for any device management in the dapp, plus sharing of notes becomes possible. diff --git a/motoko/encrypted-notes-dapp/README.md b/motoko/encrypted-notes-dapp/README.mdx similarity index 99% rename from motoko/encrypted-notes-dapp/README.md rename to motoko/encrypted-notes-dapp/README.mdx index 7b50a8b7a..ded14124a 100644 --- a/motoko/encrypted-notes-dapp/README.md +++ b/motoko/encrypted-notes-dapp/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Encrypted notes + + Encrypted notes is an example dapp for authoring and storing confidential information on the Internet Computer (IC) in the form of short pieces of text. Users can create and access their notes via any number of automatically synchronized devices authenticated via [Internet Identity (II)](https://wiki.internetcomputer.org/wiki/What_is_Internet_Identity). Notes are stored confidentially thanks to the end-to-end encryption performed by the dapp’s frontend. This project serves as a simple (but not too simple) example of a dapp, which uses Motoko and Rust as backend and Svelte as frontend. diff --git a/motoko/factorial/README.md b/motoko/factorial/README.mdx similarity index 90% rename from motoko/factorial/README.md rename to motoko/factorial/README.mdx index 9b3632fa7..e28a042fb 100644 --- a/motoko/factorial/README.md +++ b/motoko/factorial/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Factorial + + ## Overview This example demonstrates a recursive mathematical function that calculates the product of all positive integers less than or equal to its input. diff --git a/motoko/hello-world/README.md b/motoko/hello-world/README.mdx similarity index 93% rename from motoko/hello-world/README.md rename to motoko/hello-world/README.mdx index 439179ead..3057792b5 100644 --- a/motoko/hello-world/README.md +++ b/motoko/hello-world/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Hello World + + ![Compatibility](https://img.shields.io/badge/compatibility-0.6.25-blue) [![Build Status](https://github.com/dfinity/examples/workflows/motoko-hello-world--example/badge.svg)](https://github.com/dfinity/examples/actions?query=workflow%3Amotoko-hello-world-example) diff --git a/motoko/hello/README.md b/motoko/hello/README.mdx similarity index 97% rename from motoko/hello/README.md rename to motoko/hello/README.mdx index 1433c8e3a..9ab99c1fc 100644 --- a/motoko/hello/README.md +++ b/motoko/hello/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Hello, world! + + ## Overview This sample demonstrates a simple dapp consisting of two canisters: diff --git a/motoko/hello_cycles/README.md b/motoko/hello_cycles/README.mdx similarity index 97% rename from motoko/hello_cycles/README.md rename to motoko/hello_cycles/README.mdx index 0d1e91993..98b01a20a 100644 --- a/motoko/hello_cycles/README.md +++ b/motoko/hello_cycles/README.mdx @@ -1,4 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Hello, cycles! + + + ![Compatibility](https://img.shields.io/badge/compatibility-0.6.25-blue) ## Overview diff --git a/motoko/http_counter/README.md b/motoko/http_counter/README.mdx similarity index 95% rename from motoko/http_counter/README.md rename to motoko/http_counter/README.mdx index 5c4b1dc0b..a5119a3d4 100644 --- a/motoko/http_counter/README.md +++ b/motoko/http_counter/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # HTTP counter + + ## Overview The example demonstrates a counter dapp and an HTTP interface. It is essentially an iteration on the counter canister which adds native HTTP interfaces. diff --git a/motoko/ic-pos/README.md b/motoko/ic-pos/README.mdx similarity index 98% rename from motoko/ic-pos/README.md rename to motoko/ic-pos/README.mdx index 926638f9b..1115bf7e2 100644 --- a/motoko/ic-pos/README.md +++ b/motoko/ic-pos/README.mdx @@ -1,5 +1,10 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # IC-POS + + + ![](./media/header.png) diff --git a/motoko/icrc2-swap/README.md b/motoko/icrc2-swap/README.mdx similarity index 98% rename from motoko/icrc2-swap/README.md rename to motoko/icrc2-swap/README.mdx index 83bf24ece..a2da78792 100644 --- a/motoko/icrc2-swap/README.md +++ b/motoko/icrc2-swap/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # ICRC-2 swap + + ## Overview ICRC-2 Swap is simple canister demonstrating how to safely work with ICRC-2 diff --git a/motoko/internet_identity_integration/README.md b/motoko/internet_identity_integration/README.mdx similarity index 99% rename from motoko/internet_identity_integration/README.md rename to motoko/internet_identity_integration/README.mdx index 8088e0c0a..df9f2927f 100644 --- a/motoko/internet_identity_integration/README.md +++ b/motoko/internet_identity_integration/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Internet Identity integration + + ## Overview This tutorial shows how to integrate Internet Identity into a dapp front-end and make use of the user identity in the backend. It builds on the "greet" dapp that is generated by running `dfx new`. If you are unfamiliar with `dfx new` and the generated application, please have a look at [this](https://internetcomputer.org/docs/current/developer-docs/setup/install/index.mdx) guide first. diff --git a/motoko/invoice-canister/README.md b/motoko/invoice-canister/README.mdx similarity index 99% rename from motoko/invoice-canister/README.md rename to motoko/invoice-canister/README.mdx index 3f4be204f..3e6a8dab6 100644 --- a/motoko/invoice-canister/README.md +++ b/motoko/invoice-canister/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Invoice canister + + ## Overview This project provides an interface for creating invoices to process payments in either ICP or ICRC1 based tokens on the Internet Computer. It is a custodial solution, intended to provide a robust point of departure for integrating payment flow of these and other tokens in an Internet Computer canister. diff --git a/motoko/ios-notifications/README.md b/motoko/ios-notifications/README.mdx similarity index 98% rename from motoko/ios-notifications/README.md rename to motoko/ios-notifications/README.mdx index df17c88c9..dda521c2b 100644 --- a/motoko/ios-notifications/README.md +++ b/motoko/ios-notifications/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # iOS integration + + ## Overview [iOS integration](https://github.com/dfinity/examples/tree/master/motoko/ios-notifications) is an experimental dapp with a native app integration that showcases a possible solution for integrating a dapp hosted in the Internet Computer with multiple platforms. For this example we've created an iOS app. diff --git a/motoko/ledger-transfer/README.md b/motoko/ledger-transfer/README.mdx similarity index 98% rename from motoko/ledger-transfer/README.md rename to motoko/ledger-transfer/README.mdx index 019595825..365428ddb 100644 --- a/motoko/ledger-transfer/README.md +++ b/motoko/ledger-transfer/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Ledger transfer + + ## Overview ICP transfer is a canister that can transfer ICP from its account to other accounts. It is an example of a canister that uses the ledger canister. Sample code is available in [Motoko](https://github.com/dfinity/examples/tree/master/motoko/ledger-transfer) and [Rust](https://github.com/dfinity/examples/tree/master/rust/tokens_transfer). diff --git a/motoko/life/README.md b/motoko/life/README.mdx similarity index 98% rename from motoko/life/README.md rename to motoko/life/README.mdx index ce81e8360..9c99fd1f7 100644 --- a/motoko/life/README.md +++ b/motoko/life/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Game of life + + ## Overview This example contains a series of implementations of Conway's Game of Life. diff --git a/motoko/minimal-counter-dapp/README.md b/motoko/minimal-counter-dapp/README.mdx similarity index 98% rename from motoko/minimal-counter-dapp/README.md rename to motoko/minimal-counter-dapp/README.mdx index 8b7a05a58..fcf33aa3a 100644 --- a/motoko/minimal-counter-dapp/README.md +++ b/motoko/minimal-counter-dapp/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Minimal counter dapp + + ![Counter Frontend](README_images/frontend.png) ## Overview diff --git a/motoko/persistent-storage/README.md b/motoko/persistent-storage/README.mdx similarity index 97% rename from motoko/persistent-storage/README.md rename to motoko/persistent-storage/README.mdx index bc945ece6..338ac0e17 100644 --- a/motoko/persistent-storage/README.md +++ b/motoko/persistent-storage/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Persistent storage + + ## Overview The example dapp shows how to build a simple dapp in Motoko, which will have persistent storage. The dapp is a simple counter, which will increment a counter, retrieve the counter value and reset the counter value by calling backend functions. The functions are exposed through a Candid interface. diff --git a/motoko/phone-book/README.md b/motoko/phone-book/README.mdx similarity index 92% rename from motoko/phone-book/README.md rename to motoko/phone-book/README.mdx index 45bcbeff4..fd4d95d48 100644 --- a/motoko/phone-book/README.md +++ b/motoko/phone-book/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Phone book + + ![Compatibility](https://img.shields.io/badge/compatibility-0.6.25-blue) [![Build Status](https://github.com/dfinity/examples/workflows/motoko-phone-book-example/badge.svg)](https://github.com/dfinity/examples/actions?query=workflow%3Amotoko-phone-book-example) diff --git a/motoko/pub-sub/README.md b/motoko/pub-sub/README.mdx similarity index 95% rename from motoko/pub-sub/README.md rename to motoko/pub-sub/README.mdx index a394b2327..dd12ac896 100644 --- a/motoko/pub-sub/README.md +++ b/motoko/pub-sub/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # PubSub + + ## Overview This sample project demonstrates how functions may be passed as arguments of inter-canister calls to be used as callbacks. diff --git a/motoko/quicksort/README.md b/motoko/quicksort/README.mdx similarity index 93% rename from motoko/quicksort/README.md rename to motoko/quicksort/README.mdx index 691f087c9..7162be658 100644 --- a/motoko/quicksort/README.md +++ b/motoko/quicksort/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Quicksort + + ![Compatibility](https://img.shields.io/badge/compatibility-0.6.25-blue) [![Build Status](https://github.com/dfinity/examples/workflows/motoko-quicksort-example/badge.svg)](https://github.com/dfinity/examples/actions?query=workflow%3Amotoko-quicksort-example) diff --git a/motoko/random_maze/README.md b/motoko/random_maze/README.mdx similarity index 96% rename from motoko/random_maze/README.md rename to motoko/random_maze/README.mdx index 492c24c87..f08652146 100644 --- a/motoko/random_maze/README.md +++ b/motoko/random_maze/README.mdx @@ -1,4 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Random maze + + + ## Overview The example generates a random maze using cryptographic randomness. diff --git a/rust/send_http_get/README.md b/motoko/send_http_get/README.mdx similarity index 85% rename from rust/send_http_get/README.md rename to motoko/send_http_get/README.mdx index e3f6a1a8b..4fd3d020a 100644 --- a/rust/send_http_get/README.md +++ b/motoko/send_http_get/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # HTTP: GET + + The purpose of this dapp is to give developers a minimal dapp that uses the IC's HTTPS outcalls feature to make a `GET` request. This demo goes in hand with the [developer documentation on HTTPS outcalls](https://internetcomputer.org/docs/current/developer-docs/integrations/https-outcalls/https-outcalls-get). @@ -21,4 +25,5 @@ dfx start --background # Deploys your canisters to the replica and generates your candid interface dfx deploy -``` \ No newline at end of file +``` + diff --git a/motoko/send_http_post/README.md b/motoko/send_http_post/README.mdx similarity index 85% rename from motoko/send_http_post/README.md rename to motoko/send_http_post/README.mdx index 5ab1a95b3..0ba86cfde 100644 --- a/motoko/send_http_post/README.md +++ b/motoko/send_http_post/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # HTTP: POST + + The purpose of this dapp is to give developers a minimal dapp that uses the IC's HTTPS outcalls feature to make a `POST` request. This demo goes in hand with the [developer documentation on HTTPS outcalls](https://internetcomputer.org/docs/current/developer-docs/integrations/https-outcalls/https-outcalls-post). diff --git a/motoko/simple-to-do/README.md b/motoko/simple-to-do/README.mdx similarity index 95% rename from motoko/simple-to-do/README.md rename to motoko/simple-to-do/README.mdx index b97900a65..a70ecb3ee 100644 --- a/motoko/simple-to-do/README.md +++ b/motoko/simple-to-do/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Simple to-do + + ## Overview This example illustrates how to create a simple to-do checklist application. diff --git a/motoko/superheroes/README.md b/motoko/superheroes/README.mdx similarity index 93% rename from motoko/superheroes/README.md rename to motoko/superheroes/README.mdx index afd217a52..b510845d7 100644 --- a/motoko/superheroes/README.md +++ b/motoko/superheroes/README.mdx @@ -1,4 +1,8 @@ -## Superheroes +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + +# Superheroes + + ## Overview diff --git a/motoko/threshold-ecdsa/README.md b/motoko/threshold-ecdsa/README.mdx similarity index 98% rename from motoko/threshold-ecdsa/README.md rename to motoko/threshold-ecdsa/README.mdx index 93166bbb6..9683742f3 100644 --- a/motoko/threshold-ecdsa/README.md +++ b/motoko/threshold-ecdsa/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Threshold ECDSA sample + + ## Overview We present a minimal example canister smart contract for showcasing the [threshold ECDSA](https://internetcomputer.org/docs/current/developer-docs/integrations/t-ecdsa) API. diff --git a/motoko/vetkd/README.md b/motoko/vetkd/README.mdx similarity index 96% rename from motoko/vetkd/README.md rename to motoko/vetkd/README.mdx index 5943ea877..4b253da92 100644 --- a/motoko/vetkd/README.md +++ b/motoko/vetkd/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # vetKD API + + This repository provides a canister (`src/system_api`) that offers the vetKD system API proposed in https://github.com/dfinity/interface-spec/pull/158, implemented in an **unsafe** manner **for demonstration purposes**. Additionally, the repository provides: diff --git a/motoko/whoami/README.md b/motoko/whoami/README.mdx similarity index 93% rename from motoko/whoami/README.md rename to motoko/whoami/README.mdx index cd0c7e64e..537d1c4f6 100644 --- a/motoko/whoami/README.md +++ b/motoko/whoami/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Who am I? + + ![Compatibility](https://img.shields.io/badge/compatibility-0.6.25-blue) [![Build Status](https://github.com/dfinity/examples/workflows/motoko-whoami-example/badge.svg)](https://github.com/dfinity/examples/actions?query=workflow%3Amotoko-whoami-example) @@ -53,4 +57,4 @@ If you base your application on this example, we recommend you familiarize yours For example, the following aspects are particularly relevant for this app: * [Make sure any action that only a specific user should be able to do requires authentication](https://internetcomputer.org/docs/current/references/security/rust-canister-development-security-best-practices#make-sure-any-action-that-only-a-specific-user-should-be-able-to-do-requires-authentication), since this example illustrates how to access the caller system API. -* [Disallow the anonymous principal in authenticated calls](https://internetcomputer.org/docs/current/references/security/rust-canister-development-security-best-practices#disallow-the-anonymous-principal-in-authenticated-calls), since the caller system API may return the anonymous principal. \ No newline at end of file +* [Disallow the anonymous principal in authenticated calls](https://internetcomputer.org/docs/current/references/security/rust-canister-development-security-best-practices#disallow-the-anonymous-principal-in-authenticated-calls), since the caller system API may return the anonymous principal. diff --git a/rust/basic_bitcoin/README.md b/rust/basic_bitcoin/README.mdx similarity index 98% rename from rust/basic_bitcoin/README.md rename to rust/basic_bitcoin/README.mdx index 7ed26a3d5..8366a59a2 100644 --- a/rust/basic_bitcoin/README.md +++ b/rust/basic_bitcoin/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Basic Bitcoin + + ## Overview This tutorial will walk you through how to deploy a sample [canister smart contract](https://wiki.internetcomputer.org/wiki/Canister_smart_contract) **that can send and receive Bitcoin** on the Internet Computer. diff --git a/rust/basic_dao/README.md b/rust/basic_dao/README.mdx similarity index 98% rename from rust/basic_dao/README.md rename to rust/basic_dao/README.mdx index 816daf465..e7a75f1d2 100644 --- a/rust/basic_dao/README.md +++ b/rust/basic_dao/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Basic DAO + + This sample project demonstrates a basic [decentralized autonomous organization](https://en.wikipedia.org/wiki/Decentralized_autonomous_organization) (DAO) that can be deployed to the [Internet Computer](https://github.com/dfinity/ic). The basic DAO sample code is available in [Motoko](https://github.com/dfinity/examples/tree/master/motoko/basic_dao) and [Rust](https://github.com/dfinity/examples/tree/master/rust/basic_dao). You can see a quick introduction on [YouTube](https://youtu.be/3IcYlieA-EE). ## Overview diff --git a/rust/canister-info/README.md b/rust/canister-info/README.mdx similarity index 87% rename from rust/canister-info/README.md rename to rust/canister-info/README.mdx index 183429b8c..838611a03 100644 --- a/rust/canister-info/README.md +++ b/rust/canister-info/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Canister info + + The purpose of this dapp is to give developers a small (backend) dapp that uses the IC's `canister_info` management call to retrieve information about canisters including canister history. You can find a detailed description of its methods in the form of doc comments in the source code. diff --git a/rust/composite_query/README.md b/rust/composite_query/README.mdx similarity index 91% rename from rust/composite_query/README.md rename to rust/composite_query/README.mdx index 8340eecb2..044042399 100644 --- a/rust/composite_query/README.md +++ b/rust/composite_query/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Composite queries + + ## Building the example We first need to build the data partition backend canister. diff --git a/rust/counter/README.md b/rust/counter/README.mdx similarity index 91% rename from rust/counter/README.md rename to rust/counter/README.mdx index 0d79e220b..331466b5f 100644 --- a/rust/counter/README.md +++ b/rust/counter/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Counter + + ## Prerequisites This example requires an installation of: diff --git a/rust/dip721-nft-container/README.md b/rust/dip721-nft-container/README.mdx similarity index 98% rename from rust/dip721-nft-container/README.md rename to rust/dip721-nft-container/README.mdx index 3dad7662e..2ed50618a 100644 --- a/rust/dip721-nft-container/README.md +++ b/rust/dip721-nft-container/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # DIP721 NFT + + This example demonstrates implementing an NFT canister. NFTs (non-fungible tokens) are unique tokens with arbitrary metadata, usually an image of some kind, to form the digital equivalent of trading cards. There are a few different NFT standards for the Internet Computer (e.g [EXT](https://github.com/Toniq-Labs/extendable-token), [IC-NFT](https://github.com/rocklabs-io/ic-nft)), but for the purposes of this tutorial we use [DIP-721](https://github.com/Psychedelic/DIP721). You can see a quick introduction on [YouTube](https://youtu.be/1po3udDADp4). @@ -177,4 +181,4 @@ For example, the following aspects are particularly relevant for this app: ## Resources - [Rust](https://rustup.rs). - [DIP721](https://github.com/Psychedelic/DIP721). -- [mint](https://github.com/dfinity/experimental-minting-tool). \ No newline at end of file +- [mint](https://github.com/dfinity/experimental-minting-tool). diff --git a/rust/encrypted-notes-dapp/README.md b/rust/encrypted-notes-dapp/README.mdx similarity index 99% rename from rust/encrypted-notes-dapp/README.md rename to rust/encrypted-notes-dapp/README.mdx index 0fd854fd9..5ffaeb97d 100644 --- a/rust/encrypted-notes-dapp/README.md +++ b/rust/encrypted-notes-dapp/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Encrypted notes + + Encrypted notes is an example dapp for authoring and storing confidential information on the Internet Computer (IC) in the form of short pieces of text. Users can create and access their notes via any number of automatically synchronized devices authenticated via [Internet Identity (II)](https://wiki.internetcomputer.org/wiki/What_is_Internet_Identity). Notes are stored confidentially thanks to the end-to-end encryption performed by the dapp’s frontend. This project serves as a simple (but not too simple) example of a dapp, which uses Motoko and Rust as backend and Svelte as frontend. diff --git a/rust/hello/README.md b/rust/hello/README.mdx similarity index 97% rename from rust/hello/README.md rename to rust/hello/README.mdx index 2165ec3ef..d5acb0f35 100644 --- a/rust/hello/README.md +++ b/rust/hello/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Hello, world! + + ## Overview This sample demonstrates a simple dapp consisting of two canisters: diff --git a/rust/nft-wallet/README.md b/rust/nft-wallet/README.mdx similarity index 91% rename from rust/nft-wallet/README.md rename to rust/nft-wallet/README.mdx index 8671411ab..50b743210 100644 --- a/rust/nft-wallet/README.md +++ b/rust/nft-wallet/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # NFT wallet + + ## Overview This is an NFT wallet example dapp that utilizes minted NFTs from the Rust dip721-nft-container. Among some of its essential features, the wallet can register NFTs, transfer out NFTs and check how many NFTs it contains. This dapp includes a frontend UI for interaction. diff --git a/rust/performance_counters/README.md b/rust/performance_counters/README.mdx similarity index 97% rename from rust/performance_counters/README.md rename to rust/performance_counters/README.mdx index cbac54cc8..827fbe364 100644 --- a/rust/performance_counters/README.md +++ b/rust/performance_counters/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Performance counter + + ## Overview The canister can query one of the "performance counters", which is a deterministic monotonically increasing integer approximating the amount of work the canister has done. Developers might use this data to profile and optimize the canister performance. diff --git a/rust/periodic_tasks/README.md b/rust/periodic_tasks/README.mdx similarity index 98% rename from rust/periodic_tasks/README.md rename to rust/periodic_tasks/README.mdx index c38d88566..d0cfc4b6f 100644 --- a/rust/periodic_tasks/README.md +++ b/rust/periodic_tasks/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Periodic tasks and timers + + ## Overview Unlike other blockchains, the Internet Computer can automatically execute canister smart contracts after a specified delay or periodically. diff --git a/rust/pub-sub/README.md b/rust/pub-sub/README.mdx similarity index 95% rename from rust/pub-sub/README.md rename to rust/pub-sub/README.mdx index c65dda2e8..a11722ea0 100644 --- a/rust/pub-sub/README.md +++ b/rust/pub-sub/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # PubSub + + ## Overview This sample project demonstrates how functions may be passed as arguments of inter-canister calls to be used as callbacks. diff --git a/rust/qrcode/README.md b/rust/qrcode/README.mdx similarity index 96% rename from rust/qrcode/README.md rename to rust/qrcode/README.mdx index 4cf2924af..df2e43764 100644 --- a/rust/qrcode/README.md +++ b/rust/qrcode/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # QR code generator + + ## Overview This example shows that an Internet Computer dapp can perform a long-running computation, like image processing, in a single message execution. diff --git a/motoko/send_http_get/README.md b/rust/send_http_get/README.mdx similarity index 85% rename from motoko/send_http_get/README.md rename to rust/send_http_get/README.mdx index 3ae19461e..e434a71d8 100644 --- a/motoko/send_http_get/README.md +++ b/rust/send_http_get/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # HTTP: GET + + The purpose of this dapp is to give developers a minimal dapp that uses the IC's HTTPS outcalls feature to make a `GET` request. This demo goes in hand with the [developer documentation on HTTPS outcalls](https://internetcomputer.org/docs/current/developer-docs/integrations/https-outcalls/https-outcalls-get). @@ -22,4 +26,3 @@ dfx start --background # Deploys your canisters to the replica and generates your candid interface dfx deploy ``` - diff --git a/rust/send_http_post/README.md b/rust/send_http_post/README.mdx similarity index 85% rename from rust/send_http_post/README.md rename to rust/send_http_post/README.mdx index 4396d1c2b..3db1d2ccb 100644 --- a/rust/send_http_post/README.md +++ b/rust/send_http_post/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # HTTP: POST + + The purpose of this dapp is to give developers a minimal dapp that uses the IC's HTTPS outcalls feature to make a `POST` request. This demo goes in hand with the [developer documentation on HTTPS outcalls](https://internetcomputer.org/docs/current/developer-docs/integrations/https-outcalls/https-outcalls-post). diff --git a/rust/threshold-ecdsa/README.md b/rust/threshold-ecdsa/README.mdx similarity index 98% rename from rust/threshold-ecdsa/README.md rename to rust/threshold-ecdsa/README.mdx index 2472c10ea..14ec15dd3 100644 --- a/rust/threshold-ecdsa/README.md +++ b/rust/threshold-ecdsa/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Threshold ECDSA + + ## Overview We present a minimal example canister smart contract for showcasing the [threshold ECDSA](https://internetcomputer.org/docs/current/developer-docs/integrations/t-ecdsa) API. diff --git a/rust/tokens_transfer/README.md b/rust/tokens_transfer/README.mdx similarity index 98% rename from rust/tokens_transfer/README.md rename to rust/tokens_transfer/README.mdx index 8b90ad2ec..c0218319a 100644 --- a/rust/tokens_transfer/README.md +++ b/rust/tokens_transfer/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # Token transfer + + ## Overview ICP transfer is a canister that can transfer ICP from its account to other accounts. It is an example of a canister that uses the ledger canister. Sample code is available in [Motoko](https://github.com/dfinity/examples/tree/master/ rust/ledger-transfer) and [Rust](https://github.com/dfinity/examples/tree/master/rust/tokens_transfer). diff --git a/rust/vetkd/README.md b/rust/vetkd/README.mdx similarity index 96% rename from rust/vetkd/README.md rename to rust/vetkd/README.mdx index 9c8043dba..4f60747c9 100644 --- a/rust/vetkd/README.md +++ b/rust/vetkd/README.mdx @@ -1,5 +1,9 @@ +import { MarkdownChipRow } from "/src/components/Chip/MarkdownChipRow"; + # vetKD API + + This repository provides a canister (`src/system_api`) that offers the vetKD system API proposed in https://github.com/dfinity/interface-spec/pull/158, implemented in an **unsafe** manner **for demonstration purposes**. Additionally, the repository provides: