diff --git a/.eslintrc.yml b/.eslintrc similarity index 100% rename from .eslintrc.yml rename to .eslintrc diff --git a/.hound.yml b/.hound.yml index 6917ff604..43fe4b3e7 100644 --- a/.hound.yml +++ b/.hound.yml @@ -6,6 +6,7 @@ jshint: eslint: enabled: true + config_file: .eslintrc ignore_file: .eslintignore ruby: diff --git a/.pa11yci b/.pa11yci new file mode 100644 index 000000000..ae984db62 --- /dev/null +++ b/.pa11yci @@ -0,0 +1,5 @@ +{ + "defaults": { + "hideElements": ".speakerdeck-iframe, twitterwidget, iframe, #rufous-sandbox, #instagram-media-payload-0" + } +} diff --git a/Accessibility Scanning Using Pa11y-ci.md b/Accessibility Scanning Using Pa11y-ci.md new file mode 100644 index 000000000..ac8085365 --- /dev/null +++ b/Accessibility Scanning Using Pa11y-ci.md @@ -0,0 +1,131 @@ +## Accessibility Scanning Using Pa11y-ci + +### Introduction + +Building a website or application that is easy accessible toeveryone is not only an important of the user experience, but also a requirement of all federally funded projects. GSA provides a helpful [Section 508](https://section508.gov) portal. [Pa11y](https://github.com/pa11y/pa11y) is an automation tool that helps you scan your static web pages to check for accessibility problems and errors. It can be setup on your machine locally or remotely using a CI tool. + +### Installation and setup(For MacOS) + +1. [Concourse CI](https://concourse.ci/index.html) allows you to run multiple compliance scanning jobs on your machine using a virtual machine. It is highly recommended to go through its [excellent documentation and "Hello World" tutorial ](https://concourse.ci/hello-world.html) before writing custom jobs for your project. + +2. If you want to run locally Pa11y-ci you will need to : + + * install **vagrant** and **virtualbox** ](http://sourabhbajaj.com/mac-setup/Vagrant/README.html) + * use [The Fly CLI](https://concourse.ci/fly-cli.html) , a command line tool for Concourse which is used for a number of tasks from connecting to a shell in one of your build's containers to uploading new pipeline configuration into a running Concourse. + +3. If you're on MacOS , you will have to `chmod +x` the downloaded binary and put it in your `$PATH`. This can be done in one fell swoop with `install path/to/fly /usr/local/bin/fly` + +4. Run Vagrant + + ```sh + vagrant init concourse/lite # creates ./Vagrantfile + vagrant up # downloads the box and spins up the VM + ``` + +5. Login into fly + + `fly -t lite login -c http://192.168.100.4:8080` + + ​ + +### Running Pa11y-ci on your local machine + +1. Create a `.yml` file containing the job with tasks that you want to run + +`touch accessibility-scan.yml` + +`vim accessibility-scan.yml` + +```yml +jobs: + - name: accessibility-scan + plan: + - task: run-pa11y + config: + platform: linux + image_resource: + type: docker-image + source: + repository: node + run: + path: sh + args: + - -exc + - | + npm install -g pa11y-ci + npm install -g phantomjs + mkdir accessibility-scan + pa11y-ci --json --sitemap https://18f.gsa.gov/sitemap.xml > accessibility-scan/summary.txt + cat accessibility-scan/summary.txt +``` + +`type` is almost always going to be `docker-image` . `pa11y-ci` requires node, so we are using a `node` docker-image. + +`run` section contains a series of shell command that we are executing: + +* install pa11y-ci and phantomjsfrom the node package manager(npm) + +* making a directory and telling pa11y-ci to pipe the results of the scan into a `json` file + + the command is like so `pa11y-ci --json --sitemap https://[18f-static-site-url]/sitemap.xml > dir/file` + +* printing the results in our CLI `cat…` (for debugging purposes, optional) + +**Note that** we are using the `sitemap.xml` file instead of individual files(much more efficient) + +2. Run + +```shell +fly -t lite set-pipeline -p accessibility-scan -c accessibility-scan.yml +``` + +3. Go to the `URL` displayed on your CLI. **Click the plus sign on top right corner and toggle side bar and press play on your pipeline**. Pipelines are posed by default. + + ​ + +### Running Pa11y-ci with CircleCI(experimental) + +If you want to run Pa11y-ci per pull request on your project: + +1. Create a bash file `accessibility-scan.sh` in your project home directory to tell it to run either on a circleci supported branch or your localhost + + ```shell + if [[ -n $CIRCLE_BRANCH ]]; then + + echo "scanning site using sitemap from 18F/${CIRCLE_BRANCH}" + + pa11y-ci --sitemap https://federalist.18f.gov/preview/18F/18f.gsa.gov/${CIRCLE_BRANCH}/sitemap.xml + + else + + echo "scanning site using localhost sitemap" + pa11y-ci --sitemap http://localhost:4000/sitemap.xml + ``` + +2. Modify your `circle.yml` to add pa11y-ci + + ​ + + ```yaml + machine: + ruby: + version: + 2.2.3 + + dependencies: + pre: + - [Your-other-commands] + - nvm install stable && nvm alias default stable + - npm test + - npm install -g pa11y-ci + test: + pre: + - bundle exec htmlproofer _site --disable-external --allow-hash-href --empty-alt-ignore --url-ignore 18f@gsa.gov + - echo CIRCLE_BRANCH + - echo + - npm run --harmony accessibility-scan + ``` + + + +### Adding Pa11y-ci in The Compliance Viewer(In Progress) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 45b531372..18bbbb303 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,61 +1,97 @@ -This is a repo to design a beta version of 18f.gsa.gov based on the U.S. -Web Design Standards and with a complete refresh of much of the content. - -## Where Contributions Go - -Thanks for planning to contribute. Please read the below guidelines to know what to expect before submitting a contribution. Submit contributions to https://github.com/18F/18f.gsa.gov as pull requests to the `master` branch. 18F team members should submit pull requests from a branch. Outside contributors will need to fork this repo. - -## Front end architecture -### CSS -- Styling will be built from the US Web Design Standards. -- CSS methodology will be inherited from the WDS, which inherits mostly from the [18f front end guide](https://pages.18f.gov/frontend/css-coding-styleguide/architecture/). - - Use [18F modifed BEM naming convention](https://pages.18f.gov/frontend/css-coding-styleguide/naming/) - - Componentized CSS: start with tag rules and only becomes more specific as necessary, using component classes. -- Will update the WDS library when it publishes a change required by the site. Otherwise will update bi-monthly (see #1877). -- The codebase will be visual regression tested when a suitable tool is found for 18F. -- The Sass code should be linted with `scss-lint` (see #1878) - - The [18F CSS linting configuration](https://raw.githubusercontent.com/18F/frontend/18f-pages-staging/.scss-lint.yml) will be used. - - If linting fails, it will also fail the tests, but not the build. -- Will default to [semantic HTML5](http://www.w3schools.com/html/html5_semantic_elements.asp). - - -### Images -- Will use `` and `xlink` (looking for link) for icons. -- All blog images should be under 800kb in total, un-minified size. +This document is about how to contribute to the 18f.gsa.gov site. This process looks a bit different depending on whether you’re a member of the public, an 18F employee, or a member of the outreach or site team. Here’s what you can find in this doc: + +* [Public contributions](#public-contributions) +* [18F contributions](#18f-contributions) + - [Branches](#branches) + - [Front end architecture](#front-end-architecture) + - [Standards and benchmarks](#standards-and-benchmarks) +* [Public domain](#public-domain) + +## Public contributions + +We're so glad you're thinking about contributing to an 18F open source project! If you're unsure about anything, just [send us an email](mailto:18f@gsa.gov) with your question — 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. + +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. + +We encourage you to read this project's CONTRIBUTING policy (you are here), its [LICENSE](LICENSE.md), and its [README](README.md). + +* If you see an error or have feedback, the best way to let us know is to file an issue. +* To contribute a specific change to the site, outside contributors will need to fork this repo. + +## 18F contributions + +There is a team actively working on the site. You can find us in Slack in the #18f-site or #beta-18F-site channels (limited access). + +### Branches + +Any 18F team member should be able to make a branch of the site and submit a pull request. Doing so will also generate a preview URL we can use to inspect your changes. + +Because new blog posts are published several times a week, we use several branches to manage parallel work in a predictable way: + +* Submit **blog posts and minor content edits** as pull requests to the `master` branch. +* Submit **new design work, content changes, and features** as pull requests to the `dev` branch. This will allow us to test and review batches of changes before deploying them. + +**The `master`, `staging`, and `production` branches are protected.** Only administrators of the repo can push directly to those branches. 18F teammates who don’t think they have the correct permissions should ask in the #18f-site channel. + +### Merging pull requests + +In your pull request (PR), tag anyone who should review the work and note what they should be reviewing. In general: + +- Don’t merge your own PRs +- If your PR includes many small, incremental commits, consider squashing them +- Don’t merge until linters pass, unless reviewers approve exceptions + +### Front end architecture + +This site is based on the [U.S. +Web Design Standards](https://standards.usa.gov/) (WDS). It is developed using [Jekyll](https://jekyllrb.com/), a static site generator based on the Ruby programming language. + +We default to using [semantic HTML5](http://www.w3schools.com/html/html5_semantic_elements.asp). + +We use [HoundCI](https://houndci.com/) to automate Sass, JavaScript, and Ruby linting. + +We use [CircleCI](https://circleci.com/) to run HTML Code Sniffer. + +#### CSS + +CSS methodology is inherited from the WDS, which inherits mostly from the [18f front end guide](https://pages.18f.gov/frontend/css-coding-styleguide/architecture/). + +- Use [18F modifed BEM naming convention](https://pages.18f.gov/frontend/css-coding-styleguide/naming/) +- Componentized CSS: start with tag rules and only becomes more specific as necessary, using component classes + +The 18F-site team will update the WDS library when it publishes a change required by the site; otherwise it will update bi-monthly (see [issue #1877](https://github.com/18F/18f.gsa.gov/issues/1877)) + +#### Images + +- All icons should use `` and `xlink` (looking for link) formats +- All blog images should be under 800kb in total, un-minified size - Images should be under 600Kb after being minified -- All raster images should be minified with a tool such as [grunt-imagemin](https://github.com/gruntjs/grunt-contrib-imagemin). +- All raster images should be minified with a tool such as [grunt-imagemin](https://github.com/gruntjs/grunt-contrib-imagemin) +#### JavaScript -### JavaScript -- The site will be developed with Jekyll so will have a ruby-based build. -- Is required to work without JavaScript. -- jQuery will be required for the WDS. -- No heavy JS framework is required. -- Should use the AirBnB linter configuration for JavaScript, if linting fails, it will also fail the tests, but not the build. (See: #1879) -- Ruby gems will be used for front end dependency management. -- JavaScript will not be bundled. -- There will be a manual testing script that will be required to walk through for each PR. +This site does not use any heavy JavaScript frameworks, and should always work without JavaScript. +- jQuery is included in the WDS +- Ruby gems is used for front end dependency management -### Devices -- All versions of IE that Microsoft supports; newest Chrome/FF. -- Mobile first will be employed. -- Every applicable change should be run through HTML code sniffer. +## Standards and benchmarks +### Device and browser support + +- The website supports all versions of Internet Explorer still supported by Microsoft, as well as recent versions of Chrome, Safari, and Firefox +- The website should be designed with a mobile-first approach ### Performance -- Will measure against the following custom events: - - Time to blog post image - - Time to main image and callout text. - - Time til first blog post title shows up on page with all blog posts. -- Each of these should load in under a second + +Each of the following events should load in under a second: + +- Time to blog post image +- Time to main image and callout text +- Time until first blog post title shows up on page with all blog posts ## Public domain -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/). +For detailed license information, see [LICENSE](LICENSE.md). -All contributions to this project will be released under the CC0 -dedication. By submitting a pull request, you are agreeing to comply -with this waiver of copyright interest. +All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest. \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..accae5894 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +FROM ruby:2.3.1 + +# set locales +RUN apt-get update >/dev/null && \ + apt-get install -y locales >/dev/null && \ + echo "en_US UTF-8" > /etc/locale.gen && \ + locale-gen en_US.UTF-8 && \ + export LANG=en_US.UTF-8 && \ + export LANGUAGE=en_US:en && \ + export LC_ALL=en_US.UTF-8 + +RUN curl -sL https://deb.nodesource.com/setup_4.x | bash - && \ +apt-get install -y nodejs + + +COPY Gemfile Gemfile.lock /app/ + +RUN cd /app && gem install bundler && bundle install \ No newline at end of file diff --git a/Gemfile b/Gemfile index c1d428fa7..f2cba9443 100644 --- a/Gemfile +++ b/Gemfile @@ -6,7 +6,7 @@ gem "jekyll", '~> 3.1' gem "html-proofer" group :jekyll_plugins do - if ENV['FAST_BUILDS'] + if ENV['FAST_BUILDS'] == 'true' puts 'not using jekyll-archives because its sloooooooooow' else gem 'jekyll-archives', :git => 'https://github.com/jekyll/jekyll-archives.git' @@ -22,6 +22,8 @@ group :jekyll_plugins do gem 'jekyll-seo-tag' end gem 'jemoji' + group :development do gem 'pry' + gem 'rb-readline' end diff --git a/Gemfile.lock b/Gemfile.lock index 65bfe4be4..65c6df500 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -8,19 +8,19 @@ GEM thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) addressable (2.4.0) - coderay (1.1.0) + coderay (1.1.1) colorator (1.1.0) colored (1.2) - ethon (0.9.0) + ethon (0.9.1) ffi (>= 1.3.0) ffi (1.9.14) forwardable-extended (2.6.0) gemoji (2.1.0) - html-pipeline (2.3.0) - activesupport (>= 2, < 5) + html-pipeline (2.4.2) + activesupport (>= 2) nokogiri (>= 1.4) - html-proofer (3.0.6) - activesupport (~> 4.2) + html-proofer (3.2.0) + activesupport (>= 4.2, < 6.0) addressable (~> 2.3) colored (~> 1.2) mercenary (~> 0.3.2) @@ -30,7 +30,8 @@ GEM yell (~> 2.0) htmlentities (4.3.4) i18n (0.7.0) - jekyll (3.2.0) + jekyll (3.3.0) + addressable (~> 2.4) colorator (~> 1.0) jekyll-sass-converter (~> 1.0) jekyll-watch (~> 1.1) @@ -40,31 +41,34 @@ GEM pathutil (~> 0.9) rouge (~> 1.7) safe_yaml (~> 1.0) - jekyll-feed (0.4.0) + jekyll-feed (0.8.0) + jekyll (~> 3.3) jekyll-paginate (1.1.0) jekyll-redirect-from (0.11.0) jekyll (>= 2.0) jekyll-sass-converter (1.4.0) sass (~> 3.4) - jekyll-seo-tag (0.1.3) - jekyll (>= 2.0) - jekyll-sitemap (0.9.0) + jekyll-seo-tag (2.0.0) + jekyll (~> 3.1) + jekyll-sitemap (0.12.0) + jekyll (~> 3.3) jekyll-watch (1.5.0) listen (~> 3.0, < 3.1) jekyll_frontmatter_tests (0.0.8) jekyll (>= 2.0, < 4.0) - jekyll_pages_api (0.1.5) + jekyll_pages_api (0.1.6) htmlentities (~> 4.3) jekyll (>= 2.0, < 4.0) jekyll_pages_api_search (0.4.4) jekyll_pages_api (~> 0.1.4) sass (~> 3.4) - jemoji (0.5.1) + jemoji (0.7.0) + activesupport (~> 4.0) gemoji (~> 2.0) html-pipeline (~> 2.2) - jekyll (>= 2.0) + jekyll (>= 3.0) json (1.8.3) - kramdown (1.11.1) + kramdown (1.12.0) liquid (3.0.6) listen (3.0.8) rb-fsevent (~> 0.9, >= 0.9.4) @@ -72,21 +76,20 @@ GEM mercenary (0.3.6) method_source (0.8.2) mini_portile2 (2.1.0) - minitest (5.9.0) - nokogiri (1.6.8) + minitest (5.9.1) + nokogiri (1.6.8.1) mini_portile2 (~> 2.1.0) - pkg-config (~> 1.1.7) parallel (1.9.0) pathutil (0.14.0) forwardable-extended (~> 2.6) - pkg-config (1.1.7) - pry (0.10.3) + pry (0.10.4) coderay (~> 1.1.0) method_source (~> 0.8.1) slop (~> 3.4) rb-fsevent (0.9.7) rb-inotify (0.9.7) ffi (>= 0.5.0) + rb-readline (0.5.3) redcarpet (3.3.4) rouge (1.11.1) safe_yaml (1.0.4) @@ -115,10 +118,14 @@ DEPENDENCIES jekyll_pages_api_search jemoji pry + rb-readline redcarpet RUBY VERSION - ruby 2.2.3p173 + ruby 2.3.1p112 + +RUBY VERSION + ruby 2.3.1p112 BUNDLED WITH - 1.12.5 + 1.13.5 diff --git a/LICENSE.md b/LICENSE.md index 72ecf6ba7..24d05d3b4 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,32 +1,37 @@ -As a work of the United States Government, this project is in the -public domain within the United States. +This project includes a mix of the following: -Additionally, we waive copyright and related rights in the work -worldwide through the CC0 1.0 Universal public domain dedication. +* Open source works that are not in the public domain +* Open source work by the U.S. government that is in the public domain -## CC0 1.0 Universal Summary +## Parts of this project that are not in the public domain + +This site is based on the Draft U.S. Web Design Standards (WDS), which also includes works under the SIL Open Font License, MIT license, and public domain. Files from the WDS are in `_sass/_libs/wds/`, and the full license details for those assets are described in the [WDS license file](https://github.com/18F/web-design-standards/blob/staging/LICENSE.md). + +This site also includes a number of images that have various copyright statuses, including Creative Commons licenses and public domain. These images are in the `assets` directory, and license details are available on the posts and pages that display the images. + +## The rest of this project is in the worldwide public domain + +As a work of the United States government, this project is in the public domain within the United States. + +Additionally, we waive copyright and related rights in the work worldwide through the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/). + +### CC0 1.0 Universal Summary This is a human-readable summary of the [Legal Code (read the full text)](https://creativecommons.org/publicdomain/zero/1.0/legalcode). -### No Copyright +#### No copyright + +The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. + +You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission. -The person who associated a work with this deed has dedicated the work to -the public domain by waiving all of his or her rights to the work worldwide -under copyright law, including all related and neighboring rights, to the -extent allowed by law. +#### Other information -You can copy, modify, distribute and perform the work, even for commercial -purposes, all without asking permission. +In no way are the patent or trademark rights of any person affected by CC0, nor are the rights that other persons may have in the work or in how the work is used, such as publicity or privacy rights. -### Other Information +Unless expressly stated otherwise, the person who associated a work with this deed makes no warranties about the work, and disclaims liability for all uses of the work, to the fullest extent permitted by applicable law. When using or citing the work, you should not imply endorsement by the author or the affirmer. -In no way are the patent or trademark rights of any person affected by CC0, -nor are the rights that other persons may have in the work or in how the -work is used, such as publicity or privacy rights. +### Contributions to this project -Unless expressly stated otherwise, the person who associated a work with -this deed makes no warranties about the work, and disclaims liability for -all uses of the work, to the fullest extent permitted by applicable law. -When using or citing the work, you should not imply endorsement by the -author or the affirmer. +As stated in [CONTRIBUTING](CONTRIBUTING.md), all contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest. \ No newline at end of file diff --git a/README.md b/README.md index 865f2bc1f..f533aaaf8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,10 @@ -# 18F's flagship website +# 18F’s flagship website -A fresh start for 18f.gsa.gov. Online at beta.18f.gov. We use the [Draft U.S. Web Design standards](https://standards.usa.gov/) as a frontend framework. The site is built and served through [the Federalist platform](https://federalist.18f.gov). A detailed history of the work that went into developing this redesign can be found at [18F/beta.18f.gov](https://github.com/18F/beta.18f.gov) and an archived copy of the original website, can be found [on a Federalist preview](https://federalist.18f.gov/preview/18F/18f.gsa.gov/staging). +This repo houses the 18F website. We use the [Draft U.S. Web Design standards](https://standards.usa.gov/) as a front end framework. The site is built and served through [the Federalist platform](https://federalist.18f.gov). + +### History + +A detailed history of the work that went into developing this redesign can be found at [18F/beta.18f.gov](https://github.com/18F/beta.18f.gov). An archived copy of the original website can be found [on a Federalist preview](https://federalist.18f.gov/preview/18F/18f.gsa.gov/staging). ## Installation @@ -9,12 +13,25 @@ Run each of the following steps to get the site up and running. 1. `git clone git@github.com:18F/18f.gsa.gov` 2. `cd 18f.gsa.gov` 3. `bundle install` -4. `bundle exec jekyll serve` +4. `./serve` -To dramatically speed up rebuild times (from more than 20 seconds to around 5), you can also run `./serve` or `./build` for step 4. These are shorthand for a combination of commands that disable certain plugins. This is especially useful if you're drafting a blog post or formatting single pages. **With this method you will disable search and all archives.** +To enable the ability to search and see archives, you can run `bundle exec jekyll serve` instead of `./serve` for the server start command. This will **slow down rebuild times dramatically**, so use this command with discretion. You should be able to see the site at: http://127.0.0.1:4000 +## Alternative Installation using Docker +Using Docker can make dependencies management easier, but can also slow down your build time. You can find out more in +[this discussion](https://github.com/18F/18f.gsa.gov/pull/1688#issue-152998027) + +*To try this out on MacOS:* + +1. Install [Docker Toolbox](https://www.docker.com/products/docker-toolbox). +2. Make sure Docker is running and `cd` into your project folder +3. Run `docker-compose build` to build the docker image and its dependencies. You only need to build once, but if there was an error with the build , rebuild using the `--no-cache` option like so `docker-compose build --no-cache` to avoid using the old version of the docker image. +4. Run `docker-compose up`. + Note: if you want to run a single command and bypass your `Dockerfile` for debugging purposes, you can do like so `docker-compose run app ` (for instance, you can run bundle `docker-compose run app bundle install`) +5. Visit [http://192.168.99.100:4000](http://192.168.99.100:4000/) in your browser. + ## System security controls The site is a static website with HTML, CSS, and Javascript. Deployments are done through the Federalist platform. @@ -26,14 +43,9 @@ The site is a static website with HTML, CSS, and Javascript. Deployments are don 1. Federalist responds to a webhook on GitHub and runs Jekyll to generate static web files and puts them in an S3 bucket 1. We map 18f.gsa.gov URL to the S3 bucket -### Protected branches - -Any 18F team member should be able to make a branch of the site and submit a pull request. Doing so will also generate a preview URL we can use to inspect your changes. **The `master` `staging` and `production` branches are protected** this means that only administrators of the repo can push directly to those branches. 18F teammates who don't think they have the correct permissions should hit us up in the #18f-site channel. - ### Constraints * We use Cloudfront to map 18f.gsa.gov to an S3 endpoint -* IE 9 and above * Federalist, and Cloudfront do not support the following HTTPS implementations: * [HSTS Headers](https://github.com/18F/18f.gsa.gov/issues/1871) * [HTTP/2](https://github.com/18F/18f.gsa.gov/issues/1872) diff --git a/_team/aaron.md b/_authors/aaron.md similarity index 83% rename from _team/aaron.md rename to _authors/aaron.md index d6df1cea5..7daf050fb 100644 --- a/_team/aaron.md +++ b/_authors/aaron.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: 18F ---- \ No newline at end of file +redirect_from: /team/aaron +--- diff --git a/_team/ada-lovelace.md b/_authors/ada-lovelace.md similarity index 96% rename from _team/ada-lovelace.md rename to _authors/ada-lovelace.md index dad4c7bfb..90f7751c7 100644 --- a/_team/ada-lovelace.md +++ b/_authors/ada-lovelace.md @@ -17,4 +17,5 @@ joke: | Due to other commitments, Ada will be working for the team only on April 1st. If you'd like to join Ada (and not just for April 1) you can see all of our openings and learn more about working at 18F.) layout: nothing ---- \ No newline at end of file +redirect_from: /team/ada-lovelace +--- diff --git a/_team/adam-kendall.md b/_authors/adam-kendall.md similarity index 80% rename from _team/adam-kendall.md rename to _authors/adam-kendall.md index db9f4a6f0..04b6ecfed 100644 --- a/_team/adam-kendall.md +++ b/_authors/adam-kendall.md @@ -9,4 +9,5 @@ role: state: VA team: Engineering twitter: ---- \ No newline at end of file +redirect_from: /team/adam-kendall +--- diff --git a/_team/adrian-webb.md b/_authors/adrian-webb.md similarity index 82% rename from _team/adrian-webb.md rename to _authors/adrian-webb.md index f7845075e..011642cb0 100644 --- a/_team/adrian-webb.md +++ b/_authors/adrian-webb.md @@ -9,4 +9,5 @@ role: Technical Architect state: D.C. team: Consulting twitter: ---- \ No newline at end of file +redirect_from: /team/adrian-webb +--- diff --git a/_team/afeld.md b/_authors/afeld.md similarity index 83% rename from _team/afeld.md rename to _authors/afeld.md index 72c9c7684..b09437327 100644 --- a/_team/afeld.md +++ b/_authors/afeld.md @@ -9,4 +9,5 @@ state: NY github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/afeld +--- diff --git a/_team/alan-atlas.md b/_authors/alan-atlas.md similarity index 78% rename from _team/alan-atlas.md rename to _authors/alan-atlas.md index a4c94e24c..f43e91ef7 100644 --- a/_team/alan-atlas.md +++ b/_authors/alan-atlas.md @@ -9,4 +9,5 @@ role: state: WA team: twitter: ---- \ No newline at end of file +redirect_from: /team/alan-atlas +--- diff --git a/_team/alan-brouilette.md b/_authors/alan-brouilette.md similarity index 80% rename from _team/alan-brouilette.md rename to _authors/alan-brouilette.md index 127b628a9..d4a36019d 100644 --- a/_team/alan-brouilette.md +++ b/_authors/alan-brouilette.md @@ -9,4 +9,5 @@ role: Product Manager state: IL team: Product twitter: ---- \ No newline at end of file +redirect_from: /team/alan-brouilette +--- diff --git a/_team/alan-turing.md b/_authors/alan-turing.md similarity index 96% rename from _team/alan-turing.md rename to _authors/alan-turing.md index b8bf35c7f..7c7148a6c 100644 --- a/_team/alan-turing.md +++ b/_authors/alan-turing.md @@ -14,4 +14,5 @@ joke: | Due to other commitments, Mr. Turing will be working for the team only on April 1st. If you'd like to join Alan (and not just for April 1) you can see all of our openings and learn more about working at 18F.) layout: nothing ---- \ No newline at end of file +redirect_from: /team/alan-turing +--- diff --git a/_team/alan.md b/_authors/alan.md similarity index 85% rename from _team/alan.md rename to _authors/alan.md index 7fedf63f9..9e1c938f0 100644 --- a/_team/alan.md +++ b/_authors/alan.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Consulting ---- \ No newline at end of file +redirect_from: /team/alan +--- diff --git a/_team/alex-bisker.md b/_authors/alex-bisker.md similarity index 80% rename from _team/alex-bisker.md rename to _authors/alex-bisker.md index d79d770d8..41643e9d7 100644 --- a/_team/alex-bisker.md +++ b/_authors/alex-bisker.md @@ -9,4 +9,5 @@ role: state: New York team: Delivery twitter: ---- \ No newline at end of file +redirect_from: /team/alex-bisker +--- diff --git a/_team/alex-pandel.md b/_authors/alex-pandel.md similarity index 79% rename from _team/alex-pandel.md rename to _authors/alex-pandel.md index 393e528df..89472328f 100644 --- a/_team/alex-pandel.md +++ b/_authors/alex-pandel.md @@ -9,4 +9,5 @@ role: state: CA team: twitter: ---- \ No newline at end of file +redirect_from: /team/alex-pandel +--- diff --git a/_team/alexander-hamilton.md b/_authors/alexander-hamilton.md similarity index 95% rename from _team/alexander-hamilton.md rename to _authors/alexander-hamilton.md index 573ca25f3..7ff791205 100644 --- a/_team/alexander-hamilton.md +++ b/_authors/alexander-hamilton.md @@ -16,4 +16,5 @@ joke: | Due to other commitments, Alexander will be working for the team only on April 1st. If you'd like to join Alex (and not just for April 1) you can see all of our openings and learn more about working at 18F.) layout: nothing ---- \ No newline at end of file +redirect_from: /team/alexander-hamilton +--- diff --git a/_team/alla.md b/_authors/alla.md similarity index 86% rename from _team/alla.md rename to _authors/alla.md index 09d18852b..bfc19edaf 100644 --- a/_team/alla.md +++ b/_authors/alla.md @@ -9,4 +9,5 @@ role: Deputy for Acquisition state: DC team: Acquisition twitter: ---- \ No newline at end of file +redirect_from: /team/alla +--- diff --git a/_team/amanda-robinson.md b/_authors/amanda-robinson.md similarity index 81% rename from _team/amanda-robinson.md rename to _authors/amanda-robinson.md index fb8f3a23a..c22864d52 100644 --- a/_team/amanda-robinson.md +++ b/_authors/amanda-robinson.md @@ -9,4 +9,5 @@ role: Developer state: DC team: Delivery twitter: aertzeid ---- \ No newline at end of file +redirect_from: /team/amanda-robinson +--- diff --git a/_team/amanda-schonfeld.md b/_authors/amanda-schonfeld.md similarity index 78% rename from _team/amanda-schonfeld.md rename to _authors/amanda-schonfeld.md index d812ddce4..a15507993 100644 --- a/_team/amanda-schonfeld.md +++ b/_authors/amanda-schonfeld.md @@ -9,4 +9,5 @@ role: state: IL team: twitter: ---- \ No newline at end of file +redirect_from: /team/amanda-schonfeld +--- diff --git a/_team/amber.md b/_authors/amber.md similarity index 79% rename from _team/amber.md rename to _authors/amber.md index f6568cacc..93b04fd20 100644 --- a/_team/amber.md +++ b/_authors/amber.md @@ -9,4 +9,5 @@ role: state: team: twitter: ---- \ No newline at end of file +redirect_from: /team/amber +--- diff --git a/_team/amos.md b/_authors/amos.md similarity index 83% rename from _team/amos.md rename to _authors/amos.md index fbc09d08e..9452a02a2 100644 --- a/_team/amos.md +++ b/_authors/amos.md @@ -9,4 +9,5 @@ state: CA github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/amos +--- diff --git a/_team/andre.md b/_authors/andre.md similarity index 88% rename from _team/andre.md rename to _authors/andre.md index 92a7b07f4..db6c5a749 100644 --- a/_team/andre.md +++ b/_authors/andre.md @@ -13,4 +13,5 @@ project: - 18F Blog - 18f.gsa.gov - 18F Consulting ---- \ No newline at end of file +redirect_from: /team/andre +--- diff --git a/_team/andrew.md b/_authors/andrew.md similarity index 86% rename from _team/andrew.md rename to _authors/andrew.md index 4473988b2..69e16e692 100644 --- a/_team/andrew.md +++ b/_authors/andrew.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Presidential Innovation Fellowship ---- \ No newline at end of file +redirect_from: /team/andrew +--- diff --git a/_team/andrewmaier.md b/_authors/andrewmaier.md similarity index 82% rename from _team/andrewmaier.md rename to _authors/andrewmaier.md index 336bd03f1..ae1fc9eb9 100644 --- a/_team/andrewmaier.md +++ b/_authors/andrewmaier.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Design ---- \ No newline at end of file +redirect_from: /team/andrewmaier +--- diff --git a/_team/angela-colter.md b/_authors/angela-colter.md similarity index 77% rename from _team/angela-colter.md rename to _authors/angela-colter.md index 89cd6ac28..18d9427e0 100644 --- a/_team/angela-colter.md +++ b/_authors/angela-colter.md @@ -9,4 +9,5 @@ role: state: team: twitter: ---- \ No newline at end of file +redirect_from: /team/angela-colter +--- diff --git a/_team/anna.md b/_authors/anna.md similarity index 84% rename from _team/anna.md rename to _authors/anna.md index 5cea69371..ea2fff64d 100644 --- a/_team/anna.md +++ b/_authors/anna.md @@ -9,4 +9,5 @@ role: Project Manager github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/anna +--- diff --git a/_team/annalee.md b/_authors/annalee.md similarity index 83% rename from _team/annalee.md rename to _authors/annalee.md index 0ec32d4f2..721278246 100644 --- a/_team/annalee.md +++ b/_authors/annalee.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/annalee +--- diff --git a/_team/anthony-garvan.md b/_authors/anthony-garvan.md similarity index 78% rename from _team/anthony-garvan.md rename to _authors/anthony-garvan.md index c79267030..3ae098030 100644 --- a/_team/anthony-garvan.md +++ b/_authors/anthony-garvan.md @@ -9,4 +9,5 @@ role: state: team: twitter: ---- \ No newline at end of file +redirect_from: /team/anthony-garvan +--- diff --git a/_team/bateman.md b/_authors/bateman.md similarity index 83% rename from _team/bateman.md rename to _authors/bateman.md index af0779f34..003293b58 100644 --- a/_team/bateman.md +++ b/_authors/bateman.md @@ -9,4 +9,5 @@ state: DC github: batemapf twitter: team: ---- \ No newline at end of file +redirect_from: /team/bateman +--- diff --git a/_team/becky.md b/_authors/becky.md similarity index 85% rename from _team/becky.md rename to _authors/becky.md index ea91f0f36..7c9893847 100644 --- a/_team/becky.md +++ b/_authors/becky.md @@ -10,4 +10,5 @@ github: twitter: email: rebecca.sweger@gsa.gov team: Delivery ---- \ No newline at end of file +redirect_from: /team/becky +--- diff --git a/_team/ben.md b/_authors/ben.md similarity index 88% rename from _team/ben.md rename to _authors/ben.md index bd7d867ee..1766e2a95 100644 --- a/_team/ben.md +++ b/_authors/ben.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Presidential Innovation Fellows ---- \ No newline at end of file +redirect_from: /team/ben +--- diff --git a/_team/betsy-ross.md b/_authors/betsy-ross.md similarity index 95% rename from _team/betsy-ross.md rename to _authors/betsy-ross.md index 211228502..682bac665 100644 --- a/_team/betsy-ross.md +++ b/_authors/betsy-ross.md @@ -14,4 +14,5 @@ joke: | Due to other commitments, Betsy will be working for the team only on April 1st. If you'd like to join Betsy (and not just for April 1) you can see all of our openings and learn more about working at 18F.) layout: nothing ---- \ No newline at end of file +redirect_from: /team/betsy-ross +--- diff --git a/_team/bill.md b/_authors/bill.md similarity index 80% rename from _team/bill.md rename to _authors/bill.md index 8cab65f0f..29957f05f 100644 --- a/_team/bill.md +++ b/_authors/bill.md @@ -9,4 +9,5 @@ role: state: team: twitter: ---- \ No newline at end of file +redirect_from: /team/bill +--- diff --git a/_team/blacktm.md b/_authors/blacktm.md similarity index 84% rename from _team/blacktm.md rename to _authors/blacktm.md index 1e0ddb1b3..532c1acba 100644 --- a/_team/blacktm.md +++ b/_authors/blacktm.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Consulting ---- \ No newline at end of file +redirect_from: /team/blacktm +--- diff --git a/_team/boone.md b/_authors/boone.md similarity index 88% rename from _team/boone.md rename to _authors/boone.md index bffbc96cf..e53c71a8d 100644 --- a/_team/boone.md +++ b/_authors/boone.md @@ -13,4 +13,5 @@ project: - 18f.gsa.gov - Dashboard - 18F EDU +redirect_from: /team/boone --- diff --git a/_team/bradnunnally.md b/_authors/bradnunnally.md similarity index 81% rename from _team/bradnunnally.md rename to _authors/bradnunnally.md index b93e3d9b2..2d9bd5f59 100644 --- a/_team/bradnunnally.md +++ b/_authors/bradnunnally.md @@ -9,4 +9,5 @@ state: MO github: twitter: team: Design ---- \ No newline at end of file +redirect_from: /team/bradnunnally +--- diff --git a/_team/brandon.md b/_authors/brandon.md similarity index 84% rename from _team/brandon.md rename to _authors/brandon.md index 000dc0531..f31cc6e28 100644 --- a/_team/brandon.md +++ b/_authors/brandon.md @@ -9,4 +9,5 @@ role: Consultant state: GA team: 18F Consulting twitter: ---- \ No newline at end of file +redirect_from: /team/brandon +--- diff --git a/_team/brendan.md b/_authors/brendan.md similarity index 83% rename from _team/brendan.md rename to _authors/brendan.md index ad3758aa1..3b1d0a481 100644 --- a/_team/brendan.md +++ b/_authors/brendan.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Engineering ---- \ No newline at end of file +redirect_from: /team/brendan +--- diff --git a/_team/bret.md b/_authors/bret.md similarity index 84% rename from _team/bret.md rename to _authors/bret.md index ffe6f5930..666d7a031 100644 --- a/_team/bret.md +++ b/_authors/bret.md @@ -9,4 +9,5 @@ role: Product Lead github: twitter: team: DevOps ---- \ No newline at end of file +redirect_from: /team/bret +--- diff --git a/_team/brethauer.md b/_authors/brethauer.md similarity index 83% rename from _team/brethauer.md rename to _authors/brethauer.md index b61cca3a5..ecedb209a 100644 --- a/_team/brethauer.md +++ b/_authors/brethauer.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Design ---- \ No newline at end of file +redirect_from: /team/brethauer +--- diff --git a/_team/brian.md b/_authors/brian.md similarity index 84% rename from _team/brian.md rename to _authors/brian.md index 6549c86b4..a08844e14 100644 --- a/_team/brian.md +++ b/_authors/brian.md @@ -9,4 +9,5 @@ role: Developer state: MN team: Delivery twitter: ---- \ No newline at end of file +redirect_from: /team/brian +--- diff --git a/_team/britta-gustafson.md b/_authors/britta-gustafson.md similarity index 81% rename from _team/britta-gustafson.md rename to _authors/britta-gustafson.md index d1e6ef927..c2877f995 100644 --- a/_team/britta-gustafson.md +++ b/_authors/britta-gustafson.md @@ -9,4 +9,5 @@ role: Content Designer state: CA team: Design twitter: '' ---- \ No newline at end of file +redirect_from: /team/britta-gustafson +--- diff --git a/_team/captain-america.md b/_authors/captain-america.md similarity index 96% rename from _team/captain-america.md rename to _authors/captain-america.md index 3759c5805..6588a3c53 100644 --- a/_team/captain-america.md +++ b/_authors/captain-america.md @@ -14,4 +14,5 @@ joke: | Due to other commitments, Mr. America will be working at 18F only on April 1st. If you'd like to join Mr. America (and not just for April 1) you can see all of our openings and learn more about working at 18F.) layout: nothing ---- \ No newline at end of file +redirect_from: /team/captain-america +--- diff --git a/_team/carlo-costino.md b/_authors/carlo-costino.md similarity index 81% rename from _team/carlo-costino.md rename to _authors/carlo-costino.md index f5922a782..a923c674f 100644 --- a/_team/carlo-costino.md +++ b/_authors/carlo-costino.md @@ -9,4 +9,5 @@ role: Software engineer state: D.C. team: Delivery twitter: ---- \ No newline at end of file +redirect_from: /team/carlo-costino +--- diff --git a/_team/carolyn.md b/_authors/carolyn.md similarity index 83% rename from _team/carolyn.md rename to _authors/carolyn.md index 18ec6fd53..a2904e125 100644 --- a/_team/carolyn.md +++ b/_authors/carolyn.md @@ -9,4 +9,5 @@ role: User Experience Designer github: twitter: team: Design ---- \ No newline at end of file +redirect_from: /team/carolyn +--- diff --git a/_team/catherine.md b/_authors/catherine.md similarity index 84% rename from _team/catherine.md rename to _authors/catherine.md index 12aa89e92..3fa1e78c6 100644 --- a/_team/catherine.md +++ b/_authors/catherine.md @@ -9,4 +9,5 @@ state: Ohio github: catherinedevlin twitter: catherinedevlin team: Delivery ---- \ No newline at end of file +redirect_from: /team/catherine +--- diff --git a/_team/chrisc.md b/_authors/chrisc.md similarity index 83% rename from _team/chrisc.md rename to _authors/chrisc.md index d9c97f1c3..9aeb131cd 100644 --- a/_team/chrisc.md +++ b/_authors/chrisc.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Consulting ---- \ No newline at end of file +redirect_from: /team/chrisc +--- diff --git a/_team/christine.md b/_authors/christine.md similarity index 83% rename from _team/christine.md rename to _authors/christine.md index 51153e298..40bd5aa79 100644 --- a/_team/christine.md +++ b/_authors/christine.md @@ -9,4 +9,5 @@ state: CA github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/christine +--- diff --git a/_team/christopher-goranson.md b/_authors/christopher-goranson.md similarity index 81% rename from _team/christopher-goranson.md rename to _authors/christopher-goranson.md index 804727938..fb083d42f 100644 --- a/_team/christopher-goranson.md +++ b/_authors/christopher-goranson.md @@ -9,4 +9,5 @@ role: Project Manager state: TN team: 18F Consulting twitter: cgoranson ---- \ No newline at end of file +redirect_from: /team/christopher-goranson +--- diff --git a/_team/clinton-troxel.md b/_authors/clinton-troxel.md similarity index 80% rename from _team/clinton-troxel.md rename to _authors/clinton-troxel.md index 1754f0fe5..8b576bebe 100644 --- a/_team/clinton-troxel.md +++ b/_authors/clinton-troxel.md @@ -9,4 +9,5 @@ role: Developer state: WY team: Engineering twitter: ---- \ No newline at end of file +redirect_from: /team/clinton-troxel +--- diff --git a/_team/cm.md b/_authors/cm.md similarity index 84% rename from _team/cm.md rename to _authors/cm.md index ef01cea9d..7bec83695 100644 --- a/_team/cm.md +++ b/_authors/cm.md @@ -9,4 +9,5 @@ state: PA github: cmc333333 twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/cm +--- diff --git a/_team/colin-craig.md b/_authors/colin-craig.md similarity index 80% rename from _team/colin-craig.md rename to _authors/colin-craig.md index af19799f6..68b2ca479 100644 --- a/_team/colin-craig.md +++ b/_authors/colin-craig.md @@ -9,4 +9,5 @@ role: state: NC team: Engineering twitter: ---- \ No newline at end of file +redirect_from: /team/colin-craig +--- diff --git a/_team/colinmacarthur.md b/_authors/colinmacarthur.md similarity index 81% rename from _team/colinmacarthur.md rename to _authors/colinmacarthur.md index cf9f181b4..d6e1b2883 100644 --- a/_team/colinmacarthur.md +++ b/_authors/colinmacarthur.md @@ -9,4 +9,5 @@ state: MA github: twitter: team: Design ---- \ No newline at end of file +redirect_from: /team/colinmacarthur +--- diff --git a/_team/corey.mahoney.md b/_authors/corey.mahoney.md similarity index 81% rename from _team/corey.mahoney.md rename to _authors/corey.mahoney.md index 3691232c6..590452cbc 100644 --- a/_team/corey.mahoney.md +++ b/_authors/corey.mahoney.md @@ -9,4 +9,5 @@ role: Content designer state: CA team: Design twitter: ---- \ No newline at end of file +redirect_from: /team/corey.mahoney +--- diff --git a/_team/cristina.md b/_authors/cristina.md similarity index 83% rename from _team/cristina.md rename to _authors/cristina.md index 9ddd76b89..c05263629 100644 --- a/_team/cristina.md +++ b/_authors/cristina.md @@ -9,4 +9,5 @@ role: Deputy Director state: DC team: Talent twitter: ---- \ No newline at end of file +redirect_from: /team/cristina +--- diff --git a/_team/diego.md b/_authors/diego.md similarity index 88% rename from _team/diego.md rename to _authors/diego.md index 66c77f453..18de53d05 100644 --- a/_team/diego.md +++ b/_authors/diego.md @@ -12,4 +12,5 @@ team: Products and Platforms project: - cloud.gov - DevOps Guild ---- \ No newline at end of file +redirect_from: /team/diego +--- diff --git a/_team/dmayercantu.md b/_authors/dmayercantu.md similarity index 77% rename from _team/dmayercantu.md rename to _authors/dmayercantu.md index f29a0d682..a76a702f4 100644 --- a/_team/dmayercantu.md +++ b/_authors/dmayercantu.md @@ -7,4 +7,5 @@ role: team: city: New York state: NY ---- \ No newline at end of file +redirect_from: /team/dmayercantu +--- diff --git a/_team/duane-rollins.md b/_authors/duane-rollins.md similarity index 77% rename from _team/duane-rollins.md rename to _authors/duane-rollins.md index 9aaf6c491..8b292ba5d 100644 --- a/_team/duane-rollins.md +++ b/_authors/duane-rollins.md @@ -9,4 +9,5 @@ role: state: team: twitter: ---- \ No newline at end of file +redirect_from: /team/duane-rollins +--- diff --git a/_team/ed-mullen.md b/_authors/ed-mullen.md similarity index 83% rename from _team/ed-mullen.md rename to _authors/ed-mullen.md index ab8d55aa1..8823c1c2e 100644 --- a/_team/ed-mullen.md +++ b/_authors/ed-mullen.md @@ -9,4 +9,5 @@ role: Product Strategist state: New York team: Change Strategy twitter: ---- \ No newline at end of file +redirect_from: /team/ed-mullen +--- diff --git a/_team/egoodman.md b/_authors/egoodman.md similarity index 84% rename from _team/egoodman.md rename to _authors/egoodman.md index e8ae2fd63..5ed37854f 100644 --- a/_team/egoodman.md +++ b/_authors/egoodman.md @@ -9,4 +9,5 @@ state: CA github: esgoodman twitter: egoodman team: Design ---- \ No newline at end of file +redirect_from: /team/egoodman +--- diff --git a/_team/elaine.md b/_authors/elaine.md similarity index 87% rename from _team/elaine.md rename to _authors/elaine.md index ffc0d8e37..1a8aca2ed 100644 --- a/_team/elaine.md +++ b/_authors/elaine.md @@ -13,4 +13,5 @@ project: - 18f.gsa.gov - 18F Blog - DATA Act ---- \ No newline at end of file +redirect_from: /team/elaine +--- diff --git a/_team/emaland.md b/_authors/emaland.md similarity index 79% rename from _team/emaland.md rename to _authors/emaland.md index fd7c4f9d2..799850355 100644 --- a/_team/emaland.md +++ b/_authors/emaland.md @@ -9,4 +9,5 @@ role: state: team: twitter: ---- \ No newline at end of file +redirect_from: /team/emaland +--- diff --git a/_team/emileigh.md b/_authors/emileigh.md similarity index 88% rename from _team/emileigh.md rename to _authors/emileigh.md index 8aafa234a..ac4d7a24e 100644 --- a/_team/emileigh.md +++ b/_authors/emileigh.md @@ -14,4 +14,5 @@ project: - 18F Blog - Every Kid in a Park - OpenFEC ---- \ No newline at end of file +redirect_from: /team/emileigh +--- diff --git a/_team/eric.md b/_authors/eric.md similarity index 83% rename from _team/eric.md rename to _authors/eric.md index 662c64094..1a37ef49a 100644 --- a/_team/eric.md +++ b/_authors/eric.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/eric +--- diff --git a/_team/erica.md b/_authors/erica.md similarity index 83% rename from _team/erica.md rename to _authors/erica.md index 4a265d7d5..e9fe9b23f 100644 --- a/_team/erica.md +++ b/_authors/erica.md @@ -9,4 +9,5 @@ state: CA github: twitter: team: Design ---- \ No newline at end of file +redirect_from: /team/erica +--- diff --git a/_team/ericronne.md b/_authors/ericronne.md similarity index 79% rename from _team/ericronne.md rename to _authors/ericronne.md index e90f5a640..49a7ceaee 100644 --- a/_team/ericronne.md +++ b/_authors/ericronne.md @@ -9,4 +9,5 @@ state: IL github: twitter: team: ---- \ No newline at end of file +redirect_from: /team/ericronne +--- diff --git a/_team/estherchang.md b/_authors/estherchang.md similarity index 81% rename from _team/estherchang.md rename to _authors/estherchang.md index 6fb2bf0f0..ea61134c2 100644 --- a/_team/estherchang.md +++ b/_authors/estherchang.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Talent ---- \ No newline at end of file +redirect_from: /team/estherchang +--- diff --git a/_team/estherkim.md b/_authors/estherkim.md similarity index 77% rename from _team/estherkim.md rename to _authors/estherkim.md index 8796d7ba6..5bc2a5c5a 100644 --- a/_team/estherkim.md +++ b/_authors/estherkim.md @@ -9,4 +9,5 @@ role: state: team: twitter: ---- \ No newline at end of file +redirect_from: /team/estherkim +--- diff --git a/_team/ethan.md b/_authors/ethan.md similarity index 82% rename from _team/ethan.md rename to _authors/ethan.md index 2d087cf52..465ba4416 100644 --- a/_team/ethan.md +++ b/_authors/ethan.md @@ -7,4 +7,5 @@ role: Operations Specialist team: Operations city: Chicago state: IL ---- \ No newline at end of file +redirect_from: /team/ethan +--- diff --git a/_team/fureigh.md b/_authors/fureigh.md similarity index 80% rename from _team/fureigh.md rename to _authors/fureigh.md index 7b49f722f..a37ea7ef2 100644 --- a/_team/fureigh.md +++ b/_authors/fureigh.md @@ -9,4 +9,5 @@ role: state: team: twitter: ---- \ No newline at end of file +redirect_from: /team/fureigh +--- diff --git a/_team/gail.md b/_authors/gail.md similarity index 84% rename from _team/gail.md rename to _authors/gail.md index 48133a982..21f782784 100644 --- a/_team/gail.md +++ b/_authors/gail.md @@ -9,4 +9,5 @@ role: User Experience Designer github: twitter: team: Design ---- \ No newline at end of file +redirect_from: /team/gail +--- diff --git a/_team/garren.md b/_authors/garren.md similarity index 84% rename from _team/garren.md rename to _authors/garren.md index 95997a681..5ef9338b3 100644 --- a/_team/garren.md +++ b/_authors/garren.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: 18F ---- \ No newline at end of file +redirect_from: /team/garren +--- diff --git a/_team/grace-hopper.md b/_authors/grace-hopper.md similarity index 96% rename from _team/grace-hopper.md rename to _authors/grace-hopper.md index 1e25edb3d..78fd3633f 100644 --- a/_team/grace-hopper.md +++ b/_authors/grace-hopper.md @@ -16,4 +16,5 @@ joke: | Due to other commitments, Grace will be working for the team only on April 1st. If you'd like to join Grace (and not just for April 1) you can see all of our openings and learn more about working at 18F.) layout: nothing ---- \ No newline at end of file +redirect_from: /team/grace-hopper +--- diff --git a/_team/gramirez.md b/_authors/gramirez.md similarity index 83% rename from _team/gramirez.md rename to _authors/gramirez.md index 3ef53e1a6..291586783 100644 --- a/_team/gramirez.md +++ b/_authors/gramirez.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/gramirez +--- diff --git a/_team/gray.md b/_authors/gray.md similarity index 89% rename from _team/gray.md rename to _authors/gray.md index 78c30cd08..32a8050ff 100644 --- a/_team/gray.md +++ b/_authors/gray.md @@ -15,4 +15,5 @@ project: - "/Devleoper Program" - analytics.usa.gov - pulse.cio.gov ---- \ No newline at end of file +redirect_from: /team/gray +--- diff --git a/_team/hillary.md b/_authors/hillary.md similarity index 85% rename from _team/hillary.md rename to _authors/hillary.md index 2af6125dc..b79843f83 100644 --- a/_team/hillary.md +++ b/_authors/hillary.md @@ -9,4 +9,5 @@ state: CA github: quepol twitter: hillary team: 18F ---- \ No newline at end of file +redirect_from: /team/hillary +--- diff --git a/_team/holly.md b/_authors/holly.md similarity index 85% rename from _team/holly.md rename to _authors/holly.md index 83e89fc8c..22750bb79 100644 --- a/_team/holly.md +++ b/_authors/holly.md @@ -9,4 +9,5 @@ role: Director of Engineering github: hollyallen twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/holly +--- diff --git a/_team/jackiexu.md b/_authors/jackiexu.md similarity index 78% rename from _team/jackiexu.md rename to _authors/jackiexu.md index 2cf260bfc..b9b767fd6 100644 --- a/_team/jackiexu.md +++ b/_authors/jackiexu.md @@ -9,4 +9,5 @@ role: state: team: twitter: ---- \ No newline at end of file +redirect_from: /team/jackiexu +--- diff --git a/_team/jacobharris.md b/_authors/jacobharris.md similarity index 82% rename from _team/jacobharris.md rename to _authors/jacobharris.md index c6557a803..a8556e088 100644 --- a/_team/jacobharris.md +++ b/_authors/jacobharris.md @@ -9,4 +9,5 @@ state: D.C. github: harrisj twitter: harrisj team: Delivery ---- \ No newline at end of file +redirect_from: /team/jacobharris +--- diff --git a/_team/james-seppi.md b/_authors/james-seppi.md similarity index 81% rename from _team/james-seppi.md rename to _authors/james-seppi.md index cb914691f..4e4ed591d 100644 --- a/_team/james-seppi.md +++ b/_authors/james-seppi.md @@ -9,4 +9,5 @@ state: Texas github: twitter: team: Engineering ---- \ No newline at end of file +redirect_from: /team/james-seppi +--- diff --git a/_team/jameshupp.md b/_authors/jameshupp.md similarity index 76% rename from _team/jameshupp.md rename to _authors/jameshupp.md index eb75e2893..19a3b76bd 100644 --- a/_team/jameshupp.md +++ b/_authors/jameshupp.md @@ -7,4 +7,5 @@ role: team: city: New York state: NY ---- \ No newline at end of file +redirect_from: /team/jameshupp +--- diff --git a/_team/jamesscott.md b/_authors/jamesscott.md similarity index 81% rename from _team/jamesscott.md rename to _authors/jamesscott.md index 6f5f707b4..bf1c00d6d 100644 --- a/_team/jamesscott.md +++ b/_authors/jamesscott.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/jamesscott +--- diff --git a/_team/jamie.md b/_authors/jamie.md similarity index 85% rename from _team/jamie.md rename to _authors/jamie.md index 4603ae027..3ffe20533 100644 --- a/_team/jamie.md +++ b/_authors/jamie.md @@ -9,4 +9,5 @@ state: CA github: jamiealbrecht twitter: jmealbrecht team: Talent ---- \ No newline at end of file +redirect_from: /team/jamie +--- diff --git a/_team/jayhuie.md b/_authors/jayhuie.md similarity index 82% rename from _team/jayhuie.md rename to _authors/jayhuie.md index 487868138..21c604884 100644 --- a/_team/jayhuie.md +++ b/_authors/jayhuie.md @@ -9,4 +9,5 @@ role: state: DC team: Consulting twitter: ---- \ No newline at end of file +redirect_from: /team/jayhuie +--- diff --git a/_team/jen.md b/_authors/jen.md similarity index 84% rename from _team/jen.md rename to _authors/jen.md index 9ce30e66c..e62ff7b46 100644 --- a/_team/jen.md +++ b/_authors/jen.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/jen +--- diff --git a/_team/jennmoran.md b/_authors/jennmoran.md similarity index 80% rename from _team/jennmoran.md rename to _authors/jennmoran.md index 090237ed7..3a64dd569 100644 --- a/_team/jennmoran.md +++ b/_authors/jennmoran.md @@ -9,4 +9,5 @@ role: state: DC team: Talent twitter: ---- \ No newline at end of file +redirect_from: /team/jennmoran +--- diff --git a/_team/jentress.md b/_authors/jentress.md similarity index 83% rename from _team/jentress.md rename to _authors/jentress.md index 299674f0a..dc788ce9d 100644 --- a/_team/jentress.md +++ b/_authors/jentress.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Talent ---- \ No newline at end of file +redirect_from: /team/jentress +--- diff --git a/_team/jeremiak.md b/_authors/jeremiak.md similarity index 83% rename from _team/jeremiak.md rename to _authors/jeremiak.md index edd258d73..ad5c3ccb7 100644 --- a/_team/jeremiak.md +++ b/_authors/jeremiak.md @@ -9,4 +9,5 @@ state: NY github: jeremiak twitter: jeremiak team: Delivery ---- \ No newline at end of file +redirect_from: /team/jeremiak +--- diff --git a/_team/jeremy.md b/_authors/jeremy.md similarity index 84% rename from _team/jeremy.md rename to _authors/jeremy.md index 12a409586..3f7f825ad 100644 --- a/_team/jeremy.md +++ b/_authors/jeremy.md @@ -9,4 +9,5 @@ state: NY github: twitter: team: Design ---- \ No newline at end of file +redirect_from: /team/jeremy +--- diff --git a/_team/jessedondero.md b/_authors/jessedondero.md similarity index 77% rename from _team/jessedondero.md rename to _authors/jessedondero.md index e0ab88fc9..9ad64d8d4 100644 --- a/_team/jessedondero.md +++ b/_authors/jessedondero.md @@ -9,4 +9,5 @@ role: state: team: twitter: ---- \ No newline at end of file +redirect_from: /team/jessedondero +--- diff --git a/_team/jessie-posilkin.md b/_authors/jessie-posilkin.md similarity index 80% rename from _team/jessie-posilkin.md rename to _authors/jessie-posilkin.md index 1b8759443..4a5c15684 100644 --- a/_team/jessie-posilkin.md +++ b/_authors/jessie-posilkin.md @@ -9,4 +9,5 @@ role: state: District of Columbia team: twitter: ---- \ No newline at end of file +redirect_from: /team/jessie-posilkin +--- diff --git a/_team/jessie.md b/_authors/jessie.md similarity index 84% rename from _team/jessie.md rename to _authors/jessie.md index 4953a36de..fb4bf08d9 100644 --- a/_team/jessie.md +++ b/_authors/jessie.md @@ -9,4 +9,5 @@ role: Developer state: California team: Delivery twitter: ---- \ No newline at end of file +redirect_from: /team/jessie +--- diff --git a/_team/jez-humble.md b/_authors/jez-humble.md similarity index 84% rename from _team/jez-humble.md rename to _authors/jez-humble.md index 9c15149e3..b1b2993ac 100644 --- a/_team/jez-humble.md +++ b/_authors/jez-humble.md @@ -9,4 +9,5 @@ role: Deputy Director of Infrastructure state: California team: twitter: ---- \ No newline at end of file +redirect_from: /team/jez-humble +--- diff --git a/_team/jfinch.md b/_authors/jfinch.md similarity index 84% rename from _team/jfinch.md rename to _authors/jfinch.md index cd3e60888..4c187c5f9 100644 --- a/_team/jfinch.md +++ b/_authors/jfinch.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Consulting ---- \ No newline at end of file +redirect_from: /team/jfinch +--- diff --git a/_team/jhunter.md b/_authors/jhunter.md similarity index 91% rename from _team/jhunter.md rename to _authors/jhunter.md index 4a84f5fee..056c7ab16 100644 --- a/_team/jhunter.md +++ b/_authors/jhunter.md @@ -20,4 +20,5 @@ project: - Diversity Listening Tour - Eligibility Platform Sprint - FEC ---- \ No newline at end of file +redirect_from: /team/jhunter +--- diff --git a/_team/john-donmoyer.md b/_authors/john-donmoyer.md similarity index 81% rename from _team/john-donmoyer.md rename to _authors/john-donmoyer.md index b5c7a8030..273ff7d5b 100644 --- a/_team/john-donmoyer.md +++ b/_authors/john-donmoyer.md @@ -9,4 +9,5 @@ role: User Experience Designer state: IL team: Design twitter: ---- \ No newline at end of file +redirect_from: /team/john-donmoyer +--- diff --git a/_team/josh.md b/_authors/josh.md similarity index 84% rename from _team/josh.md rename to _authors/josh.md index f665988da..2abc43c5c 100644 --- a/_team/josh.md +++ b/_authors/josh.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/josh +--- diff --git a/_team/joshbailes.md b/_authors/joshbailes.md similarity index 82% rename from _team/joshbailes.md rename to _authors/joshbailes.md index 6ca9cde6d..10a02f1da 100644 --- a/_team/joshbailes.md +++ b/_authors/joshbailes.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Legal ---- \ No newline at end of file +redirect_from: /team/joshbailes +--- diff --git a/_team/joshcarp.md b/_authors/joshcarp.md similarity index 82% rename from _team/joshcarp.md rename to _authors/joshcarp.md index 71a3dab50..7bc60f3cd 100644 --- a/_team/joshcarp.md +++ b/_authors/joshcarp.md @@ -9,4 +9,5 @@ state: VA github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/joshcarp +--- diff --git a/_team/jtag.md b/_authors/jtag.md similarity index 86% rename from _team/jtag.md rename to _authors/jtag.md index 506f89ac8..af96d6994 100644 --- a/_team/jtag.md +++ b/_authors/jtag.md @@ -9,4 +9,5 @@ state: CA github: twitter: team: Consulting ---- \ No newline at end of file +redirect_from: /team/jtag +--- diff --git a/_team/jthibault.md b/_authors/jthibault.md similarity index 85% rename from _team/jthibault.md rename to _authors/jthibault.md index 62b1b2fe9..ab046f6a0 100644 --- a/_team/jthibault.md +++ b/_authors/jthibault.md @@ -9,4 +9,5 @@ state: NY github: jenniferthibault twitter: jlthibault team: Design ---- \ No newline at end of file +redirect_from: /team/jthibault +--- diff --git a/_team/julia-winn.md b/_authors/julia-winn.md similarity index 79% rename from _team/julia-winn.md rename to _authors/julia-winn.md index 31dad1725..a837aca85 100644 --- a/_team/julia-winn.md +++ b/_authors/julia-winn.md @@ -9,4 +9,5 @@ role: state: D.C. team: twitter: ---- \ No newline at end of file +redirect_from: /team/julia-winn +--- diff --git a/_team/julia.md b/_authors/julia.md similarity index 84% rename from _team/julia.md rename to _authors/julia.md index 47d32e977..7bc2216c4 100644 --- a/_team/julia.md +++ b/_authors/julia.md @@ -9,4 +9,5 @@ state: NC github: juliaelman twitter: juliaelman team: Design ---- \ No newline at end of file +redirect_from: /team/julia +--- diff --git a/_team/justin.md b/_authors/justin.md similarity index 82% rename from _team/justin.md rename to _authors/justin.md index b7346a47a..4c7c0e583 100644 --- a/_team/justin.md +++ b/_authors/justin.md @@ -9,4 +9,5 @@ state: WA github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/justin +--- diff --git a/_team/kaitlin.md b/_authors/kaitlin.md similarity index 84% rename from _team/kaitlin.md rename to _authors/kaitlin.md index 6e684851e..2d597649b 100644 --- a/_team/kaitlin.md +++ b/_authors/kaitlin.md @@ -9,4 +9,5 @@ state: D.C. github: kaitlin twitter: kaitlinbdevine team: Delivery ---- \ No newline at end of file +redirect_from: /team/kaitlin +--- diff --git a/_team/kane.md b/_authors/kane.md similarity index 82% rename from _team/kane.md rename to _authors/kane.md index 0cc64e1ca..8c1e7130f 100644 --- a/_team/kane.md +++ b/_authors/kane.md @@ -9,4 +9,5 @@ role: state: CA team: twitter: ---- \ No newline at end of file +redirect_from: /team/kane +--- diff --git a/_team/kara.md b/_authors/kara.md similarity index 83% rename from _team/kara.md rename to _authors/kara.md index a0d721c14..b88f2b8c7 100644 --- a/_team/kara.md +++ b/_authors/kara.md @@ -9,4 +9,5 @@ state: CA github: twitter: team: 18F ---- \ No newline at end of file +redirect_from: /team/kara +--- diff --git a/_team/kate.md b/_authors/kate.md similarity index 83% rename from _team/kate.md rename to _authors/kate.md index 857b60059..0fe3af618 100644 --- a/_team/kate.md +++ b/_authors/kate.md @@ -9,4 +9,5 @@ state: OR github: twitter: team: Design ---- \ No newline at end of file +redirect_from: /team/kate +--- diff --git a/_team/kathrynconnolly.md b/_authors/kathrynconnolly.md similarity index 79% rename from _team/kathrynconnolly.md rename to _authors/kathrynconnolly.md index 25b0e3a90..9a745a193 100644 --- a/_team/kathrynconnolly.md +++ b/_authors/kathrynconnolly.md @@ -7,4 +7,5 @@ city: Washington state: D.C. team: Operations role: Team Operations ---- \ No newline at end of file +redirect_from: /team/kathrynconnolly +--- diff --git a/_team/kedelman.md b/_authors/kedelman.md similarity index 84% rename from _team/kedelman.md rename to _authors/kedelman.md index 0f0bdc616..f0516b0da 100644 --- a/_team/kedelman.md +++ b/_authors/kedelman.md @@ -9,4 +9,5 @@ role: Acquisition Management Consultant github: twitter: team: Consulting ---- \ No newline at end of file +redirect_from: /team/kedelman +--- diff --git a/_team/khandelwal.md b/_authors/khandelwal.md similarity index 85% rename from _team/khandelwal.md rename to _authors/khandelwal.md index d3bedbaec..167807e7d 100644 --- a/_team/khandelwal.md +++ b/_authors/khandelwal.md @@ -10,4 +10,5 @@ github: twitter: team: Consulting project: ---- \ No newline at end of file +redirect_from: /team/khandelwal +--- diff --git a/_team/kimberdowsett.md b/_authors/kimberdowsett.md similarity index 83% rename from _team/kimberdowsett.md rename to _authors/kimberdowsett.md index 195a6aa53..47002842e 100644 --- a/_team/kimberdowsett.md +++ b/_authors/kimberdowsett.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Infrastructure Engineering ---- \ No newline at end of file +redirect_from: /team/kimberdowsett +--- diff --git a/_team/krutivora.md b/_authors/krutivora.md similarity index 83% rename from _team/krutivora.md rename to _authors/krutivora.md index 7b0207be3..ef16b6ecd 100644 --- a/_team/krutivora.md +++ b/_authors/krutivora.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: General Services Administration ---- \ No newline at end of file +redirect_from: /team/krutivora +--- diff --git a/_team/lane-becker.md b/_authors/lane-becker.md similarity index 78% rename from _team/lane-becker.md rename to _authors/lane-becker.md index 8eca5515b..b24d56fce 100644 --- a/_team/lane-becker.md +++ b/_authors/lane-becker.md @@ -9,4 +9,5 @@ role: state: team: Strategy twitter: ---- \ No newline at end of file +redirect_from: /team/lane-becker +--- diff --git a/_team/larry-bafundo.md b/_authors/larry-bafundo.md similarity index 81% rename from _team/larry-bafundo.md rename to _authors/larry-bafundo.md index 9d1253d7e..b3dc2cd6f 100644 --- a/_team/larry-bafundo.md +++ b/_authors/larry-bafundo.md @@ -9,4 +9,5 @@ role: Project Manager state: CA team: Delivery twitter: ---- \ No newline at end of file +redirect_from: /team/larry-bafundo +--- diff --git a/_team/laura-gerhardt.md b/_authors/laura-gerhardt.md similarity index 78% rename from _team/laura-gerhardt.md rename to _authors/laura-gerhardt.md index 44d5ea80c..d0af6d7b1 100644 --- a/_team/laura-gerhardt.md +++ b/_authors/laura-gerhardt.md @@ -9,4 +9,5 @@ role: state: DC team: twitter: ---- \ No newline at end of file +redirect_from: /team/laura-gerhardt +--- diff --git a/_team/leah.md b/_authors/leah.md similarity index 85% rename from _team/leah.md rename to _authors/leah.md index db785e949..2fabace41 100644 --- a/_team/leah.md +++ b/_authors/leah.md @@ -9,4 +9,5 @@ state: CA github: leahbannon twitter: leahbannon team: Delivery ---- \ No newline at end of file +redirect_from: /team/leah +--- diff --git a/_team/leahg.md b/_authors/leahg.md similarity index 84% rename from _team/leahg.md rename to _authors/leahg.md index 2e7df983e..fbe1d9419 100644 --- a/_team/leahg.md +++ b/_authors/leahg.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Operations ---- \ No newline at end of file +redirect_from: /team/leahg +--- diff --git a/_team/lenny-bogdonoff.md b/_authors/lenny-bogdonoff.md similarity index 81% rename from _team/lenny-bogdonoff.md rename to _authors/lenny-bogdonoff.md index fbf0ddb5a..11725d617 100644 --- a/_team/lenny-bogdonoff.md +++ b/_authors/lenny-bogdonoff.md @@ -9,4 +9,5 @@ role: General Developer state: NY team: twitter: ---- \ No newline at end of file +redirect_from: /team/lenny-bogdonoff +--- diff --git a/_team/lindsay.md b/_authors/lindsay.md similarity index 82% rename from _team/lindsay.md rename to _authors/lindsay.md index 5fdba0d7c..d0f8a6d99 100644 --- a/_team/lindsay.md +++ b/_authors/lindsay.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/lindsay +--- diff --git a/_team/manger.md b/_authors/manger.md similarity index 83% rename from _team/manger.md rename to _authors/manger.md index 18f0da268..997195c1e 100644 --- a/_team/manger.md +++ b/_authors/manger.md @@ -9,4 +9,5 @@ state: CA github: twitter: team: Design ---- \ No newline at end of file +redirect_from: /team/manger +--- diff --git a/_team/marco.md b/_authors/marco.md similarity index 86% rename from _team/marco.md rename to _authors/marco.md index 51e189012..9f13f1047 100644 --- a/_team/marco.md +++ b/_authors/marco.md @@ -11,4 +11,5 @@ twitter: team: Design proejct: - Front End Guild ---- \ No newline at end of file +redirect_from: /team/marco +--- diff --git a/_team/mark-hopson.md b/_authors/mark-hopson.md similarity index 79% rename from _team/mark-hopson.md rename to _authors/mark-hopson.md index c7b59f365..637ec4155 100644 --- a/_team/mark-hopson.md +++ b/_authors/mark-hopson.md @@ -9,4 +9,5 @@ role: state: D.C. team: twitter: ---- \ No newline at end of file +redirect_from: /team/mark-hopson +--- diff --git a/_team/mark.md b/_authors/mark.md similarity index 80% rename from _team/mark.md rename to _authors/mark.md index 8407afd38..4635a15f5 100644 --- a/_team/mark.md +++ b/_authors/mark.md @@ -9,4 +9,5 @@ role: state: team: twitter: ---- \ No newline at end of file +redirect_from: /team/mark +--- diff --git a/_team/matt.md b/_authors/matt.md similarity index 82% rename from _team/matt.md rename to _authors/matt.md index 240f26e7f..2bac102ca 100644 --- a/_team/matt.md +++ b/_authors/matt.md @@ -9,4 +9,5 @@ role: state: D.C. team: twitter: ---- \ No newline at end of file +redirect_from: /team/matt +--- diff --git a/_team/maya.md b/_authors/maya.md similarity index 84% rename from _team/maya.md rename to _authors/maya.md index 1aadc43cc..a1c8325de 100644 --- a/_team/maya.md +++ b/_authors/maya.md @@ -9,4 +9,5 @@ state: CA github: twitter: team: Design ---- \ No newline at end of file +redirect_from: /team/maya +--- diff --git a/_team/meghana.md b/_authors/meghana.md similarity index 84% rename from _team/meghana.md rename to _authors/meghana.md index 49bdfb8e6..16ffa0a1a 100644 --- a/_team/meghana.md +++ b/_authors/meghana.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Design ---- \ No newline at end of file +redirect_from: /team/meghana +--- diff --git a/_team/melody.md b/_authors/melody.md similarity index 89% rename from _team/melody.md rename to _authors/melody.md index b51af97ad..1cba5e612 100644 --- a/_team/melody.md +++ b/_authors/melody.md @@ -16,4 +16,5 @@ project: - Federalist - 18F Hub - 18F Dashboard ---- \ No newline at end of file +redirect_from: /team/melody +--- diff --git a/_authors/mheadd.md b/_authors/mheadd.md new file mode 100644 index 000000000..6b28cd33d --- /dev/null +++ b/_authors/mheadd.md @@ -0,0 +1,12 @@ +--- +name: mheadd +first_name: Mark +last_name: Headd +full_name: Mark Headd +role: Innovation Specialist +city: Syracuse +state: New York +github: mheadd +twitter: mheadd +team: Acquisitions +--- diff --git a/_team/mhz.md b/_authors/mhz.md similarity index 86% rename from _team/mhz.md rename to _authors/mhz.md index 12cb7ce16..c52babe2f 100644 --- a/_team/mhz.md +++ b/_authors/mhz.md @@ -9,4 +9,5 @@ state: AZ github: meiqimichelle twitter: meiqimichelle team: Design ---- \ No newline at end of file +redirect_from: /team/mhz +--- diff --git a/_team/micahsaul.md b/_authors/micahsaul.md similarity index 82% rename from _team/micahsaul.md rename to _authors/micahsaul.md index e936a0a24..0a846910a 100644 --- a/_team/micahsaul.md +++ b/_authors/micahsaul.md @@ -9,4 +9,5 @@ state: OR github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/micahsaul +--- diff --git a/_team/michael-balint.md b/_authors/michael-balint.md similarity index 79% rename from _team/michael-balint.md rename to _authors/michael-balint.md index 4c2907e13..3b35b3f2b 100644 --- a/_team/michael-balint.md +++ b/_authors/michael-balint.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: ---- \ No newline at end of file +redirect_from: /team/michael-balint +--- diff --git a/_team/michael-cata.md b/_authors/michael-cata.md similarity index 80% rename from _team/michael-cata.md rename to _authors/michael-cata.md index b6077369e..27f5b1766 100644 --- a/_team/michael-cata.md +++ b/_authors/michael-cata.md @@ -9,4 +9,5 @@ state: NY github: twitter: team: 18F ---- \ No newline at end of file +redirect_from: /team/michael-cata +--- diff --git a/_team/michael-torres.md b/_authors/michael-torres.md similarity index 79% rename from _team/michael-torres.md rename to _authors/michael-torres.md index d8ac6d846..210589fa8 100644 --- a/_team/michael-torres.md +++ b/_authors/michael-torres.md @@ -9,4 +9,5 @@ role: state: CA team: Product twitter: ---- \ No newline at end of file +redirect_from: /team/michael-torres +--- diff --git a/_team/michael-walker.md b/_authors/michael-walker.md similarity index 81% rename from _team/michael-walker.md rename to _authors/michael-walker.md index ad41d7ea7..f3d35d630 100644 --- a/_team/michael-walker.md +++ b/_authors/michael-walker.md @@ -9,4 +9,5 @@ role: Practical Dev state: MS team: AcqStack twitter: ---- \ No newline at end of file +redirect_from: /team/michael-walker +--- diff --git a/_team/mike-hsu.md b/_authors/mike-hsu.md similarity index 80% rename from _team/mike-hsu.md rename to _authors/mike-hsu.md index b2215d7c0..14cc34070 100644 --- a/_team/mike-hsu.md +++ b/_authors/mike-hsu.md @@ -7,4 +7,5 @@ role: Product manager team: Delivery city: Washington state: D.C. ---- \ No newline at end of file +redirect_from: /team/mike-hsu +--- diff --git a/_team/moncef.md b/_authors/moncef.md similarity index 83% rename from _team/moncef.md rename to _authors/moncef.md index 92b576f84..df7e283d5 100644 --- a/_team/moncef.md +++ b/_authors/moncef.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/moncef +--- diff --git a/_team/mossadeq-zia.md b/_authors/mossadeq-zia.md similarity index 82% rename from _team/mossadeq-zia.md rename to _authors/mossadeq-zia.md index 4f48ca8e8..cf5321c25 100644 --- a/_team/mossadeq-zia.md +++ b/_authors/mossadeq-zia.md @@ -9,4 +9,5 @@ role: DevOps Engineer state: DC team: Infrastructure twitter: ---- \ No newline at end of file +redirect_from: /team/mossadeq-zia +--- diff --git a/_team/nick.md b/_authors/nick.md similarity index 86% rename from _team/nick.md rename to _authors/nick.md index 86dc26b7e..44b79c0d5 100644 --- a/_team/nick.md +++ b/_authors/nick.md @@ -11,4 +11,5 @@ twitter: team: Delivery project: - Accessibility Guild ---- \ No newline at end of file +redirect_from: /team/nick +--- diff --git a/_team/nicole-fenton.md b/_authors/nicole-fenton.md similarity index 82% rename from _team/nicole-fenton.md rename to _authors/nicole-fenton.md index 00aab4609..31e5f7e7e 100644 --- a/_team/nicole-fenton.md +++ b/_authors/nicole-fenton.md @@ -9,4 +9,5 @@ role: Content Designer state: New York team: design twitter: nicoleslaw ---- \ No newline at end of file +redirect_from: /team/nicole-fenton +--- diff --git a/_team/noah.md b/_authors/noah.md similarity index 89% rename from _team/noah.md rename to _authors/noah.md index 7063e7e9c..040afb97a 100644 --- a/_team/noah.md +++ b/_authors/noah.md @@ -9,4 +9,5 @@ state: D.C. github: https://github.com/noahkunin twitter: https://twitter.com/noahkunin team: DevOps ---- \ No newline at end of file +redirect_from: /team/noah +--- diff --git a/_team/nolson.md b/_authors/nolson.md similarity index 85% rename from _team/nolson.md rename to _authors/nolson.md index 1aa852f5a..616615ac5 100644 --- a/_team/nolson.md +++ b/_authors/nolson.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Presidential Innovation Fellowship ---- \ No newline at end of file +redirect_from: /team/nolson +--- diff --git a/_team/phaedra.md b/_authors/phaedra.md similarity index 80% rename from _team/phaedra.md rename to _authors/phaedra.md index 1a4ca8eaf..b651e76a3 100644 --- a/_team/phaedra.md +++ b/_authors/phaedra.md @@ -9,4 +9,5 @@ role: state: team: twitter: ---- \ No newline at end of file +redirect_from: /team/phaedra +--- diff --git a/_team/philip-reid.md b/_authors/philip-reid.md similarity index 97% rename from _team/philip-reid.md rename to _authors/philip-reid.md index d6b80f4dc..0fcee0709 100644 --- a/_team/philip-reid.md +++ b/_authors/philip-reid.md @@ -16,4 +16,5 @@ joke: | Due to other commitments, Philip will be working for the team only on April 1st. If you'd like to join Philip (and not just for April 1) you can see all of our openings and learn more about working at 18F.) layout: nothing ---- \ No newline at end of file +redirect_from: /team/philip-reid +--- diff --git a/_team/phoebe-espiritu.md b/_authors/phoebe-espiritu.md similarity index 77% rename from _team/phoebe-espiritu.md rename to _authors/phoebe-espiritu.md index 799a85aa0..b3f2fe3c6 100644 --- a/_team/phoebe-espiritu.md +++ b/_authors/phoebe-espiritu.md @@ -9,4 +9,5 @@ role: state: team: twitter: ---- \ No newline at end of file +redirect_from: /team/phoebe-espiritu +--- diff --git a/_team/pia.md b/_authors/pia.md similarity index 84% rename from _team/pia.md rename to _authors/pia.md index 07397b416..685c9461b 100644 --- a/_team/pia.md +++ b/_authors/pia.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Outreach ---- \ No newline at end of file +redirect_from: /team/pia +--- diff --git a/_team/pkarman.md b/_authors/pkarman.md similarity index 80% rename from _team/pkarman.md rename to _authors/pkarman.md index a2102bc73..8ee4a45cf 100644 --- a/_team/pkarman.md +++ b/_authors/pkarman.md @@ -9,4 +9,5 @@ role: state: team: twitter: ---- \ No newline at end of file +redirect_from: /team/pkarman +--- diff --git a/_team/porta-antiporta.md b/_authors/porta-antiporta.md similarity index 81% rename from _team/porta-antiporta.md rename to _authors/porta-antiporta.md index 294181035..9383cd9d5 100644 --- a/_team/porta-antiporta.md +++ b/_authors/porta-antiporta.md @@ -9,4 +9,5 @@ role: Product Lead state: IL team: Product twitter: ---- \ No newline at end of file +redirect_from: /team/porta-antiporta +--- diff --git a/_team/puja.md b/_authors/puja.md similarity index 86% rename from _team/puja.md rename to _authors/puja.md index 79670997f..0627912d3 100644 --- a/_team/puja.md +++ b/_authors/puja.md @@ -9,4 +9,5 @@ role: Program Manager state: D.C. team: Presidential Innovation Fellowship twitter: ---- \ No newline at end of file +redirect_from: /team/puja +--- diff --git a/_team/randy-hart.md b/_authors/randy-hart.md similarity index 82% rename from _team/randy-hart.md rename to _authors/randy-hart.md index 9795a9427..90459cc1f 100644 --- a/_team/randy-hart.md +++ b/_authors/randy-hart.md @@ -9,4 +9,5 @@ role: Procurement Specialist state: DC team: Consulting twitter: ---- \ No newline at end of file +redirect_from: /team/randy-hart +--- diff --git a/_team/raphy.md b/_authors/raphy.md similarity index 83% rename from _team/raphy.md rename to _authors/raphy.md index fb011d7a4..bb01c8498 100644 --- a/_team/raphy.md +++ b/_authors/raphy.md @@ -9,4 +9,5 @@ state: IL github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/raphy +--- diff --git a/_team/rebeccapiazza.md b/_authors/rebeccapiazza.md similarity index 81% rename from _team/rebeccapiazza.md rename to _authors/rebeccapiazza.md index df5e1bca4..f800e26e4 100644 --- a/_team/rebeccapiazza.md +++ b/_authors/rebeccapiazza.md @@ -9,4 +9,5 @@ role: Product Manager github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/rebeccapiazza +--- diff --git a/_team/ric.md b/_authors/ric.md similarity index 83% rename from _team/ric.md rename to _authors/ric.md index 065ef8602..ebbae0b04 100644 --- a/_team/ric.md +++ b/_authors/ric.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: 18F ---- \ No newline at end of file +redirect_from: /team/ric +--- diff --git a/_team/robin-carnahan.md b/_authors/robin-carnahan.md similarity index 77% rename from _team/robin-carnahan.md rename to _authors/robin-carnahan.md index ab90aa3c8..dcdb4b0a7 100644 --- a/_team/robin-carnahan.md +++ b/_authors/robin-carnahan.md @@ -9,4 +9,5 @@ role: state: team: twitter: ---- \ No newline at end of file +redirect_from: /team/robin-carnahan +--- diff --git a/_team/roger-ruiz.md b/_authors/roger-ruiz.md similarity index 81% rename from _team/roger-ruiz.md rename to _authors/roger-ruiz.md index 3b5a46562..b100b74b9 100644 --- a/_team/roger-ruiz.md +++ b/_authors/roger-ruiz.md @@ -9,4 +9,5 @@ state: VA github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/roger-ruiz +--- diff --git a/_team/romke.md b/_authors/romke.md similarity index 80% rename from _team/romke.md rename to _authors/romke.md index 1d5fbd66b..d32d6f30d 100644 --- a/_team/romke.md +++ b/_authors/romke.md @@ -9,4 +9,5 @@ role: state: team: twitter: ---- \ No newline at end of file +redirect_from: /team/romke +--- diff --git a/_team/ryan-sibley.md b/_authors/ryan-sibley.md similarity index 81% rename from _team/ryan-sibley.md rename to _authors/ryan-sibley.md index 0e4242572..31237ec2b 100644 --- a/_team/ryan-sibley.md +++ b/_authors/ryan-sibley.md @@ -9,4 +9,5 @@ role: Content Designer state: DC team: Design twitter: ---- \ No newline at end of file +redirect_from: /team/ryan-sibley +--- diff --git a/_team/ryan.md b/_authors/ryan.md similarity index 80% rename from _team/ryan.md rename to _authors/ryan.md index 230bdb691..b21c7592f 100644 --- a/_team/ryan.md +++ b/_authors/ryan.md @@ -9,4 +9,5 @@ role: state: team: twitter: ---- \ No newline at end of file +redirect_from: /team/ryan +--- diff --git a/_team/sally-ride.md b/_authors/sally-ride.md similarity index 96% rename from _team/sally-ride.md rename to _authors/sally-ride.md index dd9ef710a..0320dee32 100644 --- a/_team/sally-ride.md +++ b/_authors/sally-ride.md @@ -16,4 +16,5 @@ joke: | Due to other commitments, Sally will be working for the team only on April 1st. If you'd like to join Sally (and not just for April 1) you can see all of our openings and learn more about working at 18F.) layout: nothing ---- \ No newline at end of file +redirect_from: /team/sally-ride +--- diff --git a/_team/sam-eagle.md b/_authors/sam-eagle.md similarity index 96% rename from _team/sam-eagle.md rename to _authors/sam-eagle.md index cca766ae5..7e1a4a99c 100644 --- a/_team/sam-eagle.md +++ b/_authors/sam-eagle.md @@ -16,4 +16,5 @@ joke: | *As of press time, Sam had not yet been introduced to Slack. layout: nothing ---- \ No newline at end of file +redirect_from: /team/sam-eagle +--- diff --git a/_team/sasha.md b/_authors/sasha.md similarity index 83% rename from _team/sasha.md rename to _authors/sasha.md index cc90da10c..ba8c35514 100644 --- a/_team/sasha.md +++ b/_authors/sasha.md @@ -9,4 +9,5 @@ state: CA github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/sasha +--- diff --git a/_team/shawn.md b/_authors/shawn.md similarity index 83% rename from _team/shawn.md rename to _authors/shawn.md index 58d80eb1d..72967aadb 100644 --- a/_team/shawn.md +++ b/_authors/shawn.md @@ -9,4 +9,5 @@ state: CA github: twitter: team: Design ---- \ No newline at end of file +redirect_from: /team/shawn +--- diff --git a/_team/shawnique.md b/_authors/shawnique.md similarity index 84% rename from _team/shawnique.md rename to _authors/shawnique.md index 2ce6b6855..f6b3bfff7 100644 --- a/_team/shawnique.md +++ b/_authors/shawnique.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Talent ---- \ No newline at end of file +redirect_from: /team/shawnique +--- diff --git a/_team/smita.md b/_authors/smita.md similarity index 86% rename from _team/smita.md rename to _authors/smita.md index 0914c09b2..a8b2eb3e1 100644 --- a/_team/smita.md +++ b/_authors/smita.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Presidential Innovation Fellowship ---- \ No newline at end of file +redirect_from: /team/smita +--- diff --git a/_team/stephanierivera.md b/_authors/stephanierivera.md similarity index 83% rename from _team/stephanierivera.md rename to _authors/stephanierivera.md index f4b29dd96..f76566052 100644 --- a/_team/stephanierivera.md +++ b/_authors/stephanierivera.md @@ -11,4 +11,5 @@ twitter: team: Strategy project: - 18F Intake ---- \ No newline at end of file +redirect_from: /team/stephanierivera +--- diff --git a/_team/steven-harms.md b/_authors/steven-harms.md similarity index 78% rename from _team/steven-harms.md rename to _authors/steven-harms.md index 1976181ca..5853506a7 100644 --- a/_team/steven-harms.md +++ b/_authors/steven-harms.md @@ -9,4 +9,5 @@ role: state: team: twitter: ---- \ No newline at end of file +redirect_from: /team/steven-harms +--- diff --git a/_team/steven-reilly.md b/_authors/steven-reilly.md similarity index 82% rename from _team/steven-reilly.md rename to _authors/steven-reilly.md index e8796dc4f..73c3bdca5 100644 --- a/_team/steven-reilly.md +++ b/_authors/steven-reilly.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Acquisitions ---- \ No newline at end of file +redirect_from: /team/steven-reilly +--- diff --git a/_team/tadhg.md b/_authors/tadhg.md similarity index 80% rename from _team/tadhg.md rename to _authors/tadhg.md index 26aae482f..bd514e574 100644 --- a/_team/tadhg.md +++ b/_authors/tadhg.md @@ -9,4 +9,5 @@ role: state: team: twitter: ---- \ No newline at end of file +redirect_from: /team/tadhg +--- diff --git a/_team/theresa.md b/_authors/theresa.md similarity index 85% rename from _team/theresa.md rename to _authors/theresa.md index 86a54844c..717c5dac6 100644 --- a/_team/theresa.md +++ b/_authors/theresa.md @@ -11,4 +11,5 @@ twitter: theresaanna team: Delivery project: - CALC ---- \ No newline at end of file +redirect_from: /team/theresa +--- diff --git a/_team/timothy-jones.md b/_authors/timothy-jones.md similarity index 80% rename from _team/timothy-jones.md rename to _authors/timothy-jones.md index c576e5a74..dbf62758b 100644 --- a/_team/timothy-jones.md +++ b/_authors/timothy-jones.md @@ -7,4 +7,5 @@ city: Washington state: D.C. role: Digital transformation lead team: 18F Consulting ---- \ No newline at end of file +redirect_from: /team/timothy-jones +--- diff --git a/_team/valdiviezo.md b/_authors/valdiviezo.md similarity index 79% rename from _team/valdiviezo.md rename to _authors/valdiviezo.md index 6090dea76..c9133ce2c 100644 --- a/_team/valdiviezo.md +++ b/_authors/valdiviezo.md @@ -9,4 +9,5 @@ role: state: team: twitter: ---- \ No newline at end of file +redirect_from: /team/valdiviezo +--- diff --git a/_team/vdavez.md b/_authors/vdavez.md similarity index 86% rename from _team/vdavez.md rename to _authors/vdavez.md index b4f034fee..0c612600f 100644 --- a/_team/vdavez.md +++ b/_authors/vdavez.md @@ -9,4 +9,5 @@ state: D.C. github: vdavez twitter: vdavez team: Acquisition ---- \ No newline at end of file +redirect_from: /team/vdavez +--- diff --git a/_team/victor-udoewa.md b/_authors/victor-udoewa.md similarity index 80% rename from _team/victor-udoewa.md rename to _authors/victor-udoewa.md index 19229b5c8..0e159bedc 100644 --- a/_team/victor-udoewa.md +++ b/_authors/victor-udoewa.md @@ -9,4 +9,5 @@ role: state: D.C. team: Consulting twitter: ---- \ No newline at end of file +redirect_from: /team/victor-udoewa +--- diff --git a/_team/victor.md b/_authors/victor.md similarity index 84% rename from _team/victor.md rename to _authors/victor.md index a187c82f5..31ea59eeb 100644 --- a/_team/victor.md +++ b/_authors/victor.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Design ---- \ No newline at end of file +redirect_from: /team/victor +--- diff --git a/_team/vraj-mohan.md b/_authors/vraj-mohan.md similarity index 80% rename from _team/vraj-mohan.md rename to _authors/vraj-mohan.md index de6d3eb19..ce740b87d 100644 --- a/_team/vraj-mohan.md +++ b/_authors/vraj-mohan.md @@ -9,4 +9,5 @@ state: PA github: twitter: team: 18F ---- \ No newline at end of file +redirect_from: /team/vraj-mohan +--- diff --git a/_team/will.md b/_authors/will.md similarity index 88% rename from _team/will.md rename to _authors/will.md index e91f4af09..e385beb1e 100644 --- a/_team/will.md +++ b/_authors/will.md @@ -11,4 +11,5 @@ twitter: wslack team: Products and Platforms project: - Federalist ---- \ No newline at end of file +redirect_from: /team/will +--- diff --git a/_team/willsullivan.md b/_authors/willsullivan.md similarity index 81% rename from _team/willsullivan.md rename to _authors/willsullivan.md index 864e964e6..acb3f401b 100644 --- a/_team/willsullivan.md +++ b/_authors/willsullivan.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/willsullivan +--- diff --git a/_team/yoz.md b/_authors/yoz.md similarity index 85% rename from _team/yoz.md rename to _authors/yoz.md index 7c144bfb8..692ae6cfb 100644 --- a/_team/yoz.md +++ b/_authors/yoz.md @@ -11,4 +11,5 @@ twitter: team: Delivery project: - Project Review ---- \ No newline at end of file +redirect_from: /team/yoz +--- diff --git a/_team/yuda.md b/_authors/yuda.md similarity index 84% rename from _team/yuda.md rename to _authors/yuda.md index 4101a41d2..6908c7e52 100644 --- a/_team/yuda.md +++ b/_authors/yuda.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Delivery ---- \ No newline at end of file +redirect_from: /team/yuda +--- diff --git a/_team/zaccohn.md b/_authors/zaccohn.md similarity index 84% rename from _team/zaccohn.md rename to _authors/zaccohn.md index 6aba152b3..6d95c60ad 100644 --- a/_team/zaccohn.md +++ b/_authors/zaccohn.md @@ -9,4 +9,5 @@ state: D.C. github: twitter: team: Consulting ---- \ No newline at end of file +redirect_from: /team/zaccohn +--- diff --git a/_config-dev.yml b/_config-dev.yml new file mode 100644 index 000000000..7ec74de67 --- /dev/null +++ b/_config-dev.yml @@ -0,0 +1 @@ +env: "development" diff --git a/_config.yml b/_config.yml index e57bd80c2..6c8448b30 100644 --- a/_config.yml +++ b/_config.yml @@ -3,7 +3,10 @@ title: "18F: Digital service delivery" description: "18F builds effective, user-centric digital services focused on the interaction between government and the people and businesses it serves." baseurl: "" # the subpath of your site, e.g. /blog permalink: pretty -url: "https://18f.gsa.gov" # the base hostname & protocol for your site +url: "https://18f.gsa.gov" # the base hostname & protocol for your sites +federalist_url: "https://federalist.18f.gov" +localhost: "localhost:4000" +env: "production" logo: /assets/img/logos/18F-Logo-Bright-S.png feature_image: /assets/img/feature-background.jpg tag_dir: tags @@ -27,9 +30,9 @@ jekyll-archives: tag: '/tags/:name/' collections: - team: + authors: output: true - permalink: /team/:name/ + permalink: /author/:name/ cards: output: true permalink: /card/:name/ @@ -50,7 +53,7 @@ defaults: layout: default-intro - scope: - path: "_team" + path: "_authors" values: layout: default-profile - @@ -71,12 +74,11 @@ footer: text: This site was built using Federalist, from 18F. # Change to a tag line for your agency # Build settings -markdown: redcarpet +markdown: RedcarpetExt highlighter: rouge redcarpet: syntax_highlighter: rouge extensions: - - with_toc_data - tables include: @@ -93,7 +95,6 @@ gems: - jekyll-redirect-from - jekyll-feed - jekyll-seo-tag - # Configuration for jekyll_pages_api_search plugin gem. jekyll_pages_api_search: # Uncomment this to speed up site generation while developing. diff --git a/_data/authors.yml b/_data/authors.yml index 4daf515e8..b958653dd 100644 --- a/_data/authors.yml +++ b/_data/authors.yml @@ -509,7 +509,12 @@ mchopson: first_name: Mark last_name: Hopson full_name: Mark Hopson +mheadd: + full_name: Mark Headd + first_name: Mark + last_name: Headd porta: first_name: Porta last_name: Antiporta full_name: Porta Antiporta + diff --git a/_includes/head.html b/_includes/head.html index 3acfa21c1..8eb07b433 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -52,11 +52,11 @@ ================================================== --> - + +=================================================== --> diff --git a/_layouts/default-profile.html b/_layouts/default-profile.html index e1ba3a5b6..ae5d61d62 100644 --- a/_layouts/default-profile.html +++ b/_layouts/default-profile.html @@ -6,7 +6,7 @@
{% if page.full_name %} -

