👉 Get your website project up to zero.
⭐ If you just used this template repository ⭐
Prepare your repository for use by removing ZeroPoint branding and replacing it with your own project name and description.
1. Allow GitHub Actions to write to your repository
- Click "Settings" in the top right corner of your repository
- Click "Actions/General" in the left sidebar
- Under "Workflow permissions" choose "Read and write permissions"
- Click "Save"
2. Run the "Remove ZeroPoint branding" action
- Click the "Actions" tab in the top navigation of your repository
- Click the "Remove ZeroPoint branding" workflow
- Click the "Run workflow" button, choose the
mainbranch, and click the green "Run workflow" button
- 🚀 Deploy anywhere - Ready for GitHub Pages, Netlify, Cloudflare Pages, or your own server
- 🔍 Built-in search - Full-text search with Pagefind already working at
/search/ - 📝 Blog-ready - Complete blog system ready to enable when you need it
- 🖼️ Image optimization - Automatic image resizing and responsive images with Eleventy Image
- 🎯 SEO features - Meta tags, XML sitemap, and robots.txt included
- ⚒️ Modern tools - Sass and JavaScript compilation with fast builds
- 🗺️ Clean code - Organized project structure with modern JavaScript
- 🎨 Developer experience - Live reload, code formatting, and intuitive configuration
- 🔧 Easy to extend - Add your own components, filters, and plugins
Start your project with ZeroPoint by clicking the "Use this template" button below:
Once you've created your repository from the template, get your local development environment running:
# Clone your new repository
git clone https://github.com/your-username/your-repo-name.git
cd your-repo-name
# Install dependencies
npm install
# Start the development server
npm run devYour site will be available at http://localhost:8080 with live reload - any changes you make will automatically refresh the browser.
- Builds your Sass stylesheets and JavaScript
- Starts Eleventy in watch mode
- Launches a local web server with live reload
- Generates search index with Pagefind
- Edit content in the
content/folder - Customize styles in
src/assets/styles/ - Add images to
src/assets/images/ - Modify layouts and templates in
src/assets/views/
Choose your preferred deployment platform:
GitHub Pages
Deploy your ZeroPoint site for free with GitHub Pages:
- Push your code to a GitHub repository
- Go to your repository Settings > Pages
- Set Source to "GitHub Actions"
- The included
.github/workflows/deploy.ymlwill automatically deploy your site
Deploy to Netlify
Deploy ZeroPoint to Netlify for free!
- Fork or create a new repository from this template
- Connect your repository to Netlify or use the deploy button below:
Deploy to Cloudflare Pages
Deploy ZeroPoint to Cloudflare Pages for global edge performance:
- Fork or create a new repository from this template
- Connect your repository to Cloudflare Pages
- Set build command:
npm run production - Set output directory:
public
ZeroPoint includes additional features that are disabled by default. Enable them when you need them:
- Full blog functionality with templates and collections
- Enable by uncommenting the posts collection in
src/config/collections.js - Includes pagination, SEO, and individual post templates
- Client-side search powered by Pagefind
- Already working at
/search/- no setup required - Lightweight and fast
- Reusable components via eleventy-plugin-reusable-components
- Enable by uncommenting the plugin in
src/config/plugins.js
See the CHANGELOG for complete details on these features.
example.com # → Root of your ZeroPoint project
├── content/ # → Site content
│ ├── pages/ # → Site pages (Markdown/HTML)
│ ├── posts/ # → Blog posts (disabled by default)
│ ├── 404.njk # → 404 error page
│ ├── blog.njk # → Blog listing page
│ ├── manifest.njk # → Web app manifest
│ ├── redirects.njk # → Netlify redirects
│ ├── robots.njk # → Robots.txt
│ └── xml_sitemap.njk # → XML sitemap
├── src/ # → Source directory
│ ├── assets/ # → Site assets
│ │ ├── fonts/ # → Web fonts
│ │ ├── images/ # → Images and graphics
│ │ ├── scripts/ # → JavaScript files
│ │ │ └── main.js # → Main JavaScript bundle
│ │ ├── styles/ # → Stylesheets (SCSS)
│ │ │ └── styles.scss # → Main stylesheet
│ │ └── views/ # → Templates and layouts
│ │ ├── layouts/ # → Page layouts
│ │ │ └── base.njk # → Base HTML template
│ │ └── partials/ # → Reusable template parts
│ ├── config/ # → Eleventy configuration (ES modules)
│ │ ├── build.js # → esbuild configuration for assets
│ │ ├── collections.js # → Content collections
│ │ ├── filters.js # → Template filters
│ │ ├── passthroughs.js # → File passthroughs
│ │ ├── plugins.js # → Eleventy plugins
│ │ ├── shortcodes.js # → Template shortcodes
│ │ ├── templateLanguages.js # → Custom template languages
│ │ ├── transforms.js # → Content transforms
│ │ ├── watchtargets.js # → File watch targets
│ │ └── config.json # → Config file settings
│ └── data/ # → Global data files
│ ├── env.js # → Environment variables
│ └── navigation.json # → Site navigation structure
├── public/ # → Built site (generated)
├── .eleventy.js # → Core Eleventy config file
├── README.ZeroPoint.md # → Template documentation
└── README.md # → Project readme