Skip to content

Commit

Permalink
Global review (#259)
Browse files Browse the repository at this point in the history
Co-authored-by: Jimmy Chu <jimmy@parity.io>
Co-authored-by: Jimmy Chu <jimmychu0807@gmail.com>
  • Loading branch information
3 people authored Oct 11, 2021
1 parent 166f2a4 commit ab632e5
Show file tree
Hide file tree
Showing 46 changed files with 390 additions and 484 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,23 @@ category: style guide
keywords: contribute, style guide
---

Thank you for your interest in contributing to documentation for the Substrate development framework. As a member of the community, you are invited and encouraged to contribute by submitting issues, offering suggestions for improvements to existing content, adding review comments to existing pull requests, proposing new content, or creating new pull requests to fix issues or provide new content.
<Message type='yellow' title='Information' text={`This section is still work in progress.`}/>

We value, respect, and appreciate all contributions from the developer community and only ask that you agree to abide by our [Code of conduct]() and review our [Contributor guidelines](#contributor-guidelines).
Thank you for your interest in contributing to documentation for the Substrate development framework.
As a member of the community, you are invited and encouraged to contribute by submitting issues, offering
suggestions for improvements to existing content, adding review comments to existing pull requests, proposing
new content, or creating new pull requests to fix issues or provide new content.

To learn more about how to contribute, including guidelines for how to structure content and how to participate in our bounty program that pays you for contributing, see the following topics:
We value, respect, and appreciate all contributions from the developer community and only ask that you
agree to abide by our [Code of conduct](https://github.com/paritytech/substrate/blob/master/docs/CODE_OF_CONDUCT.md)
and review our [Contributor guidelines](#contributor-guidelines).

[Contributor guidelines](#contributor-guidelines)
To learn more about how to contribute, including guidelines for how to structure content and how to participate in our
bounty program that pays you for contributing, see the following topics:

- [Contributor guidelines](#contributor-guidelines)
- [Writing guidelines](/v3/contribute/writing)
- [Bounty program](/v3/contribute/bounties)

## Contributor guidelines

Expand Down Expand Up @@ -45,105 +55,11 @@ As a content creator, you should keep the following general principles in mind:

* 🛰️ Related references. Guides can include links to related resources, like Rust docs, video content, or other guides and tutorials.

### How-to guide template

We recommend you use the how-to guide template to structure articles that you want to submit as to “how-to” topics.
You can download a copy of the Markdown template directly from [here](https://github.com/substrate-developer-hub/substrate-docs/tree/main/static/contribute-templates/how-to-template.md).

After downloading the template, rename the file and replace the description of each section with the relevant content.

----

#### [Guide title]

The guide title should summarize the goal of the article. For “how-to” guides, the title should complete the “How do I …?” sentence.

#### Overview

The first paragraph of the article should provide a brief overview of what the article is about and why this information is useful to its audience.
The overview section does not require an **Overview** heading and it might be more than one paragraph.

The opening section of each article sets the stage for what follows and should answer the obvious questions so readers can decide whether the content is relevant to them.
Readers should know—just from reading this section—whether they should continue or the content doesn’t apply to them and they should move on to something else.

For your overview, try to answer the following questions:

* What is this article about?

* What is the purpose or goal to be accomplished by following the procedure or technique?

* Why would someone want to use this procedure or technique? For example, are there specific use case scenarios that are applicable?

* When would someone use this procedure? For example, is this an activity that is done once or repeated? Is it a pattern or a unique case?

* Where is the procedure or technique applicable?

* Who would use this procedure or technique? For example, are special skills required? Do specific permissions or restrictions apply?

The overview section is also a good place to link to other resources, including other guides.
As the content creator, you want readers to have confidence that the guide will be useful for them.

#### Use cases

This section is optional because the guide title might be sufficient if your article is tightly focused on a single use case.

If your article has more than one practical application, use this section to briefly describe each of them.

If the only use case is a repetition of the article title or sufficiently covered in the overview section, skip this section.

If your article only has one use case but it requires more explanation than the title provides, add this section and one or more sentences to provide the additional explanation. For example:

* This guide illustrates implementing a second currency for paying fees. If you want to support multiple currencies in your runtime, this guide provides practical advice and detailed steps that you can apply for the additional currencies you want to support.

* This guide shows you how to perform a runtime migration from a `Vec<u32>` to SomeStruct

If your article has more than one use case, use a bulleted list.

#### Before you begin

This section is optional but **recommended**.
Use the Before you begin heading and use the section body to describe any prerequisites that apply to your article.

This section should answer the following questions:

* What should someone **have** before reading this article?

* What should someone **know** before reading this article?

* What should someone **do** before reading this article?

#### Steps

Use Steps as a heading only if the article has one set of steps that achieve a single goal.
For example, use Steps if an article is tightly focused on a single use case and a more descriptive heading would simply repeat the article title.

For more complex procedures and techniques, use clear, concise headings to describe each part of the procedure or technique.

Each step should be action driven.
In most cases, each step starts with a verb and ends with a period.
The paragraph following a step should describe the result or outcome the reader should expect.
If you feel a step needs any additional information, link to that information rather than embedding too much extraneous detail within the step.

Code snippets can help illustrate the steps but should not overwhelm the focus on "how do I do this" (not on "what do I do").

Keep in mind that most steps have results and readers like confirmation that they have taken the correct action as they progress through a procedure.

#### Examples

Provide links to one or more code-based examples that make practical use of your article.
This section should include at least one reference to a repository that exposes what this guide covers in the form of a working example.
You can use reference an existing codebase within Substrate or new code in any publicly-available repository.

#### Related resources

This section is optional.
If you include it, add a bulleted list of links to similar guides, other Developer Hub ressources, or related material. For example, you might add links to other how-to guides, tutorials, or Rust docs.

----

### Content categories and tags

The How-to guides are grouped into categories to help keep them organized in the how-to-guides repository. The current groupings reflect the different areas of development within Substrate:
The How-to guides are grouped into categories to help keep them organized in the how-to-guides repository. The current groupings
reflect the different areas of development within Substrate:

* Basics. Where the really simple guides live, those that can be referenced by more complex ones.

Expand All @@ -157,9 +73,10 @@ The How-to guides are grouped into categories to help keep them organized in the

* Consensus. Client stuff, bridging, node configurations.

* Parachains. WIP
* Parachains. Guides related to building parachain capabilities.

The source files use tags to identify the categories that apply. As a content contributor, you should use tags to identify the level of complexity and the most appropriate category for your content.
The source files use tags to identify the categories that apply. As a content contributor, you should use tags to identify the level
of complexity and the most appropriate category for your content.

#### Complexity

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,34 @@ category: style guide
keywords: contribute, style guide, bounties
---

<Message type='yellow' title='Information' text={`This section is still work in progress. There is no official Substrate Developer
Hub bounty program although we plan to introduce one soon.`}/>

To encourage community support and contributions to the developer ecosystem, we have established a bounty program.
The bounty program provides prizes—in the form of XXX—to content developers who submit articles that expand and improve Substrate documentation by covering new “how-to” type topics.
The bounty program provides prizes—in the form of XXX—to content developers who submit articles that expand and improve
Substrate documentation by covering new “how-to” type topics.

## Participate

To participate in the program:

1. On the [Issues](https://github.com/substrate-developer-hub/substrate-how-to-guides/issues) page for the Substrate Developer Hub [how-to-guides](https://github.com/substrate-developer-hub/substrate-how-to-guides) repository, select the **how-to guide** and **new content** labels to filter the list of issues displayed.
1. On the [Issues](https://github.com/substrate-developer-hub/substrate-docs/issues) page for
the Substrate Developer Hub documentation repository, select the **how-to guide** and **new content**
labels to filter the list of issues displayed.

1. Select an issue that you are interested in that requires a guide.

For example:

* [Using custom signed extension](https://github.com/substrate-developer-hub/substrate-how-to-guides/issues/75)
* [How to call a function from another pallet](https://github.com/substrate-developer-hub/substrate-docs/issues/75)

* [How to use benchmarking to calculate weights](https://github.com/substrate-developer-hub/substrate-how-to-guides/issues/29)
* [How to use benchmarking to calculate weights](https://github.com/substrate-developer-hub/substrate-docs/issues/88)

If there isn’t an issue for the topic you want to contribute, create an issue describing what you want to cover and at least one use case where it is applicable first.
It’s valuable to know the issues that are important to the community to help us prioritize the topics to cover.
If there isn’t an issue for the topic you want to contribute, create an issue describing what you want to cover and at
least one use case where it is applicable first. It’s valuable to know the issues that are important to the community
to help us prioritize the topics to cover.

1. Use the [how-to-guide template](https://github.com/substrate-developer-hub/substrate-docs/tree/main/static/contribute-templates/how-to-template.md) to organize the information for your topic.
1. Use the [how-to-guide template](https://github.com/substrate-developer-hub/substrate-docs/blob/main/static/assets/contribute-templates/how-to-template.md) to organize the information for your topic.

Be sure your article includes the following **required** sections.

Expand Down Expand Up @@ -63,7 +70,7 @@ The article you submit will be evaluated as part of the Pull Request review and

* Usefulness. The material your article covers does not already exist and presents at least one clear use case.

* Structure. You’ve followed the [how-to guide template](https://github.com/substrate-developer-hub/substrate-docs/tree/main/static/contribute-templates/how-to-template.md) structure and the conventions described in the [contributor guidelines].
* Structure. You’ve followed the [how-to guide template](https://github.com/substrate-developer-hub/substrate-docs/blob/main/static/assets/contribute-templates/how-to-template.md) structure and the conventions described in the [contributor guidelines].

* Correctness and completeness. Each step is clearly articulated, correct, and complete.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ keywords: template, contribute, style guide
---

We recommend you use the following template to structure articles that you want to submit as to “how-to” topics.
You can download a copy of the Markdown template directly from [here](https://github.com/substrate-developer-hub/substrate-docs/tree/main/static/contribute-templates/how-to-template.md).

You can download a copy of the Markdown template directly from [here](https://github.com/substrate-developer-hub/substrate-docs/blob/main/static/assets/contribute-templates/how-to-template.md).
After downloading the template, rename the file and replace the description of each section with the relevant content.

## [Guide title]
Expand Down
8 changes: 4 additions & 4 deletions v3/docs/01-getting-started/a-overview/index.mdx
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
---
id: 001
title: Overview
title: Welcome
slug: /v3/getting-started/overview
version: 3.0
section: docs
category: getting started
keywords:
---

Welcome to the wonderful world of blockchain development with Substrate! This is the
This is the
official documentation hub for Substrate developers. The purpose of this resource is to help readers understand the
intricacies of blockchain development with Substrate. This guide is broken down into several sections that
explain the principles and design decisions that Substrate is built on as well as the specific skills needed to be an
Expand Down Expand Up @@ -60,9 +60,9 @@ Substrate allows developers to make choices between technical freedom and ease o

![Technical Freedom vs Development Ease](../../../../src/images/docs/getting-started/technical-freedom.png)

## Next Steps
## Next steps

### Learn More
### Learn more

- Refer to the developer documentation for the [FRAME system for runtime development](/v3/concepts/runtime).
- Learn how to create rich client applications for any Substrate-based chain by using the
Expand Down
26 changes: 13 additions & 13 deletions v3/docs/01-getting-started/c-installation/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ on the computer's operating system. Once Rust is configured, you will use its to
with Rust projects; the commands for Rust's toolchains will be the same for all supported,
Unix-based operating systems.

## 1. Build Dependencies
## 1. Build dependencies

Substrate development is easiest on Unix-based operating systems like macOS or Linux. The examples
in the Substrate [Tutorials](/tutorials) and [How-to Guides](/how-to-guides)
Expand Down Expand Up @@ -93,9 +93,9 @@ and follow the instructions for [Ubuntu/Debian](#ubuntudebian). Please refer to
[guide for native Windows development](/v3/getting-started/windows-users).
`}/>

## 2. Rust Developer Environment
## 2. Rust developer environment

### Automated `getsubstrate.io` Script
### Automated `getsubstrate.io` script

For most users you can run our script to automate the steps listed below:

Expand All @@ -105,7 +105,7 @@ curl https://getsubstrate.io -sSf | bash -s -- --fast

If this gives any errors, please follow the steps below to manually configure rust on your machine.

### Manual Rust Configuration
### Manual Rust configuration

This guide uses [`rustup`](https://rustup.rs/) to help manage the Rust toolchain. First install and
configure `rustup`:
Expand All @@ -126,7 +126,7 @@ rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
```

## Test Your Set-Up
## Test your set-up

Now the best way to ensure that you have successfully prepared a computer for Substrate
development is to follow the steps in [our first tutorial](/tutorials/v3/create-your-first-substrate-chain).
Expand All @@ -138,12 +138,12 @@ development is to follow the steps in [our first tutorial](/tutorials/v3/create-
text={`For more details on _why_ these dependancies are used, and for _troubleshooting_ errors building the template, read on.`}
/>

## Troubleshooting Substrate Builds
## Troubleshooting Substrate builds

Sometimes you can't get the [Substrate Node Template](https://github.com/substrate-developer-hub/substrate-node-template)
to compile out of the box. Here are some tips to help you work through that.

### Rust Configuration Check
### Rust configuration check

To see what Rust toolchain you are presently using, run:

Expand Down Expand Up @@ -182,7 +182,7 @@ As you can see above, the default toolchain is stable, and the
You also see that `nightly-2020-10-06-x86_64-unknown-linux-gnu` is installed, but is not used unless explicitly defined as illustrated in the [specify your nightly version](#specifying-nightly-version)
section.

### WebAssembly Compilation
### WebAssembly compilation

Substrate uses [WebAssembly](https://webassembly.org) (Wasm) to produce portable blockchain
runtimes. You will need to configure your Rust compiler to use
Expand All @@ -198,7 +198,7 @@ the stable Rust toolchain.
if you're curious as to why and how this will be resolved.`}
/>

#### Latest Nightly for Substrate `master`
#### Latest nightly for Substrate `master`

Developers who are building Substrate _itself_ should always use the latest bug-free versions of
Rust stable and nightly. This is because the Substrate codebase follows the tip of Rust nightly,
Expand All @@ -222,7 +222,7 @@ Be sure to [specify your nightly version](#specifying-nightly-version) if you ge
from \`rustup\` and [downgrade nightly as needed](#downgrading-rust-nightly).`}
/>

#### Rust Nightly Toolchain
#### Rust nightly toolchain

If you want to guarantee that your build works on your computer as you update Rust and other
dependencies, you should use a specific Rust nightly version that is known to be
Expand All @@ -236,15 +236,15 @@ developers. For instance, the Polkadot client specifies this information in its
rustup install nightly-<yyyy-MM-dd>
```

#### Wasm Toolchain
#### Wasm toolchain

Now, configure the nightly version to work with the Wasm compilation target:

```bash
rustup target add wasm32-unknown-unknown --toolchain nightly-<yyyy-MM-dd>
```

### Specifying Nightly Version
### Specifying nightly version

Use the `WASM_BUILD_TOOLCHAIN` environment variable to specify the Rust nightly version a Substrate
project should use for Wasm compilation:
Expand All @@ -260,7 +260,7 @@ WASM_BUILD_TOOLCHAIN=nightly-<yyyy-MM-dd> cargo build --release
compiled with **your default toolchain**, i.e. the latest installed stable toolchain.`}
/>

### Downgrading Rust Nightly
### Downgrading Rust nightly

If your computer is configured to use the latest Rust nightly and you would like to downgrade to a
specific nightly version, follow these steps:
Expand Down
2 changes: 1 addition & 1 deletion v3/docs/01-getting-started/e-glossary/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -580,7 +580,7 @@ maintained by [Parity Technologies](https://www.parity.io/).
A type of [extrinsic](#extrinsic) that can be safely gossiped between [nodes](#node) on the network
thanks to efficient [verification](#cryptographic-primitives) through
[signatures](/v3/concepts/extrinsics#signed-transactions) or
[signed extensions](/v3/concepts/extrinsics#signed-extension).
[signed extensions](/v3/concepts/tx-pool#signed-extension).

## Transaction Era

Expand Down
Loading

0 comments on commit ab632e5

Please sign in to comment.