ruby.org.au site is a static site hosted with Github Pages.
- Content is in
/pagesas Haml templates
- Styles are
/stylesheets, compiled using compass
How to Contribute
Want to help? Sweet! We like help. Pull requests are very welcome. Here's how to get started:
- Fork the repository
- Make some changes (see Build Instructions below)
- Push your changes to your fork
- Open a pull request
When you open a pull request, we'd appreciate if you follow some basic guidelines:
- Describe what you're changing, and more importantly why you're changing it
- Keep the pull request focused on one thing - if you make two different, unrelated changes, please separate them into two pull requests
- Some pull requests won't get merged. All changes are reviewed by a committee member, and sometimes changes don't fit with the organisation's vision.
Building and deploying the site is done via rake tasks:
rake build:all(aliased as default) compiles the site into
rake deploycopies the committed versions of all files in
/siteto the root of the
Guardfile, which makes development convenient - just run
exec guard to have it watch the pages and stylesheets, automatically
rebuilding the site any time you save a file.
As a contributor, your workflow would look something like this:
# Assuming `upstream` is the name of the git remote for the official # ruby.org.au repository, and `origin` is your own fork. # Make sure you're building on the most up-to-date version git fetch upstream && git merge upstream/master # Do some edits # ... # If you're not running guard, build the site rake build:all # Once you're happy, commit both the source files and the output: git add pages/my-awesome-page.html.haml git add site/my-awesome-page.html git commit -m "Add an awesome page" # Push your changes git push origin master
Deploying (for maintainers)
NOTE make sure to have a local branch
This can be accomplished by
git checkout gh-pages, which on recent versions
of git will automatically setup a tracking branch if there's a remote branch
of the same name.
As a maintainer, your deploy workflow will look something like this:
rake build:all # Check for any changes in 'site'. If there are, read over them, and commit. git add site git commit -m "Committing changes to the generated site" git push origin master # Update the gh-pages branch and push to github rake deploy
If there were changes in
site, someone forgot to commit the generated output
from a change they made, or they changed the output by hand. This is generally
not a good situation, but mistakes happen...