├── .ruby-version ├── .rspec ├── _data ├── flags.yml ├── favicons.yml ├── header.yml ├── templates.yml ├── footer.yml ├── screenshots.yml ├── pricing.yml ├── navigation.yml └── case_studies.yml ├── _includes ├── homepage │ ├── steps.html │ ├── contact.html │ ├── templates.html │ ├── case-studies.html │ ├── fact-sheets.html │ └── agencies.html ├── components │ ├── alert--tip.html │ ├── alert--note.html │ ├── alert--best-practice.html │ ├── glossary.html │ ├── alert.html │ └── header--extended.html └── sidenav.html ├── .ruby-gemset ├── _layouts ├── blank.html └── default.html ├── assets ├── images │ ├── _navigation.json │ ├── build.png │ ├── cio-gov.png │ ├── images.png │ ├── launch.png │ ├── manage.png │ ├── 18f-pages.png │ ├── gh-webhook.png │ ├── login-gov.png │ ├── 18f-gsa-gov.png │ ├── cyber.dhs.gov.jpg │ ├── default-404.png │ ├── description.png │ ├── gh-add-guide.png │ ├── oes-gsa-gov.png │ ├── tech-gsa-gov.png │ ├── www.pclob.gov.jpg │ ├── cs-preview-dhs.png │ ├── cs-preview-vote.png │ ├── cyber.dhs.gov-1.jpg │ ├── federalist-logo.png │ ├── performance-gov.png │ ├── useiti-doi-gov.png │ ├── www.fedramp.gov.jpg │ ├── www.pclob.gov-1.jpg │ ├── college-scorecard.png │ ├── cs-preview-college.png │ ├── federalist-preview.png │ ├── gh-branches-link.png │ ├── gh-default-branch.png │ ├── gh-settings-button.png │ ├── standards-usa-gov.png │ ├── www.fedramp.gov-1.jpg │ ├── cloudfront-update-1.png │ ├── cloudfront-update-2.png │ ├── cloudfront-update-3.png │ ├── cloudfront-update-4.png │ ├── federalist-makesite2.png │ ├── federalist-settings.png │ ├── federalist-sitelist.png │ ├── logos │ │ └── partners │ │ │ ├── DODc.gif │ │ │ ├── 500px-DHS.png │ │ │ ├── 500px-DOI.png │ │ │ ├── 500px-GSA.png │ │ │ ├── 500px-NSF.png │ │ │ ├── 500px-OPM.png │ │ │ ├── 500px-Education.png │ │ │ └── 500px-treasury.png │ ├── partner-sites │ │ ├── uswds.png │ │ ├── cio.gov.png │ │ ├── login.gov.png │ │ ├── pclob.gov.png │ │ ├── vote-gov.png │ │ ├── vote.gov.png │ │ ├── 18f-gsa-gov.png │ │ ├── 18f.gsa.gov.png │ │ ├── coe.gsa.gov.png │ │ ├── fedramp.gov.png │ │ ├── oes-gsa-gov.png │ │ ├── oes.gsa.gov.png │ │ ├── afwerx.af.mil.png │ │ ├── cyber.dhs.gov.png │ │ ├── method-cards.png │ │ ├── tech-gsa-gov.png │ │ ├── tech.gsa.gov.png │ │ ├── useiti-doi-gov.png │ │ ├── handbook.gsa.gov.png │ │ ├── methods.18f.gov.png │ │ ├── performance.gov.png │ │ ├── plainlanguage.gov.png │ │ ├── revenuedata.doi.gov.png │ │ ├── standards-usa-gov.png │ │ ├── arch-idmanagement-gov.png │ │ ├── collegescorecard-ed-gov.png │ │ └── collegescorecard.ed.gov.png │ ├── illo-pushing-stone@2x.png │ ├── www.citizenscience.gov.jpg │ ├── illo-rocket-mountains@2x.png │ ├── www.citizenscience.gov-1.jpg │ ├── how-federalist-works-diagram.png │ ├── Federalist-Proposal-Thumbnail.jpg │ ├── federalist-architecture-small.png │ ├── Federalist System Diagram 3-8-18.png │ ├── home-page │ │ ├── coe-success-Thumbnail.png │ │ ├── doi-success-Thumbnail.png │ │ ├── afwerx-success-Thumbnail.png │ │ ├── Federalist-Proposal-Thumbnail.jpg │ │ ├── Federalist-Proposal-Thumbnail.png │ │ ├── Federalist-Compliance-Memo-Thumbnail.jpg │ │ └── how-federalist-works-diagram-Thumbnail.jpg │ ├── Federalist System Diagram 11-28-16.png │ ├── templates │ │ ├── federalist-uswds-template.png │ │ ├── federalist-landing-template.png │ │ ├── federalist-report-template.png │ │ ├── federalist-gatsby-uswds-template.png │ │ ├── federalist-jekyll-uswds-template.png │ │ └── federalist-modern-team-template.png │ ├── Federalist-Compliance-Memo-Thumbnail.jpg │ ├── getting-started--edit-page-pencil-icon.png │ ├── how-federalist-works-for-presentation.png │ ├── icons │ │ ├── minus-circle.svg │ │ ├── plus-circle.svg │ │ ├── icon-glossary.svg │ │ ├── icon-clock.svg │ │ ├── icon-envelope.svg │ │ ├── close.svg │ │ ├── icon-badge-color.svg │ │ ├── icon-clockback-color.svg │ │ ├── icon-layout-color.svg │ │ ├── icon-two-squares-color.svg │ │ └── icon-lock-color.svg │ ├── graphic-speech-bubbles.svg │ ├── graphic-speech-bubbles.svg.1 │ └── graphic-template.svg ├── favicons │ ├── favicon.ico │ └── favicon.png ├── documents │ ├── coe-success.pdf │ ├── doi-success.pdf │ ├── afwerx-success.pdf │ ├── AFWERX-case-study.pdf │ ├── Federalist-One-Pager.pdf │ ├── Federalist-Proposal.pdf │ ├── Federalist-Compliance-Memo.pdf │ ├── federalist-system-architecture.pdf │ ├── how-federalist-works-diagram.pdf │ ├── Federalist-Compliance-Memo-Old-Design.pdf │ ├── how-federalist-works-for-presentation.pdf │ └── 2017-benchmarking-us-government-websites.pdf ├── fonts │ ├── merriweather-black-webfont.woff │ ├── merriweather-black-webfont.woff2 │ ├── sourcesanspro-bold-webfont.woff │ ├── sourcesanspro-bold-webfont.woff2 │ ├── sourcesanspro-regular-webfont.woff │ └── sourcesanspro-regular-webfont.woff2 ├── css │ └── site.scss └── js │ └── index.js ├── robots.txt ├── uploads ├── sbst.png ├── notalone.png └── logo.svg ├── pages ├── documentation │ ├── example-sites.md │ ├── federalist-json.md │ ├── instructional-demos.md │ ├── content-guide.md │ ├── rvm-on-federalist.md │ ├── bundler-on-federalist.md │ ├── build-errors.md │ ├── search.md │ ├── 21st-century-idea.md │ ├── renaming-site-repository.md │ ├── federalist-sandbox.md │ ├── templates.md │ ├── site-wide-alert.md │ ├── env-vars-federalist.md │ ├── previews.md │ ├── how-builds-work.md │ ├── monorepos-on-federalist.md │ ├── permissions.md │ ├── launch-checklist.md │ ├── cloud-gov.md │ ├── included-with-federalist.md │ ├── node-on-federalist.md │ ├── for-federalist-developers.md │ ├── resources.md │ ├── why-use-federalist.md │ ├── customer-responsibilities.md │ ├── custom-headers.md │ ├── custom-urls.md │ └── supported-site-engines.md ├── 404.md ├── pricing.md ├── sites.md ├── success-stories.md ├── about.md ├── contact.md └── index.md ├── .gitignore ├── Gemfile ├── .circleci └── config.yml ├── PULL_REQUEST_TEMPLATE.md ├── admin ├── index.html └── config.yml ├── package.json ├── _sass ├── fonts.scss ├── uswds-overrides.scss ├── _syntax-highlighting.scss └── glossary.scss ├── README.md ├── CONTRIBUTING.md ├── _config.yml ├── LICENSE.md ├── spec └── basic_spec.rb └── Gemfile.lock /.ruby-version: -------------------------------------------------------------------------------- 1 | 2.6.4 2 | -------------------------------------------------------------------------------- /.rspec: -------------------------------------------------------------------------------- 1 | --require spec_helper 2 | -------------------------------------------------------------------------------- /_data/flags.yml: -------------------------------------------------------------------------------- 1 | glossary: false -------------------------------------------------------------------------------- /_includes/homepage/steps.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.ruby-gemset: -------------------------------------------------------------------------------- 1 | federalist-18f-gov 2 | -------------------------------------------------------------------------------- /_layouts/blank.html: -------------------------------------------------------------------------------- 1 | {{ content }} 2 | -------------------------------------------------------------------------------- /assets/images/_navigation.json: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | -------------------------------------------------------------------------------- /robots.txt: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | User-agent: * 4 | Disallow: 5 | Sitemap: {{ site.baseurl }}/sitemap.xml -------------------------------------------------------------------------------- /uploads/sbst.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/uploads/sbst.png -------------------------------------------------------------------------------- /uploads/notalone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/uploads/notalone.png -------------------------------------------------------------------------------- /assets/images/build.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/build.png -------------------------------------------------------------------------------- /assets/images/cio-gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/cio-gov.png -------------------------------------------------------------------------------- /assets/images/images.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/images.png -------------------------------------------------------------------------------- /assets/images/launch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/launch.png -------------------------------------------------------------------------------- /assets/images/manage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/manage.png -------------------------------------------------------------------------------- /assets/favicons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/favicons/favicon.ico -------------------------------------------------------------------------------- /assets/favicons/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/favicons/favicon.png -------------------------------------------------------------------------------- /assets/images/18f-pages.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/18f-pages.png -------------------------------------------------------------------------------- /assets/images/gh-webhook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/gh-webhook.png -------------------------------------------------------------------------------- /assets/images/login-gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/login-gov.png -------------------------------------------------------------------------------- /assets/images/18f-gsa-gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/18f-gsa-gov.png -------------------------------------------------------------------------------- /assets/images/cyber.dhs.gov.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/cyber.dhs.gov.jpg -------------------------------------------------------------------------------- /assets/images/default-404.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/default-404.png -------------------------------------------------------------------------------- /assets/images/description.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/description.png -------------------------------------------------------------------------------- /assets/images/gh-add-guide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/gh-add-guide.png -------------------------------------------------------------------------------- /assets/images/oes-gsa-gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/oes-gsa-gov.png -------------------------------------------------------------------------------- /assets/images/tech-gsa-gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/tech-gsa-gov.png -------------------------------------------------------------------------------- /assets/images/www.pclob.gov.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/www.pclob.gov.jpg -------------------------------------------------------------------------------- /assets/documents/coe-success.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/documents/coe-success.pdf -------------------------------------------------------------------------------- /assets/documents/doi-success.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/documents/doi-success.pdf -------------------------------------------------------------------------------- /assets/images/cs-preview-dhs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/cs-preview-dhs.png -------------------------------------------------------------------------------- /assets/images/cs-preview-vote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/cs-preview-vote.png -------------------------------------------------------------------------------- /assets/images/cyber.dhs.gov-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/cyber.dhs.gov-1.jpg -------------------------------------------------------------------------------- /assets/images/federalist-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/federalist-logo.png -------------------------------------------------------------------------------- /assets/images/performance-gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/performance-gov.png -------------------------------------------------------------------------------- /assets/images/useiti-doi-gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/useiti-doi-gov.png -------------------------------------------------------------------------------- /assets/images/www.fedramp.gov.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/www.fedramp.gov.jpg -------------------------------------------------------------------------------- /assets/images/www.pclob.gov-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/www.pclob.gov-1.jpg -------------------------------------------------------------------------------- /assets/documents/afwerx-success.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/documents/afwerx-success.pdf -------------------------------------------------------------------------------- /assets/images/college-scorecard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/college-scorecard.png -------------------------------------------------------------------------------- /assets/images/cs-preview-college.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/cs-preview-college.png -------------------------------------------------------------------------------- /assets/images/federalist-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/federalist-preview.png -------------------------------------------------------------------------------- /assets/images/gh-branches-link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/gh-branches-link.png -------------------------------------------------------------------------------- /assets/images/gh-default-branch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/gh-default-branch.png -------------------------------------------------------------------------------- /assets/images/gh-settings-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/gh-settings-button.png -------------------------------------------------------------------------------- /assets/images/standards-usa-gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/standards-usa-gov.png -------------------------------------------------------------------------------- /assets/images/www.fedramp.gov-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/www.fedramp.gov-1.jpg -------------------------------------------------------------------------------- /assets/documents/AFWERX-case-study.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/documents/AFWERX-case-study.pdf -------------------------------------------------------------------------------- /assets/images/cloudfront-update-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/cloudfront-update-1.png -------------------------------------------------------------------------------- /assets/images/cloudfront-update-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/cloudfront-update-2.png -------------------------------------------------------------------------------- /assets/images/cloudfront-update-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/cloudfront-update-3.png -------------------------------------------------------------------------------- /assets/images/cloudfront-update-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/cloudfront-update-4.png -------------------------------------------------------------------------------- /assets/images/federalist-makesite2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/federalist-makesite2.png -------------------------------------------------------------------------------- /assets/images/federalist-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/federalist-settings.png -------------------------------------------------------------------------------- /assets/images/federalist-sitelist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/federalist-sitelist.png -------------------------------------------------------------------------------- /assets/images/logos/partners/DODc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/logos/partners/DODc.gif -------------------------------------------------------------------------------- /assets/images/partner-sites/uswds.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/uswds.png -------------------------------------------------------------------------------- /_includes/components/alert--tip.html: -------------------------------------------------------------------------------- 1 | {% include components/alert.html heading="Tip" status="info" content=include.content html=include.html %} 2 | -------------------------------------------------------------------------------- /assets/documents/Federalist-One-Pager.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/documents/Federalist-One-Pager.pdf -------------------------------------------------------------------------------- /assets/documents/Federalist-Proposal.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/documents/Federalist-Proposal.pdf -------------------------------------------------------------------------------- /assets/images/illo-pushing-stone@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/illo-pushing-stone@2x.png -------------------------------------------------------------------------------- /assets/images/partner-sites/cio.gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/cio.gov.png -------------------------------------------------------------------------------- /assets/images/partner-sites/login.gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/login.gov.png -------------------------------------------------------------------------------- /assets/images/partner-sites/pclob.gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/pclob.gov.png -------------------------------------------------------------------------------- /assets/images/partner-sites/vote-gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/vote-gov.png -------------------------------------------------------------------------------- /assets/images/partner-sites/vote.gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/vote.gov.png -------------------------------------------------------------------------------- /assets/images/www.citizenscience.gov.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/www.citizenscience.gov.jpg -------------------------------------------------------------------------------- /pages/documentation/example-sites.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Example sites 3 | redirect_to: 4 | - https://federalist.18f.gov/content/examples/ 5 | --- 6 | -------------------------------------------------------------------------------- /_includes/components/alert--note.html: -------------------------------------------------------------------------------- 1 | {% include components/alert.html heading="Note" status="warning" content=include.content html=include.html %} 2 | -------------------------------------------------------------------------------- /assets/images/illo-rocket-mountains@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/illo-rocket-mountains@2x.png -------------------------------------------------------------------------------- /assets/images/logos/partners/500px-DHS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/logos/partners/500px-DHS.png -------------------------------------------------------------------------------- /assets/images/logos/partners/500px-DOI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/logos/partners/500px-DOI.png -------------------------------------------------------------------------------- /assets/images/logos/partners/500px-GSA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/logos/partners/500px-GSA.png -------------------------------------------------------------------------------- /assets/images/logos/partners/500px-NSF.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/logos/partners/500px-NSF.png -------------------------------------------------------------------------------- /assets/images/logos/partners/500px-OPM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/logos/partners/500px-OPM.png -------------------------------------------------------------------------------- /assets/images/partner-sites/18f-gsa-gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/18f-gsa-gov.png -------------------------------------------------------------------------------- /assets/images/partner-sites/18f.gsa.gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/18f.gsa.gov.png -------------------------------------------------------------------------------- /assets/images/partner-sites/coe.gsa.gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/coe.gsa.gov.png -------------------------------------------------------------------------------- /assets/images/partner-sites/fedramp.gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/fedramp.gov.png -------------------------------------------------------------------------------- /assets/images/partner-sites/oes-gsa-gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/oes-gsa-gov.png -------------------------------------------------------------------------------- /assets/images/partner-sites/oes.gsa.gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/oes.gsa.gov.png -------------------------------------------------------------------------------- /assets/images/www.citizenscience.gov-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/www.citizenscience.gov-1.jpg -------------------------------------------------------------------------------- /assets/fonts/merriweather-black-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/fonts/merriweather-black-webfont.woff -------------------------------------------------------------------------------- /assets/fonts/merriweather-black-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/fonts/merriweather-black-webfont.woff2 -------------------------------------------------------------------------------- /assets/fonts/sourcesanspro-bold-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/fonts/sourcesanspro-bold-webfont.woff -------------------------------------------------------------------------------- /assets/fonts/sourcesanspro-bold-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/fonts/sourcesanspro-bold-webfont.woff2 -------------------------------------------------------------------------------- /assets/images/how-federalist-works-diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/how-federalist-works-diagram.png -------------------------------------------------------------------------------- /assets/images/partner-sites/afwerx.af.mil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/afwerx.af.mil.png -------------------------------------------------------------------------------- /assets/images/partner-sites/cyber.dhs.gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/cyber.dhs.gov.png -------------------------------------------------------------------------------- /assets/images/partner-sites/method-cards.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/method-cards.png -------------------------------------------------------------------------------- /assets/images/partner-sites/tech-gsa-gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/tech-gsa-gov.png -------------------------------------------------------------------------------- /assets/images/partner-sites/tech.gsa.gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/tech.gsa.gov.png -------------------------------------------------------------------------------- /assets/images/partner-sites/useiti-doi-gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/useiti-doi-gov.png -------------------------------------------------------------------------------- /assets/documents/Federalist-Compliance-Memo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/documents/Federalist-Compliance-Memo.pdf -------------------------------------------------------------------------------- /assets/fonts/sourcesanspro-regular-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/fonts/sourcesanspro-regular-webfont.woff -------------------------------------------------------------------------------- /assets/fonts/sourcesanspro-regular-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/fonts/sourcesanspro-regular-webfont.woff2 -------------------------------------------------------------------------------- /assets/images/Federalist-Proposal-Thumbnail.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/Federalist-Proposal-Thumbnail.jpg -------------------------------------------------------------------------------- /assets/images/federalist-architecture-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/federalist-architecture-small.png -------------------------------------------------------------------------------- /assets/images/logos/partners/500px-Education.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/logos/partners/500px-Education.png -------------------------------------------------------------------------------- /assets/images/logos/partners/500px-treasury.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/logos/partners/500px-treasury.png -------------------------------------------------------------------------------- /assets/images/partner-sites/handbook.gsa.gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/handbook.gsa.gov.png -------------------------------------------------------------------------------- /assets/images/partner-sites/methods.18f.gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/methods.18f.gov.png -------------------------------------------------------------------------------- /assets/images/partner-sites/performance.gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/performance.gov.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | _site/ 2 | .sass-cache/ 3 | .DS_store 4 | .*.swp 5 | .jekyll* 6 | .bundle/ 7 | vendor/ 8 | coverage/ 9 | node_modules/ 10 | package-lock.json 11 | -------------------------------------------------------------------------------- /assets/documents/federalist-system-architecture.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/documents/federalist-system-architecture.pdf -------------------------------------------------------------------------------- /assets/documents/how-federalist-works-diagram.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/documents/how-federalist-works-diagram.pdf -------------------------------------------------------------------------------- /assets/images/Federalist System Diagram 3-8-18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/Federalist System Diagram 3-8-18.png -------------------------------------------------------------------------------- /assets/images/home-page/coe-success-Thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/home-page/coe-success-Thumbnail.png -------------------------------------------------------------------------------- /assets/images/home-page/doi-success-Thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/home-page/doi-success-Thumbnail.png -------------------------------------------------------------------------------- /assets/images/partner-sites/plainlanguage.gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/plainlanguage.gov.png -------------------------------------------------------------------------------- /assets/images/partner-sites/revenuedata.doi.gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/revenuedata.doi.gov.png -------------------------------------------------------------------------------- /assets/images/partner-sites/standards-usa-gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/standards-usa-gov.png -------------------------------------------------------------------------------- /_includes/components/alert--best-practice.html: -------------------------------------------------------------------------------- 1 | {% include components/alert.html heading="Best practice" status="success" content=include.content html=include.html %} 2 | -------------------------------------------------------------------------------- /assets/images/Federalist System Diagram 11-28-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/Federalist System Diagram 11-28-16.png -------------------------------------------------------------------------------- /assets/images/home-page/afwerx-success-Thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/home-page/afwerx-success-Thumbnail.png -------------------------------------------------------------------------------- /assets/images/partner-sites/arch-idmanagement-gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/arch-idmanagement-gov.png -------------------------------------------------------------------------------- /assets/images/templates/federalist-uswds-template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/templates/federalist-uswds-template.png -------------------------------------------------------------------------------- /assets/images/Federalist-Compliance-Memo-Thumbnail.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/Federalist-Compliance-Memo-Thumbnail.jpg -------------------------------------------------------------------------------- /assets/images/getting-started--edit-page-pencil-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/getting-started--edit-page-pencil-icon.png -------------------------------------------------------------------------------- /assets/images/how-federalist-works-for-presentation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/how-federalist-works-for-presentation.png -------------------------------------------------------------------------------- /assets/images/partner-sites/collegescorecard-ed-gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/collegescorecard-ed-gov.png -------------------------------------------------------------------------------- /assets/images/partner-sites/collegescorecard.ed.gov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/partner-sites/collegescorecard.ed.gov.png -------------------------------------------------------------------------------- /assets/images/templates/federalist-landing-template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/templates/federalist-landing-template.png -------------------------------------------------------------------------------- /assets/images/templates/federalist-report-template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/templates/federalist-report-template.png -------------------------------------------------------------------------------- /assets/documents/Federalist-Compliance-Memo-Old-Design.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/documents/Federalist-Compliance-Memo-Old-Design.pdf -------------------------------------------------------------------------------- /assets/documents/how-federalist-works-for-presentation.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/documents/how-federalist-works-for-presentation.pdf -------------------------------------------------------------------------------- /assets/images/home-page/Federalist-Proposal-Thumbnail.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/home-page/Federalist-Proposal-Thumbnail.jpg -------------------------------------------------------------------------------- /assets/images/home-page/Federalist-Proposal-Thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/home-page/Federalist-Proposal-Thumbnail.png -------------------------------------------------------------------------------- /_data/favicons.yml: -------------------------------------------------------------------------------- 1 | - rel: shortcut icon 2 | type: image/ico 3 | href: /assets/favicons/favicon.ico 4 | - rel: icon 5 | type: image/png 6 | href: /assets/favicons/favicon.png 7 | -------------------------------------------------------------------------------- /assets/documents/2017-benchmarking-us-government-websites.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/documents/2017-benchmarking-us-government-websites.pdf -------------------------------------------------------------------------------- /assets/images/templates/federalist-gatsby-uswds-template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/templates/federalist-gatsby-uswds-template.png -------------------------------------------------------------------------------- /assets/images/templates/federalist-jekyll-uswds-template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/templates/federalist-jekyll-uswds-template.png -------------------------------------------------------------------------------- /assets/images/templates/federalist-modern-team-template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/templates/federalist-modern-team-template.png -------------------------------------------------------------------------------- /assets/images/home-page/Federalist-Compliance-Memo-Thumbnail.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/home-page/Federalist-Compliance-Memo-Thumbnail.jpg -------------------------------------------------------------------------------- /assets/images/home-page/how-federalist-works-diagram-Thumbnail.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/acquisitions.tts.gsa.gov/master/assets/images/home-page/how-federalist-works-diagram-Thumbnail.jpg -------------------------------------------------------------------------------- /pages/404.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /404/ 3 | title: We can't find this page! 4 | --- 5 | Please reach out to federalist-support@gsa.gov or file a bug [here](https://github.com/18F/federalist.18f.gov/issues/new). 6 | -------------------------------------------------------------------------------- /assets/css/site.scss: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | 4 | // set your variables or @import them here. 5 | 6 | // Optional includes 7 | @import 'fonts'; 8 | @import 'uswds-overrides'; 9 | @import 'glossary'; 10 | @import 'syntax-highlighting'; 11 | @import 'federalist'; 12 | 13 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gem 'uswds-jekyll' 4 | gem 'jekyll-redirect-from' 5 | gem 'jekyll-sitemap' 6 | gem "html-proofer", "~> 3.10" 7 | 8 | group :development, :test do 9 | gem 'capybara' 10 | gem 'colorize' 11 | gem 'rack-jekyll' 12 | gem 'rb-readline' 13 | gem 'rspec' 14 | gem 'simplecov' 15 | end 16 | -------------------------------------------------------------------------------- /pages/pricing.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Pricing 3 | permalink: /pricing/ 4 | layout: page 5 | --- 6 | 7 | {% for plan in site.data.pricing.plans %} 8 | 9 | ## {{ plan.title }} 10 | 11 | **Included in each subscription** 12 | 13 | {% for feature in plan.features %} 14 | - {{ feature.text }} {% endfor %} 15 | 16 | {{ plan.summary }} 17 | 18 | {% endfor %} 19 | -------------------------------------------------------------------------------- /.circleci/config.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | jobs: 3 | build: 4 | docker: 5 | - image: circleci/ruby:2.6.4-node 6 | steps: 7 | - checkout 8 | - run: bundle install 9 | - run: bundle exec rspec spec 10 | - run: bundle exec htmlproofer ./_site --disable-external 11 | workflows: 12 | version: 2 13 | commit: 14 | jobs: 15 | - build -------------------------------------------------------------------------------- /pages/documentation/federalist-json.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Federalist.json 3 | permalink: /documentation/federalist-json/ 4 | layout: page 5 | sidenav: documentation 6 | --- 7 | 8 | # Federalist.json 9 | 10 | Federalist-specific configuration can be done in a `federalist.json` file in the root of your project. Currently, we only support [specifying custom headers](/documentation/custom-headers). -------------------------------------------------------------------------------- /_includes/homepage/contact.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |

