mdb-ui-kit/docs/_plugins/variables.rb
2015-12-23 15:58:24 -06:00

66 lines
2.0 KiB
Ruby

require 'json'
require 'yaml'
module Variables
class Generator < Jekyll::Generator
safe true
def generate(site)
# indicate to use min or development assets
baseurl = site.config['baseurl']
minified = true
if baseurl.eql? ''
minified = false
end
site.data['minified'] = minified
metadata_files = {
'bower' => '../bower.json',
'package' => '../package.json',
'bower_jquery' => '../bower_components/jquery/bower.json'
}
metadata_files.each do |metadata, path|
contents = JSON.parse(File.read(File.join(site.source, path)))
site.data[metadata] = contents
end
# some quick access to common variables (instead of diving into package and bower)
name = site.data['package']['name']
version = site.data['package']['version']
bootstrap_version = site.data['bower']['dependencies']['bootstrap']
jquery_version = site.data['bower_jquery']['version']
site.data['name'] = name
site.data['version'] = version
site.data['bootstrap_version'] = bootstrap_version
site.data['jquery_version'] = jquery_version
# fabricate the archive and release links based on the site.repo and version
repo = site.config['repo']
site.data['download'] = {
'source' => "#{repo}/archive/v#{version}.zip",
'dist' => "#{repo}/releases/download/v#{version}/#{name}-#{version}-dist.zip"
}
site.data['cdn'] = {
'jquery' => site.config['cdn']['jquery'].gsub(/VERSION/, jquery_version),
'bootstrap' => site.config['cdn']['bootstrap'].gsub(/VERSION/, bootstrap_version)
}
#
puts "\n---------------------"
puts "site.config: #{site.config.to_yaml}"
puts "baseurl: #{baseurl}"
puts "minified: #{site.data['minified']}"
# puts "site: #{site.to_yaml}"
# puts site.data[:package]['version']
# puts site.data.to_yaml
# puts repo
# puts version
end
end
end