Getting started
This project is a Gatsby theme that empowers developers, writers, and designers to create fast, accessible sites that look and feel like Carbon. Follow along to start creating your own site.
First steps
-
Create your site – use the gatsby CLI to bootstrap your site with the starter
npx gatsby new my-carbon-site https://github.com/carbon-design-system/gatsby-starter-carbon-theme -
Start developing – navigate into your directory with
.cd my-carbon-siteStart it up using one of the following snippets. You can tell which command to use based on the lock file at the root of your project (
for yarn andyarn.lockfor npm). For yarn, typepackage-lock.jsonfor npm, you’ll useyarn dev.npm run dev -
Make some changes! – open localhost:8000 in your browser to see your site running.
Each of the Items in your side bar correlates to a MDX file in your
directory. Navigate to a site and try editing the corresponding markdown file. You’ll be able to see it update live!src/pages/
👀 Watch a newbie try it out
This is a demo of a new Carbon team member spinning up a Gatsby Theme Carbon site while following the steps listed above. To forward through the introduction, play from min
3:50
🔍 What’s in here?
Lets check out the structure of our project
. ├── LICENSE ├── README.md ├── gatsby-config.js ├── node_modules ├── package.json ├── public ├── src │ ├── data │ ├── gatsby-theme-carbon │ ├── images │ └── pages └── yarn.lock
-
: This directory contains all of the modules of code that your project depends on (npm packages) are automatically installed./node_modules
-
: This directory will contain all of the code related to what you will see on the front-end of your site./src
- data this is where you’ll update your sidebar order and contents
- images you can colocate your images here or store them next to your pages, whichver you chose
- gatsby-theme-carbon this is where you’ll override (known as shadowing)
the default componentsgatsby-theme-carbon
- pages This is where most of your content will live. You’ll represent each page with an MDX file.
-
: This file tells git which files it should not track / not maintain a version history for..gitignore
-
: 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. You’ll notice that all of the configuration for the site is coming fromgatsby-config.jsgatsby-theme-carbon
-
: Gatsby is licensed under the Apache 2.0 license.LICENSE
-
(Seeyarn.lockbelow, 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.package.json