Coder Social home page Coder Social logo

isabella232 / 18f.gsa.gov Goto Github PK

View Code? Open in Web Editor NEW

This project forked from 18f/18f.gsa.gov

0.0 0.0 0.0 403.44 MB

This repository contains 18F's website.

Home Page: https://18f.gsa.gov

License: Other

HTML 6.59% Ruby 3.83% CSS 20.17% JavaScript 33.65% Shell 0.10% Dockerfile 0.03% SCSS 35.63%

18f.gsa.gov's Introduction

CircleCI Known Vulnerabilities Reviewed by Hound

18F’s flagship website

This repository houses the 18F website. We use the U.S. Web Design System for the front end interface. The site is built and served through the Federalist platform.

Style and style guide

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.

View style guide

History

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

Installation and Deployment

Note: The Federalist platform does not support the use of a predefined SHOME environment variable which impacts the installation of the site's testing dependency pry (See the issue). In order to build the Federalist deployment and keep the tests working in CI, a Federalist specific gemfile (GemfileFederalist) was created to exclude the testing and development groups during install. The Federalist script in the package.json is run during the build time a creates a bundler config to install the GemfileFederalist dependencies and not the default Gemfile. Any updates to the production builds Gemfile should be included in the GemfileFederalist until a better fix is in place for the pry dependency or the Federalist platform.

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

  1. git clone [email protected]: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). Our site is large, so this could take awhile. Specifically this command will hang on jekyll_pages_api_search: checking for Node.js for upwards of 30 minutes on first run.
  5. Visit http://localhost:4000/site/ in your browser. Make sure that you include the trailing slash.

Testing

When adding a new tag in a blog post's tags key, you may need to add the new tag to the tests in the /tests/schema/tags.yml list. Note, this only applies to tags that have not already been added to the tag list.

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.18f.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.

18f.gsa.gov's People

Contributors

aaronsnow avatar adelevie avatar afeld avatar alexsobledotgov avatar amoose avatar apburnes avatar catherinedevlin avatar cscairns avatar dahianna avatar eddietejeda avatar elainekamlley avatar emileighoutlaw avatar gbinal avatar gboone avatar gemfarmer avatar hbillings avatar heymatthenry avatar igorkorenfeld avatar jeanninehunter avatar konklone avatar maya avatar mbland avatar meiqimichelle avatar noahkunin avatar polastre avatar quepol avatar ultrasaurus avatar vdavez avatar waldoj avatar wslack avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.