A clean, minimal Jekyll theme for authors and bloggers with built-in dark/light mode, newsletter integration, and a focus on content readability.
Add this line to your Jekyll site's Gemfile:
gem "hey-world"And add this line to your Jekyll site's _config.yml:
theme: hey-worldAnd then execute:
$ bundle
Or install it yourself as:
$ gem install hey-world
Add the following to your _config.yml:
# Required settings
title: Your Site Title
author: Your Name
author_bio: >-
A brief bio about yourself. This appears in the header.
email: your-email@example.com
url: "https://yoursite.com"
baseurl: "" # if your site is in a subdirectory
# Optional settings
twitter_username: yourusername
github_username: yourusername
# Newsletter Integration (Buttondown)
buttondown_username: yourusernameThe theme provides the following layouts:
default- The base layout for all pageshome- Homepage layout with post listingpost- Individual blog post layoutpage- Static page layoutbook- Book showcase pagelibrary_book- Library book listinglibrary_chapter- Library chapter layoutcompress- HTML compression layout (applied automatically)
The theme includes several reusable components:
header.html- Site header with navigation and theme togglefooter.html- Site footerauthor-bio.html- Author biography sectionauthor-photo.html- Author photo componentauthor-section.html- Full author sectionnewsletter-form.html- Newsletter subscription formnewsletter-cta.html- Newsletter call-to-actionbook-newsletter-cta.html- Book-specific newsletter CTApost-card.html- Post preview card
The theme includes an automatic dark/light mode toggle that saves user preference to localStorage. The toggle appears in the header.
The theme includes built-in Buttondown newsletter integration. To enable it:
-
Add your Buttondown username to
_config.yml:buttondown_username: yourusername
-
Include newsletter signup forms in your posts or pages:
{% include newsletter-form.html %} # Full-width newsletter form {% include newsletter-cta.html %} # Compact newsletter CTA {% include book-newsletter-cta.html %} # Book-specific newsletter CTA
The forms will automatically use your Buttondown username and handle subscriptions through Buttondown's embed API.
The theme is fully responsive and uses CSS custom properties (Open Props) for consistent spacing and typography.
The theme uses modular CSS files:
main.css- Main styles and importslayout.css- Layout and grid stylescomponents.css- Component stylescolors-hsl.min.css- Color system- Additional CSS files for specific sections (books, library, archive, etc.)
Override the default colors by adding custom CSS to your site:
:root {
--primary-color: your-color;
--text-color: your-color;
/* etc. */
}Edit the navigation links in _includes/header.html or override it in your site by creating your own _includes/header.html.
The theme uses system fonts by default. Add your own fonts by including them in your site's assets/css/ directory.
To set up your environment to develop this theme, run bundle install.
To test the theme, run bundle exec jekyll serve and open your browser at http://localhost:4000.
Bug reports and pull requests are welcome on GitHub at https://github.com/merovex/hey-world.
The theme is available as open source under the terms of the MIT License.