Add OpenSearch suggestion support.
Add autocomplete support when searching Danbooru from the Chrome address bar. If you type "danb<tab>" in the address bar then search for a tag, then autocomplete results from Danbooru will appear as search suggestions in Chrome. Note that the "Autocomplete searches and URLs" Chrome setting must be enabled for this to work. Ref: * http://dev.chromium.org/tab-to-search * https://developer.mozilla.org/en-US/docs/Archive/Add-ons/Supporting_search_suggestions_in_search_plugins * https://github.com/dewitt/opensearch/blob/master/mediawiki/Specifications/OpenSearch/Extensions/Suggestions/1.1/Draft%201.wiki
This commit is contained in:
16
app/controllers/autocomplete_controller.rb
Normal file
16
app/controllers/autocomplete_controller.rb
Normal file
@@ -0,0 +1,16 @@
|
||||
class AutocompleteController < ApplicationController
|
||||
respond_to :xml, :json
|
||||
|
||||
def index
|
||||
@tags = Tag.names_matches_with_aliases(params[:query], params.fetch(:limit, 10).to_i)
|
||||
|
||||
if request.variant.opensearch?
|
||||
expires_in 1.hour
|
||||
results = [params[:query], @tags.map(&:pretty_name)]
|
||||
respond_with(results)
|
||||
else
|
||||
# XXX
|
||||
respond_with(@tags.map(&:attributes))
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user