Add search API and update frontend

The frontend has been updated to use the new search API.
This commit is contained in:
Henrik Hansen
2010-08-29 13:58:06 +02:00
parent ed41152228
commit 49d88a0370
3 changed files with 26 additions and 18 deletions
+2 -2
View File
@@ -130,8 +130,8 @@ module Precious
get '/search' do
@query = params[:q]
@search_command = "cd #{$path} && git grep -c '#{@query}' master"
@results = `#{@search_command}`
wiki = Gollum::Wiki.new($path)
@results = wiki.search @query
mustache :search
end
+2 -16
View File
@@ -1,26 +1,12 @@
module Precious
module Views
class Search < Layout
attr_reader :content, :page, :footer, :query
attr_reader :content, :page, :footer, :results, :query
def has_results
!results.empty?
!@results.empty?
end
def results
ret = []
@results.each_line do |line|
result = line.split(":")
file = result[1]
count = result[2].to_i
name = file.split(".")[0]
ret << {
:name => name,
:count => count
}
end
ret
end
end
end
end
+22
View File
@@ -208,6 +208,28 @@ module Gollum
end
end
# Public: Search all pages for this wiki.
#
# query - The string to search for
#
# Returns an Array with Objects of page name and count of matches
def search(query)
search_command = "cd #{$path} && git grep -c '#{query}' master"
command_output = `#{search_command}`
results = []
command_output.each_line do |line|
result = line.split(":")
file = result[1]
count = result[2].to_i
name = file.split(".")[0]
results << {
:name => name,
:count => count
}
end
results
end
# Public: All of the versions that have touched the Page.
#
# options - The options Hash: