Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A Jekyll port of HTML5 UP's Forty theme with tile-grid layout, Formspree contact form, and configurable social profiles.

A GatsbyJS starter that ports Christine Cha's Gridfolio portfolio theme with SCSS, ESLint, and Prettier.
Forty - Jekyll Theme is a Jekyll port of HTML5 UP's Forty design, a tile-grid landing page template with a slide-out menu and smooth transitions to secondary pages.
Forty - Jekyll Theme is a static-site generator template built on Jekyll that converts a collection of image tiles into a portfolio-style homepage with linked inner pages. It takes content written as Jekyll posts or pages with front matter and outputs a fully static website. The original Forty theme was created by HTML5 UP (designer @ajlkn) and this repository adapts it for Jekyll, adding configuration options through _config.yml.
_config.yml and the contact form becomes functional without any backend code._config.yml to choose whether the homepage tiles pull from pages or posts, and set how many tiles to display._config.yml; exactly those buttons appear in the site footer.To use the theme, fork the repository and edit _config.yml to set your site title, email for the Formspree form, and social links. Add content as Jekyll posts or pages, set featured images in front matter, and deploy to GitHub Pages via GitHub Actions so the latest Jekyll version builds the site properly.
The original Forty theme by HTML5 UP is free for personal and commercial use under the Creative Commons Attribution 3.0 license, and this Jekyll port is open source. No pricing information is provided in the repository.
Yes, the repository README states that GitHub Actions is required to deploy to GitHub Pages because GitHub's built-in Jekyll version is outdated. This ensures the theme builds with the correct Jekyll features.
You can control this in _config.yml by setting whether tiles pull from pages or posts, and by specifying the number of tiles to display.
Add your email address to _config.yml; the theme uses Formspree.io integration, so the form will deliver messages to that email without any additional backend setup.
