Class: JekyllMeilisearch::MeilisearchIndexer

Inherits:
Jekyll::Generator
  • Object
show all
Defined in:
lib/jekyll-meilisearch/generator.rb

Instance Method Summary collapse

Instance Method Details

#generate(site) ⇒ Object

Main plugin action, called by Jekyll-core



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/jekyll-meilisearch/generator.rb', line 9

def generate(site)
  @site = site
  if disabled_in_development?
    Jekyll.logger.info "Jekyll Meilisearch:", "Skipping meilisearch indexation in development"
    return
  end

  # Skip indexing unless relevant files have changed in incremental mode
  unless should_index?
    Jekyll.logger.info "Jekyll Meilisearch:", "No relevant changes detected. Skipping indexing."
    return
  end

  Jekyll.logger.info "Starting Meilisearch incremental indexing..."
  return unless validate_config

  begin
    @documents = build_documents
    sync_with_meilisearch
  rescue StandardError => e
    Jekyll.logger.error "Jekyll Meilisearch:", "Indexing failed due to an error: #{e.message}"
    Jekyll.logger.info "Jekyll Meilisearch:", "Skipping Meilisearch indexing, but continuing Jekyll build."
    nil
  end
end