diff --git a/docs/docs/recipes/deploying-your-site.md b/docs/docs/recipes/deploying-your-site.md
deleted file mode 100644
index ac9d68e8615f6..0000000000000
--- a/docs/docs/recipes/deploying-your-site.md
+++ /dev/null
@@ -1,188 +0,0 @@
----
-title: "Recipes: Deploying Your Site"
-tableOfContentsDepth: 1
----
-
-Showtime. Once you are happy with your site, you are ready to go live with it!
-
-## Preparing for deployment
-
-### Prerequisites
-
-- A [Gatsby site](/docs/quick-start)
-- The [Gatsby CLI](/docs/reference/gatsby-cli) installed
-
-### Directions
-
-1. Stop your development server if it is running (`Ctrl + C` on your command line in most cases)
-
-2. For the standard site path at the root directory (`/`), run `gatsby build` using the Gatsby CLI on the command line. The built files will now be in the `public` folder.
-
-```shell
-gatsby build
-```
-
-3. To include a site path other than `/` (such as `/site-name/`), set a path prefix by adding the following to your `gatsby-config.js` and replacing `yourpathprefix` with your desired path prefix:
-
-```js:title=gatsby-config.js
-module.exports = {
- pathPrefix: `/yourpathprefix`,
-}
-```
-
-There are a few reasons to do this -- for instance, hosting a blog built with Gatsby on a domain with another site not built on Gatsby. The main site would direct to `example.com`, and the Gatsby site with a path prefix could live at `example.com/blog`.
-
-4. With a path prefix set in `gatsby-config.js`, run `gatsby build` with the `--prefix-paths` flag to automatically add the prefix to the beginning of all Gatsby site URLs and `` tags.
-
-```shell
-gatsby build --prefix-paths
-```
-
-5. Make sure that your site looks the same when running `gatsby build` as with `gatsby develop`. By running `gatsby serve` when you build your site, you can test out (and debug if necessary) the finished product before deploying it live.
-
-```shell
-gatsby build && gatsby serve
-```
-
-### Additional resources
-
-- Walk through building and deploying an example site in [tutorial part one](/docs/tutorial/part-1/#deploying-a-gatsby-site)
-- Learn about [performance optimization](/docs/performance/)
-- Read about [other deployment related topics](/docs/preparing-for-deployment/)
-- Check out the [deployment docs](/docs/deploying-and-hosting/) for specific hosting platforms and how to deploy to them
-
-## Deploying to Netlify
-
-Use [`netlify-cli`](https://www.netlify.com/docs/cli/) to deploy your Gatsby application without leaving the command-line interface.
-
-### Prerequisites
-
-- A [Gatsby site](/docs/quick-start) with a single component `index.js`
-- The [netlify-cli](https://www.npmjs.com/package/netlify-cli) package installed
-- The [Gatsby CLI](/docs/reference/gatsby-cli) installed
-
-### Directions
-
-1. Build your gatsby application using `gatsby build`
-
-2. Login into Netlify using `netlify login`
-
-3. Run the command `netlify init`. Select the "Create & configure a new site" option.
-
-4. Choose a custom website name if you want or press enter to receive a random one.
-
-5. Choose your [Team](https://www.netlify.com/docs/teams/).
-
-6. Change the deploy path to `public/`
-
-7. Make sure that everything looks fine before deploying to production using `netlify deploy -d . --prod`
-
-### Additional resources
-
-- [Hosting on Netlify](/docs/hosting-on-netlify)
-- [gatsby-plugin-netlify](/plugins/gatsby-plugin-netlify)
-
-## Deploying to Vercel
-
-Use [Vercel CLI](https://vercel.com/download) to deploy your Gatsby application without leaving the command-line interface.
-
-### Prerequisites
-
-- A [Vercel](https://vercel.com/signup) account
-- A [Gatsby site](/docs/quick-start) with a single component `index.js`
-- [Vercel CLI](https://vercel.com/download) package installed
-- [Gatsby CLI](/docs/reference/gatsby-cli) installed
-
-### Directions
-
-1. Login into Vercel CLI using `vercel login`
-
-2. Change to the directory of your Gatsby.js application in the Terminal if you aren't already there
-
-3. Run `vercel` to deploy it
-
-### Additional resources
-
-- [Deploying to Vercel](/docs/how-to/previews-deploys-hosting/deploying-to-vercel/)
-
-## Deploying to Cloudflare Workers
-
-Use [`wrangler`](https://developers.cloudflare.com/workers/tooling/wrangler/) to deploy your Gatsby application globally without leaving the command-line interface.
-
-### Prerequisites
-
-- An account on [Cloudflare](https://dash.cloudflare.com/sign-up)
-- A [Workers Unlimited plan](https://developers.cloudflare.com/workers/about/pricing/) for \$5/month to enable the KV store, which is required to serve the Gatsby files.
-- A [Gatsby site](/docs/quick-start) set up with Gatsby's CLI
-- [wrangler](https://developers.cloudflare.com/workers/tooling/wrangler/install/) installed globally (`npm install -g @cloudflare/wrangler`)
-
-### Directions
-
-1. Build your Gatsby application using `gatsby build`
-2. Run `wrangler config` where you'll be prompted for your [Cloudflare API token](https://developers.cloudflare.com/workers/quickstart/#api-token)
-3. Run `wrangler init --site`
-4. Configure `wrangler.toml`. First add [account ID](https://developers.cloudflare.com/workers/quickstart/#account-id-and-zone-id) field and then either
- 1. A free workers.dev domain by setting `workers_dev = true`
- 2. A custom domain on Cloudflare by setting `workers_dev = false`, `zone_id = "abdc..` and `route = customdomain.com/*`
-5. In `wrangler.toml` set `bucket = "./public"`
-6. Run `wrangler publish` and your site will be deployed in seconds!
-
-### Additional resources
-
-- [Hosting on Cloudflare](/docs/deploying-to-cloudflare-workers)
-
-## Setting up Google Analytics
-
-Use `gatsby-plugin-google-analytics` to track site activity and provide insights into how users access your website.
-
-### Prerequisites
-
-- A [Gatsby site](/docs/quick-start) with a `gatsby-config.js` file and an `index.js` page
-- The [Gatsby CLI](/docs/reference/gatsby-cli) installed
-- A domain from your provider of choice, e.g. [AWS](https://aws.amazon.com/getting-started/tutorials/get-a-domain/)
-
-### Verify the domain in search.google.com
-
-1. Navigate to the [Google search console](https://search.google.com/search-console/not-verified) to verify the domain by clicking on **Search Property** > **Add Property**. Type in your domain and press Continue.
-2. Add a **TXT** record to your DNS configuration. Follow the directions for your provider, or refer to the [Google documentation](https://support.google.com/a/answer/183895?hl=en).
-
-### Linking the domain to Google Analytics admin
-
-1. Log into [Google Analytics](https://analytics.google.com/analytics/).
-2. Click **Admin**.
-3. Select **Create Property** in the Property column.
-4. Choose **Web**.
-5. Fill in the details and click **Create**.
-
-### Getting your Google Analytics `Tracking ID`
-
-1. Sign in to your Google Analytics account.
-2. Click **Admin**.
-3. Select an account from the menu in the ACCOUNT column.
-4. Select a property from the menu in the PROPERTY column.
-5. Under Property, click **Tracking Info** > **Tracking Code**. Your Tracking ID is displayed at the top of the page.
-
-### Using the ID in the plugin
-
-1. Run `npm install gatsby-plugin-google-analytics` in your terminal.
-2. Add the following to your `gatsby-config.js` file.
-
-```javascript:title="gatsby-config.js"
-module.exports = {
- plugins: [
- {
- resolve: `gatsby-plugin-google-analytics`,
- options: {
- // replace "UA-XXXXXXXXX-X" with your own Tracking ID
- trackingId: "UA-XXXXXXXXX-X",
- },
- },
- ],
-}`
-```
-
-3. Build and deploy your site to start seeing traffic in your [Google Analytics dashboard](https://analytics.google.com/analytics/web/).
-
-### Additional resources
-
-- [Adding Analytics](/docs/how-to/adding-common-features/adding-analytics/)
diff --git a/docs/docs/recipes/styling-css.md b/docs/docs/recipes/styling-css.md
deleted file mode 100644
index ab287b5563f7a..0000000000000
--- a/docs/docs/recipes/styling-css.md
+++ /dev/null
@@ -1,480 +0,0 @@
----
-title: "Recipes: Styling with CSS"
-tableOfContentsDepth: 1
----
-
-There are so many ways to add styles to your website; Gatsby supports almost every possible option, through official and community plugins.
-
-## Using global CSS files without a Layout component
-
-### Prerequisites
-
-- An existing [Gatsby site](/docs/quick-start/) with an index page component
-- A `gatsby-browser.js` file
-
-### Directions
-
-1. Create a global CSS file as `src/styles/global.css` and paste the following into the file:
-
-```css:title=src/styles/global.css
-html {
- background-color: lavenderblush;
-}
-
-p {
- color: maroon;
-}
-```
-
-2. Import the global CSS file in the `gatsby-browser.js` file such as the following:
-
-```javascript:title=gatsby-browser.js
-import "./src/styles/global.css"
-```
-
-> **Note:** You can also make use of `require('./src/styles/global.css')` to import the global CSS file in your `gatsby-browser.js` file.
-
-3. Run `gatsby-develop` to observe the global styling being applied across your site.
-
-> **Note:** This approach is not the best fit if you are using CSS-in-JS for styling your site, in which case a layout page with all the shared components should be used. This is covered in the next recipe.
-
-### Additional resources
-
-- More on [adding global styles without a layout component](/docs/how-to/styling/global-css/#adding-global-styles-without-a-layout-component)
-
-## Using global styles in a layout component
-
-### Prerequisites
-
-- A [Gatsby site](/docs/quick-start/) with an index page component
-
-### Directions
-
-You can add global styles to a [shared layout component](/docs/tutorial/part-2/#create-a-reusable-layout-component). This component is used for things that are common throughout the site, like a header or footer.
-
-1. If you don't already have one, create a new directory in your site at `/src/components`.
-
-2. Inside the components directory, create two files: `layout.css` and `layout.js`.
-
-3. Add the following to `layout.css`:
-
-```css:title=/src/components/layout.css
-body {
- background: red;
-}
-```
-
-4. Edit `layout.js` to import the CSS file and output layout markup:
-
-```jsx:title=/src/components/layout.js
-import React from "react"
-import "./layout.css"
-
-export default function Layout({ children }) {
- return
{children}
-}
-```
-
-5. Now edit your site's homepage at `/src/pages/index.js` and use the new layout component:
-
-```jsx:title=/src/pages/index.js
-import React from "react"
-import Layout from "../components/layout"
-
-export default function Home() {
- return Hello world!
-}
-```
-
-### Additional resources
-
-- [Standard Styling with Global CSS Files](/docs/how-to/styling/global-css/)
-- [More about layout components](/docs/tutorial/part-2/#create-a-reusable-layout-component)
-
-## Using Styled Components
-
-### Prerequisites
-
-- A [Gatsby site](/docs/quick-start/) with an index page component
-- [gatsby-plugin-styled-components, styled-components, and babel-plugin-styled-components](/plugins/gatsby-plugin-styled-components/) installed in `package.json`
-
-### Directions
-
-1. Inside your `gatsby-config.js` file add `gatsby-plugin-styled-components`
-
-```javascript:title=gatsby-config.js
-module.exports = {
- plugins: [`gatsby-plugin-styled-components`],
-}
-```
-
-2. Open the index page component (`src/pages/index.js`) and import the `styled-components` package
-
-3. Style components by creating style blocks for each element type
-
-4. Apply to the page by including styled components in the JSX
-
-```jsx:title=src/pages/index.js
-import React from "react"
-import styled from "styled-components" //highlight-line
-
-const Container = styled.div`
- margin: 3rem auto;
- max-width: 600px;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
-`
-
-const Avatar = styled.img`
- flex: 0 0 96px;
- width: 96px;
- height: 96px;
- margin: 0;
-`
-
-const Username = styled.h2`
- margin: 0 0 12px 0;
- padding: 0;
-`
-
-const User = props => (
- <>
-
- {props.username}
- >
-)
-
-export default function UsersList() {
- return (
-
-
About Styled Components
-
Styled Components is cool
-
-
-
- )
-}
-```
-
-4. Run `gatsby develop` to see the changes
-
-### Additional resources
-
-- [More on Using Styled Components](/docs/how-to/styling/styled-components/)
-- [Egghead lesson](https://egghead.io/lessons/gatsby-style-gatsby-sites-with-styled-components)
-
-## Using CSS Modules
-
-### Prerequisites
-
-- An existing [Gatsby site](/docs/quick-start/) with an index page component
-
-### Directions
-
-1. Create a CSS module as `src/pages/index.module.css` and paste the following into the module:
-
-```css:title=src/pages/index.module.css
-.feature {
- margin: 2rem auto;
- max-width: 500px;
-}
-```
-
-2. Import the CSS module as a JSX object `style` in the `index.js` file by modifying the page so it looks like the following:
-
-```jsx:title=src/pages/index.js
-import React from "react"
-
-// highlight-start
-import * as style from "./index.module.css"
-
-export default function Home() {
- return (
-
-
Using CSS Modules
-
- )
-}
-// highlight-end
-```
-
-3. Run `gatsby develop` to see the changes.
-
-**Note:**
-Notice that the file extension is `.module.css` instead of `.css`, which tells Gatsby that this is a CSS module.
-
-### Additional resources
-
-- More on [Using CSS Modules](/docs/tutorial/part-2/#style-components-with-css-modules)
-- [Live example on Using CSS modules](https://github.com/gatsbyjs/gatsby/blob/master/examples/using-css-modules)
-
-## Using Sass/SCSS
-
-Sass is an extension of CSS that gives you more advanced features like nested rules, variables, mixins, and more.
-
-Sass has 2 syntaxes. The most commonly used syntax is "SCSS", and is a superset of CSS. That means all valid CSS syntax, is valid SCSS syntax. SCSS files use the extension `.scss`
-
-Sass will compile `.scss` and `.sass` files to `.css` files for you, so you can write your stylesheets with more advanced features.
-
-### Prerequisites
-
-- A [Gatsby site](/docs/quick-start/).
-
-### Directions
-
-1. Install the Gatsby plugin [gatsby-plugin-sass](/plugins/gatsby-plugin-sass/) and `sass`.
-
-`npm install sass gatsby-plugin-sass`
-
-2. Include the plugin in your `gatsby-config.js` file.
-
-```javascript:title=gatsby-config.js
-plugins: [`gatsby-plugin-sass`],
-```
-
-3. Write your stylesheets as `.sass` or `.scss` files and import them. If you don't know how to import styles, take a look at [Styling with CSS](/docs/how-to/styling/built-in-css/)
-
-_Note: You can use Sass/SCSS files as modules too, like mentioned in the previous recipe about CSS modules, with the difference that instead of `.css` the extensions have to be `.scss` or `.sass`_
-
-Using `.scss`:
-
-```scss:title=styles.scss
-$font-stack: Helvetica, sans-serif;
-$primary-color: #333;
-
-body {
- font: 100% $font-stack;
- color: $primary-color;
-}
-```
-
-```javascript
-import "./styles.scss"
-```
-
-Using `.sass`:
-
-```scss:title=styles.sass
-$font-stack: Helvetica, sans-serif
-$primary-color: #333
-
-body
- font: 100% $font-stack
- color: $primary-color
-```
-
-```javascript
-import "./styles.sass"
-```
-
-### Additional resources
-
-- [Difference between `.sass` and `.scss`](https://responsivedesign.is/articles/difference-between-sass-and-scss/)
-- [Sass guide from the official Sass website](https://sass-lang.com/guide)
-- [A more complete installation tutorial on Sass with some more explanations and more resources](/docs/how-to/styling/sass/)
-
-## Adding a Local Font
-
-### Prerequisites
-
-- A [Gatsby site](/docs/quick-start/)
-- A font file: `.woff2`, `.ttf`, etc.
-
-### Directions
-
-1. Copy a font file into your Gatsby project, such as `src/fonts/fontname.woff2`.
-
-2. Import the font asset into a CSS file to bundle it into your Gatsby site:
-
-```css:title=src/css/typography.css
-@font-face {
- font-family: "Font Name";
- src: url("../fonts/fontname.woff2");
-}
-```
-
-**Note:** Make sure the font name is referenced from the relevant CSS, e.g.:
-
-```css:title=src/components/layout.css
-body {
- font-family: "Font Name", sans-serif;
-}
-```
-
-By targeting the HTML `body` element, your font will apply to most text on the page. Additional CSS can target other elements, such as `button` or `textarea`.
-
-If fonts are not updating following steps above, make sure to replace the existing font-family in relevant CSS.
-
-### Additional resources
-
-- More on [importing assets into files](/docs/how-to/images-and-media/importing-assets-into-files/)
-
-## Using Emotion
-
-[Emotion](https://emotion.sh) is a powerful CSS-in-JS library that supports both inline CSS styles and styled components. You can use each styling feature individually or together in the same file.
-
-### Prerequisites
-
-- A [Gatsby site](/docs/quick-start)
-
-### Directions
-
-1. Install the [Gatsby Emotion plugin](/plugins/gatsby-plugin-emotion/) and Emotion packages.
-
-```shell
-npm install gatsby-plugin-emotion @emotion/react @emotion/styled
-```
-
-2. Add the `gatsby-plugin-emotion` plugin to your `gatsby-config.js` file:
-
-```javascript:title=gatsby-config.js
-module.exports = {
- plugins: [`gatsby-plugin-emotion`],
-}
-```
-
-3. If you don't already have one, create a page in your Gatsby site at `src/pages/emotion-sample.js`.
-
-Import Emotion's `css` core package. You can then use the `css` prop to add [Emotion object styles](https://emotion.sh/docs/object-styles) to any element inside a component:
-
-```jsx:title=src/pages/emotion-sample.js
-import React from "react"
-import { css } from "@emotion/react"
-
-export default function EmotionSample() {
- return (
-
-
- This page is using Emotion.
-
-
- )
-}
-```
-
-4. To use Emotion's [styled components](https://emotion.sh/docs/styled), import the package and define them using the `styled` function.
-
-```jsx:title=src/pages/emotion-sample.js
-import React from "react"
-import styled from "@emotion/styled"
-
-const Content = styled.div`
- text-align: center;
- margin-top: 10px;
- p {
- font-weight: bold;
- }
-`
-
-export default function EmotionSample() {
- return (
-
-
This page is using Emotion.
-
- )
-}
-```
-
-### Additional resources
-
-- [Using Emotion in Gatsby](/docs/how-to/styling/emotion/)
-- [Emotion website](https://emotion.sh)
-- [Getting started with Emotion and Gatsby](https://egghead.io/lessons/gatsby-getting-started-with-emotion-and-gatsby)
-
-## Using Google Fonts
-
-Hosting your own [Google Fonts](https://fonts.google.com/) locally within a project means they won't have to be fetched over the network when your site loads, increasing your site's speed index by up to ~300 milliseconds on desktop and 1+ seconds on 3G. It's also recommended to limit custom font usage to only the essential for performance.
-
-### Prerequisites
-
-- A [Gatsby site](/docs/quick-start)
-- The [Gatsby CLI](/docs/reference/gatsby-cli/) installed
-- A chosen font package from [Fontsource](https://github.com/fontsource/fontsource)
-
-### Directions
-
-This example shows how to set up the [Open Sans](https://fonts.google.com/specimen/Open+Sans) font. If you have a different Google Font you want to use, you can find the corresponding package in [NPM](https://www.npmjs.com/search?q=fontsource) or the [packages directory in the Fontsource repository](https://github.com/fontsource/fontsource/tree/master/packages).
-
-1. Run `npm install @fontsource/open-sans` to download the necessary package files.
-
-2. Then within your app entry file or site component, import the font package. It is recommended you import it via the layout template (`layout.js`). However, importing via page component (`index.js`), or `gatsby-browser.js` are viable alternatives.
-
-```jsx:title=src/components/layout.js
-import "@fontsource/open-sans" // Defaults to weight 400.
-```
-
-If you wish to select a particular weight or style, you may specify it by changing the import path.
-
-```jsx:title=src/components/layout.js
-import "@fontsource/open-sans/500.css" // Weight 500.
-import "@fontsource/open-sans/900-italic.css" // Loads the italic variant.
-```
-
-**Note**: The range of supported weights and styles a font may support is shown in each package's README file.
-
-3. Once it's imported, you can reference the font name in a CSS stylesheet, CSS Module, or CSS-in-JS.
-
-```css:title=src/components/layout.css
-body {
- font-family: "Open Sans";
-}
-```
-
-### Additional resources
-
-- [Fontsource repo on GitHub](https://github.com/fontsource/fontsource)
-- [Typography.js](/docs/using-typography-js/) - Another option for using Google fonts on a Gatsby site
-
-## Using Font Awesome
-
-Using [Font Awesome](https://fontawesome.com/) gives you access to thousands of icons for use on your site. Since Gatsby sites are React sites, it's recommended to use the [react-fontawesome](https://github.com/FortAwesome/react-fontawesome) SVG library.
-
-### Prerequisites
-
-- The [Gatsby CLI](/docs/reference/gatsby-cli/) installed
-- A [Gatsby site](/docs/quick-start)
-
-### Directions
-
-1. Install the `react-fontawesome` dependencies.
-
-```shell
-npm install @fortawesome/fontawesome-svg-core @fortawesome/free-brands-svg-icons @fortawesome/react-fontawesome
-```
-
-> Note that there are multiple icon libraries within `react-fontawesome`. You may also be interested in `free-regular-svg-icons` and `free-solid-svg-icons` which you would install the same way.
-
-2. Import the `FontAwesomeIcon` component and the icon you want to use. Then use the icon as a component directly in your JSX files:
-
-```jsx:title=index.js
-import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"
-import { faReact } from "@fortawesome/free-brands-svg-icons"
-
-const IndexPage = () => (
-
- //highlight-line
-
-)
-
-export default IndexPage
-```
-
-> This example imports a single, specific icon and uses it for improved performance. As an alternative, you can [import the icons and build a library](https://github.com/FortAwesome/react-fontawesome#build-a-library-to-reference-icons-throughout-your-app-more-conveniently).
-
-### Additional resources
-
-- [Font Awesome](https://fontawesome.com/)
-- [react-fontawesome](https://github.com/FortAwesome/react-fontawesome)
diff --git a/docs/docs/recipes/transforming-data.md b/docs/docs/recipes/transforming-data.md
deleted file mode 100644
index 37021840c2f7e..0000000000000
--- a/docs/docs/recipes/transforming-data.md
+++ /dev/null
@@ -1,148 +0,0 @@
----
-title: "Recipes: Transforming Data"
-tableOfContentsDepth: 1
----
-
-Transforming data in Gatsby is plugin-driven. Transformer plugins take data fetched using source plugins, and process it into something more usable (e.g. JSON into JavaScript objects, and more).
-
-## Transforming Markdown into HTML
-
-The `gatsby-transformer-remark` plugin can transform Markdown files to HTML.
-
-### Prerequisites
-
-- A Gatsby site with `gatsby-config.js` and an `index.js` page
-- A Markdown file saved in your Gatsby site `src` directory
-- A source plugin installed, such as `gatsby-source-filesystem`
-- The `gatsby-transformer-remark` plugin installed
-
-### Directions
-
-1. Add the transformer plugin in your `gatsby-config.js`:
-
-```js:title=gatsby-config.js
-plugins: [
- // not shown: gatsby-source-filesystem for creating nodes to transform
- `gatsby-transformer-remark`
-],
-```
-
-2. Add a GraphQL query to the `index.js` file of your Gatsby site to fetch `MarkdownRemark` nodes:
-
-```jsx:title=src/pages/index.js
-export const query = graphql`
- query {
- allMarkdownRemark {
- totalCount
- edges {
- node {
- id
- frontmatter {
- title
- date(formatString: "DD MMMM, YYYY")
- }
- excerpt
- }
- }
- }
- }
-`
-```
-
-3. Restart the development server and open GraphiQL at `http://localhost:8000/___graphql`. Explore the fields available on the `MarkdownRemark` node.
-
-### Additional resources
-
-- [Tutorial on transforming Markdown to HTML](/docs/tutorial/part-6/#transformer-plugins) using `gatsby-transformer-remark`
-- Browse available transformer plugins in the [Gatsby plugin library](/plugins/?=transformer)
-
-## Transforming images into grayscale using GraphQL
-
-### Prerequisites
-
-- A [Gatsby site](/docs/quick-start) with a `gatsby-config.js` file and an `index.js` page
-- The `gatsby-image`, `gatsby-transformer-sharp`, and `gatsby-plugin-sharp` packages installed
-- A source plugin installed, such as `gatsby-source-filesystem`
-- An image (`.jpg`, `.png`, `.gif`, `.svg`, etc.) in the `src/images` folder
-
-### Directions
-
-1. Edit your `gatsby-config.js` file to source images and configure plugins for Gatsby's GraphQL data layer. A common approach is to source them from an images directory using the `gatsby-source-filesystem` plugin:
-
-```javascript:title=gatsby-config.js
-
- plugins: [
- {
- resolve: `gatsby-source-filesystem`,
- options: {
- name: `images`,
- path: `${__dirname}/src/images`,
- },
- },
- `gatsby-transformer-sharp`,
- `gatsby-plugin-sharp`,
- ],
-```
-
-2. Query your image using GraphQL and apply a grayscale transformation to the image inline. The `relativePath` should be relative to the path you configured in `gatsby-source-filesystem`.
-
-```graphql
- query {
- file(relativePath: { eq: "corgi.jpg" }) {
- childImageSharp {
- // highlight-next-line
- fluid(grayscale: true) {
- ...GatsbyImageSharpFluid
- }
- }
- }
- }
-```
-
-Note: You can find these and other parameters in your GraphQL playground located at `http://localhost:8000/__graphql`
-
-3. Next import the `Img` component from "gatsby-image". You'll use this inside your JSX to display the image.
-
-```jsx:title=src/pages/index.js
-import React from "react"
-import { useStaticQuery, graphql } from "gatsby"
-import Layout from "../components/layout"
-// highlight-next-line
-import Img from "gatsby-image"
-
-export default function Home() {
- const data = useStaticQuery(graphql`
- query {
- file(relativePath: { eq: "corgi.jpg" }) {
- childImageSharp {
- // highlight-next-line
- fluid(grayscale: true) {
- ...GatsbyImageSharpFluid
- }
- }
- }
- }
- `)
- return (
-
-
I love my corgi!
- // highlight-start
-
- // highlight-end
-
- )
-}
-```
-
-4. Run `gatsby develop` to start the development server.
-
-5. View your image in the browser: `http://localhost:8000/`
-
-### Additional resources
-
-- [API docs, including grayscale and duotone query tips](/docs/reference/built-in-components/gatsby-image/#shared-query-parameters)
-- [Gatsby Image docs](/docs/reference/built-in-components/gatsby-image/)
-- [Image processing examples](https://github.com/gatsbyjs/gatsby/tree/master/examples/image-processing)
diff --git a/docs/docs/recipes/working-with-images.md b/docs/docs/recipes/working-with-images.md
deleted file mode 100644
index c6133651d1502..0000000000000
--- a/docs/docs/recipes/working-with-images.md
+++ /dev/null
@@ -1,402 +0,0 @@
----
-title: "Recipes: Working with Images"
-tableOfContentsDepth: 1
----
-
-Access images as static resources, or automate the process of optimizing them through powerful plugins.
-
-## Import an image into a component with webpack
-
-Images can be imported right into a JavaScript module with webpack. This process automatically minifies and copies the image to your site's `public` folder, providing a dynamic image URL for you to pass to an HTML `` element like a regular file path.
-
-
-
-### Prerequisites
-
-- A [Gatsby Site](/docs/quick-start) with a `.js` file exporting a React component
-- an image (`.jpg`, `.png`, `.gif`, `.svg`, etc.) in the `src` folder
-
-### Directions
-
-1. Import your file from its path in the `src` folder:
-
-```jsx:title=src/pages/index.js
-import React from "react"
-// Tell webpack this JS file uses this image
-import FiestaImg from "../assets/fiesta.jpg" // highlight-line
-```
-
-2. In `index.js`, add an `` tag with the `src` as the name of the import you used from webpack (in this case `FiestaImg`), and add an `alt` attribute [describing the image](https://webaim.org/techniques/alttext/):
-
-```jsx:title=src/pages/index.js
-import React from "react"
-import FiestaImg from "../assets/fiesta.jpg"
-
-export default function Home() {
- return (
- // The import result is the URL of your image
- // highlight-line
- )
-}
-```
-
-3. Run `gatsby develop` to start the development server.
-4. View your image in the browser: `http://localhost:8000/`
-
-### Additional resources
-
-- [Example repo importing an image with webpack](https://github.com/gatsbyjs/gatsby/tree/master/examples/recipe-webpack-image)
-- [More on all image techniques in Gatsby](/docs/images-and-files/)
-
-## Reference an image from the `static` folder
-
-As an alternative to importing assets with webpack, the `static` folder allows access to content that gets automatically copied into the `public` folder when built.
-
-This is an **escape route** for [specific use cases](/docs/how-to/images-and-media/static-folder/#when-to-use-the-static-folder), and other methods like [importing with webpack](#import-an-image-into-a-component-with-webpack) are recommended to leverage optimizations made by Gatsby.
-
-
-
-### Prerequisites
-
-- A [Gatsby Site](/docs/quick-start) with a `.js` file exporting a React component
-- An image (`.jpg`, `.png`, `.gif`, `.svg`, etc.) in the `static` folder
-
-### Directions
-
-1. Ensure that the image is in your `static` folder at the root of the project. Your project structure might look something like this:
-
-```text
-├── gatsby-config.js
-├── src
-│ └── pages
-│ └── index.js
-├── static
-│ └── fiesta.jpg
-```
-
-2. In `index.js`, add an `` tag with the `src` as the relative path of the file from the `static` folder, and add an `alt` attribute [describing the image](https://webaim.org/techniques/alttext/):
-
-```jsx:title=src/pages/index.js
-import React from "react"
-
-export default function Home() {
- return (
- // highlight-line
- )
-}
-```
-
-3. Run `gatsby develop` to start the development server.
-4. View your image in the browser: `http://localhost:8000/`
-
-### Additional resources
-
-- [Example repo referencing an image from the static folder](https://github.com/gatsbyjs/gatsby/tree/master/examples/recipe-static-image)
-- [Using the Static Folder](/docs/how-to/images-and-media/static-folder/)
-- [More on all image techniques in Gatsby](/docs/images-and-files/)
-
-## Optimizing and querying local images with gatsby-image
-
-The `gatsby-image` plugin can relieve much of the pain associated with optimizing images in your site.
-
-Gatsby will generate optimized resources which can be queried with GraphQL and passed into Gatsby's image component. This takes care of the heavy lifting including creating several image sizes and loading them at the right time.
-
-### Prerequisites
-
-- The `gatsby-image`, `gatsby-transformer-sharp`, and `gatsby-plugin-sharp` packages installed and added to the plugins array in `gatsby-config`
-- [Images sourced](/plugins/gatsby-image/#install) in your `gatsby-config` using a plugin like `gatsby-source-filesystem`
-
-### Directions
-
-1. First, import `Img` from `gatsby-image`, as well as `graphql` and `useStaticQuery` from `gatsby`
-
-```jsx
-import { useStaticQuery, graphql } from "gatsby" // to query for image data
-import Img from "gatsby-image" // to take image data and render it
-```
-
-2. Write a query to get image data, and pass the data into the `` component:
-
-Choose any of the following options or a combination of them.
-
-a. a single image queried by its file [path](/docs/content-and-data/) (Example: `images/corgi.jpg`)
-
-```jsx
-const data = useStaticQuery(graphql`
- query {
- file(relativePath: { eq: "corgi.jpg" }) { // highlight-line
- childImageSharp {
- fluid {
- base64
- aspectRatio
- src
- srcSet
- sizes
- }
- }
- }
- }
-`)
-
-return (
-
-)
-```
-
-b. using a [GraphQL fragment](/docs/using-fragments/), to query for the necessary fields more tersely
-
-```jsx
-const data = useStaticQuery(graphql`
- query {
- file(relativePath: { eq: "corgi.jpg" }) {
- childImageSharp {
- fluid {
- ...GatsbyImageSharpFluid // highlight-line
- }
- }
- }
- }
-`)
-
-return (
-
-)
-```
-
-c. several images from a directory (Example: `images/dogs`) [filtered](/docs/graphql-reference/#filter) by the `extension` and `relativeDirectory` fields, and then mapped into `Img` components
-
-```jsx
-const data = useStaticQuery(graphql`
- query {
- allFile(
- // highlight-start
- filter: {
- extension: { regex: "/(jpg)|(png)|(jpeg)/" }
- relativeDirectory: { eq: "dogs" }
- }
- // highlight-end
- ) {
- edges {
- node {
- base
- childImageSharp {
- fluid {
- ...GatsbyImageSharpFluid
- }
- }
- }
- }
- }
- }
-`)
-
-return (
-
-)
-```
-
-**Note**: This method can make it difficult to match images with `alt` text for accessibility. This example uses images with `alt` text included in the filename, like `dog in a party hat.jpg`.
-
-d. an image of a fixed size using the `fixed` field instead of `fluid`
-
-```jsx
-const data = useStaticQuery(graphql`
- query {
- file(relativePath: { eq: "corgi.jpg" }) {
- childImageSharp {
- fixed(width: 250, height: 250) { // highlight-line
- ...GatsbyImageSharpFixed
- }
- }
- }
- }
-`)
-return (
-
-)
-```
-
-e. an image of a fixed size with a `maxWidth`
-
-```jsx
-const data = useStaticQuery(graphql`
- query {
- file(relativePath: { eq: "corgi.jpg" }) {
- childImageSharp {
- fixed(maxWidth: 250) { // highlight-line
- ...GatsbyImageSharpFixed
- }
- }
- }
- }
-`)
-return (
- // highlight-line
-)
-```
-
-f. an image filling a fluid container with a max width (in pixels) and a higher quality (the default value is 50 i.e. 50%)
-
-```jsx
-const data = useStaticQuery(graphql`
- query {
- file(relativePath: { eq: "corgi.jpg" }) {
- childImageSharp {
- fluid(maxWidth: 800, quality: 75) { // highlight-line
- ...GatsbyImageSharpFluid
- }
- }
- }
- }
-`)
-
-return (
-
-)
-```
-
-3. (Optional) Add inline styles to the `` like you would to other components
-
-```jsx
-
-```
-
-4. (Optional) Force an image into a desired aspect ratio by overriding the `aspectRatio` field returned by the GraphQL query before it is passed into the `` component
-
-```jsx
-
-```
-
-5. Run `gatsby develop`, to generate images from files in the filesystem (if not done already) and cache them
-
-### Additional resources
-
-- [Example repository illustrating these examples](https://github.com/gatsbyjs/gatsby/tree/master/examples/recipes-gatsby-image)
-- [Gatsby Image API](/docs/reference/built-in-components/gatsby-image/)
-- [Using Gatsby Image](/docs/how-to/images-and-media/using-gatsby-image)
-- [More on working with images in Gatsby](/docs/working-with-images/)
-- [Free egghead.io videos explaining these steps](https://egghead.io/playlists/using-gatsby-image-with-gatsby-ea85129e)
-
-## Optimizing and querying images in post frontmatter with gatsby-image
-
-For use cases like a featured image in a blog post, you can _still_ use `gatsby-image`. The `Img` component needs processed image data, which can come from a local (or remote) file, including from a URL in the frontmatter of a `.md` or `.mdx` file.
-
-To inline images in markdown (using the `![]()` syntax), consider using a plugin like [`gatsby-remark-images`](/plugins/gatsby-remark-images/)
-
-### Prerequisites
-
-- The `gatsby-image`, `gatsby-transformer-sharp`, and `gatsby-plugin-sharp` packages installed and added to the plugins array in `gatsby-config`
-- [Images sourced](/plugins/gatsby-image/#install) in your `gatsby-config` using a plugin like `gatsby-source-filesystem`
-- Markdown files sourced in your `gatsby-config` with image URLs in frontmatter
-- [Pages created](/docs/creating-and-modifying-pages/) from Markdown using [`createPages`](/docs/reference/config-files/gatsby-node/#createPages)
-
-### Directions
-
-1. Verify that the Markdown file has an image URL with a valid path to an image file in your project
-
-```mdx:title=post.mdx
----
-title: My First Post
-featuredImage: ./corgi.png // highlight-line
----
-
-Post content...
-```
-
-2. Verify that a unique identifier (a slug in this example) is passed in context when `createPages` is called in `gatsby-node.js`, which will later be passed into a GraphQL query in the Layout component
-
-```js:title=gatsby-node.js
-exports.createPages = async ({ graphql, actions }) => {
- const { createPage } = actions
-
- // query for all markdown
-
- result.data.allMdx.edges.forEach(({ node }) => {
- createPage({
- path: node.fields.slug,
- component: path.resolve(`./src/components/markdown-layout.js`),
- // highlight-start
- context: {
- slug: node.fields.slug,
- },
- // highlight-end
- })
- })
-}
-```
-
-3. Now, import `Img` from `gatsby-image`, and `graphql` from `gatsby` into the template component, write a [pageQuery](/docs/how-to/querying-data/page-query/) to get image data based on the passed in `slug` and pass that data to the `` component:
-
-```jsx:title=markdown-layout.jsx
-import React from "react"
-import { graphql } from "gatsby" // highlight-line
-import Img from "gatsby-image" // highlight-line
-
-export default function Layout({ children, data }) {
- return (
-
- // highlight-start
-
- // highlight-end
- {children}
-
- )
-}
-
-// highlight-start
-export const pageQuery = graphql`
- query PostQuery($slug: String) {
- markdown: mdx(fields: { slug: { eq: $slug } }) {
- id
- frontmatter {
- image {
- childImageSharp {
- fluid {
- ...GatsbyImageSharpFluid
- }
- }
- }
- }
- }
- }
-`
-// highlight-end
-```
-
-4. Run `gatsby develop`, which will generate images for files sourced in the filesystem
-
-### Additional resources
-
-- [Example repository using this recipe](https://github.com/gatsbyjs/gatsby/tree/master/examples/recipes-gatsby-image)
-- [Featured images with frontmatter](/docs/working-with-images-in-markdown/#featured-images-with-frontmatter-metadata)
-- [Gatsby Image API](/docs/reference/built-in-components/gatsby-image/)
-- [Using Gatsby Image](/docs/how-to/images-and-media/using-gatsby-image)
-- [More on working with images in Gatsby](/docs/working-with-images/)
diff --git a/examples/no-trailing-slashes/README.md b/examples/no-trailing-slashes/README.md
deleted file mode 100644
index 4adb24701c8b5..0000000000000
--- a/examples/no-trailing-slashes/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# No trailing slashes
-
-Gatsby example site that shows how to remove trailing slashes from urls.
diff --git a/examples/no-trailing-slashes/gatsby-config.js b/examples/no-trailing-slashes/gatsby-config.js
deleted file mode 100644
index 722667ce958a0..0000000000000
--- a/examples/no-trailing-slashes/gatsby-config.js
+++ /dev/null
@@ -1,14 +0,0 @@
-module.exports = {
- siteMetadata: {
- title: `Client only paths`,
- },
- plugins: [
- `gatsby-plugin-offline`,
- {
- resolve: `gatsby-plugin-google-analytics`,
- options: {
- trackingId: `UA-93349937-2`,
- },
- },
- ],
-}
diff --git a/examples/no-trailing-slashes/gatsby-node.js b/examples/no-trailing-slashes/gatsby-node.js
deleted file mode 100644
index 4fa27588ac576..0000000000000
--- a/examples/no-trailing-slashes/gatsby-node.js
+++ /dev/null
@@ -1,20 +0,0 @@
-const Promise = require(`bluebird`)
-
-exports.onCreatePage = ({ page, actions }) => {
- const { createPage, deletePage } = actions
-
- return new Promise((resolve, reject) => {
- // Remove trailing slash
- const newPage = Object.assign({}, page, {
- path: page.path === `/` ? page.path : page.path.replace(/\/$/, ``),
- })
- if (newPage.path !== page.path) {
- // Remove the old page
- deletePage(page)
- // Add the new page
- createPage(newPage)
- }
-
- resolve()
- })
-}
diff --git a/examples/no-trailing-slashes/package.json b/examples/no-trailing-slashes/package.json
deleted file mode 100644
index 51245d4edd019..0000000000000
--- a/examples/no-trailing-slashes/package.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "gatsby-example-removing-trailing-slashes",
- "private": true,
- "description": "Gatsby example site that shows how to remove trailing slashes from urls",
- "version": "1.0.0",
- "author": "Scotty Eckenthal ",
- "dependencies": {
- "gatsby": "next",
- "gatsby-plugin-google-analytics": "next",
- "gatsby-plugin-offline": "next",
- "lodash": "^4.17.20",
- "react": "^16.9.0",
- "react-dom": "^16.9.0",
- "slash": "^1.0.0"
- },
- "keywords": [
- "gatsby"
- ],
- "license": "MIT",
- "main": "n/a",
- "scripts": {
- "develop": "gatsby develop",
- "build": "gatsby build",
- "start": "npm run develop"
- }
-}
\ No newline at end of file
diff --git a/examples/no-trailing-slashes/src/components/layout.js b/examples/no-trailing-slashes/src/components/layout.js
deleted file mode 100644
index 6d54e8057c5bb..0000000000000
--- a/examples/no-trailing-slashes/src/components/layout.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import React from "react"
-import { Link } from "gatsby"
-
-class DefaultLayout extends React.Component {
- render() {
- return (
-
-
-Kick off your project with this default boilerplate. This starter ships with the main Gatsby configuration files you might need to get up and running blazing fast with the blazing fast app generator for React.
-
-_Have another more specific idea? You may want to check out our vibrant collection of [official and community-created starters](https://www.gatsbyjs.com/docs/gatsby-starters/)._
-
-## 🚀 Quick start
-
-1. **Create a Gatsby site.**
-
- Use the Gatsby CLI to create a new site, specifying the default starter.
-
- ```shell
- # create a new Gatsby site using the default starter
- gatsby new my-default-starter https://github.com/gatsbyjs/gatsby-starter-default
- ```
-
-1. **Start developing.**
-
- Navigate into your new site’s directory and start it up.
-
- ```shell
- cd my-default-starter/
- gatsby develop
- ```
-
-1. **Open the source code and start editing!**
-
- Your site is now running at `http://localhost:8000`!
-
- _Note: You'll also see a second link: _`http://localhost:8000/___graphql`_. This is a tool you can use to experiment with querying your data. Learn more about using this tool in the [Gatsby tutorial](https://www.gatsbyjs.com/tutorial/part-5/#introducing-graphiql)._
-
- Open the `my-default-starter` directory in your code editor of choice and edit `src/pages/index.js`. Save your changes and the browser will update in real time!
-
-## 🧐 What's inside?
-
-A quick look at the top-level files and directories you'll see in a Gatsby project.
-
- .
- ├── node_modules
- ├── src
- ├── .gitignore
- ├── .prettierrc
- ├── gatsby-browser.js
- ├── gatsby-config.js
- ├── gatsby-node.js
- ├── gatsby-ssr.js
- ├── LICENSE
- ├── package-lock.json
- ├── package.json
- └── README.md
-
-1. **`/node_modules`**: This directory contains all of the modules of code that your project depends on (npm packages) are automatically installed.
-
-2. **`/src`**: This directory will contain all of the code related to what you will see on the front-end of your site (what you see in the browser) such as your site header or a page template. `src` is a convention for “source code”.
-
-3. **`.gitignore`**: This file tells git which files it should not track / not maintain a version history for.
-
-4. **`.prettierrc`**: This is a configuration file for [Prettier](https://prettier.io/). Prettier is a tool to help keep the formatting of your code consistent.
-
-5. **`gatsby-browser.js`**: This file is where Gatsby expects to find any usage of the [Gatsby browser APIs](https://www.gatsbyjs.com/docs/browser-apis/) (if any). These allow customization/extension of default Gatsby settings affecting the browser.
-
-6. **`gatsby-config.js`**: This is the main configuration file for a Gatsby site. This is where you can specify information about your site (metadata) like the site title and description, which Gatsby plugins you’d like to include, etc. (Check out the [config docs](https://www.gatsbyjs.com/docs/gatsby-config/) for more detail).
-
-7. **`gatsby-node.js`**: This file is where Gatsby expects to find any usage of the [Gatsby Node APIs](https://www.gatsbyjs.com/docs/node-apis/) (if any). These allow customization/extension of default Gatsby settings affecting pieces of the site build process.
-
-8. **`gatsby-ssr.js`**: This file is where Gatsby expects to find any usage of the [Gatsby server-side rendering APIs](https://www.gatsbyjs.com/docs/ssr-apis/) (if any). These allow customization of default Gatsby settings affecting server-side rendering.
-
-9. **`LICENSE`**: Gatsby is licensed under the MIT license.
-
-10. **`package-lock.json`** (See `package.json` below, first). This is an automatically generated file based on the exact versions of your npm dependencies that were installed for your project. **(You won’t change this file directly).**
-
-11. **`package.json`**: A manifest file for Node.js projects, which includes things like metadata (the project’s name, author, etc). This manifest is how npm knows which packages to install for your project.
-
-12. **`README.md`**: A text file containing useful reference information about your project.
-
-## 🎓 Learning Gatsby
-
-Looking for more guidance? Full documentation for Gatsby lives [on the website](https://www.gatsbyjs.com/). Here are some places to start:
-
-- **For most developers, we recommend starting with our [in-depth tutorial for creating a site with Gatsby](https://www.gatsbyjs.com/tutorial/).** It starts with zero assumptions about your level of ability and walks through every step of the process.
-
-- **To dive straight into code samples, head [to our documentation](https://www.gatsbyjs.com/docs/).** In particular, check out the _Guides_, _API Reference_, and _Advanced Tutorials_ sections in the sidebar.
-
-
diff --git a/examples/using-square-payments/gatsby-config.js b/examples/using-square-payments/gatsby-config.js
deleted file mode 100644
index 999bd3d349f97..0000000000000
--- a/examples/using-square-payments/gatsby-config.js
+++ /dev/null
@@ -1,34 +0,0 @@
-module.exports = {
- siteMetadata: {
- title: `Gatsby Default Starter`,
- description: `Kick off your next, great Gatsby project with this default starter. This barebones starter ships with the main Gatsby configuration files you might need.`,
- author: `@gatsbyjs`,
- },
- plugins: [
- `gatsby-plugin-react-helmet`,
- {
- resolve: `gatsby-source-filesystem`,
- options: {
- name: `images`,
- path: `${__dirname}/src/images`,
- },
- },
- `gatsby-transformer-sharp`,
- `gatsby-plugin-sharp`,
- {
- resolve: `gatsby-plugin-manifest`,
- options: {
- name: `gatsby-starter-default`,
- short_name: `starter`,
- start_url: `/`,
- background_color: `#663399`,
- theme_color: `#663399`,
- display: `minimal-ui`,
- icon: `src/images/gatsby-icon.png`, // This path is relative to the root of the site.
- },
- },
- // this (optional) plugin enables Progressive Web App + Offline functionality
- // To learn more, visit: https://gatsby.dev/offline
- // `gatsby-plugin-offline`,
- ],
-}
diff --git a/examples/using-square-payments/package.json b/examples/using-square-payments/package.json
deleted file mode 100644
index 601a2f9490135..0000000000000
--- a/examples/using-square-payments/package.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- "name": "gatsby-starter-default",
- "private": true,
- "description": "A simple starter to get up and developing quickly with Gatsby",
- "version": "0.1.0",
- "author": "Kyle Mathews ",
- "dependencies": {
- "gatsby": "next",
- "gatsby-image": "next",
- "gatsby-plugin-manifest": "next",
- "gatsby-plugin-offline": "next",
- "gatsby-plugin-react-helmet": "next",
- "gatsby-plugin-sharp": "next",
- "gatsby-plugin-square-payment-form": "latest",
- "gatsby-source-filesystem": "next",
- "gatsby-transformer-sharp": "next",
- "prop-types": "^15.7.2",
- "react": "^16.12.0",
- "react-dom": "^16.12.0",
- "react-helmet": "^5.2.1"
- },
- "devDependencies": {
- "prettier": "2.1.1"
- },
- "keywords": ["gatsby"],
- "license": "MIT",
- "scripts": {
- "build": "gatsby build",
- "develop": "gatsby develop",
- "format": "prettier --write \"**/*.{js,jsx,json,md}\"",
- "start": "npm run develop",
- "serve": "gatsby serve",
- "clean": "gatsby clean",
- "test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/gatsbyjs/gatsby-starter-default"
- },
- "bugs": {
- "url": "https://github.com/gatsbyjs/gatsby/issues"
- }
-}
diff --git a/examples/using-square-payments/src/components/header.js b/examples/using-square-payments/src/components/header.js
deleted file mode 100644
index 8990b7e31bb7a..0000000000000
--- a/examples/using-square-payments/src/components/header.js
+++ /dev/null
@@ -1,42 +0,0 @@
-import { Link } from "gatsby"
-import PropTypes from "prop-types"
-import React from "react"
-
-const Header = ({ siteTitle }) => (
-
-