This repository contains 18F's website, https://18f.gsa.gov.
Writing a blog post for 18F? You must read our blog publishing guide.
- The
stagingbranch is automatically deployed to our staging site. - The
productionbranch is automatically deployed to our production site.
All development and pull requests should be done against the staging branch.
Deployments to production will be done by site admins, using PRs from staging to production.
If you're a new teammate, add yourself to the website by:
- Either fork the repository, or make a new branch inside the repo if you have write permissions.
- Add your name to
_data/team.yml. Yournameshould be an all-lower-case handle, and must be unique among the team. Yourfull_nameshould be how you want your name to be displayed beneath your picture, and on your blog post bylines. Finally, make a separate entry forfirst_nameandlast_name. We use these last two fields to sort the pictures on the home page. - Add a 250x250 JPG of yourself to
assets/images/team. The filename must be your unique team handle, e.g.eric.jpg. - (Optional) Verify that your photo and name looks right by running the site locally.
- Submit a pull request from your fork or branch to this repository's
stagingbranch. - When your PR is merged, your face and name should appear automatically on our staging site.
A site admin will take care of deploying you to the live site. Feel free to poke them if they don't get around to it in a timely fashion!
For a guide to how 18F manages blogging, and technical guidelines for getting your blog post into the site, see the 18F Blogging Guide.
This is a Jekyll website. Install Jekyll through Rubygems (you may need sudo), Bourbon, and Jekyll Sitemap:
script/bootstrapYou will also need Python 2.7 installed and active, because syntax highlighting depends on Pygments. A .python-version file is included in this repository for those using pyenv.
Sadly, for the time being you will also need Node to be installed, because Jekyll 2 couples a CoffeeScript runtime. This will eventually be removed.
So yes: this project requires Ruby, Python, and Node (for now). Aren't static site generators the simplest?
Launch with Jekyll:
script/serverThe site will be visible at http://localhost:4000.
Before submitting a pull request, please ensure script/cibuild runs and exits cleanly.
You don't need to worry about deployment stuff for normal development -- any pushes to staging and production branches will auto-deploy.
But to dig into our deployment setup and code, visit deploy/ for more details.
This project is in the worldwide public domain. As stated in CONTRIBUTING:
This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.
All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.