mirror of
https://github.com/zrgn/zrgn.github.io
synced 2024-12-26 16:46:35 +00:00
76 lines
No EOL
2.8 KiB
Markdown
76 lines
No EOL
2.8 KiB
Markdown
# How to Contribute
|
|
|
|
The "rules" of Zargon are not set in stone. We want them to be sourced by our community. To add / remove / modify rules, please submit them via a new Issue or PR.
|
|
|
|
You can use these handy links to help get you started
|
|
|
|
- [Add a rule](https://github.com/zargon-now/zargon-now.github.io/issues/new?template=add_rule.md)
|
|
- [Change a rule](https://github.com/zargon-now/zargon-now.github.io/issues/new?template=change_rule.md)
|
|
- [Remove a rule](https://github.com/zargon-now/zargon-now.github.io/issues/new?template=remove_rule.md)
|
|
|
|
If you are comfortable with development, you can also send a [pull request](http://help.github.com/pull-requests/) with the change. We recommend creating an new issue with your pull request so that discussion on the change can happen.
|
|
|
|
# Setting up a developer environment
|
|
|
|
The site is run using [Jekyll](https://jekyllrb.com/) and is pretty easy to figure out. To start local development you'll need to install Jekyll, bundler and install your dependencies
|
|
|
|
1. ```bash
|
|
gem install jekyll bundler
|
|
```
|
|
2. ```bash
|
|
bundler install
|
|
```
|
|
3. ```bash
|
|
bundle exec jekyll serve
|
|
```
|
|
|
|
This will serve up the page at `localhost:4000` and any changes to the files you make will be shown "live" at that site.
|
|
|
|
## Modifying / adding Javascript and CSS
|
|
|
|
Javascript and CSS libraries are managed via [Bower](https://bower.io/) and [Grunt](https://gruntjs.com/). You will need to have `npm` available and have `bower` and `grunt-cli` installed globally.
|
|
|
|
1. Add new assets using `bower install \[asset\] --save`
|
|
2. Update the assets by running `npm run build`
|
|
|
|
## Folder structure
|
|
|
|
### \_data
|
|
|
|
This folder contains the data that drives the site
|
|
|
|
- `rules.json` - This file defines the orders of the rules. To add a new section, add the file to `_data/all_rules/sectionname.json` and add `sectionname` to the `orders` entry
|
|
- `all_rules` - This folder contains all of the rules.
|
|
- `games.json` - Rules surrounding playing games
|
|
- `membership.json` - Rules around membership in Zargon
|
|
|
|
To add a new rule set, create a file in `_data/all_rules/sectionname.json` with the following format
|
|
|
|
```javascript
|
|
{
|
|
"title": "A New Rule Set",
|
|
"rules": [
|
|
{ "text": "This will be the first rule" },
|
|
{ "text": "This will be the second rule" }
|
|
]
|
|
}
|
|
```
|
|
|
|
### \_includes
|
|
|
|
This folder contains template files used in other pages
|
|
|
|
- `footer.html` - The footer
|
|
- `navbar.html` - The global navbar. Not currently used.
|
|
- `rules.html` - The rules section
|
|
- `style.html` - The global style sheet
|
|
|
|
### \_layouts
|
|
|
|
This folder contains the layouts used in other pages
|
|
|
|
- `page.html` - The general page layout
|
|
|
|
### assets
|
|
|
|
The static assets used in the site. **Note**: This should not be manually added to but instead generated using `grunt` |