Skip to content

Commit

Permalink
docs: Update contribution guidelines
Browse files Browse the repository at this point in the history
  • Loading branch information
froboy committed Dec 15, 2023
1 parent de7fb0f commit 255764d
Showing 1 changed file with 29 additions and 19 deletions.
48 changes: 29 additions & 19 deletions content/en/docs/contribution-guidelines/_index.md
Expand Up @@ -3,12 +3,15 @@ title: "Contribution Guidelines"
linkTitle: "Contribution Guidelines"
weight: 100
description: >
How to contribute to the docs
How to contribute to the docs
---

We use [Hugo](https://gohugo.io/) to format and generate our website, the
[Docsy](https://github.com/google/docsy) theme for styling and site structure,
and [GitHub Actions](https://github.com/open-y-subprojects/openy_docs/blob/main/.github/workflows/gh-pages.yml) to manage the deployment of the site to GitHub Pages.
We use:
- [Hugo](https://gohugo.io/) to format and generate our website,
- the [Docsy](https://github.com/google/docsy) theme for styling and site structure,
- [Netlify](https://github.com/YCloudYUSA/yusaopeny_docs/blob/main/netlify.toml) for PR previews, and
- [GitHub Actions](https://github.com/YCloudYUSA/yusaopeny_docs/blob/main/.github/workflows/gh-pages.yml) to manage the deployment of the site to GitHub Pages.

Hugo is an open-source static site generator that provides us with templates,
content organisation in a standard directory structure, and a website generation
engine. You write the pages in Markdown (or HTML if you want), and Hugo wraps them up into a website.
Expand All @@ -22,33 +25,40 @@ information on using pull requests.

If you've just spotted something you'd like to change while using the docs, Docsy has a shortcut for you:

1. Click **Edit this page** in the top right hand corner of the page.
1. If you don't already have an up to date fork of the project repo, you are prompted to get one - click **Fork this repository and propose changes** or **Update your Fork** to get an up to date version of the project to edit. The appropriate page in your fork is displayed in edit mode.
1. Make your changes and open a Pull Request. The maintainers will review, provide feedback, and merge.
1. Click **Edit this page** in the right (second) sidebar.
2. If you don't already have an up-to-date fork of the project repo, you are prompted to get one - click **Fork this repository and propose changes** or **Update your Fork** to get an up-to-date version of the project to edit. The appropriate page in your fork is displayed in edit mode.
3. Make your changes and open a Pull Request. The maintainers will review, provide feedback, and merge.

## Previewing your changes locally

If you want to run your own local Hugo server to preview your changes as you work:

1. Follow the instructions in [Getting started](https://www.docsy.dev/docs/getting-started/) to install Hugo and any other tools you need. You'll need at least **Hugo version 0.45** (we recommend using the most recent available version), and it must be the **extended** version, which supports SCSS.
1. Fork the [openy_docs](https://github.com/open-y-subprojects/openy_docs) repo into your own project, then create a local copy using `git clone`. Don’t forget to use `--recurse-submodules` or you won’t pull down some of the code you need to generate a working site.
1. Follow the instructions in [Getting started](https://www.docsy.dev/docs/getting-started/) to install Hugo and any other tools you need.
2. Fork the [yusaopeny_docs](https://github.com/YCloudYUSA/yusaopeny_docs) repo into your own project, then create a local copy using `git clone`.
3. Run `hugo server` in the site root directory. By default, your site will be available at `http://localhost:1313/`. Now that you're serving your site locally, Hugo will watch for changes to the content and automatically refresh your site.
4. Continue with the usual GitHub workflow to edit files, commit them, push the
changes up to your fork, and create a pull request.

### Common options

Hugo has [a number of flags](https://gohugo.io/commands/hugo_server/#options) you can use to change local server behavior, here are a few we like:

```
git clone --recurse-submodules --depth 1 https://github.com/open-y-subprojects/openy_docs
```
- `--tlsAuto` generate and use locally-trusted certificates to run the site over `https`
- `--buildDrafts` include content marked as draft
- `--buildFuture` include content with publishdate in the future

1. Run `hugo server` in the site root directory. By default your site will be available at http://localhost:1313/. Now that you're serving your site locally, Hugo will watch for changes to the content and automatically refresh your site.
1. Continue with the usual GitHub workflow to edit files, commit them, push the
changes up to your fork, and create a pull request.
With all of these, you might end up with something like:

```shell
hugo serve --tlsAuto --buildDrafts --buildFuture
```

## Creating an issue

If you've found a problem in the docs, but you're not sure how to fix it yourself, please create an issue in the [openy_docs repo](https://github.com/open-y-subprojects/openy_docs/issues). You can also create an issue about a specific page by clicking the **Create Issue** button in the top right hand corner of the page.
If you've found a problem in the docs, but you're not sure how to fix it yourself, please create an issue in the [yusaopeny_docs repo](https://github.com/YCloudYUSA/yusaopeny_docs/issues). You can also create an issue about a specific page by clicking the **Create Issue** button in the top right hand corner of the page.

## Useful resources

* [Docsy user guide](https://www.docsy.dev/docs/): All about Docsy, including how it manages navigation, look and feel, and multi-language support.
* [Hugo documentation](https://gohugo.io/documentation/): Comprehensive reference for Hugo.
* [Github Hello World!](https://guides.github.com/activities/hello-world/): A basic introduction to GitHub concepts and workflow.


* [GitHub Hello World!](https://guides.github.com/activities/hello-world/): A basic introduction to GitHub concepts and workflow.

0 comments on commit 255764d

Please sign in to comment.