Starter for the official Gatsby blog and notes themes.
🚀 Quick start
Create a Gatsby site.
Use the Gatsby CLI to create a new site, specifying this theme starter.
# create a new Gatsby site using this theme starter gatsby new my-themed-site https://github.com/gatsbyjs/gatsby-starter-theme
Navigate into your new site’s directory and start it up.
cd my-themed-site/ gatsby develop
Open the code and start customizing!
Your site is now running at
🧐 What's inside?
Here are the top-level files and directories you'll see in a site created using this theme starter.
gatsby-starter-theme ├── content │ ├── assets │ │ └── avatar.jpg │ ├── notes │ │ ├── example-dir │ │ │ └── hi.mdx │ │ └── hello.mdx │ └── posts │ ├── hello-world.mdx │ ├── my-second-post.mdx │ └── new-beginnings.mdx ├── src │ ├── gatsby-theme-blog │ │ └── components │ │ └── header.js │ └── gatsby-theme-notes │ └── components │ └── layout.js ├── .gitignore ├── .prettierrc ├── gatsby-config.js ├── LICENSE └── package.json
/content: A content folder holding assets that the blog and notes themes expect to exist. Check out the README for each theme to learn more about the demo content.
/src: You will probably want to customize your site to personalize it. The files under
/src/gatsby-theme-notesshadow, or override the files of the same name in their respective packages. To learn more about this, check out the guide to getting started with using the blog theme starter.
.gitignore: This file tells git which files it should not track / not maintain a version history for.
.prettierrc: This file tells Prettier which configuration it should use to lint files.
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. When using themes, it's where you'll include the theme plugin, and any customization options the theme provides.
LICENSE: Gatsby is licensed under the MIT license.
package.jsonbelow, 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).
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.
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.
Here are some places to start:
- To learn more about Gatsby themes specifically, we recommend checking out the theme docs.
For most developers, we recommend starting with our in-depth tutorial for creating a site with Gatsby. 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. In particular, check out the Guides, API Reference, and Advanced Tutorials sections in the sidebar.