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

docs: add contributing docs page #6061

Merged
merged 32 commits into from
Jun 17, 2024
Merged
Changes from 1 commit
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
6861652
chore: finish structure and contributing to docs section
maciekstosio May 13, 2024
f4a74a6
chore: finish structure and contributing to docs sections
maciekstosio May 13, 2024
da5a52a
chore: start progress on Contribute to code section
maciekstosio May 13, 2024
9ae7412
First draft of contributing guide
maciekstosio May 29, 2024
3babc27
Add discord contact information
maciekstosio Jun 3, 2024
203542d
Add link to contributing guide on outdated pages
maciekstosio Jun 3, 2024
7efd9a6
Change placment of discord contatct info
maciekstosio Jun 3, 2024
d02d821
Merge current main
kacperkapusciak Jun 7, 2024
8b9eb5e
Reformat contributing.mdx, fix typos
kacperkapusciak Jun 7, 2024
1dd801a
Rename docs compatibility info component, make it private
kacperkapusciak Jun 7, 2024
f4512bb
Draft documentation writing style guide
kacperkapusciak Jun 7, 2024
075dd2d
Stash work
kacperkapusciak Jun 7, 2024
f7fb0d2
Merge remote-tracking branch 'origin/main' into @maciekstosio/Contrib…
kacperkapusciak Jun 12, 2024
ec26fa5
fix merge conflict issues
kacperkapusciak Jun 12, 2024
53c9edb
Finish docs style guide
kacperkapusciak Jun 12, 2024
19fbd84
Update the guides for monorepo
kacperkapusciak Jun 12, 2024
dd2ddaa
Improve contributing
kacperkapusciak Jun 12, 2024
079fcd9
Improve contributing even more
kacperkapusciak Jun 13, 2024
3a19d0b
Merge current main
kacperkapusciak Jun 13, 2024
dc38a83
Moar changes
kacperkapusciak Jun 13, 2024
df09881
Unordered list should be unordered
kacperkapusciak Jun 13, 2024
cf7f155
Resolve merge conflict changes
kacperkapusciak Jun 13, 2024
edb2452
Moar merge conflict changes
kacperkapusciak Jun 13, 2024
f4f16ca
Merge current main again pls stop
kacperkapusciak Jun 13, 2024
6e8f8a9
Update docs structure
kacperkapusciak Jun 13, 2024
456d7a1
Apply suggestions from code review
kacperkapusciak Jun 13, 2024
7a16a71
chore: path changes after change to monorepo
maciekstosio Jun 13, 2024
5b0f1db
fix: fix typo
maciekstosio Jun 13, 2024
48019a8
chore: fix positive to negative sentence
maciekstosio Jun 14, 2024
0b194ed
fix: remove unnecessary import from example
maciekstosio Jun 14, 2024
6c61a81
chore: yarn format
maciekstosio Jun 14, 2024
c4287da
chore: remove project structure overview
maciekstosio Jun 17, 2024
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
Prev Previous commit
Next Next commit
Draft documentation writing style guide
  • Loading branch information
kacperkapusciak committed Jun 7, 2024
commit f4512bbec35713c0955ed1f59d6b78179fb6b8ea
70 changes: 70 additions & 0 deletions docs/docs/guides/contributing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,76 @@ It is important to keep the page structure consistent, this help developers easi

The structure may vary depending on given feature. If the one above doesn't seem to be good fit for you, try to find similar feature and see how it is documented.

### Documentation writing style guide

more like guides than rules.
The developers try find the solution to their problem as fast as possible. This is the reason we try to optimize the documentation for [skimming](https://www.linkedin.com/pulse/skimming-vs-speed-reading-whats-difference-paul-nowak#:~:text=Skimming%20is%20a%20method%20of,have%20to%20read%20every%20word.). making the documentation more developer friendly.

##### Avoid passive voice

Most of the sentences in a technical documentation should be in active voice. Sentences in the active voice are usually simpler than the ones in the passive voice.

See the following examples:

- The arguments **are provided to** the function.
- A worklet **are generated by** a babel plugin.
- UI thread **is being used by** Reanimated.

which if we rewrite these sentences to active voice become simpler:

- A babel plugin **generates** worklet.
- The function **receives** the arguments.
- Reanimated **runs** on the UI thread.

We highly recommend reading a short tutorial in the Technical Writing One course by Google about [Active voice vs. passive voice](https://developers.google.com/tech-writing/one/active-voice). This article builds the intuition between the active and passive voice in a simple way.

##### Prefer short, clear sentences

don't worry about repeating

sophisticated words

choose to write a sentence shorter and simpler.

The technical documentation isn't a novel. Most of the readers are not english native speakers and it's not the best place to show off your english writing proficiency.

#### Avoid ambiguous pronouns

```
Worklets using the Hermes JavaScript engine. This allow us to run code on the UI thread.
```

What does **this** stands for in the following example?

You can avoid ambiguity by repeating the subject.

```

```

##### split paragraphs into bullet points

##### Avoid acronyms and abbreviations

Acronyms can often lead to confusion.

In context of libraries while REA, RNGH, RNS acronym like RN can mean both React Native and React Navigation.

Domain specific acronyms like JSI, JNI, JSC should be first introduced. For example, JSC (JavaScriptCore)

The following rule doesn't apply for a globally established abbreviation like `UI` or `API`.

##### limit technical jargon

.
define it in glossary

#####

##### put imports close to the used component

If you have spare 2 hours, we highly recommend taking a free [Technical Writing One course by Google](https://developers.google.com/tech-writing/one). This is absolutely not required for contributing to the documentation but can elevate your career as a software engineer.

### Embedding interactive examples

We try to make the examples as easy for the users as it gets. This is why good, interactive examples are crucial. To create great examples you can use `InteractiveExample` component. It takes `src` prop that expects source of a component that you can declare in `src/examples`, and a prop `component` that showcase given code.
Expand Down
Loading