This is the website for the GSA Office of the Chief Technology Officer.
This is a Jekyll-based website designed to be published on the Federalist platform.
The website utilizes the US Web Design Standards.
There are two ways you can set up your development environment:
- Method 1: Install all tools and dependencies on your local machine (Ruby, Node.js, etc)
- Method 2: Use Docker to maintain all tools and dependencies inside a container
This method explains how to set up a local development environment by installing all necessary tools and dependencies.
Since this is a Jekyll-based website, you will need Ruby. The best way to get Ruby is to install it via rbenv. See the rbenv installation instructions to set it up on your system.
We use npm
along with gulp
to manage front-end dependencies. In order to get npm
, install Node.js. You do not strictly need npm
to work on the website. You only need it if you plan to update the vendor assets.
To update the vendor assets, run npm run assets
.
First, install bundler
if you don't already have it:
gem install bundler
Then install the project's Ruby dependencies:
bundle install --with=development
Then you can run the site locally with live reloading:
rake serve
You should now be able to preview the site on your local machine at http://localhost:4000/.
This method explains how to set up a containerized development environment by using Docker. Using this method, you shouldn't need to install anything other than Docker on your local machine.
Install Docker on your development machine and ensure the Docker daemon is successfully running.
docker build -t cto-website .
Run the site locally with live reloading:
./docker-run.sh rake serve
You should now be able to preview the site on your local machine at http://localhost:4000/.
Please run rake test
locally before pushing new content or code. This runs a JavaScript linter and HTML proofer.
- Fork the repository (or clone it if you have commit access)
- Create a feature branch
- Make your changes in the feature branch
- Commit the feature branch
- Push the feature branch to GitHub (preview your changes at
https://federalist.18f.gov/preview/gsa/cto-website/BRANCH_NAME/
) - Open a pull request to merge the feature branch
The best way to contact us regarding the CTO Website is to open an issue on GitHub. Please submit a new issue if you need to:
- Report a website bug
- Propose a change to the website content
We make use of Federalist's continuous deployment system, which automatically deploys branches as soon as it detects a push to GitHub. Therefore, as soon as your pull request is accepted into the master
branch, it goes to production.
As a work of the United States Government, this project is in the public domain within the United States.