Blog posts by: {{ page.full_name }}

+

Blog posts by: {{ page.full_name }} {% if page.alumni %}(alumni){% endif %}

{% endif %}
diff --git a/_plugins/README.md b/_plugins/README.md new file mode 100644 index 000000000..223e41224 --- /dev/null +++ b/_plugins/README.md @@ -0,0 +1,122 @@ +#Plugins! + +The 18F site uses a variety of custom plugins to modify how the site is rendered. + +* [Custom tags](#custom-tags) + * [authored_posts](#authored_posts) +* [Filters](#filters) + * [team_photo](#team_photo) + * [lookup](#lookup) + * [embed](#embed) +* [Markdown rendering](#markdown-rendering) + * [markdown.rb](markdown.rb) + * [redcarpet.rb](redcarpet.rb) + +### Custom tags + +#### authored_posts: This tag will return a list of authors based on a pages' list of authors, as specified in the frontmatter. + +This tag accepts an option, `heading` that sets a heading tag above the list of authors. If there is no heading tag specified, the tag defaults to an h2 tag. + +Usage: + +```liquid +{% authored_posts heading=h2 %} +``` + +### Filters + +#### team_photo: accepts the author's name as the first argument. Lives in [team.rb](team.rb) + +Example usage: + +```liquid +{{ 'brian' | team_photo }} +``` + +Yields: + +```html +18F team member Brian Hedberg +``` + +#### lookup: that takes an author slug as `input` and extracts from the dataset in the first arg the value of the key in the second arg for `input`. Lives in [author.rb](author.rb) + +Takes two arguments, `input` and `args` + +```ruby +lookup(input, args) +``` + +Example usage: + +```liquid + {{ "boone" | lookup:"authors, full_name" }} +``` + +#### team_link: will look for an entry in the authors data file named "boone" and return a link labeled Greg Boone and linked to his author page. Lives in [author.rb](author.rb) + + +#### embed: Creates an iframe with the specified link. Lives in [embed.rb](embed.rb) + +Example usage: + +```liquid + {{ "https://youtube-nocookie.com/blahblahblah/" | embed: "some title" }} +``` + +Returns: + +```
+ +
``` + +### Markdown rendering + +#### [markdown.rb](markdown.rb) + +This file allows us to use markdown syntax highlighting within a Markdown Block. + +Example usage: + +```markdown +```markdown + ### Example header +``` +``` + +#### [redcarpet.rb](redcarpet.rb) + +Our primary markdown rendering engine is redcarpet. This file merges the redcarpet extensions as specified in the `_config.yml` file on the root of the site directory with overrides to different block level markdown renderings. + +For example, we have specified a new version of how to render headers. This allows us to take headings + +```markdown + ### Some example header +``` + +Automatically returns the following, via the `header(title, level)` method: + +```html +

