A peculiar little website that uses Eleventy + Netlify + Puppeteer to create generative poster designs

Overview

Garden β€” Generative Jamstack Posters

"Garden" is an experiment in building creative, joyful online experiences using core web technologies.

🧱 Building blocks

  • Eleventy: a static site generator that generates the site itself and the generative .svg poster files.
  • Netlify: hosts the "Garden" website and runs the build process for each deployment.
  • Puppeteer: a Node library that can control Headless Chrome β€” used to create open graph images by capturing screenshots of poster pages at build time.
  • esbuild: an extremely fast bundler that concatenates and minifies the project's CSS.
  • CUBE CSS: a CSS methodology orientated towards simplicity, pragmatism and consistency β€” used to guide the project's CSS structure.
  • SVG.js: a lightweight JS library that enables terse SVG scripting β€” used to help generate the poster designs.
  • IFTTT: a no code automation platform used with Netlify build hooks to automate daily deployments.

⚑️ Local installation

Want to explore and run this project on your own machine? Here's how!

Getting started

First, clone the repository:

git clone [email protected]:georgedoescode/garden-jamstack-posters.git

Then, navigate inside the repository and install the project's dependencies:

cd garden-jamstack-posters && npm install

Development mode

To spin up a local development environment, run: npm run watch

This will start Eleventy in watch mode and spin up a local web server at http://localhost:8081.

Note: to speed up local builds by only generating recent posters you can set a POSTER_COUNT environment variable like so:

POSTER_COUNT=8 npm run watch

Production mode

To create a production build of the site, run:

npm run build

This will build the site to dist/ (just like development mode) and spin up a Puppeteer instance to generate the open graph images for each poster.

πŸ’‘ Got an idea? Notice an issue?

I'd love to hear from you! You can always log an issue on this repo's Github issues page or send me a message on Twitter.

You might also like...

Netlify functions session cookie πŸͺ

netlify-functions-session-cookie πŸͺ Cryptographically-signed session cookies for Netlify functions. Summary Install Concept and Usage API Environment

Jun 8, 2022

testing out ember + netlify's forms

testing out ember + netlify's forms

survey-netlify I'm trying Ember + Netlify Forms. Will it work? Let's find out. Steps so far added prember and ember-cli-fastboot used the version of f

Feb 14, 2022

Easiest way to build documentation for your project. No config or build required, hosted on @netlify.

Easiest way to build documentation for your project. No config or build required, hosted on @netlify.

Hyperdocs is the simplest way you can create documentation for your project. It blends the best of all the other documentation tools in one. Hyperdocs

Dec 22, 2022

A minimal e-commerce store using Gatsby, SANITY, Stripe, Use-Shopping-Cart and Netlify

πŸͺ Gatsby Starter Stripemart Like a supermarket but for Stripe. No ongoing monthly costs. Perfect for artists, creators and independent builders doing

Nov 14, 2022

This is a demo of updating a map to show air quality data for the user’s current location using Next.js Advanced Middleware, powered by Netlify Edge Functions.

Show Local Air Quality Based on the User's Location Use AQI data to show the air quality near the current user. This is built using Next.js Advanced M

Nov 4, 2022

πŸ€– Persist the Playwright executable between Netlify builds

πŸ€– Persist the Playwright executable between Netlify builds

πŸ€– Netlify Plugin Playwright Cache Persist the Playwright executables between Netlify builds. Why netlify-plugin-playwright-cache When you install pla

Oct 24, 2022

Get an isolated preview database for every Netlify Preview Deployment

Get an isolated preview database for every Netlify Preview Deployment

Netlify Preview Database Plugin Create an isolated preview database for each preview deployment in Netlify Quickstart β€’ Website β€’ Docs β€’ Discord β€’ Twi

Nov 16, 2022

React Gatsby static web tool for generative artists working on token based NFT artwork (ex: Artblocks)

React Gatsby static web tool for generative artists working on token based NFT artwork (ex: Artblocks)

token-art-tools React Gatsby static web tool for generative artists working on token/hash based NFT artwork (ex: Artblocks) https://ctrlshiftmake.gith

Dec 15, 2022

Build your own generative art NFT collection with 21 lines of JavaScript

Build your own generative art NFT collection with 21 lines of JavaScript

Avatar Collection Build your own Generative Art NFT Collection in 1 minute. Quickstart Just run the following to get started: git clone https://github

Dec 16, 2022
Owner
George Francis
UI ⚑️ Generative everything ❀️ I write about creative coding & front-end development ✨
George Francis
An Eleventy server plugin to use Browsersync with Eleventy 2.0+.

An Eleventy server plugin to use Browsersync with Eleventy 2.0+.

Eleventy 12 Sep 9, 2022
An API library of useful mocked endpoints to help you get your designs feeling lifelike with real data.

About Welcome to Mocked-API, this is a live API that can be accessed by anyone who needs data to test out their website, app, components etc. Hacktobe

Aaron Rackley 48 Dec 29, 2022
A markdown-it plugin that process images through the eleventy-img plugin. Can be used in any projects that uses markdown-it.

markdown-it-eleventy-img A markdown-it plugin that process images through the eleventy-img plugin. Can be used in any projects that use markdown-it. F

null 25 Dec 20, 2022
AWS CDK stack for taking website screenshots (powered by Puppeteer)

CDK Screenshot (powered by Puppeteer) Made possible by the excellent Puppeteer. Install export AWS_PROFILE=myprofile export AWS_DEFAULT_REGION=us-east

Alexei Boronine 6 Oct 23, 2022
This is a little script that shows how to ddos a website. This is for example purposes only. Don't ddos a website without the consent of his owner

Dddos-Script This is a little script to ddos a website. This is for example purposes only. I am not responsable of what you do with it If you like thi

null 13 Dec 17, 2022
The high efficent browser driver on top of puppeteer, ready for production scenarios.

browserless is an efficient driver for controlling headless browsers built on top of puppeteer developed for scenarios where performance matters. High

microlink.io 1.2k Jan 6, 2023
Automagically bypass hcaptcha challenges with http api, with puppeteer, selenium, playwright browser automation scripts to bypass hCaptcha programmatically

Automagically bypass hcaptcha challenges with http api, with puppeteer, selenium, playwright browser automation scripts to bypass hCaptcha programmatically. For help you can message on discord server with the bellow link. You can also create an issue.

Shimul 199 Jan 2, 2023
Visual scraper interface, exports to puppeteer script which you can run anywhere.

Jawa - Visual Scraper Visual scraper interface, exports to puppeteer script which you can run anywhere. You can try it out here https://jawa.kickass.c

Ante Barić 4 Nov 16, 2022
A build plugin to integrate Gatsby seamlessly with Netlify

Essential Gatsby Plugin This build plugin is a utility for supporting Gatsby on Netlify. To support build caching and Gatsby functions on Netlify, you

Netlify 72 Dec 27, 2022