watery

watery

馃毎 A minimalist, bare-bones theme for Jekyll only using the Water.css framework while still following the best practices for accessibility and search-engine optimization.


Logo

Watery Theme for Jekyll

A bare-bones template to help you get started on your next blog or website.
Explore the docs 禄

View DemoReport BugRequest Feature

Netlify Status GitHub code size in bytes GitHub repo size GitHub top language GitHub issues GitHub last commit GitHub license Website
GitHub followers GitHub watchers GitHub stars GitHub forks

About The Project

Watery is a minimalist, bare-bones theme for the popular JAMstack file-based CMS Jekyll that only uses the <80kb Water.css framework (hence the name!), while still following the best practices possible for accessibility and search-engine optimization.

I created this because I wasn't able to find an up-to-date starter/skeleton theme for Jekyll. Even the default theme, Minima, uses the large Bootstrap framework.

This project is aimed towards those curious about using Jekyll for the first time, and want to build from as close to scratch as possible. Alternatively, it still has all the features required for creating a hassle-free, informational website or blog in just a few clicks.

As of November 1st, 2020, with >70 posts on Watery, the website scores a perfect 100 in Performance, Accessibility, Best Practices, and SEO on an audit with Google Lighthouse.

For an example, you can view my blog, Journal.kim/ using this theme with the Writ.css framework.

New! Change the CSS framework with a single button, thanks to Dropin Minimal CSS.

Features

Despite Watery's minimalist nature, there are a few interesting features that have been added:

  • A fully customizable and empty _BLANK_config.yml to make getting up-and-running easy.
  • Having a _pages collection for easier organization.
  • Auto-generated links in navigation to all pages in _pages.
  • Auto-generated tags page that lists all tags used by all posts in chronological order.
  • An author bio at the end of each post. (Located in _inclues/author.html)
  • Full Rouge support for syntax code highlighting. (Currently using base16.solarized.light)
  • Auto-generated RSS feed, sitemap, accessibility features, and search-engine optimization.

Installation

Prerequisites

Jekyll requires the following:

  • Ruby version 2.5.0 or higher
  • RubyGems
  • GCC and Make

See Requirements for guides and details.

Instructions

  1. Install all prerequisites.
  2. Install the jekyll and bundler gems.
gem install jekyll bundler
  1. Clone this repository.
git clone https://github.com/brennanbrown/watery.git
  1. Change into your new directory.
cd watery
  1. Install gems from the Gemfile.
bundle install
  1. Build the site and make it available on a local server.
bundle exec jekyll serve
  1. Browse to http://localhost:4000

If you encounter any errors during this process, check that you have installed all the prerequisites in Requirements.

If you still have issues, see Troubleshooting.

Getting Started

Once you have Jekyll up-and-running, there are only a few steps needed to make this theme your own:

  1. Fill out the _BLANK_config.yml configuration file and replace the current _config.yml
  2. Remove the example_posts folder in _posts and start writing your own!
  3. Modify or remove the pages in _pages to however you see fit.
  4. (Optional) Modify or remove this README.md with information about your own project or blog.
  5. (Optional) Modify the CSS files in the assets folder to customize the site.
  6. (Optional) Remove switcher.js from the assets folder, choose another framework to use!

Roadmap

There are several features that I'm still planning to create and integrate, including:

  • Create a Theme Gem
  • Add easy and automatic buttons to "Deploy to Netlify", Heroku, etc.
  • Add Travis continious integration checks
  • Add additional documentation for creating custom collections and auto generated pages
  • Add the following files: robots.txt, asset-manifest.json, light.css.map
  • Add more example posts and articles

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. You can use this project however you see fit without needing to give attribution.

See LICENSE for more information.

Resources

While creating this theme, I came across a lot of helpful and hard-to-find resources. If you'd like to dive deeper into Jekyll, check them out:

Other Resources

Credit

Water.css was created by Kognise.

Dropin Minimal CSS was created by Dohliam.