|
1 | 1 | import * as React from "react"
|
2 |
| -import { Link, navigate } from "gatsby" |
3 |
| -import { StaticImage } from "gatsby-plugin-image" |
| 2 | +import { Link, navigate, graphql } from "gatsby" |
| 3 | +import { StaticImage, GatsbyImage, getImage } from "gatsby-plugin-image" |
4 | 4 |
|
5 | 5 | import Layout from "../components/layout"
|
6 | 6 |
|
7 |
| -const IndexPage = () => ( |
8 |
| - <Layout> |
9 |
| - <h1>Hi people</h1> |
10 |
| - <StaticImage |
11 |
| - src="../images/gatsby-icon.png" |
12 |
| - alt="Gatsby icon" |
13 |
| - layout="fixed" |
14 |
| - /> |
15 |
| - <p>Welcome to your new Gatsby site.</p> |
16 |
| - <p>Now go build something great.</p> |
17 |
| - <Link data-testid="page-2-link" to="/page-2/"> |
18 |
| - Go to page 2 |
19 |
| - </Link> |
20 |
| - <Link data-testid="page-blogtest-link" to="/blogtest/"> |
21 |
| - Go to blogtest |
22 |
| - </Link> |
23 |
| - <button |
24 |
| - data-testid="page-2-button-link" |
25 |
| - onClick={() => navigate(`/page-2/`)} |
26 |
| - > |
27 |
| - Go to page 2 with navigate() |
28 |
| - </button> |
29 |
| - <Link data-testid="404-link" to="/not-existing-page"> |
30 |
| - Go to not existing page |
31 |
| - </Link> |
32 |
| - <Link data-testid="subdir-link" to="subdirectory/page-1"> |
33 |
| - Go to subdirectory |
34 |
| - </Link> |
35 |
| - </Layout> |
36 |
| -) |
| 7 | +const IndexPage = ({ data }) => { |
| 8 | + const image = getImage(data.file) |
| 9 | + return ( |
| 10 | + <Layout> |
| 11 | + <h1>Hi people</h1> |
| 12 | + <StaticImage |
| 13 | + src="../images/gatsby-icon.png" |
| 14 | + alt="Gatsby icon" |
| 15 | + layout="fixed" |
| 16 | + data-testid="static-image" |
| 17 | + /> |
| 18 | + <GatsbyImage |
| 19 | + image={image} |
| 20 | + alt="Citrus Fruits" |
| 21 | + data-testid="gatsby-image" |
| 22 | + /> |
| 23 | + <p>Welcome to your new Gatsby site.</p> |
| 24 | + <p>Now go build something great.</p> |
| 25 | + <Link data-testid="page-2-link" to="/page-2/"> |
| 26 | + Go to page 2 |
| 27 | + </Link> |
| 28 | + <Link data-testid="page-blogtest-link" to="/blogtest/"> |
| 29 | + Go to blogtest |
| 30 | + </Link> |
| 31 | + <button |
| 32 | + data-testid="page-2-button-link" |
| 33 | + onClick={() => navigate(`/page-2/`)} |
| 34 | + > |
| 35 | + Go to page 2 with navigate() |
| 36 | + </button> |
| 37 | + <Link data-testid="404-link" to="/not-existing-page"> |
| 38 | + Go to not existing page |
| 39 | + </Link> |
| 40 | + <Link data-testid="subdir-link" to="subdirectory/page-1"> |
| 41 | + Go to subdirectory |
| 42 | + </Link> |
| 43 | + </Layout> |
| 44 | + ) |
| 45 | +} |
| 46 | + |
| 47 | +export const query = graphql` |
| 48 | + query { |
| 49 | + file(relativePath: { eq: "citrus-fruits.jpg" }) { |
| 50 | + childImageSharp { |
| 51 | + gatsbyImageData |
| 52 | + } |
| 53 | + } |
| 54 | + } |
| 55 | +` |
37 | 56 |
|
38 | 57 | export default IndexPage
|
0 commit comments