Some example header

+``` + +And it is smart, so that duplicate headers will be given separate IDs, for accessibility purposes. + + +```markdown + ### Same header + ### Same header +``` + +Returns: + +```html +

Same header

+

Same header

+``` diff --git a/_plugins/author.rb b/_plugins/author.rb index 4c0f48f85..2c697452a 100755 --- a/_plugins/author.rb +++ b/_plugins/author.rb @@ -35,7 +35,11 @@ def finder(group, name) class AuthoredPosts < Liquid::Tag def initialize(tag_name, heading, tokens) super - @heading = heading.split('=')[1].strip + @heading = if heading + heading.split('=')[1].strip + else + 'h2' + end end def render(context) @@ -62,17 +66,6 @@ def render(context) end module AuthorFilter - def with_pic(input) - name = input[0] - info = input[1] - image = File.join 'assets', 'images', 'team', "#{name}.jpg" - baseurl = Jekyll.sites[0].config['baseurl'] - if File.exist?(File.join(Jekyll.sites[0].config['source'], image)) - "18F team member #{info[" - else - "18F logo" - end - end # lookup filter # # A liquid filter that takes an author slug as "input" and extracts from the @@ -92,21 +85,34 @@ def lookup(input, args) dataset = args[0].strip # strips whitespace for the requested data file key = args[1].strip # strips whitespace for the requested key data = Jekyll.sites[0].data[dataset] # returns the full data file - if data[input] # if there's an entry for author, return the value + if data[input] # if there's an entry for input, return the value data[input][key] else # if not, exit with a "no such author error" - puts "No such author: #{input}" + puts "No such author: #{input} in #{@page_path}" False end end + # team_link filter + # + # A liquid filter that takes an author name as "input" and returns a link to an author's + # page + # + # Example: + # if we have a variable `author` set to "boone" the following syntax: + # ``` + # {{ author | team_link }} + # ``` + # + # Returns an tag linked to boone's author page + # Content is boone's name def team_link(input) - team = Jekyll.sites[0].collections['team'].docs - index = team.find_index {|x| x.data['name'] == input} + authors = Jekyll.sites[0].collections['authors'].docs + index = authors.find_index { |x| x.data['name'] == input } baseurl = Jekyll.sites[0].config['baseurl'] unless index.nil? - url = "#{baseurl}/team/#{team[index].data['name']}" - full_name = team[index].data['full_name'] + url = "#{baseurl}/author/#{authors[index].data['name']}" + full_name = authors[index].data['full_name'] string = "#{full_name}" else url = lookup(input, "authors, url") diff --git a/_plugins/embeds.rb b/_plugins/embeds.rb index 906d34a22..b7055f61c 100644 --- a/_plugins/embeds.rb +++ b/_plugins/embeds.rb @@ -1,9 +1,11 @@ module Jekyll module EmbedFilter - # Pass a url like {{ "https://youtube-nocookie.com/blahblahblah/" | embed }} + # Pass a url like {{ "https://youtube-nocookie.com/blahblahblah/" | embed: "some title" }} # It will spit out a standardized embed - def embed(input) - "
" + def embed(input, title) + title ||= input + "
" end end end diff --git a/_plugins/redcarpet.rb b/_plugins/redcarpet.rb new file mode 100644 index 000000000..f151729b1 --- /dev/null +++ b/_plugins/redcarpet.rb @@ -0,0 +1,98 @@ +require 'redcarpet' + +# Create a custom renderer that extend Redcarpet to customize its behavior. +class RedcarpetExtender < Redcarpet::Render::HTML + def initialize(options = {}) + options ||= {} + redcarpet_extensions = Jekyll.configuration({})['redcarpet']['extensions'] + config_options = Hash[*redcarpet_extensions.map { |e| [e.to_sym, true] }.flatten] + super options.merge(config_options) + end + + def strip_dashes(str) + str = str.to_s + str = if str[0] == '-' + str[1...str.length] + else + str + end + if str[-1] == '-' + str[0...-1] + else + str + end + end + + def header(title, level) + @headers = SiteHeaders.current + id_name = title.downcase.gsub(/[^a-z\0-9\s]/, '').gsub(/\W+/, '-') + id_name = strip_dashes(id_name) + if @headers.include?(id_name) + id_name += '_1' + loop do + break unless @headers.include?(id_name) + id_name.gsub!(/\_(\d+)$/, "_#{$1.to_i + 1}") + end + end + SiteHeaders.add id_name + %(\n#{title}\n) + end + + # Block level extensions go here + # For more on what blocks are currently + # available, visit + # https://github.com/vmg/redcarpet/ +end + +# Helper class for keeping track of the headers that have been modified using +# the block-level Redcarpet method `header()` +# SiteHeaders.current returns the @current_headers array +# SiteHeaders.add updates the array, @current_headers +# SiteHeaders.clear clears the @current_headers array +class SiteHeaders + def initialize + @current_headers ||= [] + end + + def self.current + @current_headers + end + + def self.add(item) + if @current_headers + @current_headers << item + else + @current_headers = [item] + end + end + + def self.clear + @current_headers = [] + end +end + +module Jekyll + module Converters + class Markdown::RedcarpetExt + def initialize(config) + @site_config = config + end + + def extensions + Hash[*@site_config['redcarpet']['extensions'].map { |e| [e.to_sym, true] }.flatten] + end + + def markdown + @markdown ||= Redcarpet::Markdown.new(RedcarpetExtender, extensions) + end + + def convert(content) + # Clear the headers array so that we don't duplcate headers on different pages + SiteHeaders.clear + + return super unless @site_config['markdown'] == 'RedcarpetExt' + markdown.render(content) + end + end + end +end diff --git a/_plugins/related_posts.rb b/_plugins/related_posts.rb deleted file mode 100644 index c5347682b..000000000 --- a/_plugins/related_posts.rb +++ /dev/null @@ -1,65 +0,0 @@ -module Jekyll - class RelGenerator < Liquid::Tag - - def initialize(related_posts, text, tokens) - super - @params = text.split(' ') - @baseurl = Jekyll.sites[0].config['baseurl'] - end - - # Gets all posts from the site by tag and adds those that match the tags on - # the current page. Returns a flattened, deduped, array of post objects - def get_posts_by_tag(page, siteTags) - tags = page['tags'] - other_posts = [] - for tag in tags - other_posts.push( siteTags[tag] ) - other_posts = other_posts.flatten.uniq - other_posts.delete_if { |post| page['title'] == post['title'] } - end - return other_posts - end - - # Grabs all posts from the site and matches the authors on the current page - # to other posts authored on the site. This may take a long time for large - # sites. Returns an array of posts - def get_posts_by_author(other_posts, page, site) - posts = site['posts'] - if page['authors'] - authors = page['authors'] - authors.map { |author| posts.map { |post| if post.data['authors'] && post.data['authors'].index(author) then other_posts.push(post) end }} - end - other_posts.delete_if { |post| page['title'] == post['title'] } - return other_posts - end - - # Creates a list of posts from an array of post objects. - def list_posts(other_posts) - external = @params[0] || "ul" - internal = @params[1] || "li" - if other_posts - related_posts = "<#{external}>" - other_posts.flatten.map { |post| related_posts << "<#{internal}>“#{post.data['title']}”" } - related_posts << "No related posts

