This project exists to provide an accessible, mobile-optimised, delete key friendly starter for your next web project.
It exists so that the maintainer, Alasdair Blackwell, can produce bespoke, high quality, accessible, CMS-enabled websites for small businesses with limited budgets.
With its strong foundations in accessibility and privacy, and its scaffolding, tools and pre-fabricated components that implement best practice techniques, JAMstack starter will make your life and the lives of your clients and their users easier and more enjoyable.
- 100% customisable pages via CMS
- Custom forms
- Choice of menus and layouts
- Sendgrid for sending emails*
- Stripe for handling payments (with privacy protection enabled)*
- WCAG(2.1) Compliance
- GDPR Compliance - no cookie notice needed
- Eleventy static site generator
- Netlify CMS
- Privacy-friendly analytics*
- Netlify Dev for local functions and forms
- Work with a local git repository
- Starter unit tests*
- Starter Netlify Functions
- Starter CMS with site options and dynamic page layouts
- Component library*
- No-class CSS with sensible defaults*
- Prettier code formatting
- Pre-commit linting
- Light and dark theme support
*Some of these features are works in progress!
The button above will clone this repository to your account and deploy it to Netlify.
The CMS has been configured to use Github for authentication.
(To implement alternative backends, including Git Gateway, Netlify's own open source authentication service that plays nicely with Netlify Identity, please read the Netlify CMS docs.)
To enable logging into the CMS with your Github account at https://[your-project-name].netlify.app/admin, do the following:
- Edit line 3 of
website/admin/config.yml
replacing the repo with your repo. - In Github, go to
Settings > Developer Settings > OAuth Apps > New OAuth App
. The Authorization callback URL should behttps://api.netlify.com/auth/done
. (From OAuth Netlify Docs) - In Netlify, go to
[Your new site] > Settings > Access Control > OAuth > Install provider
and add the Client ID and Secret from step 2.
You will now be able to login.
You must deploy the site to Netlify and configure authentication before attempting to work locally.
git clone https://github.com/[your-github-username]/jamstack-starter.git your-project-name
cd your-project-name
npm install
We have implemented a Netlify CMS beta feature (docs) that lets you work with a local repository instead of having to pull the whole time.
In your current terminal run:
npm run local-cms
Open another terminal and run the project:
npm start
This command runs the full netlify dev
command which spins up and proxies any functions you've added to the functions
directory at the root of the project, as well as setting up a hot reloading server for the site itself.
You may prefer to just run the site itself at the beginning and you can do this with:
npm run site:serve
You can browse all available commands in the scripts section of package.json
It would be wonderful for you to contribute code and ideas. Pull requests are welcome.
- Eleventy Netlify Boilerplate by Dan Urbanowicz
- Accessibility For Everyone by Laura Kalbag
- Inclusive Components (the book) by Heydon Pickering
- MVP.css by Andy Brewer
- unDraw Illustrations by Katerina Limpitsouni