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