Class: Jekyll::Site

Inherits:
Object
  • Object
show all
Defined in:
lib/jekyll_pages_api_search/search_hook.rb

Instance Method Summary collapse

Instance Method Details

#after_renderObject



25
26
27
28
29
# File 'lib/jekyll_pages_api_search/search_hook.rb', line 25

def after_render
  pages_api_after_render
  return if skip_index?
  self.pages << JekyllPagesApiSearch::SearchIndexBuilder.build_index(self)
end

#orig_writeObject



19
# File 'lib/jekyll_pages_api_search/search_hook.rb', line 19

alias_method :orig_write, :write

#pages_api_after_renderObject



18
# File 'lib/jekyll_pages_api_search/search_hook.rb', line 18

alias_method :pages_api_after_render, :after_render

#pages_api_search_after_writeObject



36
37
38
39
40
41
42
43
44
# File 'lib/jekyll_pages_api_search/search_hook.rb', line 36

def pages_api_search_after_write
  index = pages.find do |p|
    p.name == JekyllPagesApiSearch::SearchIndexBuilder::INDEX_FILE
  end
  raise 'Search index not found' if index.nil?
  JekyllPagesApiSearch::Compressor.gzip_in_memory_content(
    "#{index.destination self.dest}" => index.output)
  JekyllPagesApiSearch::Bundler.create_search_bundles(self)
end

#skip_index?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/jekyll_pages_api_search/search_hook.rb', line 21

def skip_index?
  @skip_index ||= JekyllPagesApiSearch::Config.skip_index?(self)
end

#writeObject



31
32
33
34
# File 'lib/jekyll_pages_api_search/search_hook.rb', line 31

def write
  orig_write
  pages_api_search_after_write unless skip_index?
end