5 | Want to talk about what Federalist can do for your agency? Questions about compliance? Want to try it out for yourself? 6 |

7 | Get in touch 8 |
9 |
10 |
11 | -------------------------------------------------------------------------------- /PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | Fixes issue(s) #[ISSUE ID] . 2 | 3 | Proposed changes in this pull request: 4 | - 5 | - 6 | - 7 | 8 | 9 | /cc @relevant-people 10 | 11 | 12 | [![CircleCI](https://circleci.com/gh/18F/federalist.18f.gov/tree/BRANCH_NAME.svg?style=svg)](https://circleci.com/gh/18F/federalist.18f.gov/tree/BRANCH_NAME) 13 | 14 | [:sunglasses: PREVIEW](https://cg-06ab120d-836f-49a2-bc22-9dfb1585c3c6.app.cloud.gov/preview/18f/federalist.18f.gov/BRANCH_NAME/) 15 | 16 | -------------------------------------------------------------------------------- /admin/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Federalist Content Manager 7 | 8 | 9 | 10 | 11 | 12 | 18 | 19 | -------------------------------------------------------------------------------- /_data/header.yml: -------------------------------------------------------------------------------- 1 | # This is the configuration for the site header. 2 | 3 | # Uncomment this statement (by removing the leading '# ') to set the 4 | # header title differently from the site's title (as defined in 5 | # _config.yml). 6 | # title: Header title 7 | # href: / 8 | type: extended 9 | 10 | # Show or hide the official USA banner at the top of the site. 11 | # Comment out to the following line to hide. 12 | usa_banner: true 13 | 14 | primary: 15 | # # this is a key into _data/navigation.yml 16 | links: 17 | 18 | secondary: 19 | # this is a key into _data/navigation.yml 20 | links: secondary 21 | -------------------------------------------------------------------------------- /pages/sites.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /sites/ 3 | layout: blank 4 | --- 5 | {% comment %} 6 | As of January 19, 2019, this is required to redirect federalist.18f.gov/sites 7 | to federalistapp.18f.gov/sites 8 | 9 | The federalistapp domain was created in 2019, so most bookmarks and links still 10 | link to federalistapp.18f.gov/sites. 11 | 12 | We should remove this page in January 2020, just to give people time to update 13 | their bookmarks. We could remove the _layouts/blank.html template then as well. 14 | {% endcomment %} 15 | 16 | 17 | -------------------------------------------------------------------------------- /_includes/components/glossary.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "federalist.18f.gov", 3 | "description": "Federalist is a publishing platform for modern, compliant government websites.", 4 | "scripts": { 5 | "update_jquery": "cp node_modules/jquery/dist/jquery.min.js ./assets/js/3/jquery.min.js;", 6 | "federalist": "npm run update_jquery" 7 | }, 8 | "repository": { 9 | "type": "git", 10 | "url": "git+https://github.com/18F/federalist.18f.gov.git" 11 | }, 12 | "author": "", 13 | "license": "ISC", 14 | "bugs": { 15 | "url": "https://github.com/18F/federalist.18f.gov/issues" 16 | }, 17 | "dependencies": { 18 | "jquery": "3.x" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /_includes/components/alert.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | Includes your `content` in the alert component. By default, it expects the 3 | content as markdown. Specify `html=true` if you're using raw HTML instead. 4 | {% endcomment %} 5 |
6 |
7 |

{{ include.heading | escape }}

8 |
9 | {% unless include.html %} 10 | {{ include.content | strip | markdownify }} 11 | {% else %} 12 | {{ include.content }} 13 | {% endunless %} 14 |
15 |
16 |
17 | -------------------------------------------------------------------------------- /pages/documentation/instructional-demos.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Instructional Demos 3 | permalink: /documentation/instructional-demos/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /pages/using-federalist/instructional-demos/ 8 | 9 | --- 10 | 11 | We've created some video tutorials on using Federalist. 12 | 13 | ## Introduction to Federalist 14 | 15 | 16 | ## Introduction to GitHub for newcomers 17 | 18 | -------------------------------------------------------------------------------- /_data/templates.yml: -------------------------------------------------------------------------------- 1 | items: 2 | - title: Jekyll - U.S. Web Design System v2.0 3 | docs_url: https://github.com/18F/federalist-uswds-jekyll 4 | preview_url: https://federalist-proxy.app.cloud.gov/site/18f/federalist-uswds-jekyll/ 5 | img: /assets/images/templates/federalist-jekyll-uswds-template.png 6 | order: 2 7 | summary: >- 8 | 9 | - title: Gatsby - U.S. Web Design System v2.0 10 | docs_url: https://github.com/18F/federalist-uswds-gatsby 11 | preview_url: https://federalist-proxy.app.cloud.gov/site/18f/federalist-uswds-gatsby/ 12 | img: /assets/images/templates/federalist-gatsby-uswds-template.png 13 | order: 3 14 | summary: >- -------------------------------------------------------------------------------- /pages/documentation/content-guide.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Content Guide 3 | permalink: /documentation/content-guide/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /pages/content-guide/ 8 | - /pages/content-guide/adding-search/ 9 | - /pages/content-guide/best-practices-for-content/ 10 | - /pages/content-guide/best-practices-for-writing-what-we-do/ 11 | - /pages/content-guide/best-practices-for-writing-who-we-are/ 12 | - /pages/content-guide/contact-forms/ 13 | - /pages/content-guide/writing-content-for-your-federalist-homepage/ 14 | --- 15 | 16 | 17 | 18F maintains [a content guide](https://content-guide.18f.gov/) that helps writers create clear, accessible, and user-friendly content. 18 | -------------------------------------------------------------------------------- /_data/footer.yml: -------------------------------------------------------------------------------- 1 | type: medium 2 | 3 | # Whether to show the "Return to top" link; can also be 4 | # configured as an object with 'text' and 'href' properties. 5 | # top: true 6 | top: false 7 | 8 | # An array of agency logos to show, side by side, in the lower left 9 | # of the footer on large screens. 10 | # If the logo is external add external: true 11 | logos: 12 | - src: https://18f.gsa.gov/assets/img/logos/18f-logo.svg 13 | alt: 18F logo 14 | url: https://18f.gov 15 | - src: /assets/images/federalist-logo.png 16 | alt: Federalist logo 17 | url: https://federalist.18f.gov 18 | 19 | contact: 20 | heading:

Federalist is a product of the General Services Administration.

21 | edit_page: 22 | text: Edit this page 23 | -------------------------------------------------------------------------------- /pages/documentation/rvm-on-federalist.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: RVM on Federalist 3 | permalink: /documentation/rvm-on-federalist/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /pages/how-federalist-works/rvm-on-federalist/ 8 | --- 9 | 10 | Federalist uses [RVM](https://rvm.io/) to select which ruby version to use to build a Federalist site. 11 | 12 | ## Default Ruby version 13 | By default, the build will use Ruby version 2.6.3. 14 | 15 | ## Specifying a Ruby version 16 | 17 | Prior to building a site, the build will check for a file named `.ruby-version`. If one is found, it will use RVM to install and use the version specified there. 18 | 19 | For example, if you wish to use Ruby version 2.4.0 to build a site, add a new file named `.ruby-version` to your repository. The `.ruby-version` file should be at the top-level directory. The contents of that file should be "`2.4.0`". 20 | -------------------------------------------------------------------------------- /pages/documentation/bundler-on-federalist.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Bundler on Federalist 3 | layout: page 4 | sidenav: documentation 5 | permalink: /documentation/bundler-on-federalist/ 6 | redirect_from: 7 | - /pages/how-federalist-works/bundler-on-federalist/ 8 | 9 | --- 10 | 11 | 12 | Federalist uses [Bundler](https://bundler.io/) to manage your Federalist site's dependencies. By default, Federalist runs Bundler version 1. 13 | 14 | ## Specifying a Bundler version 15 | 16 | Prior to building a site, the build will check for a file named `.bundler-version`. If one is found, it will use the Bundler version specified to install the gems and versions declared for you site. 17 | 18 | For example, if you wish to use Bundler version 2.0.1 to build a site, add a new file named `.bundler-version` to your repository. The `.bundler-version` file should be at the top-level directory. The contents of that file should be "`2.0.1`". 19 | -------------------------------------------------------------------------------- /pages/documentation/build-errors.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Build Errors 3 | permalink: /documentation/build-errors/ 4 | layout: page 5 | sidenav: documentation 6 | --- 7 | 8 | 9 | The following is a non-exhausitve list of commmon issues we see partners run into: 10 | 11 | - Trying to deploy code that uses the `github-pages` gem interferes with the Federalist build process to specific URLs. Users should always remove that gem from their repos. 12 | - Errors like "Federalist can't confirm org permissions for 'your-org'." Either `your-org` hasn't approved access for Federalist or you aren't an org member. Ensure you are an org member and ask an org owner to authorize Federalist for the organization can be resolved by visiting [this link](https://github.com/settings/connections/applications/94d4097d74049df1039b) and requesting org access as needed. This happens because Federalist can't tap a repo without org approval. Typically these permissions are granted when initially granting access to Federalist. -------------------------------------------------------------------------------- /pages/documentation/search.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Search on Federalist Sites 3 | permalink: /documentation/search/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /pages/using-federalist/search/ 8 | --- 9 | 10 | It's easy to add search functionality to a site. 11 | 12 | We recommend using [Search.gov][], a free site search and search analytics service for federal web sites. You will need to [register](https://search.usa.gov/signup) for Search.gov and follow their [instructions](https://search.gov/blog/go-live.html) to integrate this service with your Federalist site. For full details, visit [Search.gov][]. 13 | 14 | If you'd prefer another solution, you can configure a tool like [lunrjs](https://lunrjs.com/) that creates a search function run using the client browser. An example of this is at the [18F blog](https://18f.gsa.gov/blog/). This avoids any dependency on another service, but the search results are not as robust. 15 | 16 | [Search.gov]: https://search.gov/ 17 | -------------------------------------------------------------------------------- /_sass/fonts.scss: -------------------------------------------------------------------------------- 1 | /*! Generated by Font Squirrel (https://www.fontsquirrel.com) on August 2, 2019 */ 2 | 3 | 4 | 5 | @font-face { 6 | font-family: 'source_sans_proregular'; 7 | src: url('../fonts/sourcesanspro-regular-webfont.woff2') format('woff2'), 8 | url('../fonts/sourcesanspro-regular-webfont.woff') format('woff'); 9 | font-weight: normal; 10 | font-style: normal; 11 | 12 | } 13 | 14 | 15 | 16 | 17 | @font-face { 18 | font-family: 'source_sans_probold'; 19 | src: url('../fonts/sourcesanspro-bold-webfont.woff2') format('woff2'), 20 | url('../fonts/sourcesanspro-bold-webfont.woff') format('woff'); 21 | font-weight: normal; 22 | font-style: normal; 23 | 24 | } 25 | 26 | 27 | 28 | 29 | @font-face { 30 | font-family: 'merriweatherblack'; 31 | src: url('../fonts/merriweather-black-webfont.woff2') format('woff2'), 32 | url('../fonts/merriweather-black-webfont.woff') format('woff'); 33 | font-weight: normal; 34 | font-style: normal; 35 | 36 | } -------------------------------------------------------------------------------- /_data/screenshots.yml: -------------------------------------------------------------------------------- 1 | title: See more sites powered by Federalist. 2 | summary: >- 3 | Nine agencies use Federalist to host over 100 sites with over 140,000 page views per day. This page shows a sample of our partners. 4 | items: 5 | - title: Performance.gov 6 | url: https://www.performance.gov 7 | thumbnail: /assets/images/partner-sites/performance.gov.png 8 | 9 | - title: 18F 10 | url: https://18f.gsa.gov 11 | thumbnail: /assets/images/partner-sites/18f.gsa.gov.png 12 | 13 | - title: CIO.gov 14 | url: https://cio.gov 15 | thumbnail: /assets/images/partner-sites/cio.gov.png 16 | 17 | - title: U.S. Web Design System 18 | url: https://designsystem.digital.gov 19 | thumbnail: /assets/images/partner-sites/uswds.png 20 | 21 | - title: Office of Evaluation Sciences 22 | url: https://oes.gsa.gov 23 | thumbnail: /assets/images/partner-sites/oes.gsa.gov.png 24 | 25 | - title: PCLOB 26 | url: https://pclob.gov 27 | thumbnail: /assets/images/partner-sites/pclob.gov.png 28 | -------------------------------------------------------------------------------- /_includes/sidenav.html: -------------------------------------------------------------------------------- 1 | 21 | -------------------------------------------------------------------------------- /assets/images/icons/minus-circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | minus-circle 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | {% assign glossary = site.data.flags.glossary %} 4 | {% unless glossary %}{% assign glossary = 'no-glossary' %}{% endunless %} 5 | 6 | 7 | 8 | {% include meta.html %} 9 | {% include styles.html %} 10 | {% if site.google_analytics_ua or site.dap_agency %} 11 | {% include analytics.html %} 12 | {% endif %} 13 | {% unless site.branch == "master" %} 14 | 15 | {% endunless %} 16 | 17 | 18 | 19 | {% include skipnav.html %} 20 | {% include header.html %} 21 | 22 |
23 | {{ content }} 24 |
25 | 26 | {% include footer.html %} 27 | {% include scripts.html %} 28 | 29 | 30 | -------------------------------------------------------------------------------- /assets/js/index.js: -------------------------------------------------------------------------------- 1 | // Since the uswds-jekyll generates the navigation there is no way to have URLs for different environments 2 | // Not great, but we can't get around this easily, so this works fine. 3 | switch (window.location.hostname){ 4 | case 'federalist.18f.gov': 5 | // do nothing. we keep as the first match so it's fastest in production 6 | break; 7 | case 'federalist-proxy-staging.app.cloud.gov': 8 | case 'federalist-staging.18f.gov': 9 | document.querySelector('.usa-nav-secondary-links li:last-child a').href = 'https://federalistapp-staging.18f.gov'; 10 | break; 11 | default: 12 | // this will catch different local addresses: localhost, 0.0.0.0, 127.0.0.1, etc 13 | document.querySelector('.usa-nav-secondary-links li:last-child a').href = 'http://localhost:1337'; 14 | } 15 | 16 | // Temporary added to ensure the search input is visible to browser users 17 | // 18 | // Can be removed once https://github.com/18F/uswds-jekyll/issues/184 is resolved 19 | // and the dependency is updated. 20 | // 21 | document.getElementById('search_form').classList.remove('usa-sr-only'); -------------------------------------------------------------------------------- /pages/documentation/21st-century-idea.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 21st Century IDEA 3 | permalink: /documentation/21st-century-idea/ 4 | layout: page 5 | sidenav: documentation 6 | --- 7 | 8 | 9 | The 21st Century Integrated Digital Experience Act (IDEA ) aims to improve the digital experience for government customers and reinforces existing requirements for federal public websites. Specifically, the Act requires all executive branch agencies to: 10 | 11 | All new, public-facing websites and digital services must meet eight specific requirements. 12 | 13 | 1. **Accessible** - be accessible to individuals with disabilities in accordance with Section 508 14 | 1. **Consistent** - have a consistent appearance 15 | 1. **Authoritative** - not overlap with or duplicate existing websites 16 | 1. **Searchable** - contain a search function 17 | 1. **Secure** - be provided through a secure connection 18 | 1. **User-centered** - be designed around user needs with data-driven analysis 19 | 1. **Customizable** - provide an option for a more customized digital experience 20 | 1. **Mobile-friendly** - be functional and usable on mobile devices 21 | 22 | To learn more about this law, [check out](https://digital.gov/resources/21st-century-integrated-digital-experience-act/). -------------------------------------------------------------------------------- /assets/images/icons/plus-circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | plus-circle 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![CircleCI](https://circleci.com/gh/18F/federalist.18f.gov/tree/master.svg?style=svg)](https://circleci.com/gh/18F/federalist.18f.gov/tree/master) 2 | [![Known Vulnerabilities](https://snyk.io/test/github/18F/federalist.18f.gov/badge.svg)](https://snyk.io/test/github/18F/federalist.18f.gov) 3 | 4 | 5 | # Federalist documentation 6 | 7 | This is an informational site with background on [Federalist](https://federalist.18f.gov/), a compliant static site publishing service for the federal government. 8 | 9 | ## Setup 10 | 11 | Install the dependencies. 12 | 13 | $ bundle install 14 | 15 | Run the site locally for development. 16 | 17 | $ bundle exec jekyll serve 18 | 19 | Open your web browser to [localhost:4000](http://localhost:4000/). 20 | 21 | ### Public domain 22 | 23 | This project is in the worldwide [public domain](LICENSE.md). As stated in [CONTRIBUTING](CONTRIBUTING.md): 24 | 25 | > 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](https://creativecommons.org/publicdomain/zero/1.0/). 26 | > 27 | > All contributions to this project will be released under the CC0 28 | >dedication. By submitting a pull request, you are agreeing to comply 29 | >with this waiver of copyright interest. 30 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Welcome! 2 | 3 | We're so glad you're thinking about contributing to an 18F open source project! If you're unsure about anything, just ask -- or submit the issue or pull request anyway. The worst that can happen is you'll be politely asked to change something. We love all friendly contributions. 4 | 5 | We want to ensure a welcoming environment for all of our projects. Our staff follow the [18F Code of Conduct](https://github.com/18F/code-of-conduct/blob/master/code-of-conduct.md) and all contributors should do the same. 6 | 7 | We encourage you to read this project's CONTRIBUTING policy (you are here), its [LICENSE](LICENSE.md), and its [README](README.md). 8 | 9 | If you have any questions or want to read more, check out the [18F Open Source Policy GitHub repository]( https://github.com/18f/open-source-policy), or just [shoot us an email](mailto:18f@gsa.gov). 10 | 11 | ## Public domain 12 | 13 | This project is in the public domain within the United States, and 14 | copyright and related rights in the work worldwide are waived through 15 | the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/). 16 | 17 | All contributions to this project will be released under the CC0 18 | dedication. By submitting a pull request, you are agreeing to comply 19 | with this waiver of copyright interest. 20 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | title: Federalist 2 | name: Federalist Homepage 3 | theme: uswds-jekyll 4 | 5 | # Configuration for Google Analytics, add your UA code here: 6 | google_analytics_ua: UA-48605964-31 7 | 8 | # Configuration for DAP, add your agency ID here: 9 | dap_agency: GSA 10 | 11 | # To enable search, uncomment the search section 12 | # You will need to setup a search account with search.gov 13 | # https://search.usa.gov/signup 14 | # Your search_site_handle value is from the search.gov settings page. 15 | 16 | 17 | search_site_handle: federalist 18 | 19 | support_email: federalist-support@gsa.gov 20 | 21 | collections: 22 | pages: 23 | output: true 24 | permalink: /:path/ 25 | 26 | scripts: 27 | - /assets/uswds/js/uswds.min.js 28 | - /assets/js/index.js 29 | 30 | relative_permalinks: false 31 | 32 | 33 | exclude: 34 | - /coverage 35 | - /README.md 36 | - /Gemfile 37 | - /Gemfile.lock 38 | - /PULL_REQUEST_TEMPLATE.md 39 | - /README.md 40 | - /LICENSE.md 41 | - /CONTRIBUTING.md 42 | - /spec/* 43 | 44 | styles: 45 | - /assets/css/site.css 46 | 47 | plugins: 48 | - jekyll-redirect-from 49 | - jekyll-sitemap 50 | 51 | # GitHub information 52 | # This is used for adding an edit this page link to the footer 53 | github: 54 | organization: 18F 55 | repository: federalist.18f.gov 56 | default_branch: master 57 | -------------------------------------------------------------------------------- /uploads/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /assets/images/icons/icon-glossary.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | book 4 | Created with Sketch. 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /pages/documentation/renaming-site-repository.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Renaming a site's repository 3 | permalink: /documentation/renaming-site-repository/ 4 | layout: page 5 | sidenav: documentation 6 | --- 7 | 8 | ## Updating your Federalist site after renaming your repository 9 | 10 | Renaming your site repository will interrupt a site's ability to build. In order to resume site building, it will require you to add a new site to Federalist with the new repository url. (Note: Please be aware that if your site is already live and its repository has been renamed, it will be frozen until a new site is added to Federalist at the new repository and a security scan is successfully performed on your new site.) 11 | 12 | ## Next steps after renaming your repository 13 | 14 | 1. Add the new site repository as described [here]({{site.baseurl}}/pages/using-federalist/) 15 | 2. Build your site and verify that the site is ready for launch using our preview URLs. 16 | 3. Contact the Federalist team; we’ll scan your site within a few days as part of our compliance process and let you know of the results. 17 | 4. Let us know when you are ready to go live with the new site and we will update your CloudFront URL to point to your new site. 18 | 5. Optional: After the new site is live, you can delete the old site within Site Settings. (Note: Once deleted, the settings and build history for the site will be lost and is not transferable to a different site.) 19 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | As a work of the United States Government, this project is in the 2 | public domain within the United States. 3 | 4 | Additionally, we waive copyright and related rights in the work 5 | worldwide through the CC0 1.0 Universal public domain dedication. 6 | 7 | ## CC0 1.0 Universal Summary 8 | 9 | This is a human-readable summary of the 10 | [Legal Code (read the full text)](https://creativecommons.org/publicdomain/zero/1.0/legalcode). 11 | 12 | ### No Copyright 13 | 14 | The person who associated a work with this deed has dedicated the work to 15 | the public domain by waiving all of his or her rights to the work worldwide 16 | under copyright law, including all related and neighboring rights, to the 17 | extent allowed by law. 18 | 19 | You can copy, modify, distribute and perform the work, even for commercial 20 | purposes, all without asking permission. 21 | 22 | ### Other Information 23 | 24 | In no way are the patent or trademark rights of any person affected by CC0, 25 | nor are the rights that other persons may have in the work or in how the 26 | work is used, such as publicity or privacy rights. 27 | 28 | Unless expressly stated otherwise, the person who associated a work with 29 | this deed makes no warranties about the work, and disclaims liability for 30 | all uses of the work, to the fullest extent permitted by applicable law. 31 | When using or citing the work, you should not imply endorsement by the 32 | author or the affirmer. 33 | -------------------------------------------------------------------------------- /pages/documentation/federalist-sandbox.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Federalist Sandbox 3 | permalink: /documentation/federalist-sandbox/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /using-federalist/federalist-sandbox/ 8 | --- 9 | 10 | ## Getting started: 11 | 12 | If you're interested in seeing how Federalist works for yourself, [let us know]({{site.baseurl}}/contact/), and we can create a sandbox environment for your team. 13 | 14 | It's important to try a tool before committing to using it, and with Federalist, we give you the power to do just that before having to do any paperwork. 15 | 16 | We understand that signing agreements in the federal government can be slow, but you can read how [AFWERX]({{site.baseurl}}/assets/documents/AFWERX-case-study.pdf) was able to build their entire website in their sandbox environment and when they signed the agreement, the site was ready to launch to production. 17 | 18 | ## Ready to launch: 19 | 20 | If the Federalist sandbox environment proves useful, our team will work with you through the necessary the IAA process. In the meantime, you are more than welcome to continue using the sandbox environment in staging. 21 | 22 | Once an IAA is signed, this is your green light to launch your site to the public. Per compliance, we cannot allow websites to be published to a production state until the necessary documents are signed and ready to go. However, we do encourage you to create and build whatever you’d like in the sandbox. 23 | -------------------------------------------------------------------------------- /pages/documentation/templates.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Site Templates 3 | permalink: /documentation/templates/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /pages/using-federalist/templates/ 8 | 9 | --- 10 | 11 | Federalist offers several templates for common website types that are meant to serve as a starting point for you. These templates show what’s possible and can even be the basis for your site if your needs are closely aligned to the formatting of the template. Federalist templates are not built to serve as final work products, nor are they like templates that you might typically find in a content management system. Instead, templates serve as a “starter kit.” Substantial configuration of a Federalist template requires technical knowledge and know-how. 12 | 13 | Here are the templates currently available: 14 | 15 | {% for template in site.data.templates.items %} 16 |

{{ template.title }}

17 |

18 | 19 | Screenshot of the {{ template.title }} 20 | 21 |

22 |

23 | {% assign default_docs_url = template.url | prepend: site.baseurl %} 24 | Read the template documentation. 25 |

26 | {% endfor %} 27 | 28 | 29 | Federalist will build any Jekyll, Gatsby or Hugo website, supporting [custom website templates]({{site.baseurl}}/documentation/how-builds-work). 30 | Update 31 | -------------------------------------------------------------------------------- /_data/pricing.yml: -------------------------------------------------------------------------------- 1 | plans: 2 | - title: "Basic plan: Access to Federalist $24,949/year" 3 | summary: >- 4 | Basic training via video conference for Federalist and GitHub. This subscription is ideal if 1) you are focused on publishing content and do not need heavy customization of templates, or 2) you have a team capable of managing our easy-to-use templates on GitHub. 5 | features: 6 | - { text: GSA-maintained GSA Authority to Operate (ATO) for all your sites. } 7 | - { text: Automated tests and previews before going live. } 8 | - { text: Web-based configuration page for managing individual sites. } 9 | - { text: Highly scalable content delivery network (CDN) to ensure uptime. } 10 | - { text: Automatic HTTPS certificates and renewals for all your websites. } 11 | - { text: Unlimited sites for your office. } 12 | - { text: No charges for storage or bandwidth. } 13 | 14 | - title: "Basic plan + Additional support $82,699/year" 15 | summary: >- 16 | This subscription is ideal if you want your team to have hands-on support from Federalist staff. Our goal is to transfer knowledge to your team and does not include ad-hoc consulting services. 17 | features: 18 | - { text: Design feedback and technical implementation recommendations. } 19 | - { text: Technical assistance implementing a U.S Web Design System template. } 20 | - { text: Monthly conference call to discuss design or technical questions. } 21 | - { text: Two one-hour video conference sessions on GitHub, Markdown, Jekyll and Federalist. } -------------------------------------------------------------------------------- /pages/documentation/site-wide-alert.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Site Wide Alert 3 | permalink: /documentation/site-wide-alert/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /pages/for-federalist-developers/site-wide-alert/ 8 | --- 9 | 10 | Members of the Federalist dev team can update Federalist to display a banner explaining any maintenance, bugs, or degradation that users should be aware of. This is done by setting values in a user provided service. 11 | 12 | ## Setting A Site Wide Alert 13 | 14 | To set a site wide alert, target the Federalist production space and run the following on the command line: 15 | 16 | ```shell 17 | cf uups federalist-site-wide-error -p '{ 18 | "HEADING": "There is an error", 19 | "BODY": "We are working on it" 20 | }' 21 | ``` 22 | 23 | Once the user provided service is updated, the app will need to be restaged. Restaging the app will result in downtime, so it is recommended that instead a zero-downtime-deploy is run. The easiest way to do this is by re-building the master branch in CI. 24 | 25 | Also, note the the `BODY` parameter in the user provided service may contain HTML tags to allow for the inclusion of links, bulleted lists, etc. 26 | 27 | ## Removing A Site Wide Alert 28 | 29 | To remove a site wide alert, first update the user provided service to contain no header or body: 30 | 31 | ```shell 32 | cf uups federalist-site-wide-error -p '{ 33 | "HEADING": "", 34 | "BODY": "" 35 | }' 36 | ``` 37 | 38 | After updating the user provided service, restage or rebuild the application as described in the instructions for setting a site wide alert above. 39 | -------------------------------------------------------------------------------- /pages/documentation/env-vars-federalist.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Build environment variables 3 | permalink: /documentation/env-vars-on-federalist-builds/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /pages/how-federalist-works/env-vars-on-federalist-builds/ 8 | --- 9 | 10 | At the time your site is built with either Jekyll or Hugo, a number of special environment variables are exposed. You can access these environment variables with your build engine to customize your build (for instance, to add some special text to your site to show which branch has been built). 11 | 12 | See the [federalist-garden-build README](https://github.com/18f/federalist-garden-build#variables-exposed-during-builds) for further information on the environment variables that your site build can access. 13 | 14 | ## Default environment variables available when your site builds 15 | 16 | When Federalist builds your site it makes available the following environment variables: 17 | 18 | Name|Description 19 | ---|--- 20 | BRANCH|Github branch being built 21 | OWNER|Owner of Github repository 22 | REPOSITORY|Github repository 23 | SITE_PREFIX|Path of s3 bucket in which your site will be deployed 24 | BASEURL|Path for deployed site 25 | 26 | ## Adding custom environment variables available when your site builds 27 | 28 | Additional environment variables can be added to your live and demo site builds by: 29 | 1. Visit your site's Site Settings -> Advanced Settings 30 | 2. In the Site/Demo Configuration textarea enter your environment variables as yaml formatted text (Note: nested data is supported) 31 | 3. Click "Save advanced settings" 32 | -------------------------------------------------------------------------------- /pages/documentation/previews.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Builds and Previews 3 | permalink: /documentation/previews/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /pages/using-federalist/previews/ 8 | 9 | --- 10 | 11 | ## Site previews 12 | 13 | _Every_ branch in a Federalist-enabled GitHub repo is built by Federalist with 14 | a site preview. 15 | 16 | Site preview links will auto-generate within pull requests. To see them, scroll to 17 | the bottom of your pull request and click "show all checks", then click on 18 | "details" to the right of the Federalist check. The site preview is only 19 | available after a build reports completion, usually within a few minutes. 20 | 21 | ![Federalist preview screenshot]({{site.baseurl}}/assets/images/federalist-preview.png) 22 | 23 | You can also find links to site previews in the "GitHub Branches" page after 24 | logging into Federalist. 25 | 26 | {% capture content %} 27 | For security reasons, site previews are unavailable with pull requests from 28 | forked repositories. 29 | {% endcapture %} 30 | {% include components/alert--note.html content=content %} 31 | 32 | There can be two "special" branches, which are specified in the web UI's Basic 33 | Settings page as the Live Site Branch and/or the Demo Site Branch. Those 34 | branches can be built with custom domains (that's really the only way they're 35 | special). 36 | 37 | Here's how the URLs work: 38 | - for the Live site: Live Site Domain, if set, OR `https://.app.cloud.gov/site//`. 39 | - for the Demo site: Demo Site Domain, if set, OR `https://.app.cloud.gov/demo//`. 40 | - for branch previews: `https://.app.cloud.gov/preview///`. 41 | -------------------------------------------------------------------------------- /pages/success-stories.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Success Studies 3 | permalink: /success-stories/ 4 | layout: default 5 | redirect_from: 6 | - /case-studies/ 7 | - /examples/ 8 | - /content/examples/ 9 | --- 10 | 11 |
12 |
13 |
14 |

