Back to templates

Template details

Bay

A minimal Jekyll theme for personal websites and blogs with configurable header, footer, and blog layout.

About this template

Bay is a minimal Jekyll theme for personal websites and blogs, distributed as the bay_jekyll_theme Ruby gem and designed as a simple alternative to Jekyll's default minima theme.

What is Bay?

Bay is a simple theme for Jekyll that turns a standard Jekyll site into a personal website with a home page, a blog page, a configurable header navigation bar, and a footer with contact and social links. It is distributed as the bay_jekyll_theme gem, requires Jekyll 4.3 or newer because it relies on a more modern Sass processor, and is maintained on GitHub by eliottvincent. The theme is inspired by dangrover.com and powers the live site at eliottvincent.com.

Key Features

  • Gem-based installation — Replace the line gem "minima" in your Gemfile with gem "bay_jekyll_theme" and set theme: bay_jekyll_theme in _config.yml; alternatively use remote_theme: eliottvincent/bay for GitHub Pages.
  • Configurable header navigation — Define header pages in _config.yml under header.pages, each entry specifying a name and slug that points to a markdown file (e.g. / for Home, /blog for Blog).
  • Configurable footer — Add contact entries (email, WeChat) and follow links (Twitter, Facebook, LinkedIn, GitHub, Dribbble, RSS) through the footer section of _config.yml; an optional show_powered_by flag controls the attribution line.
  • Home page layout — Create an index.markdown with layout: home, and set profile_picture.src plus profile_picture.alt in front matter to display a profile image above a short welcome text.
  • Blog page layout — Create blog.markdown with layout: blog and a slug: /blog to display a list of posts.
  • GitHub Actions deployment — The repository ships a .github/workflows/deploy.yml workflow that builds the site with Jekyll 4.3+ and publishes it to GitHub Pages, compensating for the older Jekyll used by the 1-click Pages builder.

Who is it for?

  • Jekyll bloggers — People who already use Jekyll and want a clean, text-focused design without building a layout from scratch.
  • Personal site owners — Individuals who need a simple homepage with a profile picture, a link list, and a blog feed.
  • GitHub Pages publishers — Users who want to host a personal site on GitHub Pages and are comfortable using GitHub Actions for the build step because the built-in Pages builder does not support Jekyll 4.3+.

Use cases

  • Personal bloggers: Set up a blog page by creating a blog.markdown file with the blog layout, and Jekyll will render a list of posts from the _posts folder.
  • Developers: Fork the repository, adjust header.pages and footer in _config.yml, and deploy using the included GitHub Actions workflow.
  • Designers: Use the home page layout's profile picture feature to present a short bio or portfolio statement above the welcome text.

How does Bay work?

Bay works like any Jekyll theme: add it to your Gemfile and _config.yml, run bundle install, then jekyll serve to preview locally. The theme reads header and footer settings from _config.yml, and uses the home and blog layouts for the index and blog pages. For production, you can build and deploy to GitHub Pages using the provided GitHub Actions workflow.

FAQ

Is Bay free?

Bay is an open-source Jekyll theme distributed as a Ruby gem; the repository is public on GitHub and no pricing or license fee is mentioned in the documentation.

Does Bay work with the default GitHub Pages builder?

No. The 1-click GitHub Pages build-and-deploy system uses an older version of Jekyll, while Bay requires Jekyll 4.3+. The recommended path is to build with GitHub Actions and use GitHub Pages only for hosting.

How do I add a profile picture to the home page?

In your index.markdown file, set the front matter to layout: home, then add profile_picture.src with the image path (e.g. /assets/img/profile-pic.jpg) and profile_picture.alt with descriptive text.

What configuration options exist for the footer?

The footer supports a contact list with email and WeChat entries, a follow list with Twitter, Facebook, LinkedIn, GitHub, Dribbble, and RSS links, and a show_powered_by boolean. All are set in _config.yml.

screenshot of Bay on template0.com