Skip to content

Commit

Permalink
copy gatsby example from vercel/vercel (#1011)
Browse files Browse the repository at this point in the history
  • Loading branch information
erikareads authored Jan 13, 2025
1 parent 9af7f4f commit 4a613d6
Show file tree
Hide file tree
Showing 8 changed files with 9,467 additions and 0 deletions.
4 changes: 4 additions & 0 deletions framework-boilerplates/gatsby/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node_modules/
.cache/
public
.vercel
53 changes: 53 additions & 0 deletions framework-boilerplates/gatsby/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Gatsby

This directory is a brief example of a [Gatsby](https://www.gatsbyjs.org/) app that can be deployed to Vercel with zero configuration.

> **Note:** SSR, DSG, and API Routes [are now supported](https://vercel.com/changelog/improved-support-for-gatsby-sites). We do not currently support some Gatsby v5 features, including Partial Hydration and the Slice API.
## Deploy Your Own

Deploy your own Gatsby project, along with Serverless Functions, with Vercel.

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/vercel/examples/tree/main/framework-boilerplates/gatsby&template=gatsby)

_Live Example: https://gatsby.vercel.app_

## Quickstart

1. **Create a Gatsby site.**

Use the Gatsby CLI to create a new site, specifying the minimal starter.

```shell
# create a new Gatsby site using the minimal starter
npm init gatsby
```

2. **Start developing.**

Navigate into your new site’s directory and start it up.

```shell
cd my-gatsby-site/
npm run develop
```

3. **Open the code and start customizing!**

Your site is now running at http://localhost:8000!

Edit `src/pages/index.js` to see your site update in real-time!

4. **Learn more**

- [Documentation](https://www.gatsbyjs.com/docs/?utm_source=starter&utm_medium=readme&utm_campaign=minimal-starter)

- [Tutorials](https://www.gatsbyjs.com/tutorial/?utm_source=starter&utm_medium=readme&utm_campaign=minimal-starter)

- [Guides](https://www.gatsbyjs.com/tutorial/?utm_source=starter&utm_medium=readme&utm_campaign=minimal-starter)

- [API Reference](https://www.gatsbyjs.com/docs/api-reference/?utm_source=starter&utm_medium=readme&utm_campaign=minimal-starter)

- [Plugin Library](https://www.gatsbyjs.com/plugins?utm_source=starter&utm_medium=readme&utm_campaign=minimal-starter)

- [Cheat Sheet](https://www.gatsbyjs.com/docs/cheat-sheet/?utm_source=starter&utm_medium=readme&utm_campaign=minimal-starter)
10 changes: 10 additions & 0 deletions framework-boilerplates/gatsby/gatsby-config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/**
* @type {import('gatsby').GatsbyConfig}
*/
module.exports = {
siteMetadata: {
title: `Gatsby + Vercel`,
siteUrl: `https://gatsby-template.vercel.app/`,
},
plugins: [],
};
15 changes: 15 additions & 0 deletions framework-boilerplates/gatsby/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"private": true,
"scripts": {
"develop": "gatsby develop",
"start": "gatsby develop",
"build": "gatsby build",
"serve": "gatsby serve",
"clean": "gatsby clean"
},
"dependencies": {
"gatsby": "^5.0.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"
}
}
Binary file added framework-boilerplates/gatsby/src/images/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
49 changes: 49 additions & 0 deletions framework-boilerplates/gatsby/src/pages/404.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import * as React from 'react';
import { Link } from 'gatsby';

const pageStyles = {
color: '#232129',
padding: '96px',
fontFamily: '-apple-system, Roboto, sans-serif, serif',
};
const headingStyles = {
marginTop: 0,
marginBottom: 64,
maxWidth: 320,
};

const paragraphStyles = {
marginBottom: 48,
};
const codeStyles = {
color: '#8A6534',
padding: 4,
backgroundColor: '#FFF4DB',
fontSize: '1.25rem',
borderRadius: 4,
};

const NotFoundPage = () => {
return (
<main style={pageStyles}>
<h1 style={headingStyles}>Page not found</h1>
<p style={paragraphStyles}>
Sorry 😔, we couldn’t find what you were looking for.
<br />
{process.env.NODE_ENV === 'development' ? (
<>
<br />
Try creating a page in <code style={codeStyles}>src/pages/</code>.
<br />
</>
) : null}
<br />
<Link to="/">Go home</Link>.
</p>
</main>
);
};

export default NotFoundPage;

export const Head = () => <title>Not found</title>;
170 changes: 170 additions & 0 deletions framework-boilerplates/gatsby/src/pages/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
import * as React from 'react';

const pageStyles = {
color: '#232129',
padding: 96,
fontFamily: '-apple-system, Roboto, sans-serif, serif',
};
const headingStyles = {
marginTop: 0,
marginBottom: 64,
maxWidth: 320,
};
const headingAccentStyles = {
color: '#663399',
};
const paragraphStyles = {
marginBottom: 48,
};
const codeStyles = {
color: '#8A6534',
padding: 4,
backgroundColor: '#FFF4DB',
fontSize: '1.25rem',
borderRadius: 4,
};
const listStyles = {
marginBottom: 96,
paddingLeft: 0,
};
const listItemStyles = {
fontWeight: 300,
fontSize: 24,
maxWidth: 560,
marginBottom: 30,
};

const linkStyle = {
color: '#8954A8',
fontWeight: 'bold',
fontSize: 16,
verticalAlign: '5%',
};

const docLinkStyle = {
...linkStyle,
listStyleType: 'none',
marginBottom: 24,
};

const descriptionStyle = {
color: '#232129',
fontSize: 14,
marginTop: 10,
marginBottom: 0,
lineHeight: 1.25,
};

const docLink = {
text: 'Documentation',
url: 'https://www.gatsbyjs.com/docs/',
color: '#8954A8',
};

const badgeStyle = {
color: '#fff',
backgroundColor: '#088413',
border: '1px solid #088413',
fontSize: 11,
fontWeight: 'bold',
letterSpacing: 1,
borderRadius: 4,
padding: '4px 6px',
display: 'inline-block',
position: 'relative',
top: -2,
marginLeft: 10,
lineHeight: 1,
};

const links = [
{
text: 'Tutorial',
url: 'https://www.gatsbyjs.com/docs/tutorial/',
description:
"A great place to get started if you're new to web development. Designed to guide you through setting up your first Gatsby site.",
color: '#E95800',
},
{
text: 'How to Guides',
url: 'https://www.gatsbyjs.com/docs/how-to/',
description:
"Practical step-by-step guides to help you achieve a specific goal. Most useful when you're trying to get something done.",
color: '#1099A8',
},
{
text: 'Reference Guides',
url: 'https://www.gatsbyjs.com/docs/reference/',
description:
"Nitty-gritty technical descriptions of how Gatsby works. Most useful when you need detailed information about Gatsby's APIs.",
color: '#BC027F',
},
{
text: 'Conceptual Guides',
url: 'https://www.gatsbyjs.com/docs/conceptual/',
description:
'Big-picture explanations of higher-level Gatsby concepts. Most useful for building understanding of a particular topic.',
color: '#0D96F2',
},
{
text: 'Plugin Library',
url: 'https://www.gatsbyjs.com/plugins',
description:
'Add functionality and customize your Gatsby site or app with thousands of plugins built by our amazing developer community.',
color: '#8EB814',
},
];

const IndexPage = () => {
return (
<main style={pageStyles}>
<h1 style={headingStyles}>
Congratulations
<br />
<span style={headingAccentStyles}>
— you just made a Gatsby site! 🎉🎉🎉
</span>
</h1>
<p style={paragraphStyles}>
Edit <code style={codeStyles}>src/pages/index.js</code> to see this page
update in real-time. 😎
</p>
<ul style={listStyles}>
<li style={docLinkStyle}>
<a
style={linkStyle}
href={`${docLink.url}?utm_source=starter&utm_medium=start-page&utm_campaign=minimal-starter`}
>
{docLink.text}
</a>
</li>
{links.map(link => (
<li key={link.url} style={{ ...listItemStyles, color: link.color }}>
<span>
<a
style={linkStyle}
href={`${link.url}?utm_source=starter&utm_medium=start-page&utm_campaign=minimal-starter`}
>
{link.text}
</a>
{link.badge && (
<span style={badgeStyle} aria-label="New Badge">
NEW!
</span>
)}
<p style={descriptionStyle}>{link.description}</p>
</span>
</li>
))}
</ul>
<img
alt="Gatsby G Logo"
src="data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2a10 10 0 110 20 10 10 0 010-20zm0 2c-3.73 0-6.86 2.55-7.75 6L14 19.75c3.45-.89 6-4.02 6-7.75h-5.25v1.5h3.45a6.37 6.37 0 01-3.89 4.44L6.06 9.69C7 7.31 9.3 5.63 12 5.63c2.13 0 4 1.04 5.18 2.65l1.23-1.06A7.959 7.959 0 0012 4zm-8 8a8 8 0 008 8c.04 0 .09 0-8-8z' fill='%23639'/%3E%3C/svg%3E"
/>
</main>
);
};

export default IndexPage;

export const Head = () => <title>Home Page</title>;
Loading

0 comments on commit 4a613d6

Please sign in to comment.