From 5a776c722f904e967e9bbfd137b65677620e0b92 Mon Sep 17 00:00:00 2001 From: Nuno Santos Date: Mon, 17 Apr 2023 14:27:06 +0100 Subject: [PATCH] Update Side Menu (#14081) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update index.rst ### Plan #### Bundle 1 Security cons. List of known bugs Solidity Breaking Changes (should be 1 link only) #### Bundle 2 Natspec SMTC YUL Import path #### Bundle 3 Style Guide Common Patterns Resources Contributing Languages influences Keyword Index * Line breaks fix * Whitespaces * Update docs/index.rst Co-authored-by: Nikola Matić * Update docs/index.rst * Update docs/index.rst --------- Co-authored-by: Nikola Matić --- docs/index.rst | 94 ++++++++++++++++++++++++++------------------------ 1 file changed, 49 insertions(+), 45 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index ba216ec3a..2f754473f 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,38 +1,35 @@ Solidity ======== -Solidity is an object-oriented, high-level language for implementing smart -contracts. Smart contracts are programs which govern the behaviour of accounts -within the Ethereum state. +Solidity is an object-oriented, high-level language for implementing smart contracts. +Smart contracts are programs which govern the behaviour of accounts within the Ethereum state. Solidity is a `curly-bracket language `_ designed to target the Ethereum Virtual Machine (EVM). -It is influenced by C++, Python and JavaScript. You can find more details about which languages Solidity has been inspired by in the :doc:`language influences ` section. +It is influenced by C++, Python and JavaScript. +You can find more details about which languages Solidity has been inspired by in the :doc:`language influences ` section. -Solidity is statically typed, supports inheritance, libraries and complex -user-defined types among other features. +Solidity is statically typed, supports inheritance, libraries and complex user-defined types among other features. -With Solidity you can create contracts for uses such as voting, crowdfunding, blind auctions, -and multi-signature wallets. +With Solidity you can create contracts for uses such as voting, crowdfunding, blind auctions, and multi-signature wallets. -When deploying contracts, you should use the latest released -version of Solidity. Apart from exceptional cases, only the latest version receives +When deploying contracts, you should use the latest released version of Solidity. +Apart from exceptional cases, only the latest version receives `security fixes `_. -Furthermore, breaking changes as well as -new features are introduced regularly. We currently use -a 0.y.z version number `to indicate this fast pace of change `_. +Furthermore, breaking changes as well as new features are introduced regularly. +We currently use a 0.y.z version number `to indicate this fast pace of change `_. .. warning:: - Solidity recently released the 0.8.x version that introduced a lot of breaking - changes. Make sure you read :doc:`the full list <080-breaking-changes>`. + Solidity recently released the 0.8.x version that introduced a lot of breaking changes. + Make sure you read :doc:`the full list <080-breaking-changes>`. Ideas for improving Solidity or this documentation are always welcome, read our :doc:`contributors guide ` for more details. .. Hint:: - You can download this documentation as PDF, HTML or Epub by clicking on the versions - flyout menu in the bottom-left corner and selecting the preferred download format. + You can download this documentation as PDF, HTML or Epub + by clicking on the versions flyout menu in the bottom-left corner and selecting the preferred download format. Getting Started @@ -40,8 +37,7 @@ Getting Started **1. Understand the Smart Contract Basics** -If you are new to the concept of smart contracts we recommend you to get started by digging -into the "Introduction to Smart Contracts" section, which covers: +If you are new to the concept of smart contracts we recommend you to get started by digging into the "Introduction to Smart Contracts" section, which covers: * :ref:`A simple example smart contract ` written in Solidity. * :ref:`Blockchain Basics `. @@ -59,29 +55,27 @@ simply choose your preferred option and follow the steps outlined on the :ref:`i .. hint:: You can try out code examples directly in your browser with the - `Remix IDE `_. Remix is a web browser based IDE - that allows you to write, deploy and administer Solidity smart contracts, without - the need to install Solidity locally. + `Remix IDE `_. + Remix is a web browser based IDE that allows you to write, deploy and administer Solidity smart contracts, + without the need to install Solidity locally. .. warning:: - As humans write software, it can have bugs. You should follow established - software development best-practices when writing your smart contracts. This - includes code review, testing, audits, and correctness proofs. Smart contract - users are sometimes more confident with code than their authors, and - blockchains and smart contracts have their own unique issues to - watch out for, so before working on production code, make sure you read the - :ref:`security_considerations` section. + As humans write software, it can have bugs. + You should follow established software development best-practices when writing your smart contracts. + This includes code review, testing, audits, and correctness proofs. + Smart contract users are sometimes more confident with code than their authors, + and blockchains and smart contracts have their own unique issues to watch out for, + so before working on production code, make sure you read the :ref:`security_considerations` section. **4. Learn More** -If you want to learn more about building decentralized applications on Ethereum, the -`Ethereum Developer Resources `_ -can help you with further general documentation around Ethereum, and a wide selection of tutorials, -tools and development frameworks. +If you want to learn more about building decentralized applications on Ethereum, +the `Ethereum Developer Resources `_ can help you with further general documentation around Ethereum, +and a wide selection of tutorials, tools and development frameworks. If you have any questions, you can try searching for answers or asking on the -`Ethereum StackExchange `_, or -our `Gitter channel `_. +`Ethereum StackExchange `_, +or our `Gitter channel `_. .. _translations: @@ -89,8 +83,8 @@ Translations ------------ Community contributors help translate this documentation into several languages. -Note that they have varying degrees of completeness and up-to-dateness. The English -version stands as a reference. +Note that they have varying degrees of completeness and up-to-dateness. +The English version stands as a reference. You can switch between languages by clicking on the flyout menu in the bottom-left corner and selecting the preferred language. @@ -107,8 +101,8 @@ and selecting the preferred language. .. note:: - We set up a GitHub organization and translation workflow to help streamline the - community efforts. Please refer to the translation guide in the `solidity-docs org `_ + We set up a GitHub organization and translation workflow to help streamline the community efforts. + Please refer to the translation guide in the `solidity-docs org `_ for information on how to start a new language or contribute to the community translations. Contents @@ -161,21 +155,31 @@ Contents .. toctree:: :maxdepth: 2 - :caption: Additional Material + :caption: Advisory content + security-considerations.rst + bugs.rst 050-breaking-changes.rst 060-breaking-changes.rst 070-breaking-changes.rst 080-breaking-changes.rst + +.. toctree:: + :maxdepth: 2 + :caption: Additional Material + natspec-format.rst - security-considerations.rst smtchecker.rst - resources.rst - path-resolution.rst yul.rst + path-resolution.rst + +.. toctree:: + :maxdepth: 2 + :caption: Resources + style-guide.rst common-patterns.rst - bugs.rst + resources.rst contributing.rst - brand-guide.rst language-influences.rst + brand-guide.rst