{{ site.data.case_studies.title }}

15 |

{{ site.data.case_studies.summary }}

16 |
17 |
18 | 19 | {% for item in site.data.case_studies.items %} 20 |
21 |
22 |
23 |

{{item.title}}

24 |

{{item.summary}}

25 |
26 |
27 | website thumbnail 28 |
29 |
30 | {% endfor %} 31 | 32 |
33 |
34 |
35 | 36 |
37 |
38 |
39 |

{{ site.data.screenshots.title }}

40 |

{{ site.data.screenshots.summary }}

41 |
42 | 43 |
44 | {% for item in site.data.screenshots.items %} 45 | 51 | {% endfor %} 52 |
53 |
54 |
55 |
56 | -------------------------------------------------------------------------------- /assets/images/icons/icon-clock.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icon-clock 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /assets/images/icons/icon-envelope.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Artboard 3 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /assets/images/icons/close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Fill 15 Copy 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /spec/basic_spec.rb: -------------------------------------------------------------------------------- 1 | describe "home page", type: :feature, js: false do 2 | before(:each) do 3 | visit '/' 4 | end 5 | 6 | it "has splash message" do 7 | expect(page).to have_text("There’s no easier way to build, launch, and manage government sites.") 8 | end 9 | 10 | it "should have the images" do 11 | expect(page).to have_css("img[src*='/assets/images/partner-sites/performance.gov.png']") 12 | end 13 | 14 | it "should have footer image" do 15 | expect(page).to have_css("img[src*='/assets/images/federalist-logo.png']") 16 | end 17 | end 18 | 19 | 20 | describe "features page", type: :feature, js: false do 21 | before(:each) do 22 | visit '/features' 23 | end 24 | it "has compliance message" do 25 | expect(page).to have_text("We’ve taken the work out of launching a compliant federal website.") 26 | end 27 | 28 | it "should have the images" do 29 | expect(page).to have_css("img[src*='/assets/images/icons/icon-rocket-color.svg']") 30 | end 31 | 32 | end 33 | 34 | describe "success stories page", type: :feature, js: false do 35 | before(:each) do 36 | visit '/success-stories' 37 | end 38 | 39 | it "has trust message" do 40 | expect(page).to have_text("Trusted and scalable.") 41 | end 42 | 43 | it "should have the images" do 44 | expect(page).to have_css("img[src*='/assets/images/partner-sites/vote.gov.png']") 45 | end 46 | 47 | end 48 | 49 | describe "pricing page", type: :feature, js: false do 50 | before(:each) do 51 | visit '/pricing' 52 | end 53 | it "has support message" do 54 | expect(page).to have_text("Pricing") 55 | end 56 | end 57 | 58 | describe "contact page", type: :feature, js: false do 59 | before(:each) do 60 | visit '/contact' 61 | end 62 | it "has contact message" do 63 | expect(page).to have_text("Interested in using Federalist?") 64 | end 65 | end 66 | -------------------------------------------------------------------------------- /pages/about.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /about/ 3 | title: About Federalist 4 | --- 5 | # About Federalist 6 | 7 | Federalist is a compliant web publishing service for [open source](https://github.com/18F/federalist) [static sites](https://18f.gsa.gov/2016/07/11/conversation-about-static-dynamic-websites/) created by the United States federal government. It provides templates for websites and access to cloud-based infrastructure for high-scale hosting along with [several other unique features](https://federalist.18f.gov/features/) that offer value to our agency partners. 8 | 9 | The team at [18F](https://18f.gsa.gov/) builds and maintains Federalist as a service available to federal government agencies. We also use Federalist to host many of our own websites. 10 | 11 | ## Evaluating Federalist for your office or agency 12 | 13 | Federalist is [out of beta and open for business](https://18f.gsa.gov/2017/06/01/federalist-is-out-of-beta-and-open-for-business/)! We've produced some materials that may be useful for your office's review of Federalist. 14 | 15 | * [One Pager]({{site.baseurl}}/assets/documents/Federalist-One-Pager.pdf) 16 | * [Proposal]({{site.baseurl}}/assets/documents/Federalist-Proposal.pdf) - for briefing agency stakeholders 17 | * [Compliance Memo]({{site.baseurl}}/assets/documents/Federalist-Compliance-Memo.pdf) - for agency compliance personnel 18 | * [18F Blog Posts](https://18f.gsa.gov/tags/federalist/) 19 | 20 | If you work for a federal agency and are interested in buying Federalist or seeing a demo, [please let us know](https://docs.google.com/forms/d/1iB8aW7c9r1QH3s8XElQCrnXRGjAiPUYpWG1CMeEqGIo/viewform). If you can't access the GSA Google Form, please reach out to federalist-inquiries@gsa.gov. 21 | 22 | [![Diagram of Federalist architecture]({{site.baseurl}}/assets/images/how-federalist-works-diagram.png)]({{site.baseurl}}/assets/documents/how-federalist-works-diagram.pdf) 23 | -------------------------------------------------------------------------------- /pages/documentation/how-builds-work.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: How Builds Work 3 | permalink: /documentation/how-builds-work/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /pages/how-federalist-works/how-builds-work/ 8 | --- 9 | 10 | 11 | Federalist is a continuous deployment-like build environment for sites. It works by setting a webhook on your site's GitHub repository and generates your site on each `push` event to that repository, then uploads your site files to S3. Changes made to the site's content and files in its repository through the GitHub web editor or otherwise launch rebuild tasks of the site in a build environment container. 12 | 13 | If you don't want to use the Federalist templates, you can add your own GitHub repository to build a completely custom site. When you add an existing repository, you specify a default branch of your repository to serve as the "production" version of the site and choose your build engine. 14 | 15 | Federalist is designed to be a modular service so HOW you generate your site is up to you. Some people customize their sites by creating new templates. Others use a default template content, editing with GitHub. When used this way Federalist acts a no-configuration, production-ready hosting solution for GitHub-based static websites, hosted using cloud.gov tooling, with a custom domain. 16 | 17 | When building our your sites, please remember that all government websites must meet section 508 accessibility standards. 18F provides [guidance for building accessible websites](https://accessibility.18f.gov/). 18 | 19 | ## Scheduling nightly builds 20 | 21 | Sites with public repositories can schedule builds to occur nightly. If you wish to schedule automatic builds of your live or demo site, add the following custom environment variable to your [live/demo branch's build configuration]({{site.baseurl}}/documentation/env-vars-on-federalist-builds/): 22 | ``` 23 | schedule: nightly 24 | ``` 25 | -------------------------------------------------------------------------------- /pages/documentation/monorepos-on-federalist.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Monorepos on Federalist 3 | permalink: /documentation/monorepos-on-federalist/ 4 | layout: page 5 | sidenav: documentation 6 | --- 7 | 8 | 9 | Monorepos on Federalist follow the same rules as any other Federalist site; as long as Federalist knows what command to run to build the site AND the contents are available in the `_site` folder in the project root, Federalist will be happy. 10 | 11 | ## Using the `script-only` option 12 | 13 | The following is an example of using Federalist to build a site that is in a subfolder of a monorepo using the `script-only` option for a `node`-based site. 14 | 15 | See [federalist-monorepo-test](https://github.com/18F/federalist-monorepo-test) for the full working example. 16 | 17 | 1. Like any other `script-only` site, create a `package.json` file in the project root with an entry in the `scripts` section with a key of `federalist`. 18 | ``` 19 | // package.json 20 | { 21 | ... 22 | "scripts": { 23 | "federalist": "do some stuff here" 24 | }, 25 | ... 26 | } 27 | ``` 28 | 29 | 2. When the `federalist` script runs, change the working directory to the appropriate folder, install any dependencies, run any build steps, and revert the working directory. 30 | ``` 31 | // package.json 32 | { 33 | ... 34 | "scripts": { 35 | "build:subproject1": "cd subproject1 && npm install && npm run build && cd ..", 36 | "federalist": "npm run build:subproject1" 37 | }, 38 | ... 39 | } 40 | ``` 41 | 42 | 3. Make the results of the build step available in the `_site` folder for Federalist to deploy, these could be copied or linked to, here we use a symbolic link. 43 | ``` 44 | // package.json 45 | { 46 | ... 47 | "scripts": { 48 | "build:subproject1": "cd subproject1 && npm install && npm run build && cd ..", 49 | "link:subproject1": "ln -sf ./subproject1/dist _site", 50 | "federalist": "npm run build:subproject1 && npm run link:subproject1" 51 | }, 52 | ... 53 | } 54 | ``` 55 | -------------------------------------------------------------------------------- /_sass/uswds-overrides.scss: -------------------------------------------------------------------------------- 1 | h4 { 2 | font-size: 1.8rem; 3 | } 4 | 5 | .usa-content { 6 | ul, 7 | ol, 8 | .language-shell { 9 | max-width: 53rem; 10 | } 11 | } 12 | 13 | .screenshot { 14 | border: 1px solid #5b616b; 15 | border-radius: 3px; 16 | display: block; 17 | margin-bottom: 16px; 18 | overflow: hidden; 19 | } 20 | 21 | .screenshot img { 22 | vertical-align: middle; 23 | } 24 | 25 | .usa-header-extended .usa-nav { 26 | border-bottom: none; 27 | } 28 | 29 | .usa-header { 30 | background-color: #112e51; 31 | border-bottom: none; 32 | .usa-logo { 33 | margin-top: 2rem; 34 | margin-bottom: 2rem; 35 | } 36 | .usa-logo a { 37 | color: #fff; 38 | background-image: url('../../assets/images/federalist-logo.svg'); 39 | text-indent: -1000rem; 40 | display:inline-block; 41 | background-repeat:no-repeat; 42 | } 43 | 44 | .usa-nav-secondary .usa-search { 45 | margin-top: 0; 46 | } 47 | 48 | .usa-nav-secondary-links { 49 | margin-top: 1rem; 50 | } 51 | .usa-nav-secondary-links a { 52 | color: #fff; 53 | font-size: 1.5rem; 54 | } 55 | .usa-nav-secondary-links li:not(:last-child)::after { 56 | content: none; 57 | } 58 | .usa-nav-secondary-links .usa-header-search-button { 59 | color: #fff; 60 | background-image: url('../../assets/uswds/img/search.svg'); 61 | } 62 | } 63 | .usa-navbar { 64 | border-bottom: none; 65 | } 66 | 67 | @media screen and (min-width: 600px) { 68 | .steps-block { 69 | .usa-width-one-third:last-child { 70 | } 71 | } 72 | } 73 | 74 | @media screen and (max-width: 951px) { 75 | .usa-header { 76 | .usa-logo { 77 | padding-top: 1rem; 78 | margin-bottom: 0; 79 | margin-top:0; 80 | line-height: initial; 81 | .usa-logo-text { 82 | font-size: 2rem; 83 | } 84 | } 85 | .usa-nav-secondary-links a { 86 | color: inherit; 87 | } 88 | } 89 | 90 | } 91 | 92 | #home{ 93 | .hr-light{ 94 | margin: 30px 0 40px !important; 95 | } 96 | } 97 | -------------------------------------------------------------------------------- /pages/documentation/permissions.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Access and Permissions 3 | permalink: /documentation/access-permissions/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /pages/using-federalist/access-permissions/ 8 | 9 | --- 10 | 11 | ## Initial access 12 | 13 | ### Personal access 14 | Basic access to Federalist is authenticated using GitHub OAuth. Please ask your team's primary contact for Federalist to request access to Federalist by e-mailing federalist-support@gsa.gov with the GitHub usernames of those that should have access. Next, you should receive an invitation to join the federalist-users GitHub organization which you must accept before you can log in to Federalist. Primary contacts should also let us know when to remove access as part of offboarding. 15 | 16 | ### Organizational access 17 | In order to manage sites where the repository is owned by an organization, Federalist uses GitHub oAuth at the organizational level. After you have logged in to Federalist, as described in the Personal Access section above, you must [request organization approval](https://help.github.com/en/articles/requesting-organization-approval-for-oauth-apps) for the federalist.18f.gov oAuth App. Be sure to follow up with your organization's GitHub admin to confirm approval. 18 | 19 | ## Site permissions 20 | 21 | To take any actions on a site in Federalist, you need permissions set on the corresponding GitHub repository. Write access grants most permissions. 22 | 23 | ### Collaborator or write access 24 | 25 | Collaborators with write access to a site's repository can: 26 | - add a current Federalist site to their sites list 27 | - trigger site rebuilds 28 | - view site build history and build logs 29 | - view site collaborator list 30 | - view and update site settings 31 | - view site branches, branch previews and uploaded files 32 | 33 | ### Administrator 34 | 35 | Administrators of a site's repository can take all actions available to collaborator and can: 36 | - add a new repo to Federalist 37 | - delete a site from Federalist 38 | - add/remove site collaborators 39 | 40 | -------------------------------------------------------------------------------- /pages/documentation/launch-checklist.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Launch Checklist 3 | permalink: /documentation/launch-checklist/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /pages/using-federalist/launch-checklist/ 8 | 9 | --- 10 | 11 | We've worked to make launching a live site on Federalist as simple as possible. You will need to complete these steps: 12 | 13 | 1. Sign an IAA with 18F to use Federalist. 14 | 2. Verify that your agency accepts the risk of launching a site on Federalist. 15 | 3. Build your site and verify that the site is ready for launch using our URL previews. 16 | 4. Contact the Federalist team; as part of our compliance process, GSA will complete a security scan of your site and let you know of the results within a week. 17 | 5. When you are ready to launch your site with a production-ready URL, the Federalist team will provide you with a CloudFront URL (For example: https://d2xyasfn4889hb.cloudfront.net/) and TXT record (needed to issue your auto-renewed TLS certificate). You'll need to configure your DNS records with the CNAME and TXT values within 24 hrs. (Note: Please be aware that you cannot set a CNAME for a root domain. If you are looking to set a CNAME for a root domain like example.gov, a common solution is to create the domain www.example.gov, set the CNAME for www.example.gov, and setup a redirect from example.gov to www.example.gov) 18 | 6. When you set the CNAME for your domain, a SSL certificate should automatically be created and associted with your domain within 1 hour. (Note: If you do not set the Cloudfront CNAME and TXT record within 24 hrs, your certificate will fail to be issued and we will need to re-initiate the certificate issuance process.) 19 | 7. Once the domain's CNAME and TXT record is set, your site content will be available at your custom URL. If your assets (Javascript, CSS, Images, etc ) do not load properly, you will need to make sure your custom URL is properly set in Federalist web interface. Technical background on this process is [here]({{site.baseurl}}/documentation/custom-urls/). 20 | 8. After your customURL is set in the Federalist web interface, Federalist will rebuild your site, which will set the proper URLs in the site. Once the site is rebuilt, you will be fully live. 21 | -------------------------------------------------------------------------------- /pages/documentation/cloud-gov.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Federalist and cloud.gov 3 | permalink: /documentation/cloud-gov/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /pages/how-federalist-works/cloud-gov/ 8 | --- 9 | 10 | As mentioned elsewhere, Federalist is built on top of the [cloud.gov platform-as-a-service](https://cloud.gov) (PaaS). cloud.gov takes care of the vast majority of the systems functionality that enables Federalist, especially by maintaining a FedRAMP authorization. cloud.gov also provides security, logging, authentication, cryptographic protection, monitoring, and provisioning services that Federalist consumes. Federalist's [compliance memo]({{site.baseurl}}/assets/documents/Federalist-Compliance-Memo.pdf) explains the technical relationship in detail. 11 | 12 | ## How Federalist and cloud.gov collaborate 13 | 14 | cloud.gov provides a general platform for sites with embedded compliance, but because it allows some flexibility, every system on cloud.gov must do some individual work to complete required compliance work. By narrowing focus to a more specific scope of customer needs, Federalist can manage all needed compliance work for partners, enabling sites to launch quickly. 15 | 16 | cloud.gov, in turn, can refer potential customers to Federalist and enable them to save time and money when their needs are met by Federalist. Federalist has extended the impact of cloud.gov by launching and managing nearly 100 government sites with great efficiency. 17 | 18 | ## When you should use cloud.gov 19 | 20 | Sometimes, customer needs may justify using both a cloud.gov system and Federalist site, especially when showing data visualizations sourced from an API. Working together, a API server and Federalist site can provide all of the functionality of a web server with a much smaller attack surface. You should consider using cloud.gov with Federalist when you need to receive/store information from site users in a custom system, or when you want your Federalist site to work together with an API. 21 | 22 | If your site involves content that shouldn't be public, or primarily involves complex user interactions, it may be better to directly leverage cloud.gov. You can find detailed contact help at [their site](https://cloud.gov/docs/help/). 23 | -------------------------------------------------------------------------------- /_includes/homepage/templates.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Kickstart your website with one of our templates.

