Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build Help section, community highlights list, external resources, and docs instructions #6417

Merged
merged 24 commits into from
Mar 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
162efd5
Start building out Contribute section and Community Highlights list
Jan 31, 2023
b7b9698
Add localhost to dev docs README, link to it from new Contribute index
Jan 31, 2023
f15538b
Fix Al's GH username
Feb 1, 2023
c478b89
Add FAQ to Contribute section from internal version and partner notes
Feb 3, 2023
412b4a1
Make more edits
Feb 3, 2023
8ed59c5
Add Transfer validator node to other server (no FN required) to highl…
Feb 14, 2023
9c928d7
Create community directory for external contributions
Feb 21, 2023
14db7d5
Address spelling issues in FAQ
Feb 21, 2023
46782fe
Start edits to FAQ, fix link to renamed community highlights in top nav
Feb 21, 2023
4421833
Finish link fixes
Feb 22, 2023
2fd52bb
Introduce External Resources list
Feb 23, 2023
ec44026
Remove name for spellcheck, replace preso link text with title
Feb 23, 2023
7b3a402
Finish first draft of Contribute index, restore Rust Coding Conventions
Feb 27, 2023
9c26454
Add missing Markdown extension to fix builds
Feb 28, 2023
cc8cb77
Add first drafts of docs instructions and style guide
Feb 28, 2023
02028f9
Edit and improve contribute index and site guidance
Feb 28, 2023
3131748
Improve Contribute index slug
Feb 28, 2023
decbf74
Rename Contribute to Help for brevity, update related links
Feb 28, 2023
a5565f7
Remove draft FAQ from Help section PR to allow longer reviewer of the…
Feb 28, 2023
844edf2
Rename Help to Community, add instructions and screenshots for editin…
Mar 3, 2023
afe7ac1
Add new terms to spellcheck dictionary
Mar 3, 2023
7cadb0e
Make clear new files should go in subdirs
Mar 3, 2023
9d4dc0e
Address reviewer feedback
Mar 6, 2023
39b3d6b
Address more reviewer feedback
Mar 6, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ title: Contributing to Aptos Core

# Contributing

