Floppy / jekyll-test

A highly opinionated test configuration for Jekyll sites
MIT License
21 stars 0 forks source link
jekyll rake static-site-generator testing

Jekyll-Test

jekyll-test is a highly opinionated test configuration for Jekyll sites to let you create well-formed sites with minimal configuration, built on top of html-proofer.

It provides two rake tasks:

jekyll:check will test your site for HTML validity, internal link correctness, alt tags, OpenGraph validity, https usage, and a load more. It will complain about as much as it can. You want this to pass.

jekyll:check_external_links will check all outgoing links as well. This is a separate task as this often fails due to network errors, etc, and you don't want to depend on it passing. Use it for information only.

Requirements

Usage

Add jekyll-test to your site's Gemfile (or just create the file with the following content if it doesn't exist) and run bundle:

source "https://rubygems.org"

gem 'rake'
gem 'github-pages'

group :test do
  gem 'jekyll-test'
end

Then add this to Rakefile (or create a file with just this in it if you don't have one):

require 'jekyll/test/tasks'

We suggest making jekyll:check your default task by adding this line to Rakefile as well:

task default: "jekyll:check"

You can then run rake and bingo, your site will be tested with html-proofer.

Travis configuration

To configure a travis build to run these tests, run:

gem install travis
rake jekyll:configure:travis

This will initialise your repo for use on travis, if necessary, then write a multi-build configuration which will run both checks together. The link check is allowed to fail, so it will not impact your CI success / failure.

WARNING: This will aggressively overwrite bits of .travis.yml, so if you already have one, make sure it's committed or backed up so you can check the changes.

It's a good idea to run the task with each new release of this gem to get the latest configuration.

Coming soon

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/Floppy/jekyll-test. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

Code of Conduct

Everyone interacting in the Jekyll::Test project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.