85 lines
1.7 KiB
Ruby
85 lines
1.7 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'bundler/inline'
|
|
|
|
gemfile ENV.has_key?('INSTALL_GEMS') do
|
|
source 'https://rubygems.org'
|
|
gem 'benchmark-ips'
|
|
gem 'erubi'
|
|
gem 'fortitude'
|
|
gem 'haml'
|
|
gem 'markaby'
|
|
gem 'slim'
|
|
gem 'tilt'
|
|
gem 'arbre'
|
|
gem 'liquid'
|
|
gem 'tilt-handlebars'
|
|
end
|
|
|
|
require 'benchmark/ips'
|
|
|
|
Benchmark.ips do |x|
|
|
x.report('Slim:') do
|
|
Tilt.new('templates/slim.slim').render
|
|
end
|
|
|
|
# x.report('Fortitude:') do
|
|
# Tilt.new('templates/fortitude.rb').render
|
|
# end
|
|
|
|
# x.report('Arbre:') do
|
|
# view = Arbre::Context.new do
|
|
# html do
|
|
# head do
|
|
# title 'Hello from Arbre'
|
|
# meta charset: 'utf-8'
|
|
# meta name: 'viewport', content: 'width=device-width, initial-scale=1'
|
|
# link rel: 'stylesheet', href: '/test.css'
|
|
# meta name: 'current_time', content: Time.now.to_s
|
|
# end
|
|
|
|
# body do
|
|
# div(id: 'content') do
|
|
# div(class: 'container') do
|
|
# 100.times do |i|
|
|
# div("This is div ##{i}")
|
|
# end
|
|
# end
|
|
# end
|
|
# end
|
|
# end
|
|
# end
|
|
|
|
# view.to_s
|
|
# end
|
|
|
|
x.report('Markaby:') do
|
|
Tilt.new('templates/markaby.mab').render
|
|
end
|
|
|
|
x.report('Erubi:') do
|
|
Tilt.new('templates/erubi.erb').render
|
|
end
|
|
|
|
x.report('ERB:') do
|
|
Tilt::ERBTemplate.new('templates/erubi.erb').render
|
|
end
|
|
|
|
x.report('HAML:') do
|
|
Tilt.new('templates/haml.haml').render
|
|
end
|
|
|
|
x.report('Liquid:') do
|
|
Tilt.new('templates/liquid.liquid').render
|
|
end
|
|
|
|
x.report('Handlebars:') do
|
|
Tilt.new('templates/handlebars.hbs', {
|
|
time: Time.now.to_s,
|
|
numbers: (0..100).to_a
|
|
})
|
|
end
|
|
|
|
x.compare!
|
|
end
|