jamstack / jamstack.org

The official Jamstack site
https://jamstack.org/
2.85k stars 643 forks source link
jamstack serverless static-site

Jamstack

This is the repo for https://jamstack.org

An entry-point for learning about this architectural model. A place to learn what Jamstack is, for sharing tools, tips, examples and articles. This is also a place to find a local community meetup, or to seek support in starting one of your own.

Contributing resources

We've collected a set of videos, presentation, articles and other learning resources about Jamstack. You can contribute content to that pool of resources!

We accept contributions submitted as pull requests.

Contribute links to resources

To contribute a link to a resource:

  1. Create a new md file in the src/site/resources folder with a unique and descriptive name. Populate that file according to the structure shown below.
  2. For presentations and video, add an optional thumbnail image to the src/site/img/cms folder. (Image should be a jpeg 600px wide and 400px tall)
  3. Submit a pull request

resource md reference:

---
title: Resource title
date: Publish date (YYYY-MM-DD)
link: the URL of this resource
thumbnailurl: /img/cms/resources/resource-thumbnail.jpg
type:
  - article (Help us group and sort the resources by type article|video|presentation)
---

Before submitting a pull request, or if you are suggesting/contributing code or content changes, it is wise to preview your change in a local build. We've tried to make the process of running a local build as low as possible.

Running a local build

Prerequisites

Installing and running the build

# Clone this repository to your local environment
git clone git@github.com:jamstack/jamstack.org.git

# move in to your local site folder
cd jamstack.org

# install the dependencies
npm install

# run the build and dev server locally
npm start

Styling with TailwindCSS

This site uses TailwindCSS to offer utility CSS classes and provide a rapid means to styling the site. This means that most styling can be done without writing any additional CSS. Instead, utility classes can be added directly to the HTML. This can provide some very rapid development and also offer surprising levels of familiarity for these used to working in this way (since the conventions and classes are not per site.)

While running/developing locally, the npm run start command will generate the site including the CSS pipeline from Tailwind.

Global CSS utilities.

A small number of bespoke CSS rules are provided for efficiency of repeated or global classes. These reside in src/css/tailwind.css but these should be used sparingly, with most styling taking place in the HTML via Tailwind's utility classes.

Dev vs prod

During a production build, the CSS pipeline includes a step to remove all unused CSS statements and compress the resultant CSS. For development efficiency, this step is not performed during local development via the npm run start command. You can preview an optimised production build by running these commands:


# Run a production build
npm run build

# Serve the build locally
npm run start

One-click clone and deploy

You can clone this repository and bootstrap it as a test site of your own, complete with the CI/CD build pipeline on Netlify by clicking the button below. (Requires free GitHub and Netlify accounts)

Deploy to Netlify