mirror of
https://github.com/jekyll/jekyll.git
synced 2026-01-07 22:24:07 -05:00
* spelling: always Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: apostrophe Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: articles Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: bajillion Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: bandwidth Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: compatibilize Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: congratulations Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: consistent Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: containing Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: correspondents Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: debuggability Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: definitions Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: engine Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: expectations Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: framework Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: gallery Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: github Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: gitlab Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: hesitant Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: hesitate Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: highlighter Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: installation Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: internal Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: kramdown Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: link Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: markdown Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: markdownify Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: metadata Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: multiple Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: object Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: overridden Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: paths Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: positions Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: powershell Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: proceeding Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: pygments settings Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: referencing Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: retrieve Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: separating Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: several Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: specific Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: suppress Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: upgrading Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: variable Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: variables Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: whitespace Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> * spelling: with Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
50 lines
1.3 KiB
Ruby
Executable File
50 lines
1.3 KiB
Ruby
Executable File
#!/usr/bin/env ruby
|
|
# frozen_string_literal: true
|
|
|
|
require 'benchmark/ips'
|
|
require_relative '../lib/jekyll'
|
|
|
|
puts ''
|
|
print 'Setting up... '
|
|
|
|
SITE = Jekyll::Site.new(
|
|
Jekyll.configuration({
|
|
"source" => File.expand_path("../docs", __dir__),
|
|
"destination" => File.expand_path("../docs/_site", __dir__),
|
|
"disable_disk_cache" => true,
|
|
"quiet" => true,
|
|
})
|
|
)
|
|
|
|
TEMPLATE_1 = Liquid::Template.parse(<<~HTML)
|
|
{%- assign doc = site.documents | where: 'url', '/docs/assets/' | first -%}
|
|
{{- doc.title -}}
|
|
HTML
|
|
|
|
TEMPLATE_2 = Liquid::Template.parse(<<~HTML)
|
|
{%- assign doc = site.documents | find: 'url', '/docs/assets/' -%}
|
|
{{- doc.title -}}
|
|
HTML
|
|
|
|
[:reset, :read, :generate].each { |phase| SITE.send(phase) }
|
|
|
|
puts 'done.'
|
|
puts 'Testing... '
|
|
puts " #{'where + first'.cyan} results in #{TEMPLATE_1.render(SITE.site_payload).inspect.green}"
|
|
puts " #{'find'.cyan} results in #{TEMPLATE_2.render(SITE.site_payload).inspect.green}"
|
|
|
|
if TEMPLATE_1.render(SITE.site_payload) == TEMPLATE_2.render(SITE.site_payload)
|
|
puts 'Success! Proceeding to run benchmarks.'.green
|
|
puts ''
|
|
else
|
|
puts 'Something went wrong. Aborting.'.magenta
|
|
puts ''
|
|
return
|
|
end
|
|
|
|
Benchmark.ips do |x|
|
|
x.report('where + first') { TEMPLATE_1.render(SITE.site_payload) }
|
|
x.report('find') { TEMPLATE_2.render(SITE.site_payload) }
|
|
x.compare!
|
|
end
|