Our goal is to make contributing to Aptos Core easy and transparent.
Our goal is to make contributing to Aptos Core easy and transparent. See [Contribute to Aptos](./developer-docs-site/docs/contribute/index.md) for full details. This page described [our development process](#our-development-process).

## Aptos Core

Expand All @@ -24,13 +24,13 @@ cargo test

### Code Style, Hints, and Testing

Refer to our [Coding Guidelines](https://github.com/aptos-labs/aptos-core/blob/main/documentation/coding_guidelines.md) for detailed guidance about how to contribute to the project.
Refer to our Coding Guidelines for the [Move](./developer-docs-site/docs/guides/move-guides/book/coding-conventions.md) and [Rust](./developer-docs-site/docs/contribute/rust-coding-guidelines.md) programming languages for detailed guidance about how to contribute to the project.

### Documentation

Aptos Core's developer website is also open source (the code can be found in this [repository](https://github.com/aptos-labs/aptos-core/tree/main/developers-docs-site/). It is built using [Docusaurus](https://docusaurus.io/):

If you know Markdown, you can already contribute! How to contribute can be found in the [website repo](https://github.com/aptos-labs/aptos-core/blob/main/CONTRIBUTING.md).
If you know Markdown, you can already contribute!

## Developer Workflow

Expand Down
4 changes: 4 additions & 0 deletions developer-docs-site/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,10 @@ This step will configure the Docusaurus static site generator.
pnpm start
```

4. See your changes staged at: http://localhost:3000/

5. Create a pull request with your changes as described in our [Contributing](https://github.com/aptos-labs/aptos-core/blob/main/CONTRIBUTING.md) README.

## (Optional) Build static html files

Execute the below steps if you want to generate static html documentation files. A `build` directory will be created with the static html files and assets contained in it.
Expand Down
200 changes: 200 additions & 0 deletions developer-docs-site/docs/community/aptos-style.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
---
title: "Follow Aptos Style"
slug: "aptos-style"
---

# Follow Aptos Writing Style

When making [site updates](./site-updates.md), Aptos recommends adhering to this writing and formatting style guide for consistency with the rest of Aptos.dev, as well as accessibility directly in GitHub.com and source code editors.

## Hold contributions to high standards

All doc updates should be thorough and tested. This includes external contributions from the community.

So when reviewing changes, do not merge them in unless all feedback has been addressed.

## Form links properly

When linking to absolute files (code, reference) not on Aptos.dev, always use the fully qualified domain. Else, use relative links. Always include the file extension (`.md` for Markdown).

Correct:

```markdown
[How Base Gas Works](../../../../concepts/base-gas.md)
```

Incorrect:

```markdown
[How Base Gas Works](/concepts/base-gas)
```

The second example will work in [Aptos.dev](http://Aptos.dev) but not when navigating the docs via [GitHub.com](http://GitHub.com) or in source viewer/editor. For links to files in the same directory, include the leading `./` like so:

```markdown
[proofs](./txns-states.md#proofs)
```

## Use permanent links to code

When linking to code files in GitHub, use a [permanent link](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-a-permanent-link-to-a-code-snippet) to the relative line or set of lines.

## Add images to `static` directory

Place all images in the [`developer-docs-site/static/img`](https://github.com/aptos-labs/aptos-core/tree/main/developer-docs-site/static/img) directory and use relative links to include them. See the image paths in [Set up a React app](../tutorials/build-e2e-dapp/2-set-up-react-app.md) for examples.

## Redirect moved pages

Avoid losing users by adding redirects for moved and renamed [Aptos.dev](http://Aptos.dev) pages in:
https://github.com/aptos-labs/aptos-core/blob/main/developer-docs-site/docusaurus.config.js

## Name files succinctly

Use short, detailed names with no spaces:
* hyphenate rather than underscore

* be descriptive
* use noun (topic) first, with verb optional: ex. accounts.md, site-updates.md

## Use active tense

Avoid passive tense and gerunds when possible:

- Good - Use Aptos API
- Not-so-good - Using Aptos API
- Needs improvement - Aptos API Use

## Employ direct style and tone

- Address the user directly. Use "you" instead of "user" or "they".
- Avoid writing the way you speak, i.e., avoid using contractions, jokes or using colloquial content.

💡 **Example**:

- **Preferred**: “it will” or “we will” or “it would”.
- **Avoid**: “it’ll” or “we’ll” or “it’d”.

- Use the active voice.

💡 **Example**:

- **Preferred**: Fork and clone the Aptos repo.
- **Avoid**: The Aptos repo should be cloned.
- **Preferred**: Copy the `Config path` information from the terminal.
- **Avoid**: The `Config path` information should be copied from the terminal.

- Avoid hypothetical future "would". Instead, write in present tense.

💡 **Example**:

- **Preferred**: "The compiler sends".
- **Avoid**: “The compiler would then send”.

## Ensure readability

- Break up walls of text (long passages of text) into smaller chunks for easier reading.
- Use lists. When you use lists, keep each item as distinct as you can from another item.
- Provide context. Your readers can be beginner developers or experts in specialized fields. They may not know what you are talking about without any context.
- Use shorter sentences (26 words or less) They are easier to understand (and translate).
- Define acronyms and abbreviations at the first usage in every topic.
- Keep in mind our documentation is written in US English, but the audience will include people for whom English is not their primary language.
- Avoid culturally specific references, humor, names.
- Write dates and times in unambiguous and clear ways using the [international standard](https://en.wikipedia.org/wiki/Date_format_by_country). Write "27 November 2020" instead of either "11/27/2020" or "27/11/2020" or "November 27, 2020".
- Avoid negative sentence construction.

💡 **Example**:

- **Preferred**: It is common.
- **Avoid**: It is not uncommon.

Yes there is a subtle difference between the two, but for technical writing this simplification works better.

- Avoid directional language (below, left) in procedural documentation, **unless** you are pointing to an item that is immediately next to it.
- Be consistent in capitalization and punctuation.
- Avoid the `&` character in the descriptive text. Use the English word "and".

## Avoid foreshadowing

- Do not refer to future features or products.
- Avoid making excessive or unsupported claims about future enhancements.

## Use proper casing

Use title case for page titles and sentence case for section headers. Ex:

- Page title - Integrate Aptos with Your Platform
- Section title - Choose a network

Of course, capitalize [proper nouns](https://www.scribbr.com/nouns-and-pronouns/proper-nouns/), such as “Aptos” in “Accounts on Aptos”

## Write clear titles and headings

- Document titles and section headings should:
- Explicitly state the purpose of the section.
- Be a call to action, or intention.

This approach makes it easier for the reader to get her specific development task done.

💡 **Examples**

- **Preferred**: Running a fullnode (section heading)
- **Avoid**: FullNode running fundamentals (title is not purpose-driven)
- **Preferred**: Creating your first Move module
- **Avoid**: Move module

**Document titles (h1)**

- Use title case. For example: "Running a Model"

A document title is the main title of a document page. A document has only one document title.

💡 **Example**: "Writing Style Guide" at the beginning of this page. The document title also appears at the top level in the navigation bar, so it must be short, preferably four to five words or less.


**Section headings within a document (h2, h3, h4, h5)**

- Use sentence case. **For example**: "Verify initial synchronization"

A section heading is the title for an individual section within a document page.

💡 **Example**: "Titles and headings" at the top of this section. A document page can have multiple sections, and hence multiple section headings.

- Use a heading hierarchy. Do not skip levels of the heading hierarchy. **For example**, put h3 only under h2.
- To change the visual formatting of a heading, use CSS instead of using a heading level that does not fit the hierarchy.
- Do not keep blank headings or headings with no associated content.
- Avoid using question mark in document titles and section headings.

💡 **Example**:

- **Preferred**: How it works
- **Avoid**: How it works?

- Avoid using emphasis or italics in document titles or section headings.
- Avoid joining words using a slash.

💡 **Example**:

- **Preferred**: Execute on your macOS or Linux system
- **Avoid**: Execute on your macOS/Linux system

## Use these Aptos words and phrases consistently

The below table lists the correct usage of Aptos words and phrases.

| Recommended way to use in mid-sentence | Avoid these forms |
| --- | --- |
| First letter uppercase if appearing at the start of a sentence. | |
| fullnode (FN) | FullNode, Fullnode |
| validator or validator node (VN) | Validator Node, ValidatorNode |
| validator fullnode (VFN) | Validator FullNode or ValidatorFullNode |
| public fullnode | Public FullNode |
| Aptos blockchain | Aptos Blockchain |
| Move module | Move Module |
| Move resource | Move Resource |
| Aptos framework | Aptos Framework |
| Faucet | faucet |
| mempool | Mempool |
| bytecode | bytecodes |
| MoveVM | Move VM |
| REST service | REST Service |
| upgradeable | upgradable |
16 changes: 16 additions & 0 deletions developer-docs-site/docs/community/contributions/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
title: "Community Highlights"
slug: "community-highlights"
---

# Aptos Community Highlights

This page shines a light on exemplary contributions to Aptos from our community members. These enhancements can be documentation, features, or both. These highlights complement both the standalone [Ecosystem Projects](https://github.com/aptos-foundation/ecosystem-projects) and [External Resources](../external-resources.md) from the community.

To add your own contribution here, first submit a new page to Aptos.dev or a product feature in the [`aptos-core`](https://github.com/aptos-labs/aptos-core) repository. Then add a link to the new documentation or code from the table below.

The source materials for both code and docs live in GitHub. See [Contribute](../index.md) for ways to make updates.

| Contribution | Description | Author | Date added/updated |
| --- | --- | --- | --- |
| [How Base Gas Works](../../concepts/base-gas.md) | Aptos transactions by default charge a base gas fee, regardless of market conditions. This document explains that process. | [alnoki](https://github.com/alnoki) | 2022-10-06 |
20 changes: 20 additions & 0 deletions developer-docs-site/docs/community/external-resources.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: "External Resources"
slug: "external-resources"
---

# Aptos External Resources

:::caution Proceed with caution
This page links to third-party contents. Aptos neither endorses nor supports these contributions. Nor can we guarantee their effects.
:::

This page contains links to external resources supplied by the Aptos community. These may be useful, technical posts to the [Aptos Forum](https://forum.aptoslabs.com/) or links to Aptos-related technologies documented elsewhere.

To add your own resource, click **Edit this page** at the bottom, add your resource in Markdown, and create a pull request for review. To instead [contribute](./index.md) to Aptos directly, see the [Community Highlights](./contributions/index.md) list.

| Contribution | Description | Author | Date added/updated |
| --- | --- | --- | --- |
| [Write Your First Smart Contract On Aptos](https://medium.com/mokshyaprotocol/write-your-first-smart-contract-on-aptos-a-step-by-step-guide-e16a6f5c2be6) | This blog is created to help you start writing smart contracts in Aptos Blockchain. | [Samundra Karki](https://medium.com/@samundrakarki56), [MokshyaProtocol](https://mokshya.io/) | 2023-02-27 |
| [Transfer validator node to other server (no FN required)](https://forum.aptoslabs.com/t/transfer-validator-node-to-other-server-no-fn-required/194629/1) | Shows how to transfer a validator node to another server without using an intermediate full node server. | [p1xel32](https://forum.aptoslabs.com/u/p1xel32) | 2023-02-03 |
| [Failover and migrate Validator Nodes for less downtime](https://forum.aptoslabs.com/t/failover-and-migrate-validator-nodes-for-less-downtime/144846) | Explains how to hot swap a validator node with a validator full node with Docker setup and inspired the generic [Update Aptos Validator Node via Failover](../nodes/validator-node/operator/update-validator-node.md). | [guguru](https://forum.aptoslabs.com/u/guguru) | 2022-11-22 |
53 changes: 53 additions & 0 deletions developer-docs-site/docs/community/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
title: "Help the Aptos Ecosystem"
slug: "help-index"
---

# Help the Aptos Ecosystem

We welcome your own [contributions](https://github.com/aptos-labs/aptos-core/blob/main/CONTRIBUTING.md) to the Aptos blockchain and this site! Aptos exists to foster an inclusive ecosystem. This page describes ways you can help, while the other pages in this section highlight our community's contributions.

As always, adhere to the [Aptos Code of Conduct](https://github.com/aptos-labs/aptos-core/blob/main/CODE_OF_CONDUCT.md) when taking part in our ecosystem.

## Ask questions and offer answers

Join [Aptos Discord](https://discord.gg/aptoslabs) to speak with developers and hop into the Aptos community. It's the best way to keep up to date with news and developments in the Aptos universe. Be sure to check pinned messages in the channels - this is where we like to post topic-specific links, events, and more.

For technical questions, we recommend [Stack Overflow](https://stackoverflow.com/questions/tagged/aptos) so anyone in the world may search for, benefit from, and upvote questions and answers in a persistent location. To offer your own advice and find tips from others, post to and use the [Aptos Forum](https://forum.aptoslabs.com/).

Please remember, community managers will never message or DM you first, and they will never ask you to send them money or share any sensitive, private, or personal information. If this happens to you, please report it to us in [Aptos Discord](https://discord.gg/aptoslabs), or by sending an email to [[email protected]](mailto:[email protected]).

## Report issues, request enhancements

Review and upvote [existing issues](https://github.com/aptos-labs/aptos-core/issues) in the Aptos blockchain.

File [new issues](https://github.com/aptos-labs/aptos-core/issues/new/choose) to report problems or request enhancements. For security concerns, instead follow the [Aptos Core Bug Bounty](https://github.com/aptos-labs/aptos-core/blob/main/SECURITY.md) process.

Here are the primary bug queues:

* [Bug report](https://github.com/aptos-labs/aptos-core/issues/new?assignees=&labels=bug&template=bug_report.md&title=%5BBug%5D) - Create a bug report to help improve Aptos Core.
* [DevEx RFC](https://github.com/aptos-labs/aptos-core/issues/new?assignees=&labels=DevEx&template=devex_rfc.md&title=%5BDevEx+RFC%5D+) - Open a Request for Comments (RFC) for DevEx improvements.
* [Documentation/aptos.dev Bug report](https://github.com/aptos-labs/aptos-core/issues/new?assignees=clay-aptos&labels=bug%2Cdocumentation&template=documentation_bug_report.md&title=%5BDocs%5D) - Create a bug report to help improve the Aptos Developers website.
* [Feature request](https://github.com/aptos-labs/aptos-core/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=%5BFeature+Request%5D) - Suggest a new feature in Aptos Core.

## Develop your own project

See, employ and join the growing number of delightful [community-driven projects](https://github.com/aptos-foundation/ecosystem-projects) in the Aptos ecosystem.

## Become an Aptos ambassador

Help organize events, develop content and more for the ecosystem by joining the [Aptos Collective](https://aptosfoundation.org/currents/join-the-aptos-collective) with plenty of perks in return!

## Fix the source code

We at Aptos love direct contributions in the form of [pull requests](https://github.com/aptos-labs/aptos-core/pulls). Help us make small fixes to code. Follow our coding conventions for:

* [Move](../guides/move-guides/book/coding-conventions.md)
* [Rust](./rust-coding-guidelines.md)

For larger changes, [report the issue](#report-issues-request-enhancements) for discussion with the Aptos Labs team before beginning your coding work. And when done, add your enhancement to the [Community Highlights](./contributions/index.md) list.

## Update the documentation

You may report problems and supply other input in the [#docs-feedback](https://discord.com/channels/945856774056083548/1034215378299133974) channel of [Aptos Discord](https://discord.gg/aptoslabs). To help with our contents, follow [Update Aptos.dev](./site-updates.md).

Loading