Skip to content

Commit f8447b1

Browse files
committed
feat: Initial commit of Gatsby project.
0 parents  commit f8447b1

23 files changed

+30117
-0
lines changed

.gitignore

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Project dependencies
2+
.cache
3+
node_modules
4+
yarn-error.log
5+
6+
# Build directory
7+
/public
8+
.DS_Store
9+
10+
.env

.nvmrc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
v8.12.0

.prettierrc

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"semi": false,
3+
"singleQuote": true,
4+
"trailingComma": "es5"
5+
}

LICENSE

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
The MIT License (MIT)
2+
3+
Copyright (c) 2015 gatsbyjs
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.
22+

README.md

+121
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
<p align="center">
2+
<a href="https://next.gatsbyjs.org">
3+
<img alt="Gatsby" src="https://www.gatsbyjs.org/monogram.svg" width="60" />
4+
</a>
5+
</p>
6+
<h1 align="center">
7+
Gatsby Contentful TypeScript starter
8+
</h1>
9+
10+
Gatsby starter with Contentful and TypeScript configuration.
11+
12+
13+
## 🚀 Quick start
14+
15+
1. **Install the Gatsby CLI.**
16+
17+
The Gatsby CLI helps you create new sites using Gatsby starters (like this one!)
18+
19+
```sh
20+
# install the Gatsby CLI globally
21+
npm install -g gatsby-cli
22+
```
23+
24+
2. **Create a Gatsby site.**
25+
26+
Use the Gatsby CLI to create a new site, specifying the default starter.
27+
28+
```sh
29+
# create a new Gatsby site using the default starter
30+
gatsby new my-project https://github.com/fhavrlent/gatsby-contentful-typescript-starter
31+
```
32+
33+
3. **Set Contentful API keys.**
34+
35+
Rename **`empty.env`** to **`.env`** and set your Contentful API variables
36+
37+
3. **Start developing.**
38+
39+
Navigate into your new site’s directory and start it up.
40+
41+
```sh
42+
cd my-default-starter/
43+
npm develop
44+
```
45+
46+
4. **Open the source code and start editing!**
47+
48+
Your site is now running at `http://localhost:8000`!
49+
50+
*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://next.gatsbyjs.org/tutorial/part-five/#introducing-graphiql).*
51+
52+
Open the 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!
53+
54+
## 🧐 What's inside?
55+
56+
A quick look at the top-level files and directories you'll see in a Gatsby project.
57+
58+
.
59+
├── node_modules
60+
├── src
61+
├── .gitignore
62+
├── .nvmrc
63+
├── .prettierrc
64+
├── empty.env
65+
├── gatsby-browser.js
66+
├── gatsby-config.js
67+
├── gatsby-node.js
68+
├── gatsby-ssr.js
69+
├── LICENSE
70+
├── package-lock.json
71+
├── package.json
72+
├── README.md
73+
├── tsconfig.json
74+
├── tslint.json
75+
└── yarn.lock
76+
77+
1. **`/node_modules`**: The directory where all of the modules of code that your project depends on (npm packages) are automatically installed.
78+
79+
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), like your site header, or a page template. “Src” is a convention for “source code”.
80+
81+
3. **`.gitignore`**: This file tells git which files it should not track / not maintain a version history for.
82+
83+
4. **`.nvmrc`**: NVM configuration so packages works as they should
84+
85+
5. **`.prettierrc`**: This is a configuration file for a tool called [Prettier](https://prettier.io/), which is a tool to help keep the formatting of your code consistent.
86+
87+
6. **`empty.env`**: Rename to **`.env`** and set your Contentful API key
88+
89+
7. **`gatsby-browser.tsx`**: This file is where Gatsby expects to find any usage of the [Gatsby browser APIs](https://next.gatsbyjs.org/docs/browser-apis/) (if any). These allow customization/extension of default Gatsby settings affecting the browser.
90+
91+
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://next.gatsbyjs.org/docs/gatsby-config/) for more detail).
92+
93+
8. **`gatsby-node.js`**: This file is where Gatsby expects to find any usage of the [Gatsby node APIs](https://next.gatsbyjs.org/docs/node-apis/) (if any). These allow customization/extension of default Gatsby settings affecting pieces of the site build process.
94+
95+
9. **`gatsby-ssr.tsx`**: This file is where Gatsby expects to find any usage of the [Gatsby server-side rendering APIs](https://next.gatsbyjs.org/docs/ssr-apis/) (if any). These allow customization of default Gatsby settings affecting server-side rendering.
96+
97+
910. **`LICENSE`**: Gatsby is licensed under the MIT license.
98+
99+
11. **`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).
100+
101+
12. **`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.
102+
103+
13. **`README.md`**: A text file containing useful reference information about your project.
104+
105+
14. **`tsconfig.json`**: Config file for TypeScript
106+
107+
15. **`tslint.json`**: TS Lint configuration file
108+
109+
16. **`yarn.lock`**: [Yarn](https://yarnpkg.com/) is a package manager alternative to npm. You can use either yarn or npm, though all of the Gatsby docs reference npm. This file serves essentially the same purpose as `package-lock.json`, just for a different package management system.
110+
111+
## 🎓 Learning Gatsby
112+
113+
Looking for more guidance? Full documentation for Gatsby lives [on the website](https://next.gatsbyjs.org/). Here are some places to start:
114+
115+
- **For most developers, we recommend starting with our [in-depth tutorial for creating a site with Gatsby](https://next.gatsbyjs.org/tutorial/).** It starts with zero assumptions about your level of ability and walks through every step of the process.
116+
117+
- **To dive straight into code samples head [to our documentation](https://next.gatsbyjs.org/docs/).** In particular, check out the “Guides”, API reference, and “Advanced Tutorials” sections in the sidebar.
118+
119+
## 💫 Deploy
120+
121+
[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/fhavrlent/gatsby-contentful-typescript-starter)

commitlint.config.js

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
module.exports = {
2+
extends: ['@commitlint/config-conventional'],
3+
rules: {
4+
'subject-full-stop': [2, 'always', '.'],
5+
'subject-case': [
6+
2, 'always',
7+
['sentence-case']
8+
]
9+
}
10+
}

empty.env

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
SPACE_ID=
2+
ACCESS_TOKEN=

gatsby-browser.tsx

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/**
2+
* Implement Gatsby's Browser APIs in this file.
3+
*
4+
* See: https://www.gatsbyjs.org/docs/browser-apis/
5+
*/
6+
7+
// You can delete this file if you're not using it

gatsby-config.js

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
if (process.env.ENVIROMENT !== 'production') {
2+
require('dotenv').config()
3+
}
4+
5+
const contentfulConfig = {
6+
spaceId: process.env.SPACE_ID,
7+
accessToken: process.env.ACCESS_TOKEN,
8+
}
9+
10+
module.exports = {
11+
siteMetadata: {
12+
title: 'Nodejs.dev Working Site',
13+
},
14+
plugins: [
15+
'gatsby-plugin-catch-links',
16+
'gatsby-plugin-react-helmet',
17+
`gatsby-plugin-sharp`,
18+
{
19+
resolve: `gatsby-source-filesystem`,
20+
options: {
21+
name: `learn`,
22+
path: `${__dirname}/node_modules/website-redesign/documentation/`,
23+
include: [`**/*.md`], // ignore files starting with a dot
24+
},
25+
},
26+
{
27+
resolve: `gatsby-plugin-manifest`,
28+
options: {
29+
name: 'gatsby-starter-contentful-typescript',
30+
short_name: 'starter',
31+
start_url: '/',
32+
background_color: '#663399',
33+
theme_color: '#663399',
34+
display: 'minimal-ui',
35+
icon: 'src/images/gatsby-icon.png', // This path is relative to the root of the site.
36+
},
37+
},
38+
'gatsby-plugin-offline',
39+
`gatsby-plugin-typescript`,
40+
{
41+
resolve: 'gatsby-transformer-remark',
42+
options: {
43+
plugins: [
44+
{
45+
resolve: `gatsby-remark-prismjs`,
46+
options: {
47+
classPrefix: "language-",
48+
inlineCodeMarker: null,
49+
aliases: { js: 'javascript' },
50+
showLineNumbers: false,
51+
noInlineHighlight: false,
52+
}
53+
},
54+
{
55+
resolve: `gatsby-remark-images`,
56+
options: {
57+
maxWidth: 590,
58+
},
59+
},
60+
]
61+
}
62+
},
63+
{
64+
resolve: `gatsby-source-contentful`,
65+
options: contentfulConfig,
66+
},
67+
{
68+
resolve: `gatsby-plugin-emotion`,
69+
},
70+
],
71+
}

gatsby-node.js

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/**
2+
* Implement Gatsby's Node APIs in this file.
3+
*
4+
* See: https://www.gatsbyjs.org/docs/node-apis/
5+
*/
6+
7+
// You can delete this file if you're not using it

gatsby-ssr.tsx

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/**
2+
* Implement Gatsby's SSR (Server Side Rendering) APIs in this file.
3+
*
4+
* See: https://www.gatsbyjs.org/docs/ssr-apis/
5+
*/
6+
7+
// You can delete this file if you're not using it

0 commit comments

Comments
 (0)