You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+52-48Lines changed: 52 additions & 48 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,23 +4,24 @@ _Read the [Solid Docs Manifesto](https://github.com/solidjs/solid-docs-next#the-
4
4
5
5
# Contributing to the Solid Docs
6
6
7
-
We welcome contributions of any size and contributors of any skill level. As an open source project, we believe in giving back to our contributors. We are happy to help with guidance on PRs, technical writing, and turning any feature idea into a reality.
7
+
We welcome contributions of any size and contributors of any skill level. As an open source project, we believe in giving back to our contributors. We are happy to help with guidance on PRs, technical writing, and turning a feature idea into a reality.
8
8
9
9
> **Tip for new contributors:**
10
10
> Take a look at [this GitHub guide](https://docs.github.com/en/get-started/quickstart/hello-world) to learn how to use Git and GitHub to contribute to open-source.
11
11
12
-
13
12
## Getting Started
14
13
15
-
Our `#docs` channel on Discord is our home for general docs discussion. Feel free to introduce yourself there!
14
+
Our `#docs` channel on [Discord](https://discord.com/invite/solidjs) is our home for general docs discussion. Feel free to introduce yourself there!
15
+
16
+
### Using GitHub Issues
16
17
17
-
[Submit a new GitHub Issue](https://github.com/solidjs/solid-docs-next/issues/new/choose) to propose a change or addition to the docs.
18
+
-[Submit a new GitHub Issue](https://github.com/solidjs/solid-docs-next/issues/new/choose) to propose a change or addition to the docs.
18
19
19
-
Bugs must be reported as Issues; it isn't enough to tell us on Discord!
20
+
-Bugs must be reported as Issues; it isn't enough to tell us on Discord!
20
21
21
-
GitHub Issues allow us to assign tasks and prioritize them, thanks to our [GitHub project board](https://github.com/solidjs/solid-docs-next/projects/1). This is our task management tool.
22
+
-GitHub Issues allow us to assign tasks and prioritize them, thanks to our [GitHub project board](https://github.com/solidjs/solid-docs-next/projects/1). This is our task management tool.
22
23
23
-
Because this project is new, most of our Issues represent new content that must be created. If you're interested in writing new content—or editing content to our standards—be sure to read the [Writing Guide](https://github.com/solidjs/solid-docs-next/blob/main/WRITING.md) before contributing.
24
+
-Because this project is new, most of our Issues represent new content that must be created. If you're interested in writing new content—or editing content to our standards—be sure to read the [Writing Guide](https://github.com/solidjs/solid-docs-next/blob/main/WRITING.md) before contributing.
24
25
25
26
### Do you need to know Solid to contribute?
26
27
@@ -36,62 +37,65 @@ If you don't _yet_ know how to use Solid, but you're learning, here's how you ca
36
37
37
38
That said, if you want to contribute to open-source but aren't interested in Solid or documentation, we'd be happy to help you find an open-source project that suits you.
38
39
39
-
## Finding something to work on
40
-
41
-
To find something to help with, check out our [existing Issues](https://github.com/solidjs/solid-docs-next/issues). You can sort by labels, which categorize the issues.
42
-
43
-
We have a label for each [Content Type](https://github.com/solidjs/solid-docs-next/issues). For example, you know you prefer to work on deep concept explanations, you can choose the `concept` label.
44
-
45
-
We use the `new content` label when something needs to be written from scratch, and `docs-migration` when content already exists but needs to be rewritten.
46
-
47
-
48
-
49
-
- The kanban board
50
-
- The roadmap
51
-
52
-
- CATEGORIES:
53
-
54
-
- Content
55
-
- Structure
56
-
- Infrastructure
57
-
- Meta / Management
58
-
59
-
- TYPES:
60
-
61
-
- BUG (fix either a code bug or content typo / mistake)
62
-
- NEW (add a feature or section / piece of writing / proposal)
63
-
- REVISE
40
+
## Finding Something to Work On
64
41
65
-
- SOLID EXPERIENCE NEEDED:
66
-
- NONE
67
-
- LOW
68
-
- ADVANCEDs
69
-
- RYAN
42
+
To find something to help with, check out our [existing Issues](https://github.com/solidjs/solid-docs-next/issues). We're also happy to help you find something that suits you: ask a member of the Docs Team on [Discord](https://discord.com/invite/solidjs) to help get you situated.
70
43
44
+
### Issue Labels
45
+
You can sort by labels, which categorize the issues. These include:
46
+
- a label for each of the four [content types](https://github.com/solidjs/solid-docs-next/issues). For example, you know you prefer to work on deep concept explanations, you can choose the `concept` label.
47
+
-`new content` for when something needs to be written from scratch.
48
+
-`docs-migration` is used when content already exists but needs to be rewritten.
49
+
-`infrastructure` for technical changes; great if you're interested in diving into our codebase
50
+
-`advanced-experience` for issues that require advanced Solid knowledge to implement
51
+
-`no-experience-needed` for issues that you can help with even if you don't have Solid knowledge
71
52
72
-
## Making a new issue
53
+
## Submitting a Pull Request
73
54
55
+
> **Note**
56
+
> If you've never submitted a pull request on GitHub before, check out [this overview](https://opensource.guide/how-to-contribute/#opening-a-pull-request).
74
57
58
+
- Make sure your PR addresses an existing Issue.
59
+
- Group your work so that one PR solves one problem.
60
+
- Before you make a large PR, try to discuss it with the Docs Team on #docs. This will make sure we're on the same page and increase the chance of your PR getting merged.
61
+
on, as unsolicited material may not fit into our existing plans.
62
+
- When you make a PR, you get a Netlify preview link. If you're not done with your changes but want that link to share with us, feel free to make a draft PR and add `[Draft]` to the title.
75
63
76
-
Solve one issue at a time
64
+
> **Note** Existing PRs and Issues need reviewing, triaging, and feedback, too! You can make valuable contributions by commenting, suggesting, testing, researching, brainstorming and generally helping in all areas on GitHub!
77
65
66
+
## Navigating the Codebase
78
67
79
-
## How to contribute
68
+
Our site is build on [SolidStart](https://github.com/solidjs/solid-start). This is a framework that's still in development, so if you have any issues, check out the #docs or #solid-start channels on Discord. (In fact, the SolidStart team is working on documentation [within our repo](https://github.com/solidjs/solid-docs-next/tree/main/src/routes/start), too!)
80
69
81
-
- How to use GitHub
70
+
### Folder structure
82
71
83
-
- How to use Discord
72
+
The action happens in the `src` folder. Of note:
73
+
-`src/components`: General components, like the sidebar navigation, footer, and Asides.
74
+
-`src/routes`: Content pages and components that are specific to them. Within are folders corresponding to our [four content types](https://github.com/solidjs/solid-docs-next/blob/main/WRITING.md#content-types):
75
+
-`src/routes/tutorials`
76
+
-`src/routes/concepts`
77
+
-`src/routes/how-to-guides`
78
+
-`src/routes/api-reference`
79
+
-`src/NAV_SECTIONS.ts`: This file determines the two sidebar navigation sections, **Guides** and **Reference**. **Guides** contains Tutorials and How-To Guides, and **Reference** contains Concept pages and API reference.
84
80
85
-
- Code Style Guide
81
+
Every content page must have its own folder, even if it only has one page. For example, the Tracking concept page is one page, so it is found in an `index.md` file inside `routes/concepts/tracking`. The Getting Started with Solid tutorial has several pages, which are found inside `routes/tutorials/getting-started-with-solid`.
86
82
87
-
- Writing Style Guide (probably a separate link)
83
+
These folders will automatically generate routes; so, `routes/tutorials/getting-started-with-solid/installing-solid` will be shown at `https://docs.solidjs.com/tutorials/getting-started-with-solid/installing-solid`.
88
84
89
-
- Before you make a new feature / content PR, try to discuss it with other docs contributors on #docs! This will make sure we're on the same page and increase the chance of your PR getting merged.
85
+
If a content page has its own custom components and code snippets, place these inside its content folder. See [the Getting Started with Solid folder](https://github.com/solidjs/solid-docs-next/tree/main/src/routes/tutorials/getting-started-with-solid) for an example.
86
+
87
+
> **Warning** There is also `start` folder in `src/routes`; it is a heavy work-in-progress managed by the SolidStart team and does not follow these rules.
90
88
89
+
### Adding New Content Pages
91
90
91
+
1. Choose one of the four folders inside `src/routes/`, corresponding to your page's [content type](https://github.com/solidjs/solid-docs-next/blob/main/WRITING.md#content-types)
92
+
2. Create a new folder inside that folder. The new folder's name should be the kebab case of your page's title: e.g., `getting-started-with-solid`.
93
+
3. Add `mdx` files for each subpage.
92
94
93
-
Submitting an Issue is usually the first step to making a change. After an Issue has been considered by the community, we often reach out to community members to encourage them to submit PRs based on existing Issues.
95
+
Feel free to submit a PR at this stage, and we can handle adding it to the nav. But if you'd like to do that:
94
96
95
-
Larger contributions to the docs are encouraged after consultation, as unsolicited material may not fit into our existing plans.
97
+
4. Open `NAV_SECTIONS.ts`. This will allow you to add your new page to the nav. If your page is a tutorial or how-to guide, edit the `GUIDES_SECTIONS` object; if it's a concept page, edit the `REFERENCE_SECTIONS` object.
98
+
5. Find the object key corresponding to your content type. Then, add a new object to its `pages` array.
99
+
6. If your page doesn't have subpages, provide a `name` and a `link` property. (Search the file for "Tracking" for an example)
100
+
7. If your page does subpages, provide a `name` property and a `pages` array which contains your subpages. (Search the file for "Getting Started with Solid" for an example)
96
101
97
-
> Tip: Existing PRs and Issues need reviewing, triaging, and feedback, too! You can make valuable contributions by commenting, suggesting, testing, researching, brainstorming and generally helping in all areas on GitHub!
0 commit comments