" - end - end - - # Grabs an array of posts by tag. If that array has fewer than 3 posts, - # grabs more posts by author. Returns a list of the first five posts in the - # array. - def render(context) - page = context['page'] - site = context['site'] - siteTags = site['tags'] - other_posts = get_posts_by_tag(page, siteTags) - if other_posts.flatten.length < 3 - other_posts = get_posts_by_author(other_posts, page, site) - end - related_posts = list_posts(other_posts.uniq.take(3)) - end - - end -end -Liquid::Template.register_tag('related_posts', Jekyll::RelGenerator) diff --git a/_plugins/team.rb b/_plugins/team.rb index 52b3c3633..5e5c92e0d 100644 --- a/_plugins/team.rb +++ b/_plugins/team.rb @@ -13,7 +13,7 @@ def team_photo(name) end def finder(name) - Jekyll.sites[0].collections['team'].docs.find do |member| + Jekyll.sites[0].collections['authors'].docs.detect do |member| member.data["name"] == name end end diff --git a/_posts/2014-04-28-18f-demo-day-may-9-2014.md b/_posts/2014-04-28-18f-demo-day-may-9-2014.md index a3bd16e31..0ea68d713 100644 --- a/_posts/2014-04-28-18f-demo-day-may-9-2014.md +++ b/_posts/2014-04-28-18f-demo-day-may-9-2014.md @@ -54,7 +54,8 @@ Space is limited, so [register today to join us at GSA on May 9.](https://www.eventbrite.com/e/18f-demo-day-tickets-11062384891). We can't wait to see you there! -{{ "https://www.youtube-nocookie.com/embed/aeQX16HCKSs" | embed }} +{{ "https://www.youtube-nocookie.com/embed/aeQX16HCKSs" | embed: 'register today to join us at GSA on May +9.' }} [Register at Eventbrite for 18F Demo Day](https://www.eventbrite.com/e/18f-demo-day-tickets-11062384891) diff --git a/_posts/2014-11-17-taking-control-of-our-website-with-jekyll-and-webhooks.md b/_posts/2014-11-17-taking-control-of-our-website-with-jekyll-and-webhooks.md index 6e79cf52e..93b9a4734 100644 --- a/_posts/2014-11-17-taking-control-of-our-website-with-jekyll-and-webhooks.md +++ b/_posts/2014-11-17-taking-control-of-our-website-with-jekyll-and-webhooks.md @@ -123,7 +123,7 @@ Finally, we can use Jekyll to generate an [RSS feed](https://18f.gsa.gov/feed.xm For example, the below IFTTT recipe will email you every time 18F publishes something: -IFTTT Recipe: A new 18F blog post?! Email me a link to go read it right away! connects feed to email +IFTTT Recipe: A new 18F blog post?! Email me a link to go read it right away! connects feed to email ## Automatic deployment diff --git a/_posts/2014-12-11-large-scale-development-culture-change.md b/_posts/2014-12-11-large-scale-development-culture-change.md index 4e06f03a0..5440faa29 100644 --- a/_posts/2014-12-11-large-scale-development-culture-change.md +++ b/_posts/2014-12-11-large-scale-development-culture-change.md @@ -27,6 +27,6 @@ I joined 18F on the basis of my experience driving adoption of automated testing In order to connect the dots between my Google experience and the challenges that lay ahead as part of my career with 18F, I produced a talk called _Large Scale Development Culture Change: Google and the U.S. Government_. [The slides are freely available](https://goo.gl/TU2pii), as is the webinar video of my December 2, 2014 delivery of the talk at the General Services Administration Headquarters: -{{ "https://www.youtube-nocookie.com/embed/CWSLSHljQLM" | embed }} +{{ "https://www.youtube-nocookie.com/embed/CWSLSHljQLM" | embed: "Large Scale Development Culture Change: Google and the US Government" }} We at 18F hope that many of these ideas will resonate with like-minded "Instigators" throughout the federal IT community, as well as the broader tech industry. In the coming weeks, I will post more regarding tools and processes that we're developing to improve our internal communications, and how we envision that widespread adoption of these tools and processes will help us cultivate knowledge and expertise throughout the federal government. By empowering developers and teams at the grassroots level to make incremental improvements in their own environments, we aim to effect lasting changes that improve the quality of services across all federal agencies, and ultimately the quality of life for American citizens. diff --git a/_posts/2014-12-12-going-to-gov-college.md b/_posts/2014-12-12-going-to-gov-college.md index 4c7dc7228..cb451f85c 100644 --- a/_posts/2014-12-12-going-to-gov-college.md +++ b/_posts/2014-12-12-going-to-gov-college.md @@ -28,16 +28,16 @@ Our team is passionate about collaboration with our fellow agencies on topics al ### "Large Scale Development Culture Change: Google and the U.S. Government" -{{ "https://www.youtube-nocookie.com/embed/CWSLSHljQLM" | embed }} +{{ "https://www.youtube-nocookie.com/embed/CWSLSHljQLM" | embed: "Large Scale Development Culture Change: Google and the U.S. Government" }} ### "Out in the Open: The Role of Open Source in Building the Consumer Financial Protection Bureau" -{{ "https://www.youtube-nocookie.com/embed/tce1B02ZGqc" | embed }} +{{ "https://www.youtube-nocookie.com/embed/tce1B02ZGqc" | embed: "Out in the Open: The Role of Open Source in Building the Consumer Financial Protection Bureau" }} ### "Recent API Trends in Government: API Standards and Open Source Documentation" -{{ "https://www.youtube-nocookie.com/embed/ZRhRU5y0jEk" | embed }} +{{ "https://www.youtube-nocookie.com/embed/ZRhRU5y0jEk" | embed: "Recent API Trends in Government: API Standards and Open Source Documentation" }} ### "How to Run An Agile Project in Government" -{{ "https://www.youtube-nocookie.com/embed/FpBjClJTVQ0" | embed }} +{{ "https://www.youtube-nocookie.com/embed/FpBjClJTVQ0" | embed: "How to Run An Agile Project in Government" }} diff --git a/_posts/2015-02-10-a-story-of-an-agile-workshop.md b/_posts/2015-02-10-a-story-of-an-agile-workshop.md index 9ea86ca9b..634d95fc5 100644 --- a/_posts/2015-02-10-a-story-of-an-agile-workshop.md +++ b/_posts/2015-02-10-a-story-of-an-agile-workshop.md @@ -30,9 +30,7 @@ excerpt: "The clock was ticking as I stated the single solitary rule: We will ha **Responding to change** over following a plan, -*That is, while there is value in the items on the right, we value the -items on the left more.*" — [The Agile -Manifesto](http://www.agilemanifesto.org/)[](http://www.agilemanifesto.org/) +*That is, while there is value in the items on the right, we value the items on the left more.*" — [The Agile Manifesto](http://www.agilemanifesto.org/) ## The stage is set @@ -197,8 +195,7 @@ to change. ## Running your own agile workshop -We’ve previously published a guide to running your own [3-Sprint Agile -Workshop](https://18f.gsa.gov/2014/10/21/how-to-run-your-own-3-sprint-agile-workshop/). +We’ve previously published a guide to running your own [3-Sprint Agile Workshop](https://18f.gsa.gov/2014/10/21/how-to-run-your-own-3-sprint-agile-workshop/). [18F Consulting](https://18f.gsa.gov/consulting/) provides Agile coaching, modular contracting expertise and technical advice to Federal diff --git a/_posts/2015-03-13-how-to-protosketch.md b/_posts/2015-03-13-how-to-protosketch.md index 874f7a6e1..f3e762846 100644 --- a/_posts/2015-03-13-how-to-protosketch.md +++ b/_posts/2015-03-13-how-to-protosketch.md @@ -14,9 +14,7 @@ authors: description: "If you are a leading a project, ask for a protosketch. If you are a developer, learn to protosketch. Create imagination-sparking moments, in the meeting. Give your team the freedom to play — with ideas, code and data. Minimize risk to your project and the American taxpayer by quickly testing ideas with the end-user in a vivid, clickable form. Develop and evaluate hypotheses on the fly. Protosketch to delight your team, your boss, and your customers." excerpt: "If you are a leading a project, ask for a protosketch. If you are a developer, learn to protosketch. Create imagination-sparking moments, in the meeting." --- -This post is a follow-on to the 18F blog post:[ -](https://18f.gsa.gov/2015/01/06/protosketch/)[*"Sketching with Code: -Protosketching"*](https://18f.gsa.gov/2015/01/06/protosketch/), which +This post is a follow-on to the 18F blog post: [*"Sketching with Code: Protosketching"*](https://18f.gsa.gov/2015/01/06/protosketch/), which concludes: > If you are a leading a project, ask for a protosketch. If you are a @@ -48,10 +46,7 @@ with static pages. Incidental benefits to using GitHub Pages include the adoption of "open source process constraints". It makes it easy to follow, for example, -the[ -](https://github.com/18F/open-source-policy/blob/master/policy.md)[*18F -Open Source -Policy*](https://github.com/18F/open-source-policy/blob/master/policy.md), +the [*18F Open Source Policy*](https://github.com/18F/open-source-policy/blob/master/policy.md), "from the first line." ## Leverage design for free using a framework @@ -92,9 +87,7 @@ flexibly you can sketch in sample data. ## Making data malleable The protosketcher should feel comfortable enough modifying sample data -so that it feels "malleable". Paul Graham, in an essay titled[ -](http://www.paulgraham.com/hp.html)[*"Hackers and -Painters"*](http://www.paulgraham.com/hp.html), wrote: +so that it feels "malleable". Paul Graham, in an essay titled [*"Hackers and Painters"*](http://www.paulgraham.com/hp.html), wrote: > You should figure out programs as you're writing them, just as writers and painters and architects do. @@ -129,8 +122,7 @@ with "fake" data using the JSON and jQuery API trick mentioned above. However, you may decide you need to implement a durable, changing data store. Such a data store cannot be easily realized with GitHub Pages. If you must run a small web server to have a changable data store, such as -somenthing as simple as Ruby's Sinatra or Python's Flask, then[ -](https://localtunnel.me/)[*localtunnel*](https://localtunnel.me/) makes +somenthing as simple as Ruby's Sinatra or Python's Flask, then [*localtunnel*](https://localtunnel.me/) makes it very easy to provide a temporary public URL that points to your computer's localhost. @@ -167,8 +159,7 @@ Here are some of the techniques we have used: wanted in the future. - Reuse wherever possible. In a one-hour challenge set by the - Administrator of the GSA, we re-used our own[ - ](https://github.com/18F/answers)[*Answers*](https://github.com/18F/answers) + Administrator of the GSA, we re-used our own [*Answers*](https://github.com/18F/answers) open-source project, which itself was forked from a Code for America's Honolulu project. And it worked. @@ -187,17 +178,14 @@ solution that lets you quickly get feedback from the user. ================================= We exemplify some of the basic techniques mentioned in this article with -an online, functioning[ -](https://18f.github.io/protosketch-demo/)[*prototype*](https://18f.github.io/protosketch-demo/) +an online, functioning [*prototype*](https://18f.github.io/protosketch-demo/) hosted completely free-of-charge with GitHub Pages. An open-source -GitHub repo publicizes the code that implements it:[ -](https://github.com/18F/protosketch-demo)[*protosketch-demo*](https://github.com/18F/protosketch-demo). +GitHub repo publicizes the code that implements it: [*protosketch-demo*](https://github.com/18F/protosketch-demo). The README.md file explains a technique for running this site locally. Feel free to fork this repository if it seems like a good starting point for your own protosketching. -At the GitHub repository, you can find[ -](https://github.com/18F/protosketch-demo/blob/master/app.js)[*app.js*](https://github.com/18F/protosketch-demo/blob/master/app.js), +At the GitHub repository, you can find [*app.js*](https://github.com/18F/protosketch-demo/blob/master/app.js), which is the heart of the application. At the end of this file you find an example of using JQuery to to read from a JSON file, which is analogous to a an API call: @@ -211,8 +199,7 @@ $(document).ready(function() { }); ``` -The file[ -](https://github.com/18F/protosketch-demo/blob/master/orders.json)[*orders.json*](https://github.com/18F/protosketch-demo/blob/master/orders.json) +The file [*orders.json*](https://github.com/18F/protosketch-demo/blob/master/orders.json) is remarkably simple, and clearly malleable enough to support any basic "database-backed website" situation. @@ -246,9 +233,7 @@ is remarkably simple, and clearly malleable enough to support any basic ``` The running demo is lightly styled using bootstrap, as you can see from -the actual[ -](https://github.com/18F/protosketch-demo/blob/master/index.html)[*HTML -file*](https://github.com/18F/protosketch-demo/blob/master/index.html). +the actual [*HTML file*](https://github.com/18F/protosketch-demo/blob/master/index.html). `` diff --git a/_posts/2015-05-29-moveforward-analytics-video.md b/_posts/2015-05-29-moveforward-analytics-video.md index f5bbae5dd..47bbf40a5 100644 --- a/_posts/2015-05-29-moveforward-analytics-video.md +++ b/_posts/2015-05-29-moveforward-analytics-video.md @@ -13,7 +13,7 @@ excerpt: "See the power of open data and open source software in this presentati description: "See the power of open data and open source software in this presentation about analytics.usa.gov from 18F’s Leah Bannon and Charles Worthington of the U.S. Digital Service." image: /assets/blog/dap/screen.png --- -{{ "https://www.youtube-nocookie.com/embed/GPUaUgjbbsA" | embed }} +{{ "https://www.youtube-nocookie.com/embed/GPUaUgjbbsA" | embed: "Youtube video" }} This month, the digital services family of U.S. Digital Services (USDS) Headquarters, 18F, Presidential Innovation Fellows, General Services diff --git a/_posts/2015-06-11-18f-at-national-civic-hacking-day.md b/_posts/2015-06-11-18f-at-national-civic-hacking-day.md index f71cdadf0..504d8cca6 100644 --- a/_posts/2015-06-11-18f-at-national-civic-hacking-day.md +++ b/_posts/2015-06-11-18f-at-national-civic-hacking-day.md @@ -10,7 +10,7 @@ authors: tags: - events - hackathons -- outreach +- outreach excerpt: "Last weekend, thousands of civic hackers from across the country came together for the National Day of Civic Hacking to better their communities. We love this kind of stuff, and couldn't help but get involved." @@ -41,7 +41,8 @@ campaign that organizes the various catalogs of federal APIs to make it easier for developers to discover what web services the government offers. -{{ "https://www.youtube-nocookie.com/embed/O4O7tonG3R8" | embed }} +{{ "https://www.youtube-nocookie.com/embed/O4O7tonG3R8" | embed: "Small Business Administration and Census +Bureau great event" }} **San Diego, Calif.**: [Open San Diego](http://opensandiego.org/) produced the San Diego National Day activity, which took place downtown diff --git a/_posts/2015-06-11-moveforward-map-give-video.md b/_posts/2015-06-11-moveforward-map-give-video.md index 0da80071e..88ad88bb4 100644 --- a/_posts/2015-06-11-moveforward-map-give-video.md +++ b/_posts/2015-06-11-moveforward-map-give-video.md @@ -21,7 +21,7 @@ and coordinating with mapping teams on the ground in Kathmandu." image: /assets/blog/map-give-video/kathmandu-living-labs.jpg --- -{{ "https://www.youtube-nocookie.com/embed/zxGnlWK0Y2w" | embed }} +{{ "https://www.youtube-nocookie.com/embed/zxGnlWK0Y2w" | embed: "How digital humanitarians responded to the Nepal earthquake" }} When Nepal was hit with a devastating earthquake on April 25, the folks at [MapGive](http://mapgive.state.gov/) and others in the diff --git a/_posts/2015-06-25-improving-healthcare-gov-experience.md b/_posts/2015-06-25-improving-healthcare-gov-experience.md index dbd643212..4340acc94 100644 --- a/_posts/2015-06-25-improving-healthcare-gov-experience.md +++ b/_posts/2015-06-25-improving-healthcare-gov-experience.md @@ -19,7 +19,7 @@ his team of eight developers helped save taxpayers tens of millions of dollars per year." image: /assets/blog/healthcare-video/healthcare-fix.jpg --- -{{ "https://www.youtube-nocookie.com/embed/jCAhYZdIPp8" | embed }} +{{ "https://www.youtube-nocookie.com/embed/jCAhYZdIPp8" | embed: "Improving the healthcare.gov experience" }} The [healthcare.gov](https://healthcare.gov) diff --git a/_posts/2015-07-16-introduction-to-https-webinar.md b/_posts/2015-07-16-introduction-to-https-webinar.md index 981f7960b..837923320 100644 --- a/_posts/2015-07-16-introduction-to-https-webinar.md +++ b/_posts/2015-07-16-introduction-to-https-webinar.md @@ -29,7 +29,7 @@ This presentation explains how communication across the web works today and brie There is no technical background required for this video — anyone who has used the web before should be able to understand the concepts discussed. -{{ "https://www.youtube-nocookie.com/embed/d2GmcPYWm5k" | embed }} +{{ "https://www.youtube-nocookie.com/embed/d2GmcPYWm5k" | embed: "Introduction to HTTPS for beginners" }} Table of contents: @@ -52,7 +52,7 @@ Finally, the presentation looks ahead at some ongoing and future technical and p Some technical background in the web is helpful, but may not be required for much of the material. -{{ "https://www.youtube-nocookie.com/embed/rnM2qAfEG-M" | embed }} +{{ "https://www.youtube-nocookie.com/embed/rnM2qAfEG-M" | embed: "Implementing HTTPS" }} Table of contents: diff --git a/_posts/2015-08-06-communicart-tool-will-streamline-purchase-card-process.md b/_posts/2015-08-06-communicart-tool-will-streamline-purchase-card-process.md index aa7e41c01..75d66f3f5 100644 --- a/_posts/2015-08-06-communicart-tool-will-streamline-purchase-card-process.md +++ b/_posts/2015-08-06-communicart-tool-will-streamline-purchase-card-process.md @@ -77,7 +77,7 @@ the code behind the project, review the [slides from our first demo day][6] showing off an early prototype, and check out [the Communicart product page][7]. -{{ "https://www.youtube-nocookie.com/embed/QDTJZwjR24A" | embed }} +{{ "https://www.youtube-nocookie.com/embed/QDTJZwjR24A" | embed: "Visualization of our team's development work" }} We’ll be blogging more about Communicart, how we built it, and who is using it in the next few weeks. We have all the beta testers we can diff --git a/_posts/2015-10-02-building-a-better-government-design-team.md b/_posts/2015-10-02-building-a-better-government-design-team.md index 26416a81c..73452c081 100644 --- a/_posts/2015-10-02-building-a-better-government-design-team.md +++ b/_posts/2015-10-02-building-a-better-government-design-team.md @@ -36,7 +36,7 @@ creative, CFPB has grown a team of more than 70 designers and developers CFPB to do more in-house design and development than most federal agencies. -{{ "https://www.youtube-nocookie.com/embed/EXP1DHH2GrI" | embed }} +{{ "https://www.youtube-nocookie.com/embed/EXP1DHH2GrI" | embed: "Building a better government design team" }} *How* the team grew was the subject of a presentation Bates and Fitzgerald gave at 18F on Tuesday, Sept. 22. Starting with an overview diff --git a/_posts/2015-10-15-best-practices-for-distributed-teams.md b/_posts/2015-10-15-best-practices-for-distributed-teams.md index 7720a5c60..825dc8cb4 100644 --- a/_posts/2015-10-15-best-practices-for-distributed-teams.md +++ b/_posts/2015-10-15-best-practices-for-distributed-teams.md @@ -170,7 +170,7 @@ take notes in Slack [during meetings] or keep an eye out for questions [from remote team members] during the all hands really help out their remote colleagues.” -
+
Some of us shift our time zones ------------------------------- diff --git a/_posts/2015-11-13-answering-common-questions-about-cloud-gov.md b/_posts/2015-11-13-answering-common-questions-about-cloud-gov.md index 119cad18d..01c81d99e 100644 --- a/_posts/2015-11-13-answering-common-questions-about-cloud-gov.md +++ b/_posts/2015-11-13-answering-common-questions-about-cloud-gov.md @@ -53,7 +53,7 @@ Here’s a presentation that explains how cloud.gov’s PaaS can help free your staff to spend more time conquering problems that are unique to your agency and less time on regulatory compliance. -{{ "https://www.youtube-nocookie.com/embed/nCycNkxs-rE" | embed }} +{{ "https://www.youtube-nocookie.com/embed/nCycNkxs-rE" | embed: "Cloud.gov: do more with less" }} ## Why would an agency want to use cloud.gov? diff --git a/_posts/2015-12-30-turning-learning-up-to-11.md b/_posts/2015-12-30-turning-learning-up-to-11.md index ac279e815..db635ab00 100644 --- a/_posts/2015-12-30-turning-learning-up-to-11.md +++ b/_posts/2015-12-30-turning-learning-up-to-11.md @@ -42,7 +42,7 @@ presentation at the conference. You can view the video of my DOES15 presentation below, as well as review [the slides for the talk](https://goo.gl/CrCUii). -{{ "https://www.youtube-nocookie.com/embed/ahtihwxgriA" | embed }} +{{ "https://www.youtube-nocookie.com/embed/ahtihwxgriA" | embed: "Mike Bland: Pain is over, if you want it" }} Throughout my presentation, I drove home the importance of transparency, autonomy, and collaboration as critical factors in bringing about diff --git a/_posts/2016-03-18-how-user-archetypes-informed-the-draft-us-web-design-standards.md b/_posts/2016-03-18-how-user-archetypes-informed-the-draft-us-web-design-standards.md index 47156ae6f..9df0b13a6 100644 --- a/_posts/2016-03-18-how-user-archetypes-informed-the-draft-us-web-design-standards.md +++ b/_posts/2016-03-18-how-user-archetypes-informed-the-draft-us-web-design-standards.md @@ -172,7 +172,7 @@ how they will integrate with existing technology stacks and work-flows. ### The MacGyver -### Who they are +#### Who they are The MacGyver is a back end developer who has been charged with front end design and development, despite protests. This person has to produce web diff --git a/_posts/2016-03-24-video-highlights-from-18f-speeches-over-the-last-year.md b/_posts/2016-03-24-video-highlights-from-18f-speeches-over-the-last-year.md index c00fe8e80..0af3e4546 100644 --- a/_posts/2016-03-24-video-highlights-from-18f-speeches-over-the-last-year.md +++ b/_posts/2016-03-24-video-highlights-from-18f-speeches-over-the-last-year.md @@ -46,7 +46,7 @@ work we do. +frameborder="0" allowfullscreen title="Hillary Hartley & Aaron Snow – Improving Federal Government Digital Services – UX Showcase (2016)"> Team culture ------------ diff --git a/_posts/2016-04-05-three-teams-using-the-draft-us-web-design-standards-talk-about-their-experiences.md b/_posts/2016-04-05-three-teams-using-the-draft-us-web-design-standards-talk-about-their-experiences.md index a5bd636bc..ed395d8f7 100644 --- a/_posts/2016-04-05-three-teams-using-the-draft-us-web-design-standards-talk-about-their-experiences.md +++ b/_posts/2016-04-05-three-teams-using-the-draft-us-web-design-standards-talk-about-their-experiences.md @@ -180,8 +180,7 @@ our learnings with 18F and the larger community of developers in government. Thanks for all of your hard work! **EH:** In an attempt to improve our own visual design we have been -reading Google’s visual style guide,[ -](https://www.google.com/design/spec/material-design/introduction.html)[Material +reading Google’s visual style guide,[Material Design](https://www.google.com/design/spec/material-design/introduction.html). In this document, the Google design team introduces a concept they have labeled “[Meaningful diff --git a/_posts/2016-07-18-cloud-gov-full-steam-ahead-fedramp-assessment-process.md b/_posts/2016-07-18-cloud-gov-full-steam-ahead-fedramp-assessment-process.md index 6709be5a2..520032d34 100644 --- a/_posts/2016-07-18-cloud-gov-full-steam-ahead-fedramp-assessment-process.md +++ b/_posts/2016-07-18-cloud-gov-full-steam-ahead-fedramp-assessment-process.md @@ -108,7 +108,7 @@ including agency teams and industry vendors. [Watch a recent presentation from part of the cloud.gov team to learn more about some of the work we’ve done to get here.](https://www.youtube-nocookie.com/embed/UwOG3BrdODo) -{% comment %}{{ "https://www.youtube-nocookie.com/embed/UwOG3BrdODo" | embed }}{% endcomment %} +{% comment %}{{ "https://www.youtube-nocookie.com/embed/UwOG3BrdODo" | embed: "Running Cloud Foundry in a Compliance and Security Focused Environment" }}{% endcomment %} If you’re interested in cloud.gov --------------------------------- diff --git a/_posts/2016-09-06-nicole-fenton-a-wordsmith-joins-government.md b/_posts/2016-09-06-nicole-fenton-a-wordsmith-joins-government.md index 935d53d21..806770fae 100644 --- a/_posts/2016-09-06-nicole-fenton-a-wordsmith-joins-government.md +++ b/_posts/2016-09-06-nicole-fenton-a-wordsmith-joins-government.md @@ -75,11 +75,11 @@ reflecting on my own needs and interests, here I am at 18F. **MK: How did you find out about 18F?** -**NF:** I first heard about 18F through [Jesse Taggert]({{ site.baseurl }}/team/jtag/). We were friends +**NF:** I first heard about 18F through [Jesse Taggert]({{ site.baseurl }}/author/jtag/). We were friends in San Francisco before I moved to New York. We always keep an eye on what the other person is doing. -I would occasionally read the blog, and I also know [Meghana]({{ site.baseurl }}/team/meghana/) from my work +I would occasionally read the blog, and I also know [Meghana]({{ site.baseurl }}/author/meghana/) from my work at the School for Visual Arts, so I was curious about the team. As a strategist, I do a lot of thinking about goals and next steps, and diff --git a/_posts/2016-09-19-vendors-government-strengthen-partnership-technology-industry-day.md b/_posts/2016-09-19-vendors-government-strengthen-partnership-technology-industry-day.md index cab1b1ecf..c70855a24 100644 --- a/_posts/2016-09-19-vendors-government-strengthen-partnership-technology-industry-day.md +++ b/_posts/2016-09-19-vendors-government-strengthen-partnership-technology-industry-day.md @@ -34,7 +34,7 @@ event below and [download the slidedeck from the morning presentation]({{site.ba +allowfullscreen title="GSA Technology Industry Day"> Find out more about the projects and platforms we talked about during the Technology Industry Day. diff --git a/_posts/2016-09-20-mississippi-agile-modular-techniques-child-welfare-system.md b/_posts/2016-09-20-mississippi-agile-modular-techniques-child-welfare-system.md index 14e265c13..f1f57b014 100644 --- a/_posts/2016-09-20-mississippi-agile-modular-techniques-child-welfare-system.md +++ b/_posts/2016-09-20-mississippi-agile-modular-techniques-child-welfare-system.md @@ -27,7 +27,8 @@ Mississippi’s initial response to solving this problem was a classic waterfall approach: Spend several years gathering requirements then hire a single vendor to design and develop an entirely new system and wait several more years for them to deliver a new complete solution. -According to the project team at Mississippi's Department of Child Protection Services, this “sounds like a good option, but it takes so +According to the project team at Mississippi's Department of Child +Protection Services, this “sounds like a good option, but it takes so long to get any new functionality into the hands of our users. And our caseworkers are clamoring for new functionality.” Instead, they’re taking this opportunity to build the first agile, modular software diff --git a/_posts/README.md b/_posts/README.md deleted file mode 100644 index f38a036ff..000000000 --- a/_posts/README.md +++ /dev/null @@ -1,137 +0,0 @@ -## 18F Blogging Guide - -This document describes 18F's blogging process (both policy and technical). 18F's blog is at `https://18f.gsa.gov/news/`, and is part of the overall 18F website. - -Our blog uses Jekyll as a blogging framework, with substantial customizations and integrations added by the 18F team. (In other words, it won't run on GitHub Pages.) More on that [in this blog post.][1] - -## How to write a blog post - -We've tried to streamline the blogging process into just a few easy steps: [plan](#1.-plan), [write](#2.-write), [review](#3.-review). - -> Before you get started, or at any time dring this process we encourage you to attend one our our weekly **blogging huddles** on Tuesdays at 2:30 (or 1:30 Chicago, 12:30 Denver, 11:30 San Francisco). If you want some help with a post or just want to chat about an idea, [grab one of the appointment slots][2]. If you can't make it, reach out to us on Slack. We're here to help. - -### 1. Plan - -If you have an idea you're ready to write about, great. The first step is making an appointment on the [Editorial Calendar][3] on the day you want to publish the post. (let the blog team know on Slack if you have problems with that). We can always move it if we need to, but think of this as setting your own deadline. - -If you have an idea but aren't ready to write it or don't have time to write it, let us know by making an issue in the [blog-drafts repo on GitHub][4]. - -## 2. Write - -After you make an appointment the team will take care of all the process _stuff_ for you and let you focus on writing. We might contact you and ask some questions about your post and we're always available to help you write. - -We don't really care what format you write in during the drafting stage but _eventually we need a Google Document to send to GSA Comms for review_ (so it might make the most sense to start there). - -## 3. Review - -Once you start writing the Blog Team will send you a link to an issue in GitHub for your post. When you have a draft you're ready for feedback on, whether it is final approval or you want our take on your progress, drop a link in there and we'll be glad to help. When your final draft is ready to publish we'll send it to GSA Comms for review. - -Once your post is ready to publish, we'll convert the Google Doc into Markdown for you (or you can do it yourself if you'd like), and open a pull request to [18f.gsa.gov][5] to stage the post for publication. - -That's it! We may ask you a few questions or have some minor edits, but your job is done! You can stop reading here if you want. - -The rest of this document has instructions for creating the markdown file and pointers on how to format the HTML. - -**Most important bullet points:** - -* Blog posts need to be written in Markdown before publishing. - * Tools like [Pandoc][6] and [Gdocs2md][7] might help convert between file types -* Pull requests should be issued to the `staging` branch from another branch - * All images embedded in posts or referenced in metadata need to be **added to the repository**, i.e., don't [hot link][8] to 3rd-party assets. -* Each post needs some 18F-specific metadata in the front-matter: author names, tags, a short description, etc. (see below) -* We deploy automatically through pull requests. That means **every pull request to production gets two sets of eyes**, where one of them is someone on the 18f.gsa.gov team other than the author. No exceptions: if it's time sensitive, start IMing or texting people. -* We're an AP writing style shop. The grammar-inclined among us will try to review your work before live, but definitely ask the internet about proper AP solutions if you run up against a "one space after a period or two" sort of question. (The answer is one space, not two. :wink:) - -### Creating a new blog post file - -To create a new blog post, save your post in the [`_posts` directory](https://github.com/18F/18f.gsa.gov/tree/staging/_posts) with the name `2015-02-23-new-post.md` where '2015-02-23' is today's date and `new-post` is the title of your post. Detailed instructions, along with screenshots, are located in [our blogging and Github tutorial](https://18f.gsa.gov/2015/03/03/how-to-use-github-and-the-terminal-a-guide/#edit-and-commit-a-blog-post). - -#### Metadata, explained - -Begin the new file by adding "YAML front-matter." This is where the post's title, authors, tags, banner image, and excerpt/description live. - -Here each required field: - -* `title` - The plain-text title of your post. Surround with quotation marks. This will be displayed prominently above the post, will show up in browser tabs, and will be included in "share text" when the link appears on Twitter, Facebook, and other social media platforms. -* `image` - The main image of your post. A relative link, with a leading `/`. This will appear in social media platforms when the post is shared. It can be a different image than those which appear embedded in your post. -* `description` - A short plain-text description of your post. Surround with quotation marks. No Markdown or HTML allowed. This does not need to be an excerpt, but instead can be a sentence or two that you feel represents your post well. It may appear next to your post on social media and other places which fetch article metadata. -* `excerpt` - A short plain-text snippet of the post to use as the "nut graf" that appears on the home page. -* `authors` - A list of handles of teammates involved in authoring the post. They must all be lowercase, and must match a name that appears in [`_data/team.yml`](_data/team.yml) They do not necessarily have to be the same teammates that appear in the post's byline. -* `tags` - A list of tags to associate with the post. These will appear, linked, next to the post and will take readers to other posts that have this tag. Sentences (e.g. "how we work") are fine — there is no need to jam phrases into one word - - -Robert Read's [blog post on legacy systems](_posts/2014-09-08-the-encasement-strategy-on-legacy-systems-and-the.html) begins with metadata like this: - -```yaml ---- -layout: post - -title: "The Encasement Strategy: On Legacy Systems and the Importance of APIs" - -image: /assets/images/blog/encasement/encasement1.png - -description: "In 1986 a nuclear reactor known as Chernobyl released harmful radioactivity which spread over much of the western USSR and Europe. The core of this reactor remains a glowing, ineradicable mass of deadly radioactive lava in the middle of a large Exclusion Zone unfit for human habitation." - -excerpt: "In 1986 a nuclear reactor known as Chernobyl released harmful radioactivity which spread over much of the western USSR and Europe. The core of this reactor remains a glowing, ineradicable mass of deadly radioactive lava in the middle of a large Exclusion Zone unfit for human habitation." - -authors: -- robert -- mhz - -tags: -- API -- how we work ---- -``` - -[Note that a post's byline do not appear here — they are handled separately.] - -#### Add blog post body - -The **byline** is handled automatically. - -After this, you can add the body to the post. - -#### Link blog post assets - -Unless there's an extremely compelling reason, **blog post resources should be committed to this repository**. This includes images, JavaScript, additional CSS, whatever. - -This guarantees that our posts aren't disturbed by external changes, ensures we never suffer mixed content warnings or active content blocking, and increases our site's loading performance by keeping resources to a single domain. - -This does not apply to embedded widgets, like tweets or YouTube videos. - -If your blog post uses assets, then: - -* **Make a new asset directory** in the [`assets/blog/`](assets/blog) directory, like this: - -``` -assets/blog/eiti/ -``` - -* **Put images and assets into this directory**, like so: - -``` -assets/blog/eiti/eiti1.jpg -``` - -* **Use relative links in posts**, with a leading slash and a title attribute, like this: - -```markdown -![photo: team creating personas](/assets/blog/eiti/eiti1.jpg) -``` - -or in HTML: - -```html - -``` - -[1]: https://18f.gsa.gov/2014/11/17/taking-control-of-our-website-with-jekyll-and-webhooks/ -[2]: https://www.google.com/calendar/selfsched?sstoken=UUN0WjhISnV1SjV5fGRlZmF1bHR8MzlmYzRjOTg5YWZmZGI3MDEwMzY1M2NiZjU4MjU2Yzk -[3]: https://www.google.com/calendar/embed?src=Z3NhLmdvdl9wa2tiZjUzdTFtNmlzOWdpNzZ2MWw4aTVqOEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t -[4]: https://github.com/18F/blog-drafts/issues/new -[5]: https://github.com/18F/18f.gsa.gov -[6]: http://johnmacfarlane.net/pandoc/ -[7]: https://github.com/mangini/gdocs2md -[8]: https://en.wikipedia.org/wiki/Inline_linking -[9]: https://github.com/18F/18f.gsa.gov/blob/staging/script/post diff --git a/_sass/_components/hero.scss b/_sass/_components/hero.scss index 2e5cc29fd..705615713 100644 --- a/_sass/_components/hero.scss +++ b/_sass/_components/hero.scss @@ -3,7 +3,7 @@ .hero { @include padding($site-margins null); - background-image: url('../img/home/hero-every-kid.png'); + background-image: url('../img/home/hero-fec.png'); background-position: center; background-size: cover; } @@ -12,6 +12,10 @@ background-color: $color-dark; padding: 3rem; + h2 { + font-size: $h2-font-size * 0.85; + } + @include media($small-screen) { max-width: 300px; } @@ -22,7 +26,6 @@ .usa-button { font-size: $small-font-size; - margin-top: 7rem; width: 100%; } } diff --git a/_sass/_components/typography.scss b/_sass/_components/typography.scss index 08ad8829b..de96ea0c7 100644 --- a/_sass/_components/typography.scss +++ b/_sass/_components/typography.scss @@ -3,6 +3,7 @@ body { overflow-x: hidden; + font-size: $base-font-size; } h1, diff --git a/_sass/_components/variables.scss b/_sass/_components/variables.scss index 8dc11dcc9..a7aaed831 100644 --- a/_sass/_components/variables.scss +++ b/_sass/_components/variables.scss @@ -5,6 +5,8 @@ $h3-font-size: 2.4rem; $h5-font-size: 1.4rem; $h6-font-size: 1.2rem; +$base-font-size: 1.8rem; + $tiny-font-size: 1.2rem; $font-sans: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif; diff --git a/accessibility-scan b/accessibility-scan new file mode 100644 index 000000000..03fa9967e --- /dev/null +++ b/accessibility-scan @@ -0,0 +1,7 @@ +if [[ -n $CIRCLE_BRANCH ]]; then + echo "scanning site using sitemap from 18F/${CIRCLE_BRANCH}" + pa11y-ci --sitemap https://federalist.18f.gov/preview/18F/18f.gsa.gov/${CIRCLE_BRANCH}/sitemap.xml +else + echo "scanning site using localhost sitemap" + pa11y-ci --sitemap http://localhost:4000/sitemap.xml +fi diff --git a/assets/img/favicons/18F-Logo-152.png b/assets/img/favicons/18F-Logo-152.png new file mode 100644 index 000000000..6dbe6d750 Binary files /dev/null and b/assets/img/favicons/18F-Logo-152.png differ diff --git a/assets/img/home/hero-fec.png b/assets/img/home/hero-fec.png new file mode 100644 index 000000000..6dc27e116 Binary files /dev/null and b/assets/img/home/hero-fec.png differ diff --git a/build b/build index d3f8ea51b..e46d74a97 100755 --- a/build +++ b/build @@ -1,5 +1,5 @@ if [ -n $FAST_BUILDS ]; then - export FAST_BUILDS=true + export FAST_BUILDS=true; fi -bundle exec jekyll build --watch --incremental --config="_config.yml,_config-fast-builds.yml" +bundle exec jekyll build --incremental --config="_config.yml,_config-fast-builds.yml,_config-dev.yml" diff --git a/circle.yml b/circle.yml index 674320b44..c96857563 100644 --- a/circle.yml +++ b/circle.yml @@ -7,8 +7,17 @@ dependencies: pre: - bundle install - bundle exec jekyll build + # uncomment to restore pa11y-ci + # - nvm install stable && nvm alias default stable + # + - npm test + # uncomment to restore pa11y-ci + # - npm install -g pa11y-ci + # test: pre: - bundle exec jekyll test - - bundle exec htmlproofer _site --disable-external --allow-hash-href --empty-alt-ignore --url-ignore 18f@gsa.gov \ No newline at end of file + - bundle exec htmlproofer _site --disable-external --allow-hash-href --empty-alt-ignore --url-ignore 18f@gsa.gov + # uncomment to restore pa11y-ci + # - npm run --harmony lint-508 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..0ea99399a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +app: + build: ./ + working_dir: /app + volumes: + - .:/app + entrypoint: ruby /app/docker_entrypoint.rb + command: ./serve + ports: + - "4000:4000" \ No newline at end of file diff --git a/docker_entrypoint.rb b/docker_entrypoint.rb new file mode 100644 index 000000000..7b8973819 --- /dev/null +++ b/docker_entrypoint.rb @@ -0,0 +1,40 @@ +require 'etc' + +# We want our Docker process to use the same uid as the owner of the +# repository checkout. This will ensure that any created files +# have the same owner and can be accessed on the host system, rather than +# being owned by root and hard to modify or delete. +HOST_UID = File::Stat.new('/app').uid + +# This is just the username for the uid, for cosmetic purposes only really. +HOST_USER = '18f_user'.freeze + +def does_username_exist(username) + Etc.getpwnam(username) + true +rescue ArgumentError + false +end + +def does_uid_exist(uid) + Etc.getpwuid(uid) + true +rescue ArgumentError + false +end + +def assume_uid + unless does_uid_exist(HOST_UID) + username = HOST_USER + username += '0' while does_username_exist(username) + home_dir = '/home/' + username + system("useradd -d #{home_dir} -m #{username} -u #{HOST_UID}") + end + ENV['HOME'] = '/home/' + Etc.getpwuid(HOST_UID).name + Process::UID.change_privilege(HOST_UID) + return unless Process.euid != HOST_UID +end + +assume_uid + +exec(*ARGV) diff --git a/package.json b/package.json new file mode 100644 index 000000000..7c451c0a8 --- /dev/null +++ b/package.json @@ -0,0 +1,34 @@ +{ + "name": "18f.gsa.gov", + "version": "1.0.0", + "description": "18F's flagship website", + "main": "config.yml", + "directories": { + "test": "tests" + }, + "engines": { + "node": ">=5.12" + }, + "scripts": { + "test": "bundle exec jekyll test", + "lint-508": "bash ./accessibility-scan" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/18F/18f.gsa.gov.git" + }, + "keywords": [ + "18f", + "site", + "blog" + ], + "author": "18F", + "license": "MIT", + "bugs": { + "url": "https://github.com/18F/18f.gsa.gov/issues" + }, + "homepage": "https://18f.gsa.gov", + "devDependencies": { + "pa11y-ci": "^0.3.0" + } +} diff --git a/pages/home.html b/pages/home.html index edfabe85c..717f05d13 100644 --- a/pages/home.html +++ b/pages/home.html @@ -7,19 +7,18 @@
-

