Skip to content

Commit

Permalink
docs(community): update latest community docs
Browse files Browse the repository at this point in the history
  • Loading branch information
asyncapi-bot committed Feb 4, 2025
1 parent 326082b commit 14c8c88
Show file tree
Hide file tree
Showing 11 changed files with 227 additions and 1 deletion.
6 changes: 5 additions & 1 deletion config/edit-page-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,9 @@
{
"value": "reference/extensions/",
"href": "https://github.com/asyncapi/extensions-catalog/tree/master/extensions"
},
{
"value": "community/onboarding-guide",
"href": "https://github.com/asyncapi/community/tree/master/docs/onboarding-guide"
}
]
]
4 changes: 4 additions & 0 deletions markdown/docs/community/onboarding-guide/_section.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: Onboarding guide
weight: 10
---
12 changes: 12 additions & 0 deletions markdown/docs/community/onboarding-guide/contribute-to-docs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: Contribute to docs
weight: 70
---

## Contribute to docs

There are several ways to request your first AsyncAPI docs task:

1. **Connect with a docs maintainer:** Ask for a `good-first-issue` in the `#13_docs` channel of the [AsyncAPI Slack](https://www.asyncapi.com/slack-invite) workspace.
2. **Update current docs:** Surf the existing documentation, look for `typos`, `grammar`, `errors`, create an issue, and submit a Pull Request.
3. **Propose new docs:** If you have any ideas or suggestions for necessary documentation, [create a new docs issue](https://github.com/asyncapi/website/issues/new?labels=%F0%9F%93%91+docs&projects=&template=docs.yml&title=%5B%F0%9F%93%91+Docs%5D%3A+) and propose yourself as the assignee.
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title : 'Create new docs directories'
weight : 80
---

### Create new docs directories
Create a new docs directory (folder) via the following steps:
1. Identify the content bucket under which your document falls.
2. Open the project locally in your code editor of choice and navigate to the parent folder.
3. Right-click on the parent folder and click "new folder".
4. Give an appropriate name to the new folder.
5. Add the following two files to the new folder:
1. `index.md`: Used as the main content for a website's directory or specific webpage. It's named index because many web servers are configured to automatically look for an index file when accessing a directory. When you access a directory on a web server, if an `index.md` file is present, it will be displayed as the default page for that directory.
2. `_section.md`: Used for reusable components or partial content within a website's structure. It defines the page's `title` and `weight`. The title defines a human-readable title, and weight controls the order in which sections (directories) are displayed.
6. You can edit the index page after successfully creating these pages.

```mermaid
flowchart LR
A[parent Folder] --> B[new Folder]
B[new Folder] --> C[index.md]
B[new Folder] --> D[_section.md]
B[new Folder] --> E[example-doc-1.md]
B[new Folder] --> F[example-doc-2.md]
```
27 changes: 27 additions & 0 deletions markdown/docs/community/onboarding-guide/docs-community.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
title: 'AsyncAPI docs community'
weight: 50
---

Join OPEN docs community meetings via Zoom, a regular space for docs contributors to meet and help each other.

- Add the AsyncAPI calendar [in the AsyncAPI events page](https://www.asyncapi.com/community/events) to get docs meetings automatically added to your calendar of choice.
- Watch past AsyncAPI docs meetings on the [AsyncAPI YouTube channel](https://www.youtube.com/AsyncAPI).
- [Schedule your own docs meetings](https://github.com/asyncapi/community/blob/master/MEETINGS_ORGANIZATION.md).

### Docs and education community discussions
Visit the [public AsyncAPI Docs & Education discussion board](https://github.com/orgs/asyncapi/discussions/categories/docs-education) to discuss docs-related issues and propose improvements.

## AsyncAPI Slack workspace and docs channels
Join the [AsyncAPI documentation Slack channel](https://join.slack.com/share/enQtNjUxNTY1NTU1MDk0NS1mYjNhODFhZDI3ZDRjODA1ZWRkZTZlYmM4ZTNjNzZjNTg5NTBiYjNmNTkwYzRlYzY4ZjQ4M2RhMDYzMjI3N2U5) to meet other technical writers:

- **#13_docs:** A space for all technical writers to start discussions, ask questions, share new ideas, and request `good first issues.`

## AsyncAPI documentation roadmap 2024
Stay tuned for new opportunities on our [Docs’ Community discussions](https://github.com/orgs/asyncapi/discussions/categories/docs-education) or reach out in the AsyncAPI Slack channel **#13_docs**.

| Docs Roadmap | Ongoing Docs Projects | Timeline | Contribution Type |
|--------------|-----------------------|----------|---------------------|
| AsyncAPI Style Guide | [AsyncAPI Style Guide](https://github.com/asyncapi/website/issues/1240) | Ongoing | Regular contribution |
| AsyncAPI Tools’ Docs | <li>[Modelina Docs](https://github.com/asyncapi/modelina/tree/master/docs) </li> <li>[Parser Docs](https://github.com/asyncapi/parser-js/tree/master/docs) </li> <li>[GitHub Actions Docs](https://github.com/asyncapi/github-action-for-generator)</li> <li>[Studio Docs](https://github.com/asyncapi/studio/tree/master/doc/adr)</li> <li>[Generator Docs](https://github.com/asyncapi/generator/tree/master/docs)</li> <li>[CLI Docs](https://github.com/asyncapi/cli/tree/master/docs)</li> | Ongoing | Regular contribution |
| Technical Writer Onboarding Guide | Onboarding Guide for new docs contributors | Ongoing | Regular contribution |
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
title: 'Docs onboarding checklist'
weight: 30
---
## AsyncAPI docs onboarding checklist

As an open-source initiative with a global community, technical writer contributors should learn about our governance documents, documentation processes, and communication channels.

Complete in order the following onboarding tasks:

- [ ] Read the [AsyncAPI Code of Conduct](https://github.com/asyncapi/community/blob/master/CODE_OF_CONDUCT.md).
- [ ] Read the [AsyncAPI Slack etiquette](https://github.com/asyncapi/community/blob/master/slack-etiquette.md).
- [ ] Join [the AsyncAPI Slack workspace](https://asyncapi.com/slack-invite).
- [ ] Add the AsyncAPI calendar found in [the AsyncAPI events page](https://www.asyncapi.com/community/events).
- [ ] Read the list of [technical writer contributor responsibilities](/docs/onboarding-guide/technical-writer-contributor-responsibilities).
- [ ] Read and familiarize yourself with the [prerequisite knowledge topics](/docs/onboarding-guide/prerequisite-knowledge).
- [ ] Familiarize yourself with the _work-in-progress_ [AsyncAPI Style Guide](https://github.com/asyncapi/community/pulls?q=is%3Apr+is%3Aopen+style+guide).
- [ ] Read all docs under the following content buckets: `Concepts`, `Tutorials`, `Reference`. (Take the time to go through each tutorial.)
- [ ] Set up your local environment following our instructions for the [AsyncAPI git workflow](https://github.com/asyncapi/community/blob/master/git-workflow.md).
- [ ] Introduce yourself in AsyncAPI Slack in the `#01_introductions` channel and the `#13_docs` channel. Ask docs-related questions in #13_docs.
- [ ] Request a good first docs issue in the [`#13_docs` Slack channel](https://asyncapi.com/slack-invite).
- [ ] Attend [OPEN docs meetings](https://www.asyncapi.com/community/events) to chat with other maintainers, ask docs questions, and request help on docs blockers.
22 changes: 22 additions & 0 deletions markdown/docs/community/onboarding-guide/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
title: 'Introduction'
weight: 10
---
## Technical writer onboarding guide

The AsyncAPI technical writer onboarding guide teaches new community members how to contribute to our documentation effectively.

> For a comprehensive understanding of the various ways you can contribute to the AsyncAPI Initiative, please consult the [AsyncAPI contributing guidelines](https://github.com/asyncapi/community/blob/master/CONTRIBUTING.md).
The goal is providing docs contributors with the necessary tools and knowledge to:

* Understand our documentation tools, technologies, and processes.
* Comprehend our documentation target audiences.
* Connect with teammates and subject matter experts (SMEs).
* Report documentation bugs via issues.
* Implement and propose updates to our documentation.
* Obtain and incorporate reviewers' feedback.
* Publish changes successfully.



15 changes: 15 additions & 0 deletions markdown/docs/community/onboarding-guide/open-docs-pull-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title : 'Create new docs pull request'
weight : 90
---

## Create a new docs pull request
Create and submit a docs pull request (PR) via the following steps:

- A Docs’ PR should solve one documentation problem.
- If there is no current issue for the docs task you want to accomplish, please open a docs issue before creating a PR.
- Use the [conventional commit style](https://github.com/asyncapi/.github/blob/master/CONTRIBUTING.md#conventional-commits) when creating PRs. Always create a docs issue or PR with the `docs:` prefix in the title.
- Please check your contribution and ensure it follows the AsyncAPI style guide.
- Tag other technical writers to review your document.
- Tag an engineer or subject matter expert (SME) to review the technical details.
- After implementing all the feedback you requested, please update your PR and wait for further feedback before it can be merged.
36 changes: 36 additions & 0 deletions markdown/docs/community/onboarding-guide/prerequisite-knowledge.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
title: 'Prerequisite knowledge'
weight: 40
---

The prerequisite knowledge section highlights the key technologies, concepts, and skills our technical writers need for working with AsyncAPI documentation. You must understand the main concepts behind our documentation processes, content classification, and the AsyncAPI specification.

## Diátaxis framework and content buckets
AsyncAPI adopted the [Diátaxis](https://diataxis.fr/) framework to meet our specific needs, classifying our documentation into content buckets (categories).

- `Concepts` define the concepts of AsyncAPI features.
- `Tutorials` teach beginner processes with AsyncAPI by doing, taking you step-by-step from Point A to Point B.
- `Tools` documents the AsyncAPI tools ecosystem.
- `Guide` teaches troubleshooting and understanding AsyncAPI's capabilities at a high level.
- `Reference` documents the AsyncAPI specification.
- `Migration` guides how to upgrade to a newer AsyncAPI version.
- `Community` explains our documentation processes, guidelines, and resources to community members.

## Markdown syntax and `mermaid.js` diagrams
AsyncAPI's docs are written in [Markdown syntax](https://www.markdownguide.org/basic-syntax/).

Our diagrams are created with [Mermaid markdown syntax](https://mermaid.live/) thanks to the [mermaid.js](https://mermaid.js.org/) dependency.

## AsyncAPI concepts
Before contributing to the documentation, you should understand [the purpose of AsyncAPI](https://www.asyncapi.com/docs/tutorials/getting-started) and essential [AsyncAPI concepts](https://www.asyncapi.com/docs/concepts) _(i.e., servers, producers, consumers, channels, messages, etc.)_.

You should also fundamentally understand [the AsyncAPI specification](https://www.asyncapi.com/docs/reference/specification/latest).

## JSON and YAML
Because an AsyncAPI definition can be written in JSON and YAML, you must learn how to read, write, and validate these formats.

## Understanding Event-Driven Architecture
[Event-Driven Architecture (EDA)](https://www.asyncapi.com/docs/tutorials/getting-started/event-driven-architectures/) uses events to trigger and communicate between services. (AsyncAPI is an open-source initiative that seeks to improve the current state of EDAs.)

## Protocols used with AsyncAPI
AsyncAPI supports several protocols, such as Kafka, AMQP, MQTT, and more. You will benefit from acquiring a [basic understanding of protocols most used with AsyncAPI](https://www.asyncapi.com/docs/concepts/protocol), including their use cases and how they work with AsyncAPI.
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: 'Technical writer contributor responsibilities'
weight: 20
---

In the AsyncAPI community, technical writers collaborate with other technical writers, Subject Matter Experts (SME), designers, engineers, and core maintainers.

Technical writer contributor responsibilities include:

* Create quality, easy-to-use, clear, and accurate documentation for all audience levels.
* Collaborate with other contributors to propose, create, and maintain documentation.
* Support fellow technical writers and community members.
* Engage in documentation review processes and incorporate feedback.
* Join documentation community meetings/streams to connect with the community.
46 changes: 46 additions & 0 deletions markdown/docs/community/onboarding-guide/tools-and-setup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
title: Tools and setup
weight: 60
---

## Tools for technical writers

Technical writer contributors need the following tools to contribute to AsyncAPI documentation effectively:

- A laptop or desktop computer capable of running the tools necessary to contribute to the project.
- Stable internet access to clone the project repository, submit contributions, and stay updated on project changes.
- A [GitHub](https://github.com) account. AsyncAPI hosts all its project's source code and documentation on GitHub. You'll need a GitHub account to create issues, fork the repository, submit pull requests, and more. If you're new to GitHub, familiarize yourself with [basic GitHub functionalities and workflows](https://docs.github.com/en/get-started).
- A code editor, such as [VS Code](https://code.visualstudio.com), capable of handling Markdown files.
- [Git](https://git-scm.com), a version control system.

## Setup your AsyncAPI local environment
1. Fork the repository by clicking the `Fork` option on the top right of the main repository.

2. Open Command Prompt on your local computer.

3. Clone the forked repository by adding your GitHub username instead of `<username>`.
For multiple contributions, follow the [proper configuration of a forked AsyncAPI repo](https://github.com/asyncapi/community/blob/master/git-workflow.md).

```bash
git clone https://github.com/<username>/website/
```

4. Navigate to the website directory.

```bash
cd website
```

5. Install all website dependencies.

```bash
npm install
```

6. Run the website locally.

```bash
npm run dev
```

7. Access the live development server at [localhost:3000](http://localhost:3000).

0 comments on commit 14c8c88

Please sign in to comment.