module Jekyll::Lunr::IndexableDocument
Public Class Methods
included(base)
click to toggle source
# File lib/jekyll/lunr.rb 23 def self.included(base) 24 base.class_eval do 25 def to_data 26 data 27 .slice(*site.indexer.fields) 28 .transform_values { |value| extract_data_recursively(value) } 29 .merge('content' => Loofah.fragment(content).to_text, 30 'url' => url, 31 'id' => url, 32 'year' => date&.year) 33 end 34 35 def extract_data_recursively(value) 36 case value 37 when Array then value.map { |v| extract_data(v) } 38 when Hash then value.transform_values { |v| extract_data(v) } 39 when Jekyll::Document then extract_data(value) 40 when Jekyll::Page then extract_data(value) 41 else value 42 end 43 end 44 45 def extract_data(value) 46 value.respond_to?(:to_data) ? value.to_data : value 47 end 48 end 49 end
Public Instance Methods
extract_data(value)
click to toggle source
# File lib/jekyll/lunr.rb 45 def extract_data(value) 46 value.respond_to?(:to_data) ? value.to_data : value 47 end
extract_data_recursively(value)
click to toggle source
# File lib/jekyll/lunr.rb 35 def extract_data_recursively(value) 36 case value 37 when Array then value.map { |v| extract_data(v) } 38 when Hash then value.transform_values { |v| extract_data(v) } 39 when Jekyll::Document then extract_data(value) 40 when Jekyll::Page then extract_data(value) 41 else value 42 end 43 end
to_data()
click to toggle source
# File lib/jekyll/lunr.rb 25 def to_data 26 data 27 .slice(*site.indexer.fields) 28 .transform_values { |value| extract_data_recursively(value) } 29 .merge('content' => Loofah.fragment(content).to_text, 30 'url' => url, 31 'id' => url, 32 'year' => date&.year) 33 end