Code For Fort Collins

CFFC logo

This repo is for our organization's website at codeforfoco.org.

Getting Started

Before you can run the website on your machine you need to ensure you have some prerequisites installed:

  1. Fork this repository and clone your fork.
  2. cd into the cloned directory.
  3. Run git submodule update --init --recursive to install several third-party submodules.
  4. Install Ruby V2 or greater, we recommend you use RVM.
  5. Install bundler by running gem install bundler.
  6. Install any Ruby dependencies by running bundle install.

Once all the dependencies have been installed you run the development server with:

bundle exec jekyll serve

Open your browser up to localhost:8080 to view the development site.

Contributing

We welcome new contributors. Be sure to check out guide on contributing, which includes instructions on how to fork, clone, branch, commit, pull request and sync your fork.

Not sure where to start? Look for open issues on GitHub, or message the team on our Slack site. If you aren't on our Slack, click here for an invite.

TL;DR Contribution Workflow:

  1. Fork this repository and Clone your fork locally.
  2. Checkout a new branch on which to make your changes.
  3. Make edits. Try to match existing coding style.
  4. Test your changes.
  5. Commit your changes. Push your changes to your fork on GitHub.
  6. Submit a new pull request and your changes will be reviewed and merged.

Code Standards

Development in a team environment can result in code inconsistency, which may have undesired impacts including a reduction in readability. Therefore we ask that you standardize and "beautify" your code before submitting a pull request. A few options to simplify this process are outlined below.

EditorConfig project

EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs.

This tool eliminates common inconsistencies such as tab style and line endings, and has plugins available for most modern IDEs and text editors. Find yours here.

Linters

Linters validate your code and provide errors and warnings when validation is not met. Here are some linters for common text editors:

Beautifiers

The settings for beautifying this repo's code is found in .csscomb.json and .jsbeautifyrc at the root of the project. Implementation of the settings is carried out by various plugins specific to each text editor. Here are some of the most common:

  • atom-beautify is an all-in-one package for Atom that will handle beautification of most common languages (FYI it's a big package so it takes a little while for the installation to complete!).
  • Sublime Text does not have an all-in-one beautifier, but Sublime-HTMLPrettify should suffice for this project.

Site Architecture

The CFFC website will ultimately adhere to an organized, intuitive, and SEO-friendly navigation and content structure, currently based on this model:

Bugs / Feedback / Suggestions

We encourage you to open up an issue if you have any feedback, suggestions or bugs.

License

MIT, see LICENSE for full license.