All Projects → fabe → Gatsby Universal

fabe / Gatsby Universal

Licence: mit
🔮 An opinionated Gatsby v2 starter for state-of-the-art marketing sites.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Gatsby Universal

Gp Vue Boilerplate
Grabarz & Partner Boilerplate is a professional front-end template for building fast, robust, and adaptable web apps or sites with vuejs.
Stars: ✭ 71 (-88.49%)
Mutual labels:  static-site, boilerplate, pwa
Jekyll Netlify Boilerplate
A simple Jekyll template for creating a fast, static website on Netlify
Stars: ✭ 62 (-89.95%)
Mutual labels:  static-site, jamstack, boilerplate
Suicrux
🚀 Ultimate universal starter with lazy-loading, SSR and i18n. [not maintained]
Stars: ✭ 958 (+55.27%)
Mutual labels:  universal, boilerplate, pwa
Startup Landing
Collection of free top of the line startup landing templates built using react/nextjs/gatsby. Free to download, simply edit and deploy! Updated weekly!
Stars: ✭ 176 (-71.47%)
Mutual labels:  gatsby, static-site, universal
Eleventy Starter Ghost
A starter template to build websites with Ghost & Eleventy
Stars: ✭ 187 (-69.69%)
Mutual labels:  static-site, jamstack, boilerplate
Next Js Blog Boilerplate
🚀 Nextjs Blog Boilerplate is starter code for your blog based on Next framework. ⚡️ Made with Nextjs, TypeScript, ESLint, Prettier, PostCSS, Tailwind CSS.
Stars: ✭ 134 (-78.28%)
Mutual labels:  static-site, jamstack, boilerplate
Tris Webpack Boilerplate
A Webpack boilerplate for static websites that has all the necessary modern tools and optimizations built-in. Score a perfect 10/10 on performance.
Stars: ✭ 1,016 (+64.67%)
Mutual labels:  static-site, boilerplate, pwa
Eleventy Starter Boilerplate
🚀 Eleventy Starter is production-ready with SEO-friendly for quickly starting a blog. ⚡ Built with Eleventy, ESLint, Prettier, Webpack, PostCSS, Tailwind CSS and Netlify CMS (optional).
Stars: ✭ 139 (-77.47%)
Mutual labels:  static-site, jamstack, boilerplate
Gatsby Starter Alchemy
A Gatsby starter with PostCSS powers ✨🔮
Stars: ✭ 23 (-96.27%)
Mutual labels:  gatsby, static-site, boilerplate
Pwa
An opinionated progressive web app boilerplate
Stars: ✭ 353 (-42.79%)
Mutual labels:  universal, boilerplate, pwa
Awes Io
Awes.io // boilerplate based on Vue, Nuxt, TailwindCSS plus Laravel as a backend. 🤟
Stars: ✭ 599 (-2.92%)
Mutual labels:  boilerplate, pwa
gatsby-starter-landing-page
🖱 A simple, minimal Gatsby starter for quick and easy landing pages
Stars: ✭ 132 (-78.61%)
Mutual labels:  gatsby, static-site
gatsby-theme-amsterdam
A Gatsby theme for artists, photographers and other creative folks 👨‍🎨
Stars: ✭ 133 (-78.44%)
Mutual labels:  gatsby, static-site
subtle-ui
A collection of clever yet understated user interactions found on the web
Stars: ✭ 39 (-93.68%)
Mutual labels:  gatsby, static-site
donations
Grounding corporate donations in the reality of the individual
Stars: ✭ 17 (-97.24%)
Mutual labels:  pwa, gatsby
www
🦁 Source files for my personal site
Stars: ✭ 64 (-89.63%)
Mutual labels:  gatsby, static-site
Create React App Material Typescript Redux
A ready to use boilerplate for starting big react projects
Stars: ✭ 257 (-58.35%)
Mutual labels:  boilerplate, pwa
Devblog
A lightweight, customizable personal blog template built with GatsbyJS and React
Stars: ✭ 312 (-49.43%)
Mutual labels:  gatsby, static-site
Skeleventy
A skeleton boilerplate built with Eleventy.
Stars: ✭ 318 (-48.46%)
Mutual labels:  static-site, jamstack
plasmic
Visual page builder and web design tool for any website or web app tech stack
Stars: ✭ 1,475 (+139.06%)
Mutual labels:  gatsby, jamstack

gatsby-universal

CircleCI Greenkeeper badge styled with prettier Netlify Status

An opinionated Gatsby v2 starter with React Context, styled-components, page transitions, scroll events with IntersectionObserver and a focus on accessibility and SEO. Made for state-of-the-art marketing sites.

You can access a demo of this starter online at gatsby-universal.netlify.com.


Features

  • [X] 🤩 Page Transitions, component-based (with no-js support)
  • [X] 👮‍♂️ IntersectionObserver, component-based (with polyfill)
  • [X] 🌿 React Context for global UI state, with SSR
  • [X] 💅 styled-components v4
  • [X] 💯 Optimized with Google Lighthouse (including test)
  • [X] 🔥 Code Splitting of CSS and JS (component based)
  • [X] 🔪 Inline SVG support
  • [X] ⚙️ One config file for site-wide settings
  • [X] 💙 Most social + meta tags in one component
  • [X] 🖼 All favicons generated, only one icon file needed
  • [X] 🌐 Offline support
  • [X] 📄 Manifest support
  • [X] 🗺 Sitemap support
  • [X] 📱 Generated media queries for easy use
  • [X] 😎 Prettier for code style
  • [X] 👷‍♂️ CircleCI support
  • [X] 🐙 Schema JSONLD
  • [X] 🔎 size-plugin to keep an eye on your bundle sizes
  • [X] 👨‍🏫 ESLint (based on eslint-plugin-react)

Do you have suggestions or feedback? Open an issue!

Lighthouse scores (on Netlify)

Lighthouse scores (on Netlify)

Usage

Edit on CodeSandbox Deploy to Netlify

# 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

Configuration

Find the site-wide configuration in 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`,
  },
};

🚨 Don't forget to update your robots.txt inside static/!

Folder structure

├── 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.

Author

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].