Git Product home page Git Product logo

duke's Introduction

Gatsby + Netlify CMS Starter

Netlify Status

Note: This starter uses Gatsby v2.

This repo contains an example business website that is built with Gatsby, and Netlify CMS: Demo Link.

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 blog functionality built with Netlify CMS
  • Editable Pages: Landing, About, Experience, 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
  • Netlify function support, see lambda folder
  • Perfect score on Lighthouse for SEO, Accessibility and Performance (wip:PWA)
  • ..and more

Prerequisites

Getting Started (Recommended)

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). 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

$ git clone https://github.com/[GITHUB_USERNAME]/[REPO_NAME].git
$ cd [REPO_NAME]
$ yarn
$ netlify dev # or ntl dev

This uses the new Netlify Dev CLI feature to serve any functions you have in the lambda folder.

To test the CMS locally, you'll need to run a production build of the site:

$ 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.

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 ExperiencePagePreview from './preview-templates/ExperiencePagePreview'
import IndexPagePreview from './preview-templates/IndexPagePreview'

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

CMS.registerPreviewTemplate('index', IndexPagePreview)
CMS.registerPreviewTemplate('about', AboutPagePreview)
CMS.registerPreviewTemplate('experience', ExperiencePagePreview)
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 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

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

Purgecss

This plugin uses gatsby-plugin-purgecss and bulma. 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.

duke's People

Contributors

damithc avatar j-lum avatar tiuweehan avatar

Watchers

 avatar

duke's Issues

Feedback on week 3 project progress for tiuweehan

Here is the updated feedback for week 3. Please ignore the previous post.

Leftovers from the previous week

  • A version tagged A-Enums is in the repo(✔️ well done!)

  • You are done with previous weeks work(✔️ well done!)

Progress of this week

  • A version tagged A-MoreOOP is in the repo(✔️ well done!)

  • A version tagged A-JUnit is in the repo( try to do by next milestone)

  • A version tagged A-Jar is in the repo( try to do by next milestone)

  • A version tagged A-Packages is in the repo(✔️ well done!)

  • Has branchesbranch-level-7 branch-level-8 in the repo(✔️ well done!)

  • A pull request exists from your repo to the module repo( try to do by next milestone)

Note: the above observation was done by the CS2103-feedback-bot and covers changes up to 2019-08-28 00:00:00 only. If you think the above observation is incorrect, please let us know by replying in this thread. Please include links to relevant PRs/comments in your response.

Feedback on week 6 project progress for tiuweehan

Leftovers from the previous week

  • A version tagged B-DoWithinPeriodTasks is in the repo(✔️ well done!)

  • You are done with previous weeks work(✔️ well done!)

Progress of this week

  • docs/REAME.md is updated(✔️ well done!)

  • docs/UI.png has been added( try to do by next milestone)

  • a jar file has been released in the past week(✔️ well done!)

  • product website available at http://tiuweehan.github.io/duke (✔️ well done!)

Note: the above observation was done by the CS2103-feedback-bot and covers changes up to 2019-09-18 00:00:00 only. If you think the above observation is incorrect, please let us know by replying in this thread. Please include links to relevant PRs/comments in your response.

Feedback on week 2 project progress for tiuweehan

Progress observed

  • A version tagged Level-1 is in the repo(✔️ well done!)

  • A version tagged Level-2 is in the repo(✔️ well done!)

  • A version tagged Level-3 is in the repo(✔️ well done!)

  • A version tagged Level-4 is in the repo(✔️ well done!)

  • A version tagged Level-5 is in the repo(✔️ well done!)

  • A version tagged Level-6 is in the repo(✔️ well done!)

Note: the above observation was done by the CS2103-feedback-bot and covers changes up to 2019-08-23 00:00:00 only. If you think the above observation is incorrect, please let us know by replying in this thread. Please include links to relevant PRs/comments in your response.

Feedback on week 3 project progress for tiuweehan

Leftovers from the previous week

  • A version tagged A-Enums is in the repo(✔️ well done!)

Progress of this week

  • A version tagged A-MoreOOP is in the repo(✔️ well done!)

  • A version tagged A-JUnit is in the repo( try to do by next milestone)

  • A version tagged A-Jar is in the repo( try to do by next milestone)

  • A version tagged A-Packages is in the repo(✔️ well done!)

  • Has branchesbranch-level-7 branch-level-8 in the repo(✔️ well done!)

  • A pull request exists from your repo to the module repo( try to do by next milestone)

Note: the above observation was done by the CS2103-feedback-bot and covers changes up to 2019-08-28 00:00:00 only. If you think the above observation is incorrect, please let us know by replying in this thread. Please include links to relevant PRs/comments in your response.

Feedback on week 7 project progress for tiuweehan

Leftovers from the previous week

  • At least two branches are in the repo branch-A-Assertions branch-A-CodingQuality branch-A-CodingStandard branch-A-JavaDoc branch-A-Travis branch-B-DoWithinPeriodTasks branch-Level-9 branch-level-7 branch-level-8 gradle master (✔️ well done!)

  • At least 2 PRs are in your fork (✔️ well done!)

  • docs/Ui.png has been added (✔️ well done!)

Note: the above observation was done by the CS2103-feedback-bot and covers changes up to 2019-10-01 00:00:00 only. If you think the above observation is incorrect, please let us know by replying in this thread. Please include links to relevant PRs/comments in your response.

Feedback on week 5 project progress for tiuweehan

Leftovers from the previous week

  • You are done with previous weeks work(✔️ well done!)

Progress of this week

  • At least 2 PRs are in your fork(✔️ well done!)

  • A version tagged B-DoWithinPeriodTasks is in the repo(✔️ well done!)

Note: the above observation was done by the CS2103-feedback-bot and covers changes up to 2019-09-11 00:00:00 only. If you think the above observation is incorrect, please let us know by replying in this thread. Please include links to relevant PRs/comments in your response.

Feedback on week 4 project progress for tiuweehan

Leftovers from the previous week

  • A version tagged A-JUnit is in the repo(✔️ well done!)

  • A version tagged A-Jar is in the repo(✔️ well done!)

  • Has branchesbranch-A-JavaDoc branch-A-CodingStandard branch-Level-9 in the repo(✔️ well done!)

  • A pull request exists from your repo to the module repo(✔️ well done!)

  • You are done with previous weeks work(✔️ well done!)

Progress of this week

  • A version tagged A-Gradle is in the repo(✔️ well done!)

  • A version tagged Level-10 is in the repo(✔️ well done!)

  • You have added comments on at least two PRs(✔️ well done!)

Note: the above observation was done by the CS2103-feedback-bot and covers changes up to 2019-09-05 00:00:00 only. If you think the above observation is incorrect, please let us know by replying in this thread. Please include links to relevant PRs/comments in your response.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.