CSS Ruby HTML JavaScript Shell
Latest commit e6a8c3e Feb 22, 2017 @awfrancisco awfrancisco committed on GitHub Merge pull request #2320 from 18F/editors-note
Adds new Editors' note
Permalink
Failed to load latest commit information.
.bundle change jekyll-archives ref, added documentation Jan 19, 2017
_about revert links Feb 14, 2017
_authors Merge pull request #2218 from 18F/deprecate-fields Jan 20, 2017
_data Merge pull request #2288 from 18F/join-revisions Feb 10, 2017
_hire change url from project --> what we deliver Feb 9, 2017
_includes don't requre pry or rb-readline Feb 16, 2017
_join Merge pull request #2288 from 18F/join-revisions Feb 10, 2017
_layouts visual changes Feb 16, 2017
_plugins don't requre pry or rb-readline Feb 16, 2017
_posts Adds new Editors' note Feb 22, 2017
_projects Merge pull request #2303 from 18F/add-calc-quote Feb 16, 2017
_sass hound fixes Feb 16, 2017
_styleguide # This is a combination of 7 commits. Jan 18, 2017
assets Merge pull request #2311 from 18F/compress-images-bh Feb 16, 2017
blog caret placement, config excludes Jan 23, 2017
examples fix and add links Feb 14, 2017
pages Match existing style Feb 17, 2017
spec Replace PNGs with JPEGs Feb 16, 2017
tests replace tags array with tag string Feb 9, 2017
.about.yml egoodman => esgoodman Oct 22, 2015
.cfignore Add CF deployment scripts and manifest Apr 30, 2015
.codeclimate.yml add codeclimate config, edit eslintrc config Jan 3, 2017
.eslintignore Adds HoundCI and associated linters (#1905) Oct 3, 2016
.eslintrc add codeclimate config, edit eslintrc config Jan 3, 2017
.gitignore coverage badge Jan 6, 2017
.gitmodules Update import-public.rb to import Hub API JSON Feb 24, 2015
.hound.yml test circle config Oct 14, 2016
.rspec start rspec Dec 30, 2016
.rubocop.yml rubocop config Jan 5, 2017
.ruby-gemset Merge 'staging' into fix-typos-in-github-guide Mar 4, 2015
.ruby-version change ruby version from 2.2.3 to 2.3.1 Oct 24, 2016
.scss-lint.yml Adds HoundCI and associated linters (#1905) Oct 3, 2016
CONTRIBUTING.md don't requre pry or rb-readline Feb 16, 2017
Dockerfile added docker file and support Oct 14, 2016
Gemfile remove jekyll_asset_pipeline Jan 25, 2017
Gemfile.lock remove jekyll_asset_pipeline Jan 25, 2017
ISSUE_TEMPLATE.md add issue and pull request templates (#1959) Oct 19, 2016
LICENSE.md minor edits to address notes Oct 13, 2016
PULL_REQUEST_TEMPLATE.md don't requre pry or rb-readline Feb 16, 2017
README.md remove archive link in Readme Feb 16, 2017
_config-accesslint.yml don't requre pry or rb-readline Feb 16, 2017
_config-blog.yml don't requre pry or rb-readline Feb 16, 2017
_config-fast-builds.yml don't requre pry or rb-readline Feb 16, 2017
_config.yml don't requre pry or rb-readline Feb 16, 2017
api-endpoints Fully redesigns the site, see commit history at 18F/beta.18f.gov Aug 31, 2016
build add headers redcarpet extension Oct 28, 2016
circle.yml don't requre pry or rb-readline Feb 16, 2017
config_blog.rb don't requre pry or rb-readline Feb 16, 2017
docker-compose.yml fix encoding issues in serve command Oct 24, 2016
docker_entrypoint.rb fix hound violation Oct 14, 2016
favicon.ico Fully redesigns the site, see commit history at 18F/beta.18f.gov Aug 31, 2016
killport don't requre pry or rb-readline Feb 16, 2017
package.json don't requre pry or rb-readline Feb 16, 2017
robots.txt Fully redesigns the site, see commit history at 18F/beta.18f.gov Aug 31, 2016
serve sticky nav in mobile Feb 7, 2017
serve-accesslint don't requre pry or rb-readline Feb 16, 2017
serve-blog sticky nav in mobile Feb 7, 2017
serve-fast sticky nav in mobile Feb 7, 2017
sitemap.xml don't requre pry or rb-readline Feb 16, 2017
system-security-plan.yml SSP update Oct 6, 2016

README.md

Code Climate Test Coverage

18F’s flagship website

This repo houses the 18F website. We use the Draft U.S. Web Design standards as a front end framework. The site is built and served through the Federalist platform.

History

A detailed history of the work that went into developing this redesign can be found at 18F/beta.18f.gov.

Installation

Run each of the following steps to get the site up and running.

  1. git clone git@github.com:18F/18f.gsa.gov
  2. cd 18f.gsa.gov
  3. bundle install
  4. ./serve

To dramatically reduce the build time, there are two commands that you can run instead of ./serve:

  • ./serve-fast: This will eliminate all of the blog posts and the search index, but generates all other pages
  • ./serve-blog: This will eliminate all but the latest three blog posts, but keeps the rest of the site intact.

You should be able to see the site at: http://127.0.0.1:4000/site/

Alternative Installation using Docker

Using Docker can make dependencies management easier, but can also slow down your build time. You can find out more in this discussion

To try this out on MacOS:

  1. Install Docker Toolbox.
  2. Make sure Docker is running and cd into your project folder
  3. Run docker-compose build to build the docker image and its dependencies. You only need to build once, but if there was an error with the build , rebuild using the --no-cache option like so docker-compose build --no-cache to avoid using the old version of the docker image.
  4. Run docker-compose up. Note: if you want to run a single command and bypass your Dockerfile for debugging purposes, you can do like so docker-compose run app <COMMAND> (for instance, you can run bundle docker-compose run app bundle install)
  5. Visit http://192.168.99.100:4000 in your browser.

System security controls

The site is a static website with HTML, CSS, and Javascript. Deployments are done through Federalist.

  1. Federalist runs in its own organization and space in cloud.gov, which piggybacks on AWS GovCloud
  2. Federalist Admin: https://federalist.fr.cloud.gov/
  3. Federalist responds to a webhook on GitHub and runs Jekyll to generate static web files and puts them in an S3 bucket
  4. We map 18f.gsa.gov URL to the S3 bucket