Gather, curate, and feature stories of public servants and civic hackers using GitHub as part of their open government innovations
Clone or download
Latest commit 3634e29 Nov 4, 2018
Permalink
Failed to load latest commit information.
.github make some changes Dec 6, 2017
_data Merge branch 'gh-pages' into patch-1 Nov 5, 2018
_includes lazy-load the avatars on the community page Jul 11, 2018
_layouts lazy-load the avatars on the community page Jul 11, 2018
_posts Move custom redirect.html to a new filename to fix compatibility with… Apr 26, 2017
assets FedRAMP Styling Apr 3, 2018
docs spelling: based Nov 8, 2017
node_modules All the new primer directories installed Aug 3, 2017
script Fix errors causing build to fail the rubocop checks. Oct 14, 2018
.bowerrc update all the things Sep 18, 2015
.editorconfig Add EditorConfig to normalize spacing Oct 17, 2013
.gitignore add the Federal Election Commission Apr 3, 2018
.rubocop.yml don't need this check anymore Oct 6, 2017
.ruby-version undo ruby version accidental change Mar 23, 2018
.travis.yml speed up CI Jan 20, 2015
404.md don't end 404 on an h3, attempt to fix build error Jan 18, 2017
CNAME add cname Oct 10, 2013
Gemfile lazy-load the avatars on the community page Jul 11, 2018
Rakefile RuboCop: Style/FrozenStringLiteralComment Dec 5, 2016
_config.yml Add FedRAMP form back to site Oct 22, 2018
bower.json Use `https` URLs when possible. Feb 29, 2016
community.md Fix a11y skipped headers and missing link text Oct 5, 2017
fedramp-confirmation.md marketing content changes Mar 29, 2018
fedramp.md Form Page Styling Apr 6, 2018
index.html 1 small change Oct 23, 2018
organizations.json remove stray layouts to avoid errors Jan 20, 2015
package.json Update primer Aug 3, 2017
readme.md Merge branch 'gh-pages' into fedramp-lead-form Apr 11, 2018

readme.md

GitHub and Government Build Status

screenshot

Gather, curate, and feature stories of people using GitHub as part of their open government innovations.

The site is open source (here's all the code!) and is a tool for and by the community.

Submit issues and pull requests for stories, site ideas or copy edits.

Goals

  • Share stories of real world experiences using GitHub in open Government
  • Demystify open source terminology
  • Showcase the community using GitHub to promote connections and sharing between individuals and organizations.
  • Make getting started with GitHub easier

Under the Hood

This site is made with Jekyll, an open source static site generator. This means the Jekyll program takes the content we want to be on the site and turns them into HTML files ready to be hosted somewhere. Awesomely, GitHub provides free web hosting for repositories, called GitHub Pages, and that's how this site is hosted. The content for the site is on a branch named gh-pages.

Contributing

Fix/Edit Content

If you see an error or a place where content should be updated or improved, just fork this repository to your account, make the change you'd like and then submit a pull request. If you're not able to make the change, file an issue.

Add Organization

If you know of an GitHub organization that should be added to the organization list that generates the matrix of avatars on the Community page: fork this repository, open the _data/civic_hackers.yml, _data/governments.yml, or_data/research.yml file and add it to the appropriate section of the list in the format being used. Commit your change and submit a pull request to us!


To Set up Locally

You can take all the files of this site and run them just on your computer as if it were live online, only it's just on your machine.

Requirements

If you have installed GitHub Desktop, Git was also installed automatically.

To copy the repository's files from here onto your computer and to view and serve those files locally, at your computer's command line type:

git clone https://github.com/github/government.github.com.git
cd government.github.com
script/bootstrap
script/server

Open http://localhost:4000 in your browser

Deploying

github.government.com now utilizes a two-repo approach to managing staging and production deployments:

For small changes, you can deploy right to production by merging a pull request. For larger changes, push your branch to the staging repo from Terminal. Here's how to setup staging and deploy to it:

$ script/stage staging

This script will generate the government site (without starting the local server) and prep it for staging. It does this by creating a temporary Git repo within the compiled _site directory and force pushing that to a separate remote repo (in this case, https://ghe.io/government/staging).

Pushing to the staging repo requires authenticating with GitHub via Terminal. You'll be asked for a username and password when running script/stage. Use your GHE.io username and, since we enforce 2FA, use a personal access token as your password.

Having trouble deploying to a staging server? Delete the entire _site directory and try again. Sometimes the temporary Git repository we make in the script can go awry.

When you're done with staging and your pull request has been approved, you can merge your branch. Your changes will be automatically deployed to the production site in a few minutes.


Triage Issues Open Source Helpers

In addition to contributing changes, you can help to triage issues. This can include asking for vital information or requesting formatting changes. If you would like to start triaging issues, one easy way to get started is to subscribe to government.github.com on CodeTriage.


Don't see what you're looking for? Create an issue, we'll do our best to help you out.