/website

The MetaMask website

Primary LanguageJavaScriptMIT LicenseMIT

MetaMask Logo

Built With:

  • React
  • Gatsby
  • ❀️ from ConsenSys Digital Experiences Circle

πŸš€ Quick start

Ask @davidnguyen88 or @jlazoff for config files

  1. Start it up

    git clone git@github.com:MetaMask/website.git
    yarn
    yarn develop
  2. View site

    MetaMask is now running at http://localhost:8000!

    There is also a GraphQL API at 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.

What's where?

Gatsby file structure documentation

.
β”œβ”€β”€ public/
β”œβ”€β”€ src/
    β”œβ”€β”€ components/
    β”œβ”€β”€ fonts/
    β”œβ”€β”€ fragments/
      β”œβ”€β”€GraphQL_Documentation.md
    β”œβ”€β”€ images/
      β”œβ”€β”€ icons/
      β”œβ”€β”€ social-icons/
      β”œβ”€β”€ metamask-logo.svg
      β”œβ”€β”€ ...
    β”œβ”€β”€ lib/
      β”œβ”€β”€ theme.js
    β”œβ”€β”€ pages/
      β”œβ”€β”€ index.js
      β”œβ”€β”€ about.js
      β”œβ”€β”€ ...
    β”œβ”€β”€ html.js
β”œβ”€β”€ gatsby-config.js
β”œβ”€β”€ .env
β”œβ”€β”€ GraphQL_Query_Documentation.md
β”œβ”€β”€ package.json
└── README.md

Key Files

gatsby-config.js

The main configuration file for a Gatsby site. This is where you can specify information about your site (metadata), site title ,and description, which Gatsby plugins we are using, etc. (Check out the config docs for more detail).

src/fragments/ GraphQL query fragments that create standard data requests across components

src/lib/theme.js Contains styling constants for font sizes and weights, device sizes for media queries, shadows, and colors.

public/

Automatically generated output of gatsby build process for production.

src/pages

Files within this directory are turned into routes with the name of the file (e.g. about.js becomes /about). Only files within /pages are allowed to make dynamic GraphQL queries which cascade data down to components.

src/html.js Entry file used by Gatsby for all rendered pages html template