Skip to content

factn/resilience-landing-page

Repository files navigation

Mutual Aid - Resilience App Theme

All Contributors

Netlify Status

Commitizen friendly

Prerequisites

Get started

Fork the repository

$ cd <sites-folder>
$ git clone <your-forked-repo>

Make sure you have Gatsby installed globally

$ npm i -g gatsby

Install your packages

$ npm install

Start the server

$ npm start

Read more about contributing and keeping your fork up to date on our CONTRIBUTING

GraphQL

http://localhost:8000/__graphql

Note: This theme uses Gatsby v2 and Netlify CMS

It follows the JAMstack architecture by using Git as a single source of truth, and Netlify for continuous deployment, and CDN distribution.

Features

  • A simple landing page with stories functionality built with Netlify CMS
  • Editabe Pages: Landing, About, Stories-Collection and Contact page with Netlify Form support
  • Create Stories posts from Netlify CMS
  • Tags: Separate page for posts under each tag
  • Basic directory organization
  • Blazing fast loading times thanks to pre-rendered HTML and automatic chunk loading of JS files
  • Uses gatsby-image with Netlify-CMS preview support
  • Separate components for everything
  • Netlify deploy configuration
  • Netlify function support, see lambda folder
  • Perfect score on Lighthouse for SEO, Accessibility and Performance (wip:PWA)
  • ..and more

Media Libraries (installed, but optional)

Media Libraries have been included in this starter as a default. If you are not planning to use Uploadcare or Cloudinary in your project, you can remove them from module import and registration in src/cms/cms.js. Here is an example of the lines to comment or remove them your project.

import CMS from 'netlify-cms-app';
// import uploadcare from 'netlify-cms-media-library-uploadcare'
// import cloudinary from 'netlify-cms-media-library-cloudinary'

import AboutUsPagePreview from './preview-templates/AboutUsPagePreview';
import StoriesPostPreview from './preview-templates/StoriesPostPreview';
import IndexPagePreview from './preview-templates/IndexPagePreview';

// CMS.registerMediaLibrary(uploadcare);
// CMS.registerMediaLibrary(cloudinary);

CMS.registerPreviewTemplate('index', IndexPagePreview);
CMS.registerPreviewTemplate('about-us', AboutUsPagePreview);
CMS.registerPreviewTemplate('stories', StoriesPostPreview);

Note: Don't forget to also remove them from package.json and yarn.lock / package-lock.json using yarn or npm. During the build netlify-cms-app will bundle the media libraries as well, having them removed will save you build time. Example:

yarn remove netlify-cms-media-library-uploadcare

OR

yarn remove netlify-cms-media-library-cloudinary

Debugging

Windows users might encounter node-gyp errors when trying to npm install. To resolve, make sure that you have both Python 2.7 and the Visual C++ build environment installed.

npm config set python python2.7
npm install --global --production windows-build-tools

Full details here

MacOS users might also encounter some errors, for more info check node-gyp. We recommend using the latest stable node version.

Purgecss

gatsby-plugin-purgecss

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Daniel Huerta

🤔 📆 📖 💬

Joshua Wu

💻 👀 📖

Paul Mendoza

🐛 💻 📖 🤔 🚧 💬 👀 🛡️

Miles Thompson

🤔 💻 👀 💬 🐛 💼 🖋 📆

Karen

🎨 🤔 📆 💬

Tuan Nguyen

🐛 💻 📖 🤔 🚧 📆 💬 👀

lauramei

🤔 🎨 👀

sarahjagrowski

🎨 🤔

Sarah

📖 🎨 🤔 💬

Marek Dano

💻 📖 🐛

Amy

🐛 💻 📖 🤔 🚧 💬 👀 🛡️

Jacob Garlick

🐛 ⚠️ 📖

Chase Lee

💻

Yoonah Bae

🎨 🤔

sd33m

🤔 💬 ️️️️♿️

Courtney Beadel

🎨 📖 🤔 💬

Azmain Amin

🐛 💻 📖 🤔 🚧 💬 👀 🛡️

Jessica Ellis

💻

This project follows the all-contributors specification. Contributions of any kind welcome!