From 78076c6f6cb8f7a69102eff8a41ab9b4dfb00388 Mon Sep 17 00:00:00 2001 From: Eric Cheatham Date: Fri, 6 Mar 2020 13:22:10 -0600 Subject: [PATCH] chore: Update README.md and gatsby-config.js --- PULL_REQUEST_TEMPLATE.md | 16 +----- README.md | 111 ++++++--------------------------------- gatsby-config.js | 4 +- 3 files changed, 20 insertions(+), 111 deletions(-) diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md index b5e0fb0..b4b89b2 100644 --- a/PULL_REQUEST_TEMPLATE.md +++ b/PULL_REQUEST_TEMPLATE.md @@ -1,19 +1,7 @@ - - - +**Issue being addressed:** - +**How does this PR address it?** -**What kind of change does this PR introduce?** - - - -**Does this PR introduce a breaking change?** - - **What needs to be documented once your changes are merged?** - - - diff --git a/README.md b/README.md index 328fcf8..02fe824 100644 --- a/README.md +++ b/README.md @@ -1,52 +1,37 @@ -# Gatsby + Netlify CMS Starter +# Pursuit of Innovation: Pi515 [![Netlify Status](https://api.netlify.com/api/v1/badges/b654c94e-08a6-4b79-b443-7837581b1d8d/deploy-status)](https://app.netlify.com/sites/gatsby-starter-netlify-cms-ci/deploys) -**Note:** This starter uses [Gatsby v2](https://www.gatsbyjs.org/blog/2018-09-17-gatsby-v2/). -This repo contains an example business website that is built with [Gatsby](https://www.gatsbyjs.org/), and [Netlify CMS](https://www.netlifycms.org): **[Demo Link](https://gatsby-netlify-cms.netlify.com/)**. +'This repo is the main webpage for Pi515. It is built with [Gatsby](https://www.gatsbyjs.org/), and [Netlify CMS](https://www.netlifycms.org) It follows the [JAMstack architecture](https://jamstack.org) by using Git as a single source of truth, and [Netlify](https://www.netlify.com) for continuous deployment, and CDN distribution. -## Features -- A simple landing page with blog functionality built with Netlify CMS -- Editabe Pages: Landing, About, Product, Blog-Collection and Contact page with Netlify Form support -- Create Blog posts from Netlify CMS -- Tags: Separate page for posts under each tag -- Basic directory organization -- Uses Bulma for styling, but size is reduced by `purge-css-plugin` -- 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 -- Perfect score on Lighthouse for SEO, Accessibility and Performance (wip:PWA) -- ..and more +## Tech Stack 🥞 +- Website: [Gatsby](https://www.gatsbyjs.org/) + [React](https://reactjs.org/) +- Styling: [Bulma](https://bulma.io/) +- CMS: [Netlify CMS](https://www.netlifycms.org) +- Build: [Netlify](http://netlify.com/) -## Prerequisites +## Development +### Prerequisites - Node (I recommend using v8.2.0 or higher) - [Gatsby CLI](https://www.gatsbyjs.org/docs/) - [Netlify CLI](https://github.com/netlify/cli) -## Getting Started (Recommended) +### Running Locally -Netlify CMS can run in any frontend web environment, but the quickest way to try it out is by running it on a pre-configured starter site with Netlify. The example here is the Kaldi coffee company template (adapted from [One Click Hugo CMS](https://github.com/netlify-templates/one-click-hugo-cms)). Use the button below to build and deploy your own copy of the repository: - -Deploy to Netlify - -After clicking that button, you’ll authenticate with GitHub and choose a repository name. Netlify will then automatically create a repository in your GitHub account with a copy of the files from the template. Next, it will build and deploy the new site on Netlify, bringing you to the site dashboard when the build is complete. Next, you’ll need to set up Netlify’s Identity service to authorize users to log in to the CMS. - -### Access Locally - -Pulldown a local copy of the Github repository Netlify created for you, with the name you specified in the previous step +Clone this repository and do the following ``` -$ git clone https://github.com/[GITHUB_USERNAME]/[REPO_NAME].git -$ cd [REPO_NAME] -$ yarn -$ netlify dev # or ntl dev +npm install +gatsby develop ``` +This will create a local version of website that hot-reloads to show changes as you make them + +### Testing CMS locally To test the CMS locally, you'll need to run a production build of the site: ``` @@ -54,70 +39,6 @@ $ npm run build $ netlify dev # or ntl dev ``` -### 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. - -```javascript -import CMS from 'netlify-cms-app' -// import uploadcare from 'netlify-cms-media-library-uploadcare' -// import cloudinary from 'netlify-cms-media-library-cloudinary' - -import AboutPagePreview from './preview-templates/AboutPagePreview' -import BlogPostPreview from './preview-templates/BlogPostPreview' -import ProductPagePreview from './preview-templates/ProductPagePreview' -import IndexPagePreview from './preview-templates/IndexPagePreview' - -// CMS.registerMediaLibrary(uploadcare); -// CMS.registerMediaLibrary(cloudinary); - -CMS.registerPreviewTemplate('index', IndexPagePreview) -CMS.registerPreviewTemplate('about', AboutPagePreview) -CMS.registerPreviewTemplate('products', ProductPagePreview) -CMS.registerPreviewTemplate('blog', BlogPostPreview) -``` - -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 -``` -## Getting Started (Without Netlify) - -``` -$ gatsby new [SITE_DIRECTORY_NAME] https://github.com/netlify-templates/gatsby-starter-netlify-cms/ -$ cd [SITE_DIRECTORY_NAME] -$ npm run build -$ npm run serve -``` - ### Setting up the CMS Follow the [Netlify CMS Quick Start Guide](https://www.netlifycms.org/docs/quick-start/#authentication) to set up authentication, and hosting. - -## 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](https://www.npmjs.com/package/node-gyp 'NPM node-gyp page') - -MacOS users might also encounter some errors, for more info check [node-gyp](https://github.com/nodejs/node-gyp). We recommend using the latest stable node version. - -## Purgecss - -This plugin uses [gatsby-plugin-purgecss](https://www.gatsbyjs.org/packages/gatsby-plugin-purgecss/) and [bulma](https://bulma.io/). The bulma builds are usually ~170K but reduced 90% by purgecss. - -# CONTRIBUTING - -Contributions are always welcome, no matter how large or small. Before contributing, -please read the [code of conduct](CODE_OF_CONDUCT.md). diff --git a/gatsby-config.js b/gatsby-config.js index d6ffbeb..309de14 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -1,8 +1,8 @@ module.exports = { siteMetadata: { - title: 'Gatsby + Netlify CMS Starter', + title: 'Pursuit of Innovation (Pi 515)', description: - 'This repo contains an example business website that is built with Gatsby, 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.', + 'This repo is the main webpage for Pi515. It is built with Gatsby, 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.', }, plugins: [ 'gatsby-plugin-react-helmet',