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.
- 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
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.
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.
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!
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.
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
github.government.com now utilizes a two-repo approach to managing staging and production deployments:
- Production: github/government.github.com (this repository)
- Staging: government/staging
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.
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.