gatsby universal
1.0.0
Un démarreur avisé de Gatsby v2 avec React Context, des composants stylisés, des transitions de page, des événements de défilement avec IntersectionObserver
et un accent sur l'accessibilité et le référencement. Conçu pour les sites marketing de pointe.
Vous pouvez accéder à une démo de ce démarreur en ligne sur gatsby-universal.netlify.com.
IntersectionObserver
, basé sur des composants (avec polyfill) styled-components
v4 size-plugin
pour garder un œil sur la taille de vos bundles eslint-plugin-react
)Avez-vous des suggestions ou des commentaires? Ouvrez un problème !
# Installation with `gatsby-cli`
gatsby new my-site https://github.com/fabe/gatsby-universal
# Installation with `git clone`
git clone [email protected]:fabe/gatsby-universal.git my-site
cd my-site
yarn install
# To develop
yarn develop
# To build
yarn build
# To test SSR (for Lighthouse etc.)
yarn ssr
# To format JS (precommit)
yarn format
# To generate favicons (included in `build`)
yarn build:favicons
Recherchez la configuration à l'échelle du site dans site-config.js
.
module . exports = {
siteTitle : `Gatsby Universal` ,
siteTitleShort : `GatsbyU` ,
siteDescription : `An opinionated starter for Gatsby.` ,
siteUrl : `https://gu.fabianschultz.com` ,
themeColor : `#000` ,
backgroundColor : `#fff` ,
pathPrefix : null ,
logo : path . resolve ( __dirname , 'src/images/icon.png' ) ,
social : {
twitter : `gatsbyjs` ,
fbAppId : `966242223397117` ,
} ,
} ;
N'oubliez pas de mettre à jour votre
robots.txt
dansstatic/
!
├── gatsby-browser.js # Specify how Gatsby renders pages in the browser
├── gatsby-config.js # Gatsby config, mostly taken from `site-config.js`
├── gatsby-node.js # Modify webpack config
├── gatsby-ssr.js # Specify how Gatsby builds pages
├── site-config.js # Global settings for the whole site, used by multiple scripts
├── content # Content & data, in both json and markdown
├── src
│ ├── components
│ │ ├── head # All meta tags etc.
│ │ ├── io # Intersection Observer component, uses render props
│ │ ├── layout # Layout component
│ │ │ ├── layout.css.js # .css.js for component's `styled-components`
│ │ │ └── layout.js
│ │ └── transition # Page Transition component, used by Gatsby APIs
│ ├── constants # Site-wide constants (breakpoints, colors, etc.)
│ ├── containers # Container components if store is needed
│ ├── helpers
│ │ ├── schemaGenerator.js # Generates JSON-LD schema.org snippets
│ │ └── mediaTemplates.js # Creates media queries for styled-components
│ ├── images # Images needed by the site/theme (not content)
│ ├── pages
│ ├── store # Store and provider of a React.createContext instance
│ └── global.css.js # Global CSS
└── scripts
├── lighthouse.test.js # Tests the site specified inside `site-config.js` with Google Lighthouse (WIP)
└── favicons.js # Generates favicons and manifest using one png only.