$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__) require 'jekyll' require 'jekyll-seo-tag' require 'html/proofer' ENV['JEKYLL_LOG_LEVEL'] = 'error' def dest_dir File.expand_path('../tmp/dest', File.dirname(__FILE__)) end def source_dir File.expand_path('./fixtures', File.dirname(__FILE__)) end CONFIG_DEFAULTS = { 'source' => source_dir, 'destination' => dest_dir, 'gems' => ['jekyll-seo-tag'] }.freeze def page(options = {}) page = Jekyll::Page.new site, CONFIG_DEFAULTS['source'], '', 'page.md' page.data = options page end def post(options = {}) filename = File.expand_path('2015-01-01-post.md', CONFIG_DEFAULTS['source']) config = { site: site, collection: site.collections['posts'] } page = Jekyll::Document.new filename, config page.merge_data!(options) page end def site(options = {}) config = Jekyll.configuration CONFIG_DEFAULTS.merge(options) Jekyll::Site.new(config) end def context(registers = {}) Liquid::Context.new({}, {}, { site: site, page: page }.merge(registers)) end