diff --git a/blog/features/vetkey-primer.md b/blog/features/vetkey-primer.md index 47dbd496d3..224bc23bb3 100644 --- a/blog/features/vetkey-primer.md +++ b/blog/features/vetkey-primer.md @@ -63,7 +63,7 @@ Considering that blockchains are very public places where transparency has been Note that we care most about the secret ***key derivation*** here, as that is the most sensitive part which we want to protect from one central (potentially untrusted, unauthorized, or compromised) party, and hence the **KD** in VETKD. To deal with the centralization point, we need to move into the distributed setting. Assuming there is no one trusted party, we distribute trust amongst multiple parties, and require that some *threshold* of them collaborate on shares of the master secret key to derive decryption keys. How do parties **get shares** of the master secret key? This is done by leveraging a distributed key generation (DKG) protocol, where a threshold of honest parties (or nodes) work together to obtain a set of master key shares. Assuming no collusion between nodes, at no point does any one node hold the full private key. -Click around to learn more about [threshold cryptography]( https://en.wikipedia.org/wiki/Threshold_cryptosystem), [DKG](https://en.wikipedia.org/wiki/Distributed_key_generation) and chapter 22 in the [Boneh-Shoup book](http://toc.cryptobook.us/). +Click around to learn more about [threshold cryptography]( https://en.wikipedia.org/wiki/Threshold_cryptosystem), [DKG](https://en.wikipedia.org/wiki/Distributed_key_generation) and chapter 22 in the [Boneh-Shoup book](https://toc.cryptobook.us/). It’s clear from above that we don't want a centralised key derivation process and this is why we need the **T** for the KD process, but what about **V** and **E**? Perhaps this is best highlighted by a scenario. @@ -100,7 +100,7 @@ At a first glance, we could guess that we will need a distributed key generation Crucially, An observation buried in [BF01] gives us the answer. Moni Naor noted that an IBE scheme can be directly converted into a signature scheme. Considering the key derivation of Boneh-Franklin IBE specifically, the resulting signature scheme happens to be BLS. ### BLS signatures -Digital signatures are used everywhere in cryptography and in the blockchain world to attest to the authenticity of a message, transaction, or other pieces of information. As they are so prevalent, it’s really worth spending time getting to know them. You can get a high level view on wikipedia ([Digital Signatures](https://en.wikipedia.org/wiki/Digital_signature) and [BLS](https://en.wikipedia.org/wiki/BLS_digital_signature)), and dive into the [Boneh-Shoup book](http://toc.cryptobook.us/) when you want more formal details. +Digital signatures are used everywhere in cryptography and in the blockchain world to attest to the authenticity of a message, transaction, or other pieces of information. As they are so prevalent, it’s really worth spending time getting to know them. You can get a high level view on wikipedia ([Digital Signatures](https://en.wikipedia.org/wiki/Digital_signature) and [BLS](https://en.wikipedia.org/wiki/BLS_digital_signature)), and dive into the [Boneh-Shoup book](https://toc.cryptobook.us/) when you want more formal details. BLS signatures are a particular type of digital signature introduced in by Dan Boneh, Ben Lynn, and Hovav Shacham in 2001. @@ -132,7 +132,7 @@ This page contains a high level view and description of VETKD and its building b It also shows one possible way of building VETKD, there are others, some with fancy features, that are described more in the paper. There are many use cases and motivations for building VETKD, these are discussed in [the video](https://youtu.be/baM6jHnmMq8) and can be written up if you like. There are also extensions that could be built depending on what is needed in the community. Finally, note that this page is hosted onchain. ## References -* [BS23](http://toc.cryptobook.us/) - The Boneh-Shoup Book. +* [BS23](https://toc.cryptobook.us/) - The Boneh-Shoup Book. * [BF01](https://crypto.stanford.edu/~dabo/papers/bfibe.pdf) - The IBE paper. * [BLS01](https://www.iacr.org/archive/asiacrypt2001/22480516.pdf) - The BLS paper. * [DH76](https://ee.stanford.edu/~hellman/publications/24.pdf) - Diffie and Hellman's New Directions paper. diff --git a/blog/news-and-updates/2023-12-06-update.mdx b/blog/news-and-updates/2023-12-06-update.mdx index 9932cab04c..da5a0ab057 100644 --- a/blog/news-and-updates/2023-12-06-update.mdx +++ b/blog/news-and-updates/2023-12-06-update.mdx @@ -15,7 +15,7 @@ Hello developers and welcome back to developer weekly! This week, we have some v On Friday, December 1st, the NNS proposals to enable ckETH on ICP went live. We're excited to announce that all proposals were passed by the NNS, and ckETH is now live on the mainnet! -ckETH has been added to the ICP dashboard, which you can view [here](http://dashboard.internetcomputer.org/ethereum). You can learn how to interact with ckETH by reviewing the ckETH minter documentation [here](https://github.com/dfinity/ic/blob/master/rs/ethereum/cketh/minter/README.adoc). +ckETH has been added to the ICP dashboard, which you can view [here](https://dashboard.internetcomputer.org/ethereum). You can learn how to interact with ckETH by reviewing the ckETH minter documentation [here](https://github.com/dfinity/ic/blob/master/rs/ethereum/cketh/minter/README.adoc). ckETH support is also live in the ICRC-1 wallet, which includes ckETH has a pre-defined token. The index canister has been integrated, allowing you to mint directly to your principal. The ICRC-1 wallet canister can be found [here](https://e4hv6-7yaaa-aaaao-a2ida-cai.icp0.io/) diff --git a/blog/news-and-updates/team-spotlight-sdk.mdx b/blog/news-and-updates/team-spotlight-sdk.mdx index bc127d5054..6ffa92964b 100644 --- a/blog/news-and-updates/team-spotlight-sdk.mdx +++ b/blog/news-and-updates/team-spotlight-sdk.mdx @@ -67,7 +67,7 @@ Hey devs and welcome to this edition of ICP team spotlight! In this issue, we sa **The SDK team is pretty involved with the dev community on the forum and Discord server, which I'm sure has lead to features derived as a result of community feedback. What are some of the improvements made as a direct result of developer feedback?** -*Lots! We built the [developer feedback board](http://dx.internetcomputer.org) a while back, and every two weeks, our internal focus group meets to go over the latest items and check-in on the progress we’ve made addressing others. One thing that's come as a result of the feedback received is the `dfx` version manager. Developers expressed that they want a way to switch `dfx` versions easily. We spent some time working out how best to accomplish that, and the `dfx` version manager was born. Another example is the Cycles Ledger - we heard feedback that the Cycles Wallet was a pain to use and developers wanted a better solution. We are continuously looking for ways to improve our tooling, so keep the feedback coming!* +*Lots! We built the [developer feedback board](https://dx.internetcomputer.org) a while back, and every two weeks, our internal focus group meets to go over the latest items and check-in on the progress we’ve made addressing others. One thing that's come as a result of the feedback received is the `dfx` version manager. Developers expressed that they want a way to switch `dfx` versions easily. We spent some time working out how best to accomplish that, and the `dfx` version manager was born. Another example is the Cycles Ledger - we heard feedback that the Cycles Wallet was a pain to use and developers wanted a better solution. We are continuously looking for ways to improve our tooling, so keep the feedback coming!* **Where should developers look for the latest SDK updates?** diff --git a/docs/developer-docs/security/security-best-practices/inter-canister-calls.mdx b/docs/developer-docs/security/security-best-practices/inter-canister-calls.mdx index 939b722ae8..5f4796e3b2 100644 --- a/docs/developer-docs/security/security-best-practices/inter-canister-calls.mdx +++ b/docs/developer-docs/security/security-best-practices/inter-canister-calls.mdx @@ -153,7 +153,7 @@ To address issues around message ordering that can lead to bugs, one usually emp The locks would usually be released in the callback. That bears the risk that the lock may never be released in case the callback traps, as we discussed in [securely handle traps in callbacks](#securely-handle-traps-in-callbacks). The code examples below shows how one can securely implement a lock per caller. - In Rust, one can use the drop pattern where each caller lock (`CallerGuard` struct) implementats the `Drop` trait to release the lock. From Rust CDK version `0.5.1`, any local variables still go out of scope if the callback traps, so the lock on the caller is released even in that case. Technically, the CDK calls into the `ic0.call_on_cleanup` API to release these resources. Recall that `ic0.call_on_cleanup` is executed if the `reply` or the `reject` callback executed and trapped. -- In Motoko, one can use the [`try`/`finally`](docs/current/motoko/main/reference/language-manual/#try) control flow construct. This construct guarantees that the lock is released in the `finally` block regardless of any errors or traps in the `try` or `catch` blocks. +- In Motoko, one can use the [`try`/`finally`](/docs/current/motoko/main/reference/language-manual/#try) control flow construct. This construct guarantees that the lock is released in the `finally` block regardless of any errors or traps in the `try` or `catch` blocks. diff --git a/docs/developer-docs/web-apps/custom-domains/dns-setup.mdx b/docs/developer-docs/web-apps/custom-domains/dns-setup.mdx index cdc3f73de0..d5ab678687 100644 --- a/docs/developer-docs/web-apps/custom-domains/dns-setup.mdx +++ b/docs/developer-docs/web-apps/custom-domains/dns-setup.mdx @@ -58,7 +58,7 @@ The resulting configuration should look similar to the following screenshot: ![DNS Configuration for `example.ic-domain.live` on Namecheap](namecheap-subdomain.png) -Now, you are all set to register your custom domain with the boundary nodes, and you can continue with step 2 of the [general custom domains instructions](using-custom-domains#custom-domains-on-the-boundary-nodes). +Now, you are all set to register your custom domain with the boundary nodes, and you can continue with step 2 of the [general custom domains instructions](./using-custom-domains#custom-domains-on-the-boundary-nodes). ## GoDaddy @@ -171,7 +171,7 @@ The resulting configuration should look similar to the following screenshot: ![DNS Configuration for `example.ic-domain.live` on GoDaddy](godaddy-subdomain.png) -Now, you are all set to register your custom domain with the boundary nodes, and you can continue with step 2 of the [general custom domains instructions](using-custom-domains#custom-domains-on-the-boundary-nodes). +Now, you are all set to register your custom domain with the boundary nodes, and you can continue with step 2 of the [general custom domains instructions](./using-custom-domains#custom-domains-on-the-boundary-nodes). ## Amazon Route 53 @@ -201,4 +201,4 @@ The resulting configuration should look similar to the following screenshot: ![DNS Configuration for `example.ic-domain.live` on Amazon Route 53](route53-subdomain.png) -Now, you are all set to register your custom domain with the boundary nodes, and you can continue with step 2 of the [general custom domains instructions](using-custom-domains#custom-domains-on-the-boundary-nodes). +Now, you are all set to register your custom domain with the boundary nodes, and you can continue with step 2 of the [general custom domains instructions](./using-custom-domains#custom-domains-on-the-boundary-nodes). diff --git a/docs/other/updates/release-notes/0.9.2-rn.md b/docs/other/updates/release-notes/0.9.2-rn.md index 0eb30dbd45..0a29147c98 100644 --- a/docs/other/updates/release-notes/0.9.2-rn.md +++ b/docs/other/updates/release-notes/0.9.2-rn.md @@ -2,7 +2,7 @@ An overview of the 0.9.2 release: -Be sure to see the [0.9.0 Release Notes](0.9.0-rn) and follow the instructions due to breaking changes since dfx 0.8.4. +Be sure to see the [0.9.0 Release Notes](./0.9.0-rn) and follow the instructions due to breaking changes since dfx 0.8.4. ## Changes to DFX diff --git a/docs/references/id-encoding-spec.mdx b/docs/references/id-encoding-spec.mdx index 2b0d3ba3ff..f758d88d5d 100644 --- a/docs/references/id-encoding-spec.mdx +++ b/docs/references/id-encoding-spec.mdx @@ -57,10 +57,10 @@ Links describing our CRC32 function (resp. the polynomial used therein): * Table entry “CRC-32” on [Wikipedia](https://en.wikipedia.org/wiki/Cyclic_redundancy_check). * Row “IEEE 802.3; CRC-32” in [Koopman's database](https://users.ece.cmu.edu/~koopman/crc/crc32.html). -* Entry “CRC-32/ISO-HDLC” in the [CRC catalogue](http://reveng.sourceforge.net/crc-catalogue/all.htm). +* Entry “CRC-32/ISO-HDLC” in the [CRC catalogue](https://reveng.sourceforge.net/crc-catalogue/all.htm). * Row labeled “CRC-32” in this [online calculator](https://crccalc.com/). -Our CRC32 function is defined by the following parameters in the [CRC catalogue](http://reveng.sourceforge.net/crc-catalogue/all.htm) and [online calculator](https://crccalc.com/): +Our CRC32 function is defined by the following parameters in the [CRC catalogue](https://reveng.sourceforge.net/crc-catalogue/all.htm) and [online calculator](https://crccalc.com/): ``` diff --git a/docs/tutorials/developer-journey/level-0/01-ic-overview.mdx b/docs/tutorials/developer-journey/level-0/01-ic-overview.mdx index 394d081e66..cbfb3be778 100644 --- a/docs/tutorials/developer-journey/level-0/01-ic-overview.mdx +++ b/docs/tutorials/developer-journey/level-0/01-ic-overview.mdx @@ -148,7 +148,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-0/02-ic-terms.mdx b/docs/tutorials/developer-journey/level-0/02-ic-terms.mdx index 567d03bc8a..dcfd9fffdd 100644 --- a/docs/tutorials/developer-journey/level-0/02-ic-terms.mdx +++ b/docs/tutorials/developer-journey/level-0/02-ic-terms.mdx @@ -108,7 +108,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-0/03-dev-env.mdx b/docs/tutorials/developer-journey/level-0/03-dev-env.mdx index 21aaca9694..9c0d9e6fca 100644 --- a/docs/tutorials/developer-journey/level-0/03-dev-env.mdx +++ b/docs/tutorials/developer-journey/level-0/03-dev-env.mdx @@ -144,7 +144,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-0/04-intro-canisters.mdx b/docs/tutorials/developer-journey/level-0/04-intro-canisters.mdx index 96cfc37437..ef433d13b7 100644 --- a/docs/tutorials/developer-journey/level-0/04-intro-canisters.mdx +++ b/docs/tutorials/developer-journey/level-0/04-intro-canisters.mdx @@ -110,7 +110,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-0/05-intro-languages.mdx b/docs/tutorials/developer-journey/level-0/05-intro-languages.mdx index a32c27562a..64942b9790 100644 --- a/docs/tutorials/developer-journey/level-0/05-intro-languages.mdx +++ b/docs/tutorials/developer-journey/level-0/05-intro-languages.mdx @@ -140,7 +140,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-0/06-intro-dfx.mdx b/docs/tutorials/developer-journey/level-0/06-intro-dfx.mdx index b20ca4c355..9363851f66 100644 --- a/docs/tutorials/developer-journey/level-0/06-intro-dfx.mdx +++ b/docs/tutorials/developer-journey/level-0/06-intro-dfx.mdx @@ -273,7 +273,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-1/1.1-live-demo.mdx b/docs/tutorials/developer-journey/level-1/1.1-live-demo.mdx index 19ade8ec07..45048c1422 100644 --- a/docs/tutorials/developer-journey/level-1/1.1-live-demo.mdx +++ b/docs/tutorials/developer-journey/level-1/1.1-live-demo.mdx @@ -187,7 +187,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-1/1.2-motoko-lvl1.mdx b/docs/tutorials/developer-journey/level-1/1.2-motoko-lvl1.mdx index 8cf5ff6fb8..1bd3fa8fe4 100644 --- a/docs/tutorials/developer-journey/level-1/1.2-motoko-lvl1.mdx +++ b/docs/tutorials/developer-journey/level-1/1.2-motoko-lvl1.mdx @@ -328,7 +328,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours, hosted on the [ICP Discord](https://discord.internetcomputer.org) server to ask questions, get clarification, and chat with other developers live via voice chat. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-1/1.3-first-dapp.mdx b/docs/tutorials/developer-journey/level-1/1.3-first-dapp.mdx index bf3df76b22..6c600cf950 100644 --- a/docs/tutorials/developer-journey/level-1/1.3-first-dapp.mdx +++ b/docs/tutorials/developer-journey/level-1/1.3-first-dapp.mdx @@ -1035,7 +1035,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-1/1.4-using-cycles.mdx b/docs/tutorials/developer-journey/level-1/1.4-using-cycles.mdx index 0b751df45e..3e860517f8 100644 --- a/docs/tutorials/developer-journey/level-1/1.4-using-cycles.mdx +++ b/docs/tutorials/developer-journey/level-1/1.4-using-cycles.mdx @@ -252,7 +252,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-1/1.5-deploying-canisters.mdx b/docs/tutorials/developer-journey/level-1/1.5-deploying-canisters.mdx index c15abce0e1..a7908ef799 100644 --- a/docs/tutorials/developer-journey/level-1/1.5-deploying-canisters.mdx +++ b/docs/tutorials/developer-journey/level-1/1.5-deploying-canisters.mdx @@ -153,7 +153,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-1/1.6-managing-canisters.mdx b/docs/tutorials/developer-journey/level-1/1.6-managing-canisters.mdx index bc3408e826..ed868ae122 100644 --- a/docs/tutorials/developer-journey/level-1/1.6-managing-canisters.mdx +++ b/docs/tutorials/developer-journey/level-1/1.6-managing-canisters.mdx @@ -429,7 +429,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-2/2.1-storage-persistence.mdx b/docs/tutorials/developer-journey/level-2/2.1-storage-persistence.mdx index c569b1273e..1fdb682f73 100644 --- a/docs/tutorials/developer-journey/level-2/2.1-storage-persistence.mdx +++ b/docs/tutorials/developer-journey/level-2/2.1-storage-persistence.mdx @@ -266,7 +266,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-2/2.2-advanced-canister-calls.mdx b/docs/tutorials/developer-journey/level-2/2.2-advanced-canister-calls.mdx index c08daf44e4..a33395e8bb 100644 --- a/docs/tutorials/developer-journey/level-2/2.2-advanced-canister-calls.mdx +++ b/docs/tutorials/developer-journey/level-2/2.2-advanced-canister-calls.mdx @@ -284,7 +284,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-2/2.3-third-party-canisters.mdx b/docs/tutorials/developer-journey/level-2/2.3-third-party-canisters.mdx index a89f1576bd..08f6bb4838 100644 --- a/docs/tutorials/developer-journey/level-2/2.3-third-party-canisters.mdx +++ b/docs/tutorials/developer-journey/level-2/2.3-third-party-canisters.mdx @@ -220,7 +220,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-2/2.4-intro-candid.mdx b/docs/tutorials/developer-journey/level-2/2.4-intro-candid.mdx index d732fae54f..aff7247042 100644 --- a/docs/tutorials/developer-journey/level-2/2.4-intro-candid.mdx +++ b/docs/tutorials/developer-journey/level-2/2.4-intro-candid.mdx @@ -378,7 +378,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-2/2.5-unit-testing.mdx b/docs/tutorials/developer-journey/level-2/2.5-unit-testing.mdx index d8f5710824..2f17abc20b 100644 --- a/docs/tutorials/developer-journey/level-2/2.5-unit-testing.mdx +++ b/docs/tutorials/developer-journey/level-2/2.5-unit-testing.mdx @@ -477,7 +477,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-2/2.6-motoko-lvl2.mdx b/docs/tutorials/developer-journey/level-2/2.6-motoko-lvl2.mdx index 68b9daf376..fd256620d3 100644 --- a/docs/tutorials/developer-journey/level-2/2.6-motoko-lvl2.mdx +++ b/docs/tutorials/developer-journey/level-2/2.6-motoko-lvl2.mdx @@ -451,7 +451,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-3/3.1-package-managers.mdx b/docs/tutorials/developer-journey/level-3/3.1-package-managers.mdx index 670751d230..62aa662f97 100644 --- a/docs/tutorials/developer-journey/level-3/3.1-package-managers.mdx +++ b/docs/tutorials/developer-journey/level-3/3.1-package-managers.mdx @@ -236,7 +236,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-3/3.2-https-outcalls.mdx b/docs/tutorials/developer-journey/level-3/3.2-https-outcalls.mdx index 9c1a657229..2252d3bf31 100644 --- a/docs/tutorials/developer-journey/level-3/3.2-https-outcalls.mdx +++ b/docs/tutorials/developer-journey/level-3/3.2-https-outcalls.mdx @@ -847,7 +847,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-3/3.3-certified-data.mdx b/docs/tutorials/developer-journey/level-3/3.3-certified-data.mdx index 162459fd29..54cf4234af 100644 --- a/docs/tutorials/developer-journey/level-3/3.3-certified-data.mdx +++ b/docs/tutorials/developer-journey/level-3/3.3-certified-data.mdx @@ -380,7 +380,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-3/3.4-intro-to-agents.mdx b/docs/tutorials/developer-journey/level-3/3.4-intro-to-agents.mdx index 8163f35a1c..f69860c7a2 100644 --- a/docs/tutorials/developer-journey/level-3/3.4-intro-to-agents.mdx +++ b/docs/tutorials/developer-journey/level-3/3.4-intro-to-agents.mdx @@ -274,7 +274,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-3/3.5-identities-and-auth.mdx b/docs/tutorials/developer-journey/level-3/3.5-identities-and-auth.mdx index e592315991..74e931c1e3 100644 --- a/docs/tutorials/developer-journey/level-3/3.5-identities-and-auth.mdx +++ b/docs/tutorials/developer-journey/level-3/3.5-identities-and-auth.mdx @@ -386,7 +386,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-3/3.6-motoko-lvl3.mdx b/docs/tutorials/developer-journey/level-3/3.6-motoko-lvl3.mdx index 417aaa827b..1381c7e081 100644 --- a/docs/tutorials/developer-journey/level-3/3.6-motoko-lvl3.mdx +++ b/docs/tutorials/developer-journey/level-3/3.6-motoko-lvl3.mdx @@ -640,7 +640,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-4/4.1-icp-ledger.mdx b/docs/tutorials/developer-journey/level-4/4.1-icp-ledger.mdx index b15fe0ce6b..1de4aa6288 100644 --- a/docs/tutorials/developer-journey/level-4/4.1-icp-ledger.mdx +++ b/docs/tutorials/developer-journey/level-4/4.1-icp-ledger.mdx @@ -348,7 +348,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-4/4.2-icrc-tokens.mdx b/docs/tutorials/developer-journey/level-4/4.2-icrc-tokens.mdx index 3edcdd6ce0..a23fdeb212 100644 --- a/docs/tutorials/developer-journey/level-4/4.2-icrc-tokens.mdx +++ b/docs/tutorials/developer-journey/level-4/4.2-icrc-tokens.mdx @@ -511,7 +511,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-4/4.3-ckbtc-and-bitcoin.mdx b/docs/tutorials/developer-journey/level-4/4.3-ckbtc-and-bitcoin.mdx index 7acc981d66..38d44f0ecb 100644 --- a/docs/tutorials/developer-journey/level-4/4.3-ckbtc-and-bitcoin.mdx +++ b/docs/tutorials/developer-journey/level-4/4.3-ckbtc-and-bitcoin.mdx @@ -362,7 +362,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-4/4.4-nns-governance.mdx b/docs/tutorials/developer-journey/level-4/4.4-nns-governance.mdx index c1263b3ff6..c50a3b4068 100644 --- a/docs/tutorials/developer-journey/level-4/4.4-nns-governance.mdx +++ b/docs/tutorials/developer-journey/level-4/4.4-nns-governance.mdx @@ -305,7 +305,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-4/4.5-using-quill.mdx b/docs/tutorials/developer-journey/level-4/4.5-using-quill.mdx index 811d8d9991..35f5ba8437 100644 --- a/docs/tutorials/developer-journey/level-4/4.5-using-quill.mdx +++ b/docs/tutorials/developer-journey/level-4/4.5-using-quill.mdx @@ -457,7 +457,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-4/4.6-motoko-lvl4.mdx b/docs/tutorials/developer-journey/level-4/4.6-motoko-lvl4.mdx index 9b1294ef31..6a306ce0eb 100644 --- a/docs/tutorials/developer-journey/level-4/4.6-motoko-lvl4.mdx +++ b/docs/tutorials/developer-journey/level-4/4.6-motoko-lvl4.mdx @@ -641,7 +641,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-5/5.1-vetKeys-tutorial.mdx b/docs/tutorials/developer-journey/level-5/5.1-vetKeys-tutorial.mdx index e44b24c627..15aa03d90e 100644 --- a/docs/tutorials/developer-journey/level-5/5.1-vetKeys-tutorial.mdx +++ b/docs/tutorials/developer-journey/level-5/5.1-vetKeys-tutorial.mdx @@ -780,7 +780,7 @@ Then, you can see the note has been saved in the 'Your notes' section: - [The first Community Conversation](https://youtu.be/baM6jHnmMq8). -- [vetKeys primer blog post](ttps://internetcomputer.org/blog/features/vetkey-primer). +- [vetKeys primer blog post](https://internetcomputer.org/blog/features/vetkey-primer). - [vetKeys research paper](https://eprint.iacr.org/2023/616.pdf). @@ -807,7 +807,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-5/5.2-ICP-ETH-tutorial.mdx b/docs/tutorials/developer-journey/level-5/5.2-ICP-ETH-tutorial.mdx index 4156d4d955..16c6e83584 100644 --- a/docs/tutorials/developer-journey/level-5/5.2-ICP-ETH-tutorial.mdx +++ b/docs/tutorials/developer-journey/level-5/5.2-ICP-ETH-tutorial.mdx @@ -377,7 +377,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-5/5.3-token-swap-tutorial.mdx b/docs/tutorials/developer-journey/level-5/5.3-token-swap-tutorial.mdx index c18f873932..3cb68ccaf7 100644 --- a/docs/tutorials/developer-journey/level-5/5.3-token-swap-tutorial.mdx +++ b/docs/tutorials/developer-journey/level-5/5.3-token-swap-tutorial.mdx @@ -828,7 +828,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-5/5.4-NFT-tutorial.mdx b/docs/tutorials/developer-journey/level-5/5.4-NFT-tutorial.mdx index 0fa48340e9..3b994efeae 100644 --- a/docs/tutorials/developer-journey/level-5/5.4-NFT-tutorial.mdx +++ b/docs/tutorials/developer-journey/level-5/5.4-NFT-tutorial.mdx @@ -593,7 +593,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-5/5.5-auction-tutorial.mdx b/docs/tutorials/developer-journey/level-5/5.5-auction-tutorial.mdx index 93dbb9dbe9..4de9493fde 100644 --- a/docs/tutorials/developer-journey/level-5/5.5-auction-tutorial.mdx +++ b/docs/tutorials/developer-journey/level-5/5.5-auction-tutorial.mdx @@ -390,7 +390,7 @@ Did you get stuck somewhere in this tutorial, or feel like you need additional h - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). ## Next steps diff --git a/docs/tutorials/developer-journey/level-5/5.6-next-steps.mdx b/docs/tutorials/developer-journey/level-5/5.6-next-steps.mdx index 31e72e963a..7f54573111 100644 --- a/docs/tutorials/developer-journey/level-5/5.6-next-steps.mdx +++ b/docs/tutorials/developer-journey/level-5/5.6-next-steps.mdx @@ -106,4 +106,4 @@ Several of ICP's repositories are open-source, and external contributions are en - Weekly developer office hours to ask questions, get clarification, and chat with other developers live via voice chat. This is hosted on the [Discord](https://discord.internetcomputer.org) server. -- Submit your feedback to the [ICP Developer feedback board](http://dx.internetcomputer.org). +- Submit your feedback to the [ICP Developer feedback board](https://dx.internetcomputer.org). diff --git a/docusaurus.config.js b/docusaurus.config.js index 3dc633f7ff..9f272df091 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -38,6 +38,14 @@ const snsDataPlugin = require("./plugins/sns-data"); const airtablePlugin = require("./plugins/airtable"); const youtubePlugin = require("./plugins/youtube"); +const remarkPlugins = [ + math, + simplePlantUML, + require("remark-code-import"), + require("./plugins/remark/validate-links.js"), +]; +const rehypePlugins = [katex]; + const isDeployPreview = !!process.env.PREVIEW_CANISTER_ID; if (process.env.PREVIEW_CANISTER_ID) { @@ -654,16 +662,16 @@ const config = { }, sidebarPath: require.resolve("./sidebars.js"), - remarkPlugins: [math, simplePlantUML, require("remark-code-import")], - rehypePlugins: [katex], + remarkPlugins, + rehypePlugins, editUrl: "https://github.com/dfinity/portal/edit/master/", }, blog: { path: "blog", blogSidebarCount: "ALL", postsPerPage: "ALL", - remarkPlugins: [math, simplePlantUML, require("remark-code-import")], - rehypePlugins: [katex], + remarkPlugins, + rehypePlugins, }, theme: { customCss: require.resolve("./src/css/custom.scss"), diff --git a/plugins/remark/validate-links.js b/plugins/remark/validate-links.js new file mode 100644 index 0000000000..c7fb6f2022 --- /dev/null +++ b/plugins/remark/validate-links.js @@ -0,0 +1,35 @@ +// Validate links for Kapa.ai + +const visit = require("unist-util-visit"); + +function isExpectedLink(url) { + return ( + url.startsWith("https://") || + url.startsWith("http://localhost") || + url.startsWith("http://127.0.0.1") || + (url.startsWith("http://") && url.includes(".localhost")) || + url.startsWith("chrome://") || + url.startsWith("mailto:") || + url.startsWith("/") || + url.startsWith("#") || + url.startsWith(".") + ); +} + +module.exports = function validateLinks() { + return async (ast) => { + visit(ast, "link", (node) => { + const url = node.url; + if (url.startsWith("docs/developer-docs/")) { + throw new Error( + `Link requires a leading \`/\` character: \`${url}\` (plugins/remark/validate-links.js)` + ); + } + if (!isExpectedLink(url)) { + console.warn( + `Unexpected link: \`${url}\` (plugins/remark/validate-links.js)` + ); + } + }); + }; +};