This repository has been archived by the owner on May 2, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 5
Make a contributing.md (closes #102) #148
Merged
Merged
Changes from 3 commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
# Contributing to Obl.ong | ||
|
||
First of all, thank you for wanting to contribute to Obl.ong! Everyone is welcome to help and encouraged to help. | ||
|
||
## 📜 Code of Conduct | ||
|
||
Obl.ong is governed by the [Code of Conduct](https://github.com/obl-ong/code-of-conduct). You are expected to follow it. Basically, treat other humans with respect and don't discriminate based on any characteristic. You can report any violation to [email protected], and we will take care of it ASAP. | ||
|
||
## 🪳 Bug Reporting | ||
|
||
Bug Reports are vital to development. You can report bugs using GitHub issues. However, we need information to help squash the bug. Basically: | ||
|
||
- Ensure you are using the latest commit or version of Obl.ong. | ||
- Make sure the issue hasn't already been posted by searching the issues. | ||
- Give information about the bug: OS, OS version, Browser Version (if it occured in the browser), ruby version (`ruby -v`), git commit (`git rev-parse --short HEAD`), screenshot (if needed). | ||
|
||
Also, please do **not** submit security issues via GitHub issues. Please send an E-mail to [email protected]. | ||
|
||
## 💻 Setting up a development environment | ||
|
||
1. Install the currently supported version Ruby. You can use a tool like [Ruby Version Manager (RVM)](https://rvm.io/) to install ruby. Check the `.ruby-version` file to find it. Usually, it's the latest version, but it never hurts to check. | ||
2. Install Rails. A lot of times it may come preinstalled. Run `rails -v` to check. | ||
3. Install [bun.sh](https://bun.sh). You can do this by running `curl -fsSL https://bun.sh/install | bash | ||
4. Pull the submodules. Run `git submoudle init && git submodule update` | ||
dispherical marked this conversation as resolved.
Show resolved
Hide resolved
|
||
5. Compile the CSS. Run `rails css:build` to do this. | ||
6. Generate active record encryption keys. Save those keys for step 7. | ||
7. Add all of the API keys and credentials using `rails credentials:edit` | ||
|
||
```yaml | ||
dnsimple: | ||
access_token: DNSIMPLE_ACCESS_TOKEN | ||
account_id: ACCOUNT_ID | ||
|
||
postmark_api_token: "POSTMARK_API_TOKEN" | ||
sentry: SENTRY_URI | ||
active_record_encryption: | ||
primary_key: PRIMARY_KEY | ||
deterministic_key: DETERMINISTIC_KEY | ||
key_derivation_salt: KEY_DERIVATION_SALT | ||
``` | ||
Sentry isn't required, so you don't need to provide a URI. Everything else is though, but you can setup a dnsimple and postmark sandbox for free. | ||
8. Modify `config/application.rb` to fit the development environment. Set `config.sentry` to false if you disabled sentry. | ||
9. Remove config/application.rb from your worktree so you don't push test configuration into the repo. (`git update-index --skip-worktree config/application.rb`) | ||
10. Start the development server using `bin/rails server`. | ||
|
||
## 👗 Code Styling & Formatting | ||
We use [Standard Ruby](https://github.com/standardrb/standard) ([VSCode Edition](https://marketplace.visualstudio.com/items?itemName=testdouble.vscode-standard-ruby)) to lint and format code. Please run it on changes you make. It keeps the code human-readable and improves code quality. | ||
|
||
## 🌐 Translating Obl.ong | ||
We use [Weblate](https://hosted.weblate.org/projects/oblong/) to translate. You can make an account there and start translating! | ||
|
||
## ❓ Questions and Comments | ||
If you need help with anything, we have a [forum](https://forum.obl.ong) to help you with anything and everything in regards to Obl.ong. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rbenv > rvm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed, but what's the difference? I don't know too much about ruby, sorry
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rbenv is just a better tool that I will actually support if people have questions. I just find it has less issues and is easier to understand