We’re building: A pass to get every kid in a national park

- Every Kid in a Park, U.S. Interior - Learn about what we do +

We’re helping the Federal Election Commission make campaign finance data easier to use.

+ Learn more about fec.gov
-

Delivery is the strategy.

+

Building 21st century digital government

-

18F is an office inside the General Services Administration's Technology Transformation Service that helps other federal agencies build, buy, and share efficient and easy-to-use digital services.

-

We're transforming government from the inside out, creating cultural change by working with teams inside agencies who want to create great services for the public.

+

18F partners with agencies to approach technology projects in new ways. We help agencies improve processes and deliver efficient, easy-to-use digital services to the public.

+

As an office within the General Services Administration, we know how to work with government. All our projects support agencies in transforming how they deliver digital services and technology products.

diff --git a/scripts/redirect_team_to_author.rb b/scripts/redirect_team_to_author.rb new file mode 100644 index 000000000..87c4ba3b5 --- /dev/null +++ b/scripts/redirect_team_to_author.rb @@ -0,0 +1,14 @@ +# script to add a redirect from /team/:name to /author/:name urls +Dir.foreach('./_authors') do |file| + if file.to_s != '.' && file.to_s != '..' + path = "./_authors/#{file}" + lines = File.readlines(path) + name = file.slice(0...-3) + redirected_url = "redirect_from: /team/#{name}" + already_redirected = lines.include?(redirected_url) + lines[lines.size - 2] = redirected_url unless already_redirected + File.open(path, 'w') do |f| + f.puts lines + end + end +end diff --git a/serve b/serve index c59e28947..4f9b2fc5b 100755 --- a/serve +++ b/serve @@ -2,4 +2,4 @@ if [ -n $FAST_BUILDS ]; then export FAST_BUILDS=true; fi -bundle exec jekyll serve --watch --incremental --config="_config.yml,_config-fast-builds.yml" +LC_ALL="en_US.UTF-8" bundle exec jekyll serve --watch --host 0.0.0.0 --config="_config.yml,_config-fast-builds.yml,_config-dev.yml" diff --git a/sitemap.xml b/sitemap.xml index 5fd70bcde..be898479f 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,8 +2,23 @@ --- - {% capture site_url %}{% if site.url %}{{ site.url | append: site.baseurl }}{% else %}{{ site.github.url }}{% endif %}{% endcapture %} + + {% if site.url %} + {% if site.baseurl == "" %} + {% if site.env == 'development' %} + {% assign site_url = site.localhost | append: site.baseurl %} + {% else %} + {% assign site_url = site.url | append: site.baseurl %} + {% endif %} + {% else %} + {% assign site_url = site.federalist_url | append: site.baseurl %} + {% endif %} + {% else %} + {% assign site_url = site.github.url %} + {% endif %} + {% for post in site.posts %}{% unless post.sitemap == false %} + {{ post.url | prepend: site_url }} {% if post.last_modified_at %} diff --git a/tests/schema/_team.yml b/tests/schema/_team.yml index 273a2122b..b95aba60e 100644 --- a/tests/schema/_team.yml +++ b/tests/schema/_team.yml @@ -10,7 +10,7 @@ team: oneof: ["Delivery", "Consulting", "Design", "Talent"] role: "String" config: - path: '_team' + path: '_authors' ignore: - README.md - ..