Ultralight is a super-lightweight responsive Jekyll theme inspired by CNN Lite, built to produce small, fast-loading static blogs that deploy to GitHub Pages or IPFS.
What is Ultralight?
Ultralight is an open-source Jekyll theme maintained by GitHub user kotet. It takes your Jekyll site content — Markdown posts, pages, and configuration — and outputs a static HTML site with a minimal, responsive design. The theme's defining trait is output size: at the commits compared on the README, Ultralight generates 56K of site files versus 388K for the default Jekyll theme Minima, roughly seven times lighter.
Key Features
- Output size — Ultralight generates 56K of site files at commit e7a7bce, compared with 388K for Minima at commit 2863624, cutting bandwidth use and speeding up load times.
- GitHub Pages deployment — Deploy by cloning the repository, changing the remote URL to your own GitHub Pages repository, and pushing the master branch; GitHub Pages then serves the generated site automatically.
- IPFS hosting support — Build the site with
bundle exec jekyll buildand add the generated_site/directory to IPFS usingipfs add -r _site/for a decentralized hosting option. - Relative link include — For IPFS deployments, internal links must be relative; the theme provides an include (
{% include relative %}) that works with Jekyll'spost_urltag to generate correct relative post URLs. - Two demos — A live demo at kotet.jp/ultralight/ and a gem-based demo at kotet.jp/ultralight-demo/ (repository available at github.com/kotet/ultralight-demo) show the theme in action.
- Responsive layout — The theme is described as responsive, adapting to mobile and desktop screens without requiring any CSS framework; only Jekyll's built-in templating is mentioned.
Who is Ultralight for?
- Bloggers who want fast-loading pages — Use Ultralight to publish a personal blog that reads well on mobile devices and transfers less data than typical Jekyll themes.
- IPFS publishers — Deploy a static blog to IPFS with relative link support built in, avoiding broken internal links when your site is served from a CID.
- GitHub Pages users — Push the repository to your
username.github.iorepository and get a live site without separate build steps or CI configuration. - Jekyll theme developers — Fork Ultralight to study a minimal, readable theme codebase or to build a custom theme from a small starting point.
What can you do with Ultralight?
- Publish a blog on GitHub Pages — Clone the repo, add Markdown posts, change the remote origin, and push to go live in minutes.
- Host a site on IPFS — Build with Jekyll and add
_site/to IPFS for a censorship-resistant, content-addressed website. - Run performance tests — Use the linked PageSpeed Insights analysis for the mobile demo page to check the theme's real-world performance.
- Create a gem-based theme — Reference the ultralight-demo repository to package Ultralight as a Ruby gem for reuse across multiple Jekyll projects.
How does Ultralight work?
For GitHub Pages, clone the repository, replace the remote origin with your Pages repository, and push the master branch. For IPFS, run bundle to install dependencies, then bundle exec jekyll build to generate _site/, and finally ipfs add -r _site/ to add the folder to IPFS. Internal links on IPFS use the theme's relative include before Jekyll's post_url tag to stay valid.
Alternatives
- Jekyll Minima — the default Jekyll theme that Ultralight is directly compared against in the README; it produces a 388K site at the referenced commit, more than six times larger than Ultralight's 56K.
FAQ
How do I deploy Ultralight to GitHub Pages?
Clone the repository, change the remote URL to your own GitHub Pages repository with git remote set-url origin, and push the master branch with git push origin master. The README documents this exact workflow, so no extra configuration is needed.
Can I host Ultralight on IPFS?
Yes. Install dependencies with bundle, build the site with bundle exec jekyll build, and add the resulting _site/ folder to IPFS with ipfs add -r _site/. The theme's relative-link include is designed to keep internal links working when served from IPFS.
How much smaller is Ultralight than Minima?
The README reports that Ultralight at commit e7a7bce produces 56K of output, while Minima at commit 2863624 produces 388K. That is roughly a seven-fold reduction in output size at those specific commits.
Is Ultralight responsive?
Yes, the README explicitly describes the theme as "super-lightweight responsive," and the live demos adapt to different screen sizes. The page also links to a PageSpeed Insights mobile analysis for the demo site.





