Sha256: 7c212262df6fbb7da4b64ec601ed77e82ee1d41105d03cd063d9b7b26c5f7cd0
Contents?: true
Size: 1.51 KB
Versions: 3
Compression:
Stored size: 1.51 KB
Contents
require 'middleman-core' require 'middleman-search/search-index-resource' module Middleman class SearchExtension < Middleman::Extension option :resources, [], 'Paths of resources to index' option :fields, {}, 'Fields to index, with their options' option :before_index, nil, 'Callback to execute before indexing a document' option :index_path, 'search.json', 'Index file path' option :pipeline, {}, 'Javascript pipeline functions to use in lunr index' option :pipeline_remove, {}, 'Default pipeline functions to remove' option :tokenizer_separator, nil, 'Replace the default tokizer separator' option :cache, false, 'Avoid the cache to be rebuilt on every request in development mode' option :language, 'en', 'Language code ("es", "fr") to use when indexing site\'s content' option :lunr_dirs, [], 'Directories in which to look for custom lunr.js files' def manipulate_resource_list(resources) resources.push Middleman::Sitemap::SearchIndexResource.new(@app.sitemap, @options[:index_path], @options) resources end helpers do def search_lunr_js_pipeline # Thanks http://stackoverflow.com/a/20187415/12791 extensions[:search].options[:pipeline].map do |name, function| "lunr.Pipeline.registerFunction(#{function}, '#{name}');" end.join("\n") end def search_index_path (config || app.config)[:http_prefix] + sitemap.find_resource_by_path(extensions[:search].options[:index_path]).destination_path end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
middleman-search-gds-0.11.2 | lib/middleman-search/extension.rb |
middleman-search-gds-0.11.1 | lib/middleman-search/extension.rb |
middleman-search-gds-0.11.0a | lib/middleman-search/extension.rb |