First off, thanks for taking the time to contribute! ❤️
All types of contributions are encouraged and valued. See the Table of Contents for different ways to help and details about how this project handles them. Please make sure to read the relevant section before making your contribution. It will make it a lot easier for us maintainers and smooth out the experience for all involved. The community looks forward to your contributions. 🎉
And if you like the project, but just don't have time to contribute, that's fine. There are other easy ways to support the project and show your appreciation, which we would also be very happy about:
- Star the repository
- Share FORRT on your social media
- Reference FORRT in your project's readme
- Mention FORRT at local meetups and tell your friends/colleagues
Before you ask a question, it is best to search for existing Issues that might help you. In case you have found a suitable issue and still need clarification, you can write your question in this issue. It is also advisable to search the internet for answers first.
If you then still feel the need to ask a question and need clarification, we recommend the following:
- Open an Issue.
- Provide as much context as you can about the problem you're having.
- Provide project and platform versions (Hugo, Operating System etc.), depending on what seems relevant.
We will take care of the issue as soon as possible. Right now we run on volunteer time, so please be patient!
When contributing to this project, you must agree that you have authored 100% of the content, that you have the necessary rights to the content and that the content you contribute may be provided under the project license.
For FORRT contributors, you can clone this repository to your local machine and make changes on the feature branch. For now, we do not use a separate development branch. Proposed changes must be made in a feature branch. Please then create a pull request into the master branch.
For external contributors, this website operates on the fork and pull model, so you will need to fork this repository to your GitHub account of choice and then clone it to your local machine.
A way to run the project locally without installing Hugo on the host machine is via the use of Dev Containers. These are disposable development environments that run in containers, which ensure all dependences are installed as required and that host dependencies do not impact the project (or vice versa). This ensures reproducibility and consistency across different hosts, but does require a container runtime (Dockerd, containerd etc.) to be installed on the host machine.
- Git
- Docker
- For Windows, make sure to install WSL2
- Visual Studio Code
- Open VSCode and ensure you have the Remote - Containers extension installed in Visual Studio Code.
- Open
.devcontainer/devcontainer.json
in VSCode. If you are on a Windows host, go to.devcontainer\dev\devcontainer.json
and uncomment the line"remoteUser": "root"
before continuing. - In the context menu of VSCode (Crl + Shift + P), select
Dev Containers: Open Folder in Container
. Alternatively, a pop-up will appear in the bottom right corner of the window asking if you want to open the folder in a container. Click onReopen in Container
. - Wait for the container to build. The context of VS Code will change. In the bottom left corner, you will see a green icon with the name of the container (Hugo Dev).
- Run
hugo server -D
. The container will foward port 1313 to the host machine, so you can access the website athttp://localhost:1313
.
If you are a R user and would prefer to work in RStudio, you need to:
- Open R Studio, then go in the Menu > New Project... > Version Control > Git
- Repository URL:
git clone https://github.com/forrtproject/forrtproject.github.io.git
- Project directory name:
FORRT
- Create project as a subdirectory of:
click Browse and decide where you want put it
- Repository URL:
- Before editing, try to run it locally using the blogdown Addins in RStudio.
To edit it locally, you will then need to:
- Fork this GitHub repo (create a version of the FORRT repo on your own account).
- Clone this repo you just added in your own account:
git clone https://github.com/yourusername/forrtproject.github.io.git
in a terminal window. - To run the website locally, make sure you are still in
FORRT/
dir and typehugo server -D
in your terminal.- The -D option is to serve the website including draft .md files.
- Create a new branch with your name or the feature you would like to add (e.g. outreach). Depending on your code editor, the way to do this will vary (e.g. in Visual Studio Code you can click on "master" in the bottom left and select "new branch").
- Make changes on your branch. Check that it the website is working using again
hugo server -D
. - Select what changes you want to add now and "stage" them with Git.
- Commit your changes and add a message that describes the changes.
- Then you can push this branch to GitHub.
- Create a pull request to the original FORRT repo.
Please note that RStudio is not designed for website development, so you may find it easier to use the Dev Containers method described above.