ZeroPoint

A modern, opinionated, bare-bones Jamstack starter using Eleventy to get "up to zero" on a project quickly and easily. https://getzeropoint.com

MIT License

Stars
99
Committers
4

ZeroPoint

Start building your website

Create and edit your site right from this readme file!.

✨ Or edit your entire site in a web-based editor by clicking here.

Creating and editing pages and content

Pages

Create your site's main content! Pages can be written in HTML or Markdown!

Look and Feel

Navigation

Your site's navigation is how your users will get around! Edit the site's navigation menu in JSON format!

Styles

Colors, spacing, and fonts, oh my! You can edit your branding and styles here using CSS, SCSS, and CSS variables!

Learning CSS can be daunting but there are a ton of useful resources on the web. Check out SmolCSS to get started!

Javascript

Optional! Add javascript functionality to your site

Deploy ZeroPoint

Once you set up deployment, any time you commit to your repository's main branch, GitHub will build and deploy your site.

Setup:

  1. Enable GitHub Pages in your repository settings, choose "GitHub Actions" as the source.
  2. Allow "Read and write permissions" for GitHub Workflows in your repository settings for the GitHub Actions workflow to run.

Setup:


Get to Know ZeroPoint

Ready to go deeper? Here's how ZeroPoint is laid out:

example.com                 # → Root of your ZeroPoint-based project
├── src/                    # → Source directory
   ├── assets/             # → Site assets
   │   ├── fonts/
   │   ├── images/
   │   ├── scripts/
   │   ├── styles/
   │   ├── views/
   │   │   └── layouts/
   │   │   └── partials/
   │   └── assets.json     # → Shared attributes for files in the assets directory
   ├── config/             # → Eleventy configuration
   │   ├── build.js        # → Javascript and CSS build and bundler configuration 
   │   ├── collections.js  # → Add and configure collections (https://www.11ty.dev/docs/collections/)
   │   ├── filters.js      # → Add and configure filters (https://www.11ty.dev/docs/filters/)
   │   ├── passthroughs.js # → Add and configure passthroughs (https://www.11ty.dev/docs/copy/)
   │   ├── plugins.js      # → Add and configure plugins (https://www.11ty.dev/docs/plugins/)
   │   ├── shortcodes.js   # → Add and configure shortcodes (https://www.11ty.dev/docs/shortcodes/)
   │   ├── templateLanguages.js   # → Configure custom template languages (https://www.11ty.dev/docs/languages/custom/)
   │   ├── watchtargets.js # → Add and configure watch targets (https://www.11ty.dev/docs/watch-serve/)
   │   └── config.json     # → Shared attributes for files in the config directory
   ├── content             # → A nice, organized, recommended place for all site content
   │   └── pages           # → Add "pages" collection items here
   └── data                # → Customize site data (https://www.11ty.dev/docs/data/)
       ├── navigation.json # → Site navigation configuration
       └── site.json       # → Site branding configuration
├── .eleventy.js            # → Core Eleventy config file
├── netlify.toml            # → Netlify deployment and plugin configuration (optional)
├── README.ZeroPoint.md     # → ZeroPoint readme
└── README.md

Eleventy Configuration

Eleventy configuration is abstracted from the typical .eleventy.js file and moved to /src/config/ for easy organization and configuration of collections, filters, passthroughs, etc.

Install project dependencies

npm i

Run the project locally

npm run dev

Build for staging

(The same as production except every page is flagged noindex)

npm run staging

Build for production

npm run production