Skip to content

civictechdc/codefordc.github.com

Repository files navigation

Code For DC Website

PLEASE NOTE: This repository powers Code for DC’s old website, which you can find online here. Code for DC’s current website is powered by the codefordc-website GitHub repository.


This is the repository for the website for Code for DC, the DC chapter of the Code for America Brigade program.

This site is built on Github pages and uses Jekyll for its blog.

Contributing

If you want to make a blog post: read this.

If you want to add a project to the projects page: read this.

For everything else:

First, make sure that you have git on your computer. Create your own fork of the repository, then clone it to your computer:

git clone git@github.com:[YOUR GITHUB NAME]/codefordc-2.0.git

You can work on the master branch (which is the default), but it's preferable to set up a new branch if you're working on a specific feature:

git checkout -b [NEW BRANCH NAME]

Next, you'll want to view the site locally using jekyll. There are three ways to do this:

Using Docker

Docker is a tool that abstracts away all of the environment configuration, allowing you to run this project (and others) without needing to install any other tools. To get started install Docker and then run

docker run --volume=$(pwd):/srv/jekyll -p  127.0.0.1:4000:4000   codefordc2/codefordc.org

Less steps, but more points of failure

Make sure that you have Ruby installed on your system.

If you do, try this:

gem install jekyll #sudo is probably required
jekyll serve -w

Hopefully it works! If not and you see something like jekyll: command not found, you'll need to add the jekyll executable's location to your shell's $PATH variable. Here's an example of how that might work, but you should do some Googling to understand what you're doing here:

gem which jekyll
# /usr/lib/ruby/gems/1.9.3/gems/jekyll-2.4.0/lib/jekyll.rb
export PATH=$PATH:/usr/lib/ruby/gems/1.9.3/gems/jekyll-2.4.0/bin
jekyll serve -w

Point your browser to 0.0.0.0:4000. As you can see, this is a bit of a hacky workaround. If you upgrade Ruby in the future, be aware that this might get confusing as you add more gems.

More steps, but more likely to work

A more elegant solution is to use a Ruby manager. Both rbenv and RVM are popular, but this example will use the former for its simplicity. Install it, making sure to set up the init script and restart your shell. This may take some effort, but will allow you to manage multiple versions of Ruby and their various dependencies across projects (this is a common problem in Rubyland).

Then:

rbenv install 2.1.1
gem install bundler
bundle install
bundle exec jekyll serve -w

Point your browser to 0.0.0.0:4000.

License

As stated in LICENSE, the code in this repo is available under the GNU General Public License v2.0.

However, the copyright to certain parts of this repo is waived under the Creative Commons Zero v1.0 license. Specifically, the following files are public domain: