diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index c2517a6..b72bd8e 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -1,151 +1,205 @@ # Contributing Guidelines -## Got a Question? +## Got a Question? -Please do not open issues for general support such as "how to do reaction roles" — use the -[support server](https://discord.gg/4udtcA5) for that. +We welcome suggestions for improving the documentation on our issue tracker—outdated information, missing items, typos, +or clarity issues are all relevant. -To keep this tracker clean, we will systematically close issues regarding general support and redirect to the -aforementioned support server. +General support queries and possible bugs in YAGPDB are **not** in scope and will be closed without comment; use the +[support server] instead. -## Found a Bug? +[support server]: https://discord.gg/4udtcA5 -Do **not** use this tracker to file maybe-bugs in YAGPDB. We have a dedicated channel on the support server for that, to -which you can post after it was confirmed to be one. -Should there be general issues with the documentation (grammatical structure, general flow, clarification needed), do -feel free to open an issue clearly outlining what is wrong about it and consider suggesting how to fix it. +## Submission Guide -## Submission Guidelines +Thanks for contributing to the YAGPDB documentation! Please take a moment to review this document in order to make the +contribution process easy and effective for everyone involved. ### Requirements -- An [editorconfig](https://editorconfig.org)-capable (text) editor. -- The latest extended release of [Hugo](https://gohugo.io). -- Optional: a webserver to serve a release build of the website. +Small changes can be authored directly using the GitHub web interface, though we highly recommend an +[EditorConfig]-capable editor like VSCode or Neovim for any extended work. + +To preview your changes locally, you will also need [Node.js], [NPM], and the latest **extended** release of [Hugo]. NPM +should come along with installing Node.js by default. + +[Node.js]: https://nodejs.org/en +[NPM]: https://www.npmjs.com/ +[Hugo]: https://gohugo.io/installation +[EditorConfig]: https://editorconfig.org/ ### Instructions -1. Search this repo's issues and pull requests tab for any open or closed PRs / issues that relate to your submission. - You wouldn't want to duplicate existing efforts. +The usual set of steps to contribute to anything hosted on GitHub applies: fork the repository, clone the fork, +cut a new branch from `master`, make and commit your changes, and submit a pull request. We've outlined key parts of +this process below. + +> [!TIP] +> Though you could work directly on the `master` branch, it is recommended to isolate your changes into a separate +> branch. This way, you can work on multiple contributions simultaneously without them interfering with each other. +> To create a new branch, simply run `git switch -c master` in the cloned repository. + +#### Preparing Your Environment -2. [Fork](https://github.com/botlabs-gg/yagpdb-docs-v2/fork) and then clone your fork. +In your local clone, install the required dependencies via NPM by running the following command: -3. In your cloned repository, make your changes on a new branch stemming from `master`: +```shellsession +$ npm install +``` - ```shell - git switch -c my-branch master - ``` +This will ensure that you can fully build the documentation site locally, including the custom syntax highlighting we +use. -4. Launch the Hugo development environment via `hugo server`. It'll watch your worktree for changes and reload the page - when changes are detected. +#### Making Your Changes -5. Make your changes, ensuring that the page still builds in release mode via `hugo`. You may need to run `hugo mod - vendor` prior to that. +##### Markdown Features -6. Commit your changes using a descriptive commit message following our [commit message conventions](#commit). As a nice - bonus, GitHub should automatically fill in the [pull request template](PULL_REQUEST_TEMPLATE.md) with your formatted - message, saving you some work. +The documentation is written in Markdown, with some additional shortcodes provided by the [Doks theme]; refer to its +documentation for a complete list of features. If you are writing or editing custom command-related code, please use the +`yag` language in fenced code blocks for accurate syntax highlighting: -7. Push your branch to GitHub: +````markdown +```yag +{{/* your YAGPDB custom command code here */}} +``` +```` - ```shell - git push origin my-branch - ``` +For consistency within the raw Markdown, please **do not** use the four-space indentation for code blocks, even if you +don't intend on highlighting them. -8. On GitHub, submit a pull request to `botlabs-gg:master` +Use headers if possible to structure your content more clearly. Hugo will generate a table of contents based on those +headers, displaying up to `h3` (`###`) headers on the right side of the page. Algolia indexes by section (which headers +introduce), so it's beneficial to have a clear structure to improve search results. -Lastly, if you are unsure where to place a potential new file, do not hesitate to ask either on the support server or -open an issue. +Ensure each header is unique in its respective file—if necessary, you can give them a custom ID to make them unique: -## Commit Message Format +```markdown +### non-unique header{#my-unique-id} +``` -Formatting commit messages according to a specification makes it easier to parse and read commit history. +This issue tends to especially arise on levels with a lower level of granularity, like `h4` (`####`) or `h5` (`#####`). +It helps to have a linter or similar tools that tell you when a header becomes ambiguous. -Each commit message consists of a header, a body, and a footer: +##### Repository Structure ```txt -
- - - -