This repo houses the 18F website. We use the Draft U.S. Web Design System as a front end framework. The site is built and served through the Federalist platform.
18f.gsa.gov extends the U.S. Web Design System and 18F Brand guidelines to create a style that is professional, unique, and informative. The style guide, located at 18f.gsa.gov/styleguide/ documents the patterns and components used to create this theme.
A detailed history of the past work that went into developing this redesign can be found at 18F/beta.18f.gov.
Run each of the following steps to get the site up and running.
git clone [email protected]:18F/18f.gsa.gov
cd 18f.gsa.gov
bundle install
./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/
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:
- Install Docker Toolbox.
- Make sure Docker is running and
cd
into your project folder. - 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 sodocker-compose build --no-cache
to avoid using the old version of the docker image. - Run
docker-compose up
. Note: if you want to run a single command and bypass yourDockerfile
for debugging purposes, you can do like sodocker-compose run app <COMMAND>
(for instance, you can run bundledocker-compose run app bundle install
). Our site is large, so this could take awhile. - Visit http://localhost:4000/site/ in your browser. Make sure that you include the trailing slash.
The site is a static website with HTML, CSS, and Javascript. Deployments are done through Federalist.
- Federalist runs in its own organization and space in cloud.gov, which piggybacks on AWS GovCloud.
- Federalist Admin: https://federalist.fr.cloud.gov/.
- Federalist responds to a webhook on GitHub and runs Jekyll to generate static web files and puts them in an S3 bucket.
- We map 18f.gsa.gov URL to the S3 bucket.