4 |
5 |

6 | Our accessible, customizable templates let you spend more time on your content. 7 |

8 | 9 | 54 |
55 | -------------------------------------------------------------------------------- /assets/images/icons/icon-badge-color.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icon-badge-color 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /assets/images/icons/icon-clockback-color.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icon-clockback-color 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /pages/documentation/included-with-federalist.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Included with Federalist 3 | permalink: /documentation/included-with-federalist/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /pages/using-federalist/included-with-federalist/ 8 | 9 | --- 10 | 11 | * An automatic deployment mechanism for certain static site assets and [supported site engines]({{site.baseurl}}/documentation/supported-site-engines). 12 | * Web-based configuration and access to preview builds. 13 | * 18F's work to complete and maintain an agency Authority to Operate (ATO) for Federalist's hosting, leveraging the cloud.gov System Security Plan (SSP), with a short process to add new sites to the ATO documentation. 14 | * Premade templates for your sites, in addition to the many sites you can copy in creating your site. 15 | * Easy on-boarding or off-boarding: Federalist can deploy content from existing GitHub repositories used with other tools. Your Federalist site will also be easy to port to another deployment mechanism if that's ever needed. 16 | * Content delivery network support for your desired URL, with custom 404 page support via a support ticket to the Federalist team. 17 | * User research with people across government that helped us plan the architecture and core features of Federalist. 18 | * A user community across agencies and vendors using Federalist. 19 | * A permanent team to maintain and patch Federalist as needed. 20 | * GSA's previous work to procure cloud Infrastructure as a Service with extraordinary uptime so your static sites don't go down once deployed. 21 | * GSA's previous work to build a [robust and secure platform as a service](https://cloud.gov), recognized with a FedRAMP Moderate (DISA Level 2) PATO, that ensures Federalist's underlying technology is secure. 22 | 23 | ## Not included with Federalist 24 | 25 | * A fully featured content management system (CMS). Federalist is not WordPress, Drupal, or one of their competitors (see a list of government-used CMS's [here](https://www.digitalgov.gov/resources/content-management-systems-used-by-government-agencies/)). This means that we have fewer features but also a smaller security profile. 26 | * A large file hosting system. GitHub isn't generally set up to host more than a gigabyte of file content and Federalist's build container can't accommodate extremely large repositories in the build process. Instead, you should store very large files separately and link to them from your Federalist site. 27 | -------------------------------------------------------------------------------- /assets/images/icons/icon-layout-color.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icon-layout-color 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /_includes/homepage/case-studies.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
5 |

Customer Case Studies

6 |

7 |
8 | 49 |
50 |
51 |
52 |
-------------------------------------------------------------------------------- /assets/images/icons/icon-two-squares-color.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icon-two-squares-color 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /pages/contact.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /contact/ 3 | title: Contact 4 | layout: default 5 | --- 6 |
7 |

Contact

8 |

Interested in using Federalist?

9 |

If you’re interested in using Federalist at your agency, email the Federalist team at 10 | federalist-inquiries@gsa.gov with your name, agency or office, and information about the website you want to build or migrate. We’ll schedule a call to answer your questions and help you get started. You can also sign up using this Google form if your agency can access Google forms.

11 |

For existing Federalist users

12 |

If you’re in need of assistance, please submit a support ticket to 13 | federalist-support@gsa.gov with a link to your Federalist website, a link to the code repository for your site, and a description of your problem. If applicable, please also include any build logs that show 14 | the issue. Please do not include passwords or any sensitive information in your support ticket.

15 |

The Federalist team provides support during business hours for U.S. East and West Coast time zones. While we're unable to guarantee support outside of these hours, we’re always monitoring for issues that might affect uptime as we host many sites using Federalist.

16 |

Federalist is hosted on cloud.gov. cloud.gov is constantly monitored and set up for low or zero-downtime deployments, and should be continuously operating. 17 | Check cloud.gov's current status and history of uptime.

18 |

Report a vulnerability

19 |

We welcome vulnerability reports 20 | according to our vulnerability disclosure policy. We accept and discuss vulnerability reports on HackerOne, via email at tts-vulnerability-reports@gsa.gov, or through this reporting form. Please review our vulnerability disclosure policy before reporting a vulnerability. 21 |

22 |
-------------------------------------------------------------------------------- /_includes/homepage/fact-sheets.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
5 |

Federalist fact sheets

6 |

7 | Need more details about Federalist? Need help convincing your executive team? The Federalist team has developed these resources to help. See more on the Federalist support site. 8 |

9 |
10 |
    11 |
  • 12 |
    13 |
    14 | Federalist Proposal Thumbnail 15 |
    16 |
    17 |
    Federalist proposal
    18 |

    A two-page overview about Federalist for stakeholder briefings.

    19 | Download PDF 20 |
    21 |
    22 |
  • 23 |
  • 24 |
    25 |
    26 | 27 | Diagram of Federalist Thumbnail 28 | 29 |
    30 |
    31 |
    Federalist basic diagram
    32 |

    An outline of how all of Federalist’s parts work together.

    33 | Download PDF 34 |
    35 |
    36 |
  • 37 |
  • 38 |
    39 |
    40 | Compliance Thumbnail 41 |
    42 |
    43 |
    Compliance memo
    44 |

    Details about Federalist’s compliance and Authority to Operate.

    45 | Download PDF 46 |
    47 |
    48 |
  • 49 |
50 |
51 |
52 |
53 |
-------------------------------------------------------------------------------- /assets/images/icons/icon-lock-color.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icon-lock-color 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /pages/documentation/node-on-federalist.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Node on Federalist 3 | permalink: /documentation/node-on-federalist/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /pages/how-federalist-works/node-on-federalist/ 8 | 9 | --- 10 | 11 | *Note that the features described in this document are experimental.* 12 | 13 | Federalist supports using node and npm to build your entire site OR to build parts of your site before the build engine starts its work. 14 | This is helpful for doing things like compiling a site's assets, or employing a build tool such as [Fractal](https://github.com/frctl/fractal). 15 | 16 | ## The Federalist NPM script 17 | 18 | Before running any other generator, the Federalist build engine will check for a package.json file. If it finds one, it will run `npm install`. Additionally, if the package.json provides a script named `federalist`, the build engine will run this script. This enables Federalist users to add Javascript dependencies to their site, and run a script to prepare the site for the build engine. If **Node.js** is the configured **Site Engine**, no other steps are run. 19 | 20 | For more details see [package.json examples](#examples). 21 | 22 | ## Specifying a Node version 23 | 24 | Federalist uses [Node Version Manager](https://github.com/creationix/nvm) to track the node version your site is meant to use. Before running any npm commands, Federalist checks for a file named `.nvmrc`. 25 | If it finds one, it will use NVM to install and use the desired node version before continuing. 26 | 27 | ## Excluding node modules 28 | 29 | When Federalist runs `npm install` it will create a directory named `node_modules`. This is where it saves the downloaded dependencies. When using Node alongside Jekyll or Hugo, these may be built into a site if the build is not configured to ignore them, causing them to be uploaded. This can cause the time it takes to upload a site increase significantly. 30 | 31 | For example, to ignore the node modules for a Jekyll site, add the following to the site's `_config.yml`: 32 | 33 | ```jekyll 34 | exclude: 35 | - node_modules 36 | ``` 37 | 38 | After adding that, jekyll will ignore the `node_modules` directory when building the site. 39 | 40 | ## Examples 41 | ### Use Webpack to pre-process javascript 42 | 43 | ```json 44 | { 45 | "name": "Webpack example", 46 | "version": "1.0.0", 47 | "description": "An example Federalist site using webpack", 48 | "main": "index.js", 49 | "scripts": { 50 | "build": "`npm bin`/webpack", 51 | "federalist": "npm run build", 52 | "start": "`npm bin`/webpack-dev-server" 53 | }, 54 | "author": "Jonathan Hooper", 55 | "license": "ISC", 56 | "dependencies": { 57 | "webpack": "^1.14.0" 58 | }, 59 | ... 60 | } 61 | ``` 62 | 63 | ### Use Gatsby to generate a static site 64 | 65 | ```json 66 | { 67 | "name": "federalist-gatsby-uswds-template", 68 | "description": "Description A template for Federalist that uses Gatsby and USWDS 2.0", 69 | "license": "CC0-1.0", 70 | "version": "0.1.0", 71 | "author": "davemcorwin", 72 | "scripts": { 73 | "develop": "gatsby develop", 74 | "start": "npm run develop", 75 | "build": "gatsby build", 76 | "serve": "gatsby serve", 77 | "federalist": "npm run build" 78 | }, 79 | "dependencies": { 80 | "gatsby": "^2.0.33", 81 | "react": "^16.5.1", 82 | "react-dom": "^16.5.1" 83 | }, 84 | ... 85 | } 86 | ``` 87 | -------------------------------------------------------------------------------- /_includes/homepage/agencies.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |

Launch your site in minutes.

5 |

6 | Federalist uses a public code hosting service to load and store code for your site. If your code is already on GitHub, Federalist can securely deploy a website from your repository in minutes. 7 |

8 |
9 |

Agencies using Federalist

10 |
    11 |
  • 12 |
    13 | Seal of the Department of Education 14 |
    Department of Education
    15 |
    16 |
  • 17 |
  • 18 |
    19 | Seal of the Department of Homeland Security 20 |
    Department of Homeland Security
    21 |
    22 |
  • 23 |
  • 24 |
    25 | Seal of the Department of the Interior 26 |
    Department of the Interior
    27 |
    28 |
  • 29 |
  • 30 |
    31 | Seal of the Department of the Treasury 32 |
    Department of the Treasury
    33 |
    34 |
  • 35 |
36 |
    37 |
  • 38 |
    39 | Seal of the General Services Administration 40 |
    General Services Administration
    41 |
    42 |
  • 43 |
  • 44 |
    45 | Seal of the National Science Foundation 46 |
    National Science Foundation
    47 |
    48 |
  • 49 |
  • 50 |
    51 | Seal of the Office of Personnel Management 52 |
    Office of Personnel Management
    53 |
    54 |
  • 55 |
  • 56 |
    57 | Seal of the Department of Defense 58 |
    Department of Defense
    59 |
    60 |
  • 61 |
62 |
63 |
64 |
65 | See success stories of Federalist-powered sites → 66 |
-------------------------------------------------------------------------------- /pages/documentation/for-federalist-developers.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: For Federalist Developers 3 | permalink: /documentation/for-federalist-developers/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /pages/how-federalist-works/for-federalist-developers/ 8 | --- 9 | 10 | # For Federalist Developers 11 | 12 | This page is for people who are developing the Federalist application, including the webapp and build system. It it not for site developers that use Federalist for publishing. 13 | 14 | ## Running Federalist locally 15 | Instructions for running Federalist components locally are in in each code repository README: 16 | 17 | - [Federalist README](https://github.com/18F/federalist#running-locally-development) 18 | - [Federalist-builder README](https://github.com/18F/federalist-builder#running-locally) 19 | - [Federalist-garden-build README](https://github.com/18F/federalist-garden-build#development) 20 | 21 | ## Deploying Federalist from CircleCI 22 | 23 | This guide covers how the deployment process for Federalist and Federalist Builder works. 24 | In order to understand the process for Federalist Docker Build and Federalist Registry, see [the cloud.gov setup guide]({{site.baseurl}}/documentation/cloud-gov-setup/). 25 | 26 | Federalist is deployed by [CircleCI](https://circleci.com/docs/2.0/deployment_integrations/). 27 | Federalist and Federalist Builder are configured such that changes to the master branch are deployed to production and changes to the staging branch are deployed to staging. 28 | In both repos this configuration lives in the [`.circleci/config.yml`](https://circleci.com/docs/2.0/) file in the project repository. 29 | 30 | Both projects use a file at `scripts/deploy-circle.sh` to run the actual deploy. 31 | These scripts authenticate with cloud.gov using a [cloud.gov deploy user](https://cloud.gov/docs/apps/continuous-deployment/#deployer-account). 32 | Despite some minor differences, both of these scripts do essentially the same thing: 33 | 34 | 0. Check the current branch and use it to determine which space to deploy to 35 | 0. Install Autopilot for cf-cli (used for zero downtime deploys) 36 | 0. Use `cf login` to authenticate the deploy user 37 | 0. Do a zero downtime push of the application 38 | 39 | ## Zero downtime deploys 40 | 41 | Federalist has high availability requirements because it needs to be up to receive GitHub webhook and build status requests. 42 | Because of this, the [autopilot](https://cloud.gov/docs/apps/production-ready/#zero-downtime-deploy) Cloud Foundry CLI plugin is used so the app can be deployed without downtime. 43 | 44 | Zero downtime deploys work by: 45 | 46 | 0. Renaming the app to `-venerable`, for example `federalist-venerable` 47 | 0. Pushing a new app with the old app's name 48 | 0. When the new app is started, routing requests to the new app and deleting the venerable app 49 | 50 | ### Cleanup after a failed deploy 51 | 52 | If autopilot fails to deploy the new app, it exits and does not clean up after itself. 53 | So after a failed deploy there will be a stopped app named `` and a running app named `-venerable` fielding requests. 54 | This is by design so that a failed deploy does not cause the app to go down. 55 | 56 | The downside of this setup is that all future deploys will fail since there will be a name collision on `-venerable`. 57 | As a result, the failed deploy will need to be cleaned up before another deploy can succeed. 58 | 59 | To cleanup after a failed deploy: 60 | 61 | 0. Delete the new app. For the main Federalist app that would be `federalist`. 62 | 0. Rename the venerable app to the name of the new app. For example, rename `federalist-venerable` to `federalist`. 63 | 0. Start a build on CircleCI to re-deploy. 64 | -------------------------------------------------------------------------------- /pages/documentation/resources.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Additional resources 3 | permalink: /documentation/resources/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /pages/using-federalist/resources/ 8 | 9 | --- 10 | 11 | ## Working with markdown 12 | 13 | Markdown is a plain-text simple markup language designed to be readable for 14 | content editors. The syntax is easy to learn and is also used on GitHub. 15 | Markdown is used to format the content on your website without having to read or 16 | write HTML. 17 | 18 | GitHub has an excellent guide for [mastering 19 | markdown](https://guides.github.com/features/mastering-markdown/). Here's 20 | a sample of what it looks like: 21 | 22 | ``` 23 | # This is a top-level h1 heading 24 | 25 | This is just a normal introductory paragraph. 26 | 27 | ## This is a second-level h2 heading 28 | 29 | *This text will be italic.* 30 | _This will also be italic._ 31 | 32 | **This text will be bold.** 33 | __This will also be bold.__ 34 | 35 | _You **can** combine them._ 36 | ``` 37 | 38 | And this is what the above markup looks like when it is rendered on a web page: 39 | 40 | 41 | > # This is a top-level h1 heading 42 | > 43 | > This is just a normal introductory paragraph. 44 | > 45 | > ## This is a second-level h2 heading 46 | > 47 | > *This text will be italic.* 48 | > _This will also be italic._ 49 | > 50 | > **This text will be bold.** 51 | > __This will also be bold.__ 52 | > 53 | > _You **can** combine them._ 54 | 55 | You can practice with the [Markdown helper](https://markdown-helper.18f.gov/). 56 | 57 | 58 | ## Working with YAML 59 | 60 | YAML is a markup language used for configuration of your Federalist site. 61 | Variables defined in your YAML configuration can be used within your site. 62 | Comments are ignored by Federalist. Indentation is important to keep related 63 | options together. We recommend using space characters instead of tabs for 64 | nesting configuration options. 65 | 66 | 67 | ``` 68 | # This is a YAML comment. It is ignored by Federalist. 69 | 70 | # This is a variable "title". 71 | title: "This could be the title of your site" 72 | 73 | # This is an object "agency_contact" with 74 | # properties "phone" and "email". 75 | agency_contact: 76 | phone: "202-555-5555" 77 | email: "info@agency.gov" 78 | 79 | # This is a list 80 | list_of_departments: 81 | - "Department of A" 82 | - "Bureau of B" 83 | - "C Administration" 84 | 85 | # You can define any variables you like with YAML. 86 | ``` 87 | 88 | 89 | ## Working with front matter 90 | 91 | Front matter contains YAML configuration variables on a per-page basis. Some 92 | variables are important to Jekyll like `layout` or `permalink`. You can also 93 | include your own variables that can be referenced in your page content and 94 | layouts. Learn more about [Jekyll front matter](https://jekyllrb.com/docs/frontmatter/). 95 | 96 | ``` 97 | --- 98 | # Front matter is always at the top of your page fenced by the 99 | # three dashes (---). 100 | 101 | title: "The page title" 102 | author: 103 | name: "George Washington" 104 | email: "george.washington@example.com" 105 | --- 106 | 107 | You can reference page variables like this: 108 | 109 | The title of the page is {% raw %}{{ page.title }}{% endraw %}. 110 | ``` 111 | 112 | 113 | ## Site configuration 114 | 115 | The site configuration lives in `_config.yml`. Some variables have special 116 | meaning that tell Federalist how to build your site. All variables can be used 117 | throughout your site like this: 118 | 119 | Contact our agency by email at {% raw %}{{ site.agency_contact.email }}{% endraw %} 120 | or by phone {% raw %}{{ site.agency_contact.phone }}{% endraw %}. 121 | -------------------------------------------------------------------------------- /assets/images/graphic-speech-bubbles.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Page 1 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /assets/images/graphic-speech-bubbles.svg.1: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Page 1 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | addressable (2.7.0) 5 | public_suffix (>= 2.0.2, < 5.0) 6 | capybara (3.29.0) 7 | addressable 8 | mini_mime (>= 0.1.3) 9 | nokogiri (~> 1.8) 10 | rack (>= 1.6.0) 11 | rack-test (>= 0.6.3) 12 | regexp_parser (~> 1.5) 13 | xpath (~> 3.2) 14 | colorator (1.1.0) 15 | colorize (0.8.1) 16 | concurrent-ruby (1.1.5) 17 | diff-lcs (1.3) 18 | docile (1.3.2) 19 | em-websocket (0.5.1) 20 | eventmachine (>= 0.12.9) 21 | http_parser.rb (~> 0.6.0) 22 | ethon (0.12.0) 23 | ffi (>= 1.3.0) 24 | eventmachine (1.2.7) 25 | ffi (1.11.1) 26 | forwardable-extended (2.6.0) 27 | html-proofer (3.12.2) 28 | addressable (~> 2.3) 29 | mercenary (~> 0.3) 30 | nokogiri (~> 1.10) 31 | parallel (~> 1.3) 32 | rainbow (~> 3.0) 33 | typhoeus (~> 1.3) 34 | yell (~> 2.0) 35 | http_parser.rb (0.6.0) 36 | i18n (0.9.5) 37 | concurrent-ruby (~> 1.0) 38 | jekyll (3.8.6) 39 | addressable (~> 2.4) 40 | colorator (~> 1.0) 41 | em-websocket (~> 0.5) 42 | i18n (~> 0.7) 43 | jekyll-sass-converter (~> 1.0) 44 | jekyll-watch (~> 2.0) 45 | kramdown (~> 1.14) 46 | liquid (~> 4.0) 47 | mercenary (~> 0.3.3) 48 | pathutil (~> 0.9) 49 | rouge (>= 1.7, < 4) 50 | safe_yaml (~> 1.0) 51 | jekyll-redirect-from (0.15.0) 52 | jekyll (>= 3.3, < 5.0) 53 | jekyll-sass-converter (1.5.2) 54 | sass (~> 3.4) 55 | jekyll-sitemap (1.3.1) 56 | jekyll (>= 3.7, < 5.0) 57 | jekyll-watch (2.2.1) 58 | listen (~> 3.0) 59 | json (2.2.0) 60 | kramdown (1.17.0) 61 | liquid (4.0.3) 62 | listen (3.1.5) 63 | rb-fsevent (~> 0.9, >= 0.9.4) 64 | rb-inotify (~> 0.9, >= 0.9.7) 65 | ruby_dep (~> 1.2) 66 | mercenary (0.3.6) 67 | mini_mime (1.0.2) 68 | mini_portile2 (2.4.0) 69 | nokogiri (1.10.8) 70 | mini_portile2 (~> 2.4.0) 71 | parallel (1.17.0) 72 | pathutil (0.16.2) 73 | forwardable-extended (~> 2.6) 74 | public_suffix (4.0.1) 75 | rack (1.6.12) 76 | rack-jekyll (0.5.0) 77 | jekyll (>= 1.3) 78 | listen (>= 1.3) 79 | rack (~> 1.5) 80 | rack-test (1.1.0) 81 | rack (>= 1.0, < 3) 82 | rainbow (3.0.0) 83 | rb-fsevent (0.10.3) 84 | rb-inotify (0.10.0) 85 | ffi (~> 1.0) 86 | rb-readline (0.5.5) 87 | regexp_parser (1.6.0) 88 | rouge (3.10.0) 89 | rspec (3.8.0) 90 | rspec-core (~> 3.8.0) 91 | rspec-expectations (~> 3.8.0) 92 | rspec-mocks (~> 3.8.0) 93 | rspec-core (3.8.2) 94 | rspec-support (~> 3.8.0) 95 | rspec-expectations (3.8.4) 96 | diff-lcs (>= 1.2.0, < 2.0) 97 | rspec-support (~> 3.8.0) 98 | rspec-mocks (3.8.1) 99 | diff-lcs (>= 1.2.0, < 2.0) 100 | rspec-support (~> 3.8.0) 101 | rspec-support (3.8.2) 102 | ruby_dep (1.5.0) 103 | safe_yaml (1.0.5) 104 | sass (3.7.4) 105 | sass-listen (~> 4.0.0) 106 | sass-listen (4.0.0) 107 | rb-fsevent (~> 0.9, >= 0.9.4) 108 | rb-inotify (~> 0.9, >= 0.9.7) 109 | simplecov (0.17.0) 110 | docile (~> 1.1) 111 | json (>= 1.8, < 3) 112 | simplecov-html (~> 0.10.0) 113 | simplecov-html (0.10.2) 114 | typhoeus (1.3.1) 115 | ethon (>= 0.9.0) 116 | uswds-jekyll (4.2.0) 117 | jekyll (~> 3.4) 118 | xpath (3.2.0) 119 | nokogiri (~> 1.8) 120 | yell (2.2.0) 121 | 122 | PLATFORMS 123 | ruby 124 | 125 | DEPENDENCIES 126 | capybara 127 | colorize 128 | html-proofer (~> 3.10) 129 | jekyll-redirect-from 130 | jekyll-sitemap 131 | rack-jekyll 132 | rb-readline 133 | rspec 134 | simplecov 135 | uswds-jekyll 136 | 137 | BUNDLED WITH 138 | 1.17.3 139 | -------------------------------------------------------------------------------- /admin/config.yml: -------------------------------------------------------------------------------- 1 | backend: 2 | name: github 3 | repo: 18f/federalist.18f.gov 4 | base_url: https://federalistapp-staging.18f.gov 5 | auth_endpoint: external/auth/github 6 | branch: master 7 | use_graphql: true 8 | preview_context: federalist/build 9 | 10 | media_folder: assets/images 11 | publish_mode: editorial_workflow 12 | logo_url: https://federalist.18f.gov/assets/images/federalist-logo.png 13 | site_url: https://federalist.18f.gov 14 | 15 | collections: 16 | - label: Data 17 | name: data 18 | editor: 19 | preview: false 20 | files: 21 | - label: "Case Studies" 22 | name: "case_studies" 23 | file: "_data/case_studies.yml" 24 | fields: 25 | - { label: "Title", name: "title", widget: string } 26 | - { label: "Summary", name: "summary", widget: text } 27 | - label: "Items" 28 | name: "items" 29 | widget: list 30 | fields: 31 | - { label: "Title", name: "title", widget: "string" } 32 | - { label: "Summary", name: "summary", widget: "text" } 33 | - { label: "Url", name: "url", widget: "string" } 34 | - { label: "Thumbnail", name: "thumbnail", widget: "image" } 35 | 36 | - label: "Screenshots" 37 | name: "screenshots" 38 | file: "_data/screenshots.yml" 39 | fields: 40 | - { label: "Title", name: "title", widget: string } 41 | - { label: "Summary", name: "summary", widget: text } 42 | - label: "Items" 43 | name: "items" 44 | widget: list 45 | fields: 46 | - { label: "Title", name: "title", widget: "string" } 47 | - { label: "Url", name: "url", widget: "string" } 48 | - { label: "Thumbnail", name: "thumbnail", widget: "image" } 49 | 50 | - label: "Pricing" 51 | name: "pricing" 52 | file: "_data/pricing.yml" 53 | fields: 54 | - label: "Plans" 55 | name: "plans" 56 | widget: list 57 | fields: 58 | - { label: "Title", name: "title", widget: "string" } 59 | - { label: "Summary", name: "summary", widget: "markdown" } 60 | - { 61 | label: "Features", 62 | name: "features", 63 | widget: list, 64 | field: { label: "Text", name: "text", widget: "string" }, 65 | } 66 | 67 | - label: "Templates" 68 | name: "templates" 69 | file: "_data/templates.yml" 70 | fields: 71 | - label: "Items" 72 | name: "items" 73 | widget: list 74 | fields: 75 | - { label: "Title", name: "title", widget: "string" } 76 | - { label: "Docs Url", name: "docs_url", widget: "string" } 77 | - { label: "Preview Url", name: "preview_url", widget: "string" } 78 | - { label: "Image", name: "img", widget: "image" } 79 | - { 80 | label: "Order", 81 | name: "order", 82 | widget: "number", 83 | valueType: "int", 84 | min: 1, 85 | } 86 | - { label: "Summary", name: "summary", widget: "text" } 87 | 88 | - name: Documentation Pages 89 | label: Documentation Pages 90 | label_singular: Documentation Page 91 | folder: pages/documentation 92 | create: true 93 | slug: "{{slug}}" 94 | preview_path: "documentation/{{slug}}" 95 | fields: 96 | - { label: "Layout", name: "layout", widget: "hidden", default: "page" } 97 | - { 98 | label: "Sidenav", 99 | name: "sidenav", 100 | widget: "hidden", 101 | default: "documentation", 102 | } 103 | - { label: "Title", name: "title", widget: "string" } 104 | - { label: "Permalink", name: "permalink", widget: "string" } 105 | - { label: "Body", name: "body", widget: "markdown" } 106 | -------------------------------------------------------------------------------- /_data/navigation.yml: -------------------------------------------------------------------------------- 1 | primary: 2 | 3 | 4 | secondary: 5 | - text: Features 6 | href: /features/ 7 | - text: Success Stories 8 | href: /success-stories/ 9 | - text: Documentation 10 | href: /documentation/ 11 | - text: Pricing 12 | href: /pricing/ 13 | - text: Contact 14 | href: /contact/ 15 | # Look inside assets/js/index.js to see that how this url changes depending on enviroment 16 | - text: Manage Sites 17 | href: https://federalistapp.18f.gov 18 | external: true 19 | class: usa-button usa-button-secondary nav-button 20 | 21 | 22 | footer: 23 | - text: Home 24 | href: / 25 | - text: Features 26 | href: /features/ 27 | - text: Success Stories 28 | href: /success-stories/ 29 | - text: Documentation 30 | href: /documentation/ 31 | - text: Pricing 32 | href: /pricing/ 33 | - text: Contact 34 | href: /contact/ 35 | - text: Manage Sites 36 | href: https://federalistapp.18f.gov 37 | external: true 38 | 39 | 40 | sidenav: 41 | - text: Using Federalist 42 | href: /documentation/ 43 | subfolderitems: 44 | - text: Why use Federalist? 45 | href: /documentation/why-use-federalist/ 46 | - text: Access and permissions 47 | href: /documentation/access-permissions/ 48 | - text: Customer responsibilities 49 | href: /documentation/customer-responsibilities/ 50 | - text: Getting started with a sandbox 51 | href: /documentation/federalist-sandbox/ 52 | - text: "21st Century IDEA" 53 | href: /documentation/21st-century-idea/ 54 | - text: Getting started with jekyll 55 | href: /documentation/getting-started-with-jekyll/ 56 | - text: Included with Federalist 57 | href: /documentation/included-with-federalist/ 58 | - text: Instructional demos 59 | href: /documentation/instructional-demos/ 60 | - text: Builds and previews 61 | href: /documentation/previews/ 62 | - text: Launch checklist 63 | href: /documentation/launch-checklist/ 64 | - text: Migration guide 65 | href: /documentation/migration-guide/ 66 | - text: Adding search 67 | href: /documentation/search/ 68 | - text: Site templates 69 | href: /documentation/templates/ 70 | - text: Customizing your site 71 | href: /documentation/customization/ 72 | - text: Using the markup languages 73 | href: /documentation/resources/ 74 | - text: Content guide 75 | href: /documentation/content-guide/ 76 | - text: Custom headers 77 | href: /documentation/custom-headers/ 78 | - text: Federalist.json 79 | href: /documentation/federalist-json/ 80 | - text: For developers 81 | href: /documentation/ 82 | subfolderitems: 83 | - text: How Federalist works 84 | href: /documentation/ 85 | - text: How builds work 86 | href: /documentation/how-builds-work/ 87 | - text: Specific build errors 88 | href: /documentation/build-errors/ 89 | - text: Environment variables on builds 90 | href: /documentation/env-vars-on-federalist-builds/ 91 | - text: How custom URLs work 92 | href: /documentation/custom-urls/ 93 | - text: Federalist and cloud.gov 94 | href: /documentation/cloud-gov/ 95 | - text: cloud.gov setup 96 | href: /documentation/cloud-gov-setup/ 97 | - text: Node on Federalist 98 | href: /documentation/node-on-federalist/ 99 | - text: RVM on Federalist 100 | href: /documentation/rvm-on-federalist/ 101 | - text: Bundler on Federalist 102 | href: /documentation/bundler-on-federalist/ 103 | - text: Site wide alerts 104 | href: /documentation/site-wide-alert/ 105 | - text: Supported site engines 106 | href: /documentation/supported-site-engines/ 107 | - text: Renaming your site's repository 108 | href: /documentation/renaming-site-repository/ 109 | - text: Monorepos on Federalist 110 | href: /documentation/monorepos-on-federalist/ 111 | -------------------------------------------------------------------------------- /pages/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: / 3 | title: Welcome to Federalist 4 | layout: default 5 | --- 6 | 7 |
8 |
9 |
10 |
11 |

There’s no easier way to
build, launch, and manage government sites.

12 |

13 | 14 | Federalist is a publishing platform for
modern 21st Century IDEA websites. 15 |

16 |
17 |
18 |

Trusted and scalable

19 |
    20 |
  • 134 production .gov sites
  • 21 |
  • 9 federal agencies
  • 22 |
  • 100+ million visitors per year
  • 23 |
  • 400+ prototypes developed
  • 24 |
  • 639+ updates per week
  • 25 |
26 |
27 |
28 |
29 |
30 |
31 |

HOW IT WORKS

32 |
33 |
34 |
1
35 |
36 |
37 |
2
38 |
39 |
40 |
3
41 |
42 |
43 |
44 |
45 |
1
46 |

BUILD

47 | Hand building a website 48 |
49 |

Use our templates or develop your own and publish your web page right away.

50 | See how the Centers of Excellence (CoEs) used Federalist to get new pages up quickly → 51 |
52 |
53 |
54 |
55 |
2
56 |

LAUNCH

57 | Hand launching a secure website with cloud.gov 58 |
59 |

You focus on the content, we'll worry about the security, compliance, and deployment.

60 | Learn how DoD leveraged the Federalist platform to build their own template designs → 61 |
62 |
63 |
64 |
65 |
66 |
3
67 |

MANAGE

68 | Hand using faders to manage website deployments 69 |
70 |

Use our intuitive interface to control the process from start to finish.

71 | Learn how DOI used a Federalist template to host their data projects → 72 |
73 |
74 |
75 |
76 |
77 |
78 | {% include homepage/agencies.html %} 79 | {% include homepage/case-studies.html %} 80 | {% include homepage/contact.html %} 81 | {% include homepage/templates.html %} 82 | {% include homepage/fact-sheets.html %} 83 |
84 | -------------------------------------------------------------------------------- /_includes/components/header--extended.html: -------------------------------------------------------------------------------- 1 | {% if header %} 2 | 90 |
91 | {% endif %} 92 | 93 | {% if site.data.flags.glossary %} 94 | {% include components/glossary.html %} 95 | {% endif %} -------------------------------------------------------------------------------- /pages/documentation/why-use-federalist.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Why Use Federalist? 3 | permalink: /documentation/why-use-federalist/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /pages/about-federalist/why-use-federalist/ 8 | --- 9 | 10 | If you’re a program manager or a federal web developer you’ve probably been given a seemingly simple task: create a website as part of an initiative at your agency. The hardest part is often not crafting the content or designing the website, but getting the security and privacy compliance in order to launch and maintain the actual website. For that work, you might have to hire a contractor or put extra strain on your agency’s web team. 11 | 12 | It shouldn’t be that way. 13 | 14 | ## Why Federalist? 15 | 16 | Federalist serves our fellow federal partners by expertly managing the backend and compliance work to launch and manage a website, allowing you to focus your expertise on your content. 17 | 18 | - **FedRAMP Certified Platform** Federalist is hosted on cloud.gov, a platform with security and compliance verified by the FedRAMP Joint Authorization Board, which means you can trust that your site will be fast, reliable, and ready for unexpected surges in traffic. 19 | 20 | - **Compliance out of the box** Federalist’s specific implementation of cloud.gov’s services to host static sites carries a [GSA Agency ATO]({{site.baseurl}}/assets/documents/Federalist-Compliance-Memo.pdf). If your agency accepts this ATO, you can host Federalist sites without running your own compliance process. We understand those processes typically cost around $95,000 per site, and $135,000 when including a pentest. Using Federalist allows you to leverage our compliance work, saving you time and money. 21 | 22 | - **Easy previews and content approvals** Federalist builds out draft updates to your site at a special preview URL. This enables your team to know their changes will show up correctly when pushed to the main site, and makes it easy to get signoff on content updates from stakeholders. 23 | 24 | [![Diagram of Federalist architecture]({{site.baseurl}}/assets/images/how-federalist-works-diagram.png)]({{site.baseurl}}/assets/documents/how-federalist-works-diagram.pdf) 25 | 26 | ## Why static websites? 27 | 28 | Federalist generates static websites instead of using a more complex content management system (CMS) like Drupal or WordPress. There are several advantages to static websites: 29 | 30 | - **Less complexity and vulnerability:** Avoiding the use of a traditional CMS means avoiding problems like maintaining server applications (no PHP or Apache / IIS) in addition to database scaling and redundancy. Production-level static sites generally require one simple static file server or service as opposed to dozens. This means that the whole website is easier to maintain and has fewer vulnerabilities. 31 | 32 | - **Update content without writing code:** Static websites often store content in simple text files that anyone on the team can edit. The GitHub editor enables any team member to complete basic edits to their text files regardless of their experience writing code. 33 | 34 | - **Easy to host and maintain:** It’s very easy to host static website files on Federalist. You can easily take advantage of scaling services like Amazon S3 through Federalist where you pay only for what you use. 35 | 36 | - **Fully customizable:** Designers and developers can customize static websites into whatever form they want without having to strip away CMS-provided features and defaults. Static sites can be used to build many different types of sites, from organization homepages or intranets to pre-generated web application program interfaces that display data from a separate server. 37 | 38 | ## What can I build with Federalist? 39 | 40 | Federalist supports plain files and certain [site engines]({{site.baseurl}}/documentation/supported-site-engines), and provides [ready-to-use Jekyll templates]({{site.baseurl}}/documentation/templates/) for several common website types. 41 | 42 | Possible sites include: 43 | 44 | - A simple homepage for your government organization with information about personnel, meetings, and contact information. 45 | 46 | - Data visualization sites that pull data from a separate API server (Federalist does not provide API servers). 47 | 48 | - A single page with information about a recently released report that may receive a lot of traffic. 49 | 50 | For real world examples, see this list of [existing sites]({{site.baseurl}}/success-stories) out of the 134 sites currently live on Federalist. 51 | -------------------------------------------------------------------------------- /_sass/_syntax-highlighting.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2016-present Parker Moore and the minima contributors 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in 14 | * all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | * THE SOFTWARE. 23 | * 24 | * https://github.com/jekyll/minima/blob/master/_sass/minima/_syntax-highlighting.scss 25 | **/ 26 | 27 | /** 28 | * Syntax highlighting styles 29 | */ 30 | .highlight { 31 | 32 | .c { color: #998; font-style: italic } // Comment 33 | .err { color: #a61717; background-color: #e3d2d2 } // Error 34 | .k { font-weight: bold } // Keyword 35 | .o { font-weight: bold } // Operator 36 | .cm { color: #998; font-style: italic } // Comment.Multiline 37 | .cp { color: #999; font-weight: bold } // Comment.Preproc 38 | .c1 { color: #998; font-style: italic } // Comment.Single 39 | .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special 40 | .gd { color: #000; background-color: #fdd } // Generic.Deleted 41 | .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific 42 | .ge { font-style: italic } // Generic.Emph 43 | .gr { color: #a00 } // Generic.Error 44 | .gh { color: #999 } // Generic.Heading 45 | .gi { color: #000; background-color: #dfd } // Generic.Inserted 46 | .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific 47 | .go { color: #888 } // Generic.Output 48 | .gp { color: #555 } // Generic.Prompt 49 | .gs { font-weight: bold } // Generic.Strong 50 | .gu { color: #aaa } // Generic.Subheading 51 | .gt { color: #a00 } // Generic.Traceback 52 | .kc { font-weight: bold } // Keyword.Constant 53 | .kd { font-weight: bold } // Keyword.Declaration 54 | .kp { font-weight: bold } // Keyword.Pseudo 55 | .kr { font-weight: bold } // Keyword.Reserved 56 | .kt { color: #458; font-weight: bold } // Keyword.Type 57 | .m { color: #099 } // Literal.Number 58 | .s { color: #d14 } // Literal.String 59 | .na { color: #008080 } // Name.Attribute 60 | .nb { color: #0086B3 } // Name.Builtin 61 | .nc { color: #458; font-weight: bold } // Name.Class 62 | .no { color: #008080 } // Name.Constant 63 | .ni { color: #800080 } // Name.Entity 64 | .ne { color: #900; font-weight: bold } // Name.Exception 65 | .nf { color: #900; font-weight: bold } // Name.Function 66 | .nn { color: #555 } // Name.Namespace 67 | .nt { color: #000080 } // Name.Tag 68 | .nv { color: #008080 } // Name.Variable 69 | .ow { font-weight: bold } // Operator.Word 70 | .w { color: #bbb } // Text.Whitespace 71 | .mf { color: #099 } // Literal.Number.Float 72 | .mh { color: #099 } // Literal.Number.Hex 73 | .mi { color: #099 } // Literal.Number.Integer 74 | .mo { color: #099 } // Literal.Number.Oct 75 | .sb { color: #d14 } // Literal.String.Backtick 76 | .sc { color: #d14 } // Literal.String.Char 77 | .sd { color: #d14 } // Literal.String.Doc 78 | .s2 { color: #d14 } // Literal.String.Double 79 | .se { color: #d14 } // Literal.String.Escape 80 | .sh { color: #d14 } // Literal.String.Heredoc 81 | .si { color: #d14 } // Literal.String.Interpol 82 | .sx { color: #d14 } // Literal.String.Other 83 | .sr { color: #009926 } // Literal.String.Regex 84 | .s1 { color: #d14 } // Literal.String.Single 85 | .ss { color: #990073 } // Literal.String.Symbol 86 | .bp { color: #999 } // Name.Builtin.Pseudo 87 | .vc { color: #008080 } // Name.Variable.Class 88 | .vg { color: #008080 } // Name.Variable.Global 89 | .vi { color: #008080 } // Name.Variable.Instance 90 | .il { color: #099 } // Literal.Number.Integer.Long 91 | } 92 | -------------------------------------------------------------------------------- /pages/documentation/customer-responsibilities.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Customer Responsibilities 3 | permalink: /documentation/customer-responsibilities/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /pages/using-federalist/customer-responsibilities/ 8 | --- 9 | 10 | 11 | ## Your Responsibilities 12 | 13 | Using Federalist places certain responsibilities on you as the government user of Federalist. GSA has many internal sites running on Federalist, but GSA cannot guarantee that Federalist is compatable with your agency's specific policies. 14 | 15 | Federalist retains other responsibilities, clarified below. The intent of these policies is to empower you to use Federalist to its full potential with awareness of your responsibilities when using advanced features. 16 | 17 | #### You must use a GitHub account to log onto Federalist. 18 | 19 | Federalist is a service that leverages GitHub repositories for publishing. Federalist eliminates redundancy by allowing GitHub users with editing access to a repository to configure the site on Federalist. This requires Federalist users to authorize the Federalist application on their GitHub account **and** for Federalist to be approved by the parent organizations of repos that are hosted with Federalist. Federalist users must also have two factor authentication enabled for their GitHub accounts in order to be given access. 20 | 21 | GitHub is used across the government (see [this dashboard](https://gsa.github.io/github-federal-stats/) from our partners in GSA's Office of Government-wide Policy), and a majority of cabinet agencies have a GitHub presence. However, GSA does not endorse Github and there are other ways to launch sites if your agency is not prepared to use GitHub. At this time, no prospective Federalist customer has been deterred by integration with GitHub. 22 | 23 | #### You own your content 24 | 25 | Federalist provides templates for you to start with in configuring your sites, but is not responsible for editing or updating the content or local configuration of your site. The Federalist team ensures that the publishing mechanism remains available to you so that your content edits can be published nearly immediately. Your content must be low impact according to [FIPS 199](http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.199.pdf) and each branch on GitHub is published publicly by Federalist. Federalist is not for content that requires authorization to view. 26 | 27 | Federalist suggests that you add your 18F point of contact to your repo with editing rights for troubleshooting purposes, but this is not required. 28 | 29 | #### You own your URL 30 | 31 | To put a site live on Federalist, you must direct DNS for your URL to a custom address provided by the Federalist team (meaning, that visitors to that address will be pointed at Federalist so they can load your site from us). Setting DNS for a new or existing URL may involve working with other offices at your agency; these processes typically vary. 32 | 33 | If your site is at a top level .gov domain, the process may be more challenging than for a subdomain as some DNS providers are less flexible for top level domain settings. We'll need to plan a solution for you before signing an agreement. 34 | 35 | #### You own any custom code on your webpage 36 | 37 | You may wish to use custom Jekyll plugins, Google Analytics from GSA's [Digital Analytics Program](https://www.digitalgov.gov/services/dap/) using embedded Javascript, or other code on your site. Federalist makes this possible - we use analytics extensively on our sites - but you are responsible for the security and stability of any custom code. 38 | 39 | Federalist's site management processes prevent any mistakes by one Federalist customer from interfering with the build process of another Federalist customer. An individual site's build process is constrained to 1GB of memory. If your site's build attempts to use more than that limit (such as from a complex npm install), the build will not succeed. 40 | 41 | ## Federalist's Responsibilities 42 | 43 | #### We control access to the core Federalist codebase. 44 | 45 | Access to Federalist's configuration tools for your specific content does not grant you access to Federalist's "backend." Federalist's code is open source, but 18F's copy can only be edited by approved members of the 18F team. No one can access Federalist's management tools in [cloud.gov](https://cloud.gov) without FedRAMP-approved two factor authentication. 46 | 47 | #### We control access to the hosting service that serves your webpages 48 | 49 | Federalist moves content from your GitHub repositories into a secure build process and then into a file storage system that holds your site files. The credentials for the file storage system (Amazon S3 for those familiar) are secured within cloud.gov. 50 | -------------------------------------------------------------------------------- /_data/case_studies.yml: -------------------------------------------------------------------------------- 1 | title: Trusted and scalable. 2 | summary: >- 3 | Federalist hosts over 100+ sites across Federal agencies which account for over 140,000+ page views per day. 4 | items: 5 | - title: Vote.gov 6 | summary: >- 7 | Vote.gov makes it easier for eligible voters to participate in our democratic process by providing streamlined information on how to vote. Visitors can register electronically in states that allow it, and download a printable application in multiple languages for those states where electronic registration isn't an option. Vote.gov was ranked as the #1 federal website in 2017 by the Information Technology & Innovation Foundation for meeting basic standards in security, speed, mobile friendliness, and accessibility. 8 | url: https://vote.gov 9 | thumbnail: /assets/images/partner-sites/vote.gov.png 10 | 11 | - title: Department of the Interior 12 | summary: >- 13 | The Department of the Interior's Natural Resources Revenue site provides data about how the government manages federal energy and mineral resources, revenue, and disbursements. The website delivers valuable data to policy experts, while also ensuring the general public can follow along through an intuitive user interface and contextual information. This is an excellent example of how Federalist can be used to manage complex data sets and visualizations. You can learn more about their process on their blog. 14 | url: https://revenuedata.doi.gov 15 | thumbnail: /assets/images/partner-sites/revenuedata.doi.gov.png 16 | 17 | - title: Login.gov 18 | summary: >- 19 | Login.gov offers the public a secure and private single account allowing users to sign in to multiple government agencies. With over 5 million registered users, Login.gov entrusts Federalist to power its homepage and network traffic. 20 | url: https://login.gov 21 | thumbnail: /assets/images/partner-sites/login.gov.png 22 | 23 | - title: College Scorecard 24 | summary: >- 25 | The Department of Education uses Federalist to host College Scorecard, a website that provides users with important information on everything from financial aid to expected earnings. College Scorecard demonstrates the power of Federalist when used together with cloud.gov for a API-backed database. Federalist's cloud infrastructure helps manage site traffic during spikes in visitors, making sure College Scorecard is always available. 26 | url: https://collegescorecard.ed.gov 27 | thumbnail: /assets/images/partner-sites/collegescorecard.ed.gov.png 28 | 29 | - title: AFWERX 30 | summary: >- 31 | In 2017, the Secretary of the Air Force established AFWERX — a technology accelerator that brings the best from academia and industry together to solve problems and enhance the Air Force's effectiveness.
A military website needs military compliance, and Federalist made it easy for AFWERX to get there. Because it's fully customizable, AFWERX could design a brand that would attract the cutting-edge contributors they were looking for. And because it's FedRAMP-authorized, they could launch their site knowing their security met the standards the Department of Defense demands. 32 | url: https://www.afwerx.af.mil 33 | thumbnail: /assets/images/partner-sites/afwerx.af.mil.png 34 | 35 | - title: Centers of Excellence 36 | summary: >- 37 | "GSA's Centers of Excellence (CoE) program accelerates the modernization of IT infrastructure across government. But in early 2018, the CoE team was in need of their own modernization: their website was cumbersome, required vendors for updates, and took 30-45 minutes to make a single change.
With Federalist, CoEs can make their own changes — no outside help needed — in five minutes or less. Because everything's organized in one place, maintaining their website is simple, efficient, and easily managed by in-house staff. And thanks to Federalist's modern, accessible templates, this signature White House initiative is now fully compliant with the 21st Century Integrated Digital Experience Act (IDEA)." 38 | url: https://coe.gsa.gov 39 | thumbnail: /assets/images/partner-sites/coe.gsa.gov.png 40 | 41 | - title: FedRAMP 42 | summary: >- 43 | The Federal Risk and Authorization Management Program (FedRAMP) is a government-wide program that provides a standardized approach to security assessment, authorization, and continuous monitoring for cloud products and services. FedRAMP's choice to use Federalist for its main website speaks to the security and reliability of the Federalist infrastructure. 44 | url: https://fedramp.gov 45 | thumbnail: /assets/images/partner-sites/fedramp.gov.png 46 | -------------------------------------------------------------------------------- /_sass/glossary.scss: -------------------------------------------------------------------------------- 1 | // Glossary 2 | // 3 | $white: #fff; 4 | $color-blue-darker: #2d476a; 5 | $color-gray-darker: #2c3e50; 6 | $color-gray: #526577; 7 | $sans-serif: Helvetica, Arial, sans-serif; 8 | 9 | // TODO: Remove when glossary flag is removed from _data/flags 10 | .no-glossary { 11 | .glossary__toggle, .glossary { 12 | display: none; 13 | } 14 | 15 | .term { 16 | border-bottom: 0; 17 | 18 | &:hover { 19 | background: transparent; 20 | border: none; 21 | box-shadow: none; 22 | color: inherit; 23 | cursor: inherit; 24 | transition: none; 25 | } 26 | } 27 | } 28 | 29 | .accordion__button { 30 | background-image: url('../../assets/images/icons/plus-circle.svg'); 31 | background-size: 2rem; 32 | background-position: 95% 50%; 33 | background-repeat: no-repeat; 34 | border-bottom: 1px solid $white; 35 | margin: 0 0 -1px 0; 36 | color: $white; 37 | fill: $white; 38 | font-size: 1.6rem; 39 | font-weight: bold; 40 | letter-spacing: -.3px; 41 | padding: 1rem 4rem 1rem 1rem; 42 | text-align: left; 43 | width: 100%; 44 | 45 | &[aria-expanded='true'] { 46 | background-image: url('../../assets/images/icons/minus-circle.svg'); 47 | border-bottom: none; 48 | } 49 | } 50 | 51 | .glossary { 52 | transition: right .3s; 53 | background-color: $color-gray-darker; 54 | bottom: 0; 55 | color: $white; 56 | max-width: 30em; 57 | overflow-y: scroll; 58 | padding: 3em 2em; 59 | position: fixed; 60 | top: 0; 61 | width: 75%; 62 | z-index: 10000; 63 | 64 | .glossary__list { 65 | list-style: none; 66 | } 67 | // styles copied from usa-nav-close. That class also controls 68 | // javascript behavior that we don't want to trigger in this context 69 | .close { 70 | background-color: transparent; 71 | border: 0; 72 | border-radius: 0; 73 | margin: 0; 74 | padding: 0; 75 | text-align: left; 76 | -webkit-font-smoothing: auto; 77 | margin: -1.2rem -1.5rem 1.5rem auto; 78 | float: right; 79 | height: 4.4rem; 80 | text-align: center; 81 | width: 4.4rem; 82 | } 83 | 84 | &[aria-hidden='true'] { 85 | display: block !important; 86 | right: -100%; 87 | } 88 | 89 | &[aria-hidden='false'] { 90 | transition: right .3s; 91 | right: 0; 92 | } 93 | 94 | .button--close--inverse { 95 | position: absolute; 96 | right: 0; 97 | top: 0; 98 | } 99 | 100 | h3 { 101 | color: $white; 102 | } 103 | 104 | .label { 105 | color: $white; 106 | } 107 | } 108 | 109 | .glossary__content { 110 | padding: 4em 0; 111 | } 112 | 113 | .glossary__search { 114 | width: 100%; 115 | } 116 | 117 | .glossary__term { 118 | border-bottom: 1px solid $white; 119 | 120 | &:hover { 121 | background-color: transparent; 122 | border-bottom: 1px solid white; 123 | } 124 | 125 | &[aria-expanded='true'] { 126 | border-bottom: none; 127 | } 128 | 129 | background-color: transparent; 130 | margin: 0 0 -1px 0; 131 | color: $white; 132 | font-size: 1.6rem; 133 | font-weight: 700; 134 | letter-spacing: -.3px; 135 | padding: 1rem 4rem 1rem 1rem; 136 | text-align: left; 137 | width: 100%; 138 | } 139 | 140 | .glossary__definition { 141 | border-bottom: 1px solid white; 142 | font-family: $sans-serif; 143 | letter-spacing: -.3px; 144 | padding: 1rem; 145 | 146 | ol { 147 | margin-left: 0; 148 | 149 | li { 150 | font-size: 1.4em; 151 | } 152 | } 153 | 154 | ul { 155 | list-style: none; 156 | margin-left: 0; 157 | 158 | li { 159 | font-size: 1.4em; 160 | } 161 | } 162 | 163 | p { 164 | font-size: 1.4em; 165 | } 166 | 167 | } 168 | 169 | .glossary__toggle { 170 | background-image: url('../../assets/images/icons/icon-glossary.svg'); 171 | background-repeat: no-repeat; 172 | background-position: 0% 50%; 173 | background-size: 1em; 174 | padding-left: 1.5em !important; 175 | 176 | @media screen and (max-width: 949px) { 177 | background-image: none; 178 | padding-left: 0px !important; 179 | } 180 | } 181 | 182 | 183 | // Term classes 184 | // 185 | // Wrap glossary terms with these classes 186 | 187 | // standard class, adds the book icon 188 | .term { 189 | transition: background-color, .2s, box-shadow, .2s, color, .2s; 190 | background-size: .6em; 191 | background-position: 100% 50%; 192 | background-color: transparent; 193 | box-shadow: 0 0 0 4px transparent; 194 | border-bottom: none; 195 | cursor: pointer; 196 | border-bottom: 1px dotted $color-gray-darker; 197 | 198 | 199 | &:focus, 200 | &:hover { 201 | box-shadow: 0 0 0 4px $color-blue-darker; 202 | background-color: $color-blue-darker; 203 | color: $white; 204 | } 205 | } 206 | 207 | // Used when the term is in a body paragaraph of text, reduces padding and adds margin 208 | .term--p { 209 | margin-right: .5em; 210 | box-shadow: none; 211 | } 212 | -------------------------------------------------------------------------------- /pages/documentation/custom-headers.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Custom Headers 3 | permalink: /documentation/custom-headers/ 4 | layout: page 5 | sidenav: documentation 6 | --- 7 | 8 | # Custom Headers 9 | 10 | ⚠️ **This feature is currently experimental, make sure you know what you are doing!** ⚠️ 11 | 12 | You can configure custom headers for your site by adding information under the `headers` key in the [Federalist configuration file](/documentation/federalist-json). 13 | 14 | ## Supported Custom Headers 15 | - `Cache-Control` 16 | 17 | ## Syntax 18 | 19 | The `headers` key in [Federalist configuration file](/documentation/federalist-json) expects a list of configurations that include a path pattern to match against the paths of individual files in your site and the headers to apply. Ex. 20 | ``` 21 | // federalist.json 22 | { 23 | ... 24 | "headers": [ 25 | { 26 | "/*.html": { 27 | "cache-control": "no-cache" 28 | }, 29 | "/*": { 30 | "cache-control": "max-age=60" 31 | } 32 | }, 33 | ... 34 | ] 35 | ... 36 | } 37 | ``` 38 | 39 | In the above example `"/*.html"` is a *path pattern*, `"cache-control"` is a *header name*, and `"no-cache"` is a *header value*. 40 | 41 | ### Path Pattern Matching Rules 42 | Paths are matched in the order in which they are specified, from top to bottom. The headers for the first matching pattern are the *only* headers applied to the file. Paths should always begin with a `"/"` and are evaluated from the root of your site, preview url paths are accounted for. The path pattern is evaluated against the actual path and filename, so even if the file `"/foo/index.html"` is available at the url path `"/foo"`, the pattern must match `"/foo/index.html"`. 43 | 44 | We currently support: 45 | - explicit matching: `/index.html` 46 | - wildcard matching: `/*`, `/*.html` 47 | - segment wildcard matching: `/:foo/index.html` 48 | - any combination of the above: `/:foo/bar/*.html` 49 | 50 | #### Explicit Matches 51 | Explicit matches must **exactly** match the path and filename. 52 | 53 | | Pattern | Path | Match | 54 | | ------- | ---- | :---: | 55 | | `/index.html` | `/index.html` | ✅ | 56 | | `/foo/app.js` | `/foo/app.js` | ✅ | 57 | | `/foo` | `/foo/app.js` | ❌ | 58 | 59 | #### Wildcard (*) Matches 60 | The wildcard `"*"` matches everything **including** `"/"`. If the `"*"` is followed by a file extension (Ex. `".html"`), then that extension is match against the **last** extension of the file. The `"*"` must be the first character in the pattern segment, otherwise it will be treated as a normal character. 61 | 62 | | Pattern | Path | Match | 63 | | ------- | ---- | :---: | 64 | | `/*` | `/index.html` | ✅ | 65 | | `/*` | `/foo/bar/app.js` | ✅ | 66 | | `/*.js` | `/foo/bar/app.js` | ✅ | 67 | | `/*.js` | `/foo/bar/app.html` | ❌ | 68 | | `/*.js` | `/foo/bar/app.abc123.js` | ✅ | 69 | | `/foo/*.js` | `/foo/bar/app.abc123.js` | ✅ | 70 | | `/bar/*.js` | `/foo/bar/app.abc123.js` | ❌ | 71 | | `/f*.js` | `/foo.js` | ❌ | 72 | | `/f*.js` | `/f*.js` | ✅ | 73 | 74 | #### Segment Wildcard (:) Matches 75 | The segment wildcard `":foo"` (where "foo" can be anything) matches everything **except** `"/"`. The `":"` must be the first character in the pattern segment, otherwise it will be treated as a normal character. 76 | 77 | | Pattern | Path | Match | 78 | | ------- | ---- | :---: | 79 | | `/:foo` | `/index.html` | ✅ | 80 | | `/:bar` | `/foo/index.html` | ❌ | 81 | | `/:bar/*.html` | `/foo/index.html` | ✅ | 82 | | `/f:bar` | `/foo` | ❌ | 83 | | `/f:bar` | `/f:bar` | ✅ | 84 | 85 | ## Examples 86 | - [federalist-uswds-gatsby2](https://github.com/18F/federalist-uswds-gatsby2/blob/master/federalist.json) 87 | 88 | ## Caching Headers 89 | Adding caching related headers to your site is considered a best practice and can greatly improve your site's performance. However, if done incorrectly, it is possible to create undesired outcomes such as users not seeing the latest version of your site. **Make sure you have a good understanding of how caching works before configuring these headers yourself.** See [MDN Caching](https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching) and [MDN Cache-Control](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control) for more information. 90 | 91 | ### Defaults 92 | The current default is for all files to be cached for 1 minute: 93 | 94 | ``` 95 | cache-control: max-age=60 96 | ``` 97 | 98 | ### Caching Rules of Thumb 99 | While the configuration that makes sense will depend on your particular site; here are some rules of thumb. 100 | 101 | Images, Javascript, and CSS files are good candidates for long-term caching as they can be large AND their urls/filenames are not typically known to the users. 102 | 103 | 1. Make sure your build system generates unique filenames for the assets you want to cache for a longer period. For example, the filenames should look something like `app-87648563467.js` or `styles.4574395739578.css`. 104 | 2. Configure cache-control to cache for 1 year: 105 | ``` 106 | public, max-age=31536000, immutable 107 | ``` 108 | 109 | Html files are typically NOT good candidates for long-term caching since the url depends on the actual filename and they are typically smaller files. Given your need for how quickly you want users to get your latest changes, you can either: 110 | - Configure cache-control to never cache: 111 | ``` 112 | public, max-age=0, must-revalidate 113 | ``` 114 | 115 | - Configure cache-control to cache for a short duration (ie 5 minutes): 116 | ``` 117 | public, max-age=300 must-revalidate 118 | ``` -------------------------------------------------------------------------------- /pages/documentation/custom-urls.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Custom URLs 3 | permalink: /documentation/custom-urls/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /pages/how-federalist-works/custom-urls/ 8 | --- 9 | 10 | 11 | ## How Federalist custom URLs work 12 | 13 | This is technical documentation about how custom domains work on Federalist. It is not required reading to use Federalist and only provided for background; instructions for our partners are [here](/pages/using-federalist/launch-checklist/). 14 | 15 | All Federalist deploys are rendered via S3 at a .com URL such as: 16 | 17 | - [http://cg-06ab120d-836f-49a2-bc22-9dfb1585c3c6.s3-website-us-gov-west-1.amazonaws.com/site/18f/federalist-modern-team-template/](http://cg-06ab120d-836f-49a2-bc22-9dfb1585c3c6.s3-website-us-gov-west-1.amazonaws.com/site/18f/federalist-modern-team-template/) 18 | 19 | These web addresses are public and useful for testing, but the URLs are not useful and there's no HTTPS. (You'll also notice that images and CSS are not loading on the page. We'll explain why below.) 20 | 21 | Luckily, Federalist also proxies — that is, creates a forwarding address — for those S3 URLs at URLs such as: 22 | 23 | - [https://federalist-proxy.app.cloud.gov/site/18f/federalist-modern-team-template/](https://federalist-proxy.app.cloud.gov/site/18f/federalist-modern-team-template/). 24 | 25 | The proxy adds some required headers and is much cleaner for sending preview links around. 26 | 27 | When ready to go live at their own .gov URL, partners point DNS for sampleprogram.sampleagency.gov at a CloudFront CDN service created by a cloud.gov broker. The Federalist team directs the CDN service to load from the proxy URL, and since the proxy is loading from S3, that completes a technical connection from the live URL to the S3 bucket contents. 28 | 29 | Here's a full example chain: 30 | 31 | - https://federalist-modern-team-template.18f.gov/ is CNAME'd to https://d2xyasfn4889hb.cloudfront.net/ 32 | - https://d2xyasfn4889hb.cloudfront.net/ is set to load from [https://federalist-proxy.app.cloud.gov/site/18f/federalist-modern-team-template/](https://federalist-proxy.app.cloud.gov/site/18f/federalist-modern-team-template/) 33 | - [https://federalist-proxy.app.cloud.gov/site/18f/federalist-modern-team-template/](https://federalist-proxy.app.cloud.gov/site/18f/federalist-modern-team-template/) proxies [http://cg-06ab120d-836f-49a2-bc22-9dfb1585c3c6.s3-website-us-gov-west-1.amazonaws.com/site/18f/federalist-modern-team-template/](http://cg-06ab120d-836f-49a2-bc22-9dfb1585c3c6.s3-website-us-gov-west-1.amazonaws.com/site/18f/federalist-modern-team-template/) 34 | 35 | The URLs above have broken CSS and assets because published Federalist sites on their own URLs don't publish to a "/site/18f" directory. The above links are showing HTML content that is published at [https://federalist-modern-team-template.18f.gov/](https://federalist-modern-team-template.18f.gov/). The assets for this site are at addresses like [https://federalist-modern-team-template.18f.gov/assets/img/logo-main.gif](https://federalist-modern-team-template.18f.gov/assets/img/logo-main.gif) - whereas to display properly on the proxy or S3 buckets the assets would need to be published at https://federalist-modern-team-template.18f.gov/site/18f/assets/img/logo-main.gif. See the "/site/18f/" in the second link? 36 | 37 | 38 | ### Technical steps to set up a new site 39 | 40 | 1. The partner confirms the site is ready for an initial scan; the Federalist team scans the site and sends to GSA IT for initial approval. 41 | 1. After initial scans, the partner confirms readiness for the site to go-live at a specific permanent URL (this URL process needs to happen within a few hours timespan when started). 42 | 1. The Federalist team uses the [cloud.gov CloudFront broker](https://cloud.gov/docs/services/cdn-route/) to begin set up for a distribution for a given URL. 43 | * We do this by accessing our org in cloud.gov and running the command `cf create-service cdn-route cdn-route YOUR.URL.gov-route -c '{"domain": "YOUR.URL.gov", "origin": "federalist-proxy.app.cloud.gov", "path": "/site//"}'`. Note that the path argument here does not have a trailing slash. 44 | 1. After running the command above, the command `cf service YOUR.URL.gov-route` is used to retrieve the CloudFront URL to be used in DNS changes. We communicate that URL to whoever sets the DNS records. 45 | 1. The partner sets DNS records with a CNAME to point the subdomain (e.g. `yourprogram.youragency.gov`) to the CloudFront distribution URL (e.g. `d2oezh1w8w4o1u.cloudfront.net`). 46 | * It takes roughly 15-30 minutes for the CNAME to a `d2oezh1w8w4o1u.cloudfront.net`-style URL to propagate and the broker to create an HTTPS certificate, which also must propagate. Once `yourprogram.youragency.gov` shows site content (perhaps without images or CSS) under the correct HTTPS certificate, the CloudFront delegation process is complete. 47 | 1. The partner then modifies their site's Federalist's configuration with the custom URL to ensure assets and CSS are loaded at the custom URL. This is deliberate so that the site only loads at the correct URL, such as [https://federalist-modern-team-template.18f.gov/](https://federalist-modern-team-template.18f.gov/). **Please note that URLs must start with https://**. 48 | 1. The site is then served from the CloudFront broker with automatic HTTPS. Partners retain control of DNS. 49 | 50 | Here's a [specific GitHub issue](https://github.com/18F/federalist/issues/551#issuecomment-255841203) with instructions from a successful migration. Note that the HTTPS certifications are managed automatically by the broker using [Let's Encrypt](https://en.wikipedia.org/wiki/Let%27s_Encrypt), which means there is no cost for the HTTPS certificate to partners or 18F. 51 | -------------------------------------------------------------------------------- /pages/documentation/supported-site-engines.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Supported Site Engines 3 | permalink: /documentation/supported-site-engines/ 4 | layout: page 5 | sidenav: documentation 6 | redirect_from: 7 | - /pages/using-federalist/supported-site-engines/ 8 | --- 9 | 10 | ## Current Support 11 | - [Jekyll](http://jekyllrb.com) 12 | - [Hugo](https://gohugo.io/) 13 | - Node.js - Runs a [Node](https://nodejs.org) script 14 | - Static - Pushes the files in your repository to S3 without modifying them, useful for exports from content management systems or web development tools. 15 | 16 | ## Requirements 17 | For all engines **except Static** Federalist will serve whatever is in the `_site` folder so you should either: 18 | - configure the generator to produce output in the `_site` folder OR 19 | - create a symlink from `_site` to whatever folder will contain the generator's output 20 | 21 | ### Node 22 | A Node script can be run to generate a site OR as a preliminary step to generating one with Jekyll or Hugo. To use a Node script as the generator, choose **Node.js** as the **Site Engine** in the Advanced Settings configuration for your site. 23 | 24 | For more details on using Node see [node on federalist]({{site.baseurl}}/documentation/node-on-federalist). 25 | 26 | ## Jekyll Resources 27 | Federalist can generate any Jekyll website, which lets you build custom websites hosted on Federalist. For documentation on getting started with Jekyll, see [jekyllrb.com](http://jekyllrb.com/). 28 | 29 | For an example of a Jekyll site optimized for Federalist, see our [templates]({{site.baseurl}}/documentation/templates/). 30 | 31 | ### Jekyll build features 32 | 33 | Federalist provides features beyond just generating Jekyll sites. The steps below outline how to set up custom websites that best take advantage of these features. 34 | 35 | ### Configuration 36 | 37 | Federalist adds a `site.branch` attribute to your global site object with the value of the current branch name. You can access this value in your templates and content and use it to style builds based on the working branch. 38 | 39 | ### Metadata defaults 40 | 41 | If you [specify front-matter defaults](http://jekyllrb.com/docs/configuration/#front-matter-defaults) in your Jekyll site configuration, Federalist will pre-fill the front-matter of a new post with these defaults. 42 | 43 | ### Base URLs 44 | 45 | To handle routing sites for previews, Federalist automatically sets a `baseurl` path for your site. This essentially nests your site in a subdirectory under the `federalist.18f.gov` domain, such as `federalist.18f.gov/preview/18f/hub/new-draft`, where `/preview/18f/hub` is the `baseurl`. 46 | 47 | All links to other pages or resources on the site require a `baseurl` prefix. If you're designing a custom template to work with Federalist, make sure all references to relative links include `site.baseurl` prefixes, including trailing slashes, as follows: 48 | 49 | Link: `{% raw %}[About Us]({{site.baseurl}}/about-us){% endraw %}` 50 | 51 | Image: `{% raw %}![18F]({{site.baseurl}}/uploads/18f-logo.png){% endraw %}` 52 | 53 | ### Conditionally set robots 54 | 55 | To instruct search engines not to index the `preview` builds of your site, try adding the following code within your site's `` tags which are most likely found in your template's head.html or meta.html file: 56 | {% raw %} 57 | ```markdown 58 | {% unless site.branch == "master" %} 59 | 60 | {% endunless %} 61 | ``` 62 | {% endraw %} 63 | ***Note:*** This code sample assumes the live version of your site's code is maintained in the `master` branch of your site's code repository. 64 | 65 | For all versions of your site that aren't built from `master`, the source code of the site will contain the code above. For an example, see [here](https://federalist-proxy.app.cloud.gov/preview/18f/federalist-docs/wslack-patch-1/), view source, and jump to line 57. 66 | 67 | ### Jekyll Plugins 68 | 69 | Jekyll has a plugin system for adding custom features to the build process of your website. Use-cases for plugins include automatically generating new pages or templates, fetching data or content from external resources, and CCS or JavaScript compilation. [Learn more about Jekyll plugins](http://jekyllrb.com/docs/plugins/). 70 | 71 | Federalist supports Jekyll plugins, enabling any plugins in a site's `_plugins` directory. If the site includes a `Gemfile`, Federalist will also run `bundle install && bundle exec jekyll build` to install required Ruby gems and generate the site with those libraries available for use in plugins. You can also use a `Gemfile` to change the version of Jekyll used to build the site. 72 | 73 | Several dependencies are already available for use in the building environment. These include `ruby`, `python`, and `node.js`. You can write plugins that take advantage of these without needing a `Gemfile`. 74 | 75 | To see the exact configuration of the build environment, see the [build environment `Dockerfile`](https://github.com/18F/federalist-garden-build/blob/master/Dockerfile). 76 | 77 | **Note:** using `Gemfile` may considerably slow down the generation of your website, depending on how long the `bundle install` step takes to complete. 78 | 79 | ## Hugo Resources (experimental) 80 | 81 | Federalist can also generate websites with [Hugo](http://gohugo.io/), the Go-based site generator. See the [Hugo Docs](https://gohugo.io/documentation/) for getting started with Hugo. 82 | 83 | ### Hugo version 84 | 85 | When building a Federalist site using Hugo, the desired version of Hugo for building your site must be specified in a `.hugo-version` file located in your repository's root directory. 86 | >Sample .hugo-version file contents: 87 | ```markdown 88 | 0.48.0 89 | ``` 90 | >For an extended Hugo version: 91 | ```markdown 92 | extended_0.48.0 93 | ``` 94 | -------------------------------------------------------------------------------- /assets/images/graphic-template.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | thumb - stroked - usds home wire blue copy 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | --------------------------------------------------------------------------------