class JekyllPagesApiSearch::Assets
Constants
- BEGIN_PATH
- JAVASCRIPT_DIR
- SOURCE
Public Class Methods
copy_to_basedir(basedir)
click to toggle source
# File lib/jekyll_pages_api_search/assets.rb, line 20 def self.copy_to_basedir(basedir) asset_paths.each do |asset| target_path = File.join(basedir, asset) target_dir = File.dirname(target_path) FileUtils.mkdir_p(target_dir) if !Dir.exist?(target_dir) FileUtils.cp(File.join(SOURCE, asset), target_path) end end
copy_to_site(site)
click to toggle source
# File lib/jekyll_pages_api_search/assets.rb, line 13 def self.copy_to_site(site) asset_paths.each do |file_path| site.static_files << ::Jekyll::StaticFile.new( site, SOURCE, File.dirname(file_path), File.basename(file_path)) end end
write_to_files(baseurl, scss, html, js)
click to toggle source
# File lib/jekyll_pages_api_search/assets.rb, line 29 def self.write_to_files(baseurl, scss, html, js) [scss, html, js].each {|i| FileUtils.mkdir_p File.dirname(i)} FileUtils.cp Sass::INTERFACE_FILE, scss File.open(html, 'w') {|f| f << SearchInterfaceTag::CODE} File.open(js, 'w') {|f| f << LoadSearchTag::generate_script(baseurl)} end
Private Class Methods
asset_paths()
click to toggle source
# File lib/jekyll_pages_api_search/assets.rb, line 38 def self.asset_paths js_pattern = File.join(SOURCE, JAVASCRIPT_DIR, 'search-bundle.js*') img_pattern = File.join(SOURCE, 'assets', '{png,svg}', '*') all_paths = Dir.glob(js_pattern) + Dir.glob(img_pattern) all_paths.map { |path| path[BEGIN_PATH..-1] } end