Herp. Derp. http://grooveultimate.com.
So you'd like to contribute?
That's rad. If you know how GitHub works and how to code, see instructions below. If you don't know how to code and/or have no idea how GitHub works, submit any copy changes/ideas/suggestions/what-have-you to email@example.com, or...
Have an idea or found a bug?
Submit an issue! It's easy as 1, 2, 3, 4, 5:
- If you're on the website, click on the link that takes you here (the little cat-looking thing next to the Twitter and email icons in the sidebar). If you're already here...
- On the right-hand side of this page, click the "Issues" link under the "Code" link.
- Do a quick check to make sure what you're about to suggest or report hasn't already been suggested or reported. If it has, comment on the existing issue. Saying that you're having the same problem (or think the same idea is awesome!) is valuable info.
- Click the big green button that says "New Issue".
- Describe idea and submit!
Doing this keeps everything centrally located and easy to find and discuss without polluting anyone's email.
Directions for the coding-inclined
For simple copy or HTML changes, do the following:
- Create a fork of the
masterbranch of this repo. This is where all the source files live.
- Make your changes. Want to create a new post?.
- Submit a pull request.
If everything checks out, I'll merge your changes and build the site.
For more complex changes, such as adding or modifying bios, adding pages, or creating or modifying posts where you'd like to see what it looks like locally:
- This is a statically-generated site a la Jekyll. If you haven't installed that, do that first.
- Do step one for simple changes if you haven't already.
- Set up your server, run
jekyll servein your terminal/console.
- Make your changes.
- In your terminal/console, run
jekyll build. You should be able to view your changes locally.
- Repeat previous two steps until you've achieved the desired result.
- Submit a pull request.
This site uses the pre-compiler Compass (SASS/SCSS) to compile its CSS. If you want to modify CSS, do the following:
- If you don't have Compass installed, you must run
gem install compassfrom your terminal/console. Also run
gem install uglifierand
gem install smusher.
- Navigate your terminal/console to
compass watch. Make sure there are no errors. It should say something like
Compass is polling for changesif you did it right.
- The source files for the CSS are the
.scssfiles found in the
_frontend/src/partialsfolder. Modifying the
.cssfile in the
public/cssfile is pointless as it is overwritten every time a change is made.
- After you make your change and save your file, you should see your terminal automatically compile your changes. Depending on what you're modifying, it's possible that you could generate compilation errors if you save things in the wrong order. For instance, if you create a variable in one file and use it in another, but save them in backwards order, it may cause an error. Just add a space to any file and save it to trigger a recompilation.
No JS yet. Will update when necessary. Similar to above instructions; Compass minifies all JS on save.
Creating a New Post
- Create a new file in the
_postsdirectory. The filename must be of the convention:
yyyy-mm-dd-title.markdown. For example,
- The top of your post must have "front-matter" that looks something like this:
--- layout: post title: New Website! date: 2014-07-25 00:00:00 ---
- The only thing above that must remain consistent is
layout: post. Change the values of
- Put your content below the second
---in Markdown format. If you don't want to deal with learning Markdown syntax, don't worry about it. Type as normal and hit enter twice between paragraphs.
- If you want to see how it looks, follow the steps for complex changes above. Otherwise, just submit a pull request.
The roster and bios are dynamically generated via data in the
_data/players.yml file. To update an existing player's roster data and/or bio, modify their entry in this file and run a
To add a new player to the roster:
- Players are arranged alphabetically according to last name. Find their spot.
- Enter their data in the following format (these are mandatory):
- name: First Last sex: f (m for dudes) number: 0 lastYear: 2014 (this is the last year they were on the team) years: 2014 (TODO: this should probably become an array)
- Optional properties are:
bio- Content to appear in player's bio. Markdown is supported.
facts- Array of bullet points to list after bio, formatted like:
["Position: cutter", "Favorite food: nachos"]
isCaptain- only put in if player is the captain, value is
isPractice- only put in if player is a practice player, value is
isCoach- only put in for those foolish enough to coach us, value is
pic- only put in if player has a pic, value is
- To add a picture to a bio:
- Add the
picproperty to the player's data
- Make sure the image is no wider than
200pxand not absurdly tall, and has a
- Drop the image in the
assets/biopicsfolder with the naming convention of
firstname-lastname.jpgas listed in the
nameproperty in their data file, for instance,
sam-applegate.jpg. If she were to change her name to how she used to refer to herself when she was a child, you'd change the
Widdle Samamfa Applegateand subsequently the picture to
- Don't forget to add and commit the image to the
masterbranch of the repository.
- After you're done adding or updating data, you must run
jekyll buildto regenerate the site.
Here Be Dragons
This section is more documentation for me on deployment in case I forget. We use generators on our site (way easier to generate bios dynamically and automatically than maintain them by hand). However, GitHub doesn't support generators in their standard hosting, so the site must be built and the generated files must be pushed to the
Hence, to deploy:
jekyll build. You don't have to commit afterwards, as this action does not affect any source files.
- Switch to
gh-pagesbranch. You should see all the source files disappear from the folder structure.
- Copy or cut the files from the
_sitedirectory that should have survived the branch switch and paste them to the root. You can either delete or overwrite all existing files.
- Commit, push while still in
- View changes on the site.
If you are smarter than me and know of a better way to automate this deployment process, please feel free to contribute!
If you are looking for other ways to contribute, there are plenty of things to do. In no particular order:
- Update the design
- Figure out the best way to do dynamic rostering per year
- Preserve old rosters
- Add any new features to the site, such as image galleries