Fix wiki
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
This commit is contained in:
parent
b13c1469a3
commit
4b65b0e0f5
9 changed files with 40 additions and 23 deletions
4
Gemfile
4
Gemfile
|
@ -31,8 +31,8 @@ gem 'omniauth-shibboleth'
|
|||
|
||||
# Extracting information from a git repository
|
||||
# Provide access to Gitlab::Git library
|
||||
# gem "gitlab_git", '~> 6.0', path: '../../gitlab_git'
|
||||
gem "gitlab_git", '~> 6.0', git: 'https://gitlab.com/gitlab-org/gitlab_git.git', ref: '97c160e0cbc54d9b5803030e5cc49157440bbe2a'
|
||||
# gem "gitlab_git", path: '../../gitlab_git'
|
||||
gem "gitlab_git", git: 'https://gitlab.com/gitlab-org/gitlab_git.git', ref: '187ff05aef6fc5390a2d666f35f84de0db9777b7'
|
||||
|
||||
# Ruby/Rack Git Smart-HTTP Server Handler
|
||||
gem 'gitlab-grack', '~> 2.0.0.pre', require: 'grack'
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
GIT
|
||||
remote: https://gitlab.com/gitlab-org/gitlab_git.git
|
||||
revision: 97c160e0cbc54d9b5803030e5cc49157440bbe2a
|
||||
ref: 97c160e0cbc54d9b5803030e5cc49157440bbe2a
|
||||
revision: 187ff05aef6fc5390a2d666f35f84de0db9777b7
|
||||
ref: 187ff05aef6fc5390a2d666f35f84de0db9777b7
|
||||
specs:
|
||||
gitlab_git (6.3.0)
|
||||
gitlab_git (7.0.0.pre)
|
||||
activesupport (~> 4.0)
|
||||
charlock_holmes (~> 0.6)
|
||||
gitlab-linguist (~> 3.0)
|
||||
|
@ -624,7 +624,7 @@ DEPENDENCIES
|
|||
gitlab-grack (~> 2.0.0.pre)
|
||||
gitlab-linguist (~> 3.0.0)
|
||||
gitlab_emoji (~> 0.0.1.1)
|
||||
gitlab_git (~> 6.0)!
|
||||
gitlab_git!
|
||||
gitlab_meta (= 7.0)
|
||||
gitlab_omniauth-ldap (= 1.1.0)
|
||||
gollum-lib (~> 3.0.0)
|
||||
|
|
|
@ -107,6 +107,18 @@ class ProjectWiki
|
|||
[title.gsub(/\.[^.]*$/, ""), title_array.join("/")]
|
||||
end
|
||||
|
||||
def search_files(query)
|
||||
repository.search_files(query, default_branch)
|
||||
end
|
||||
|
||||
def repository
|
||||
Repository.new(path_with_namespace, default_branch)
|
||||
end
|
||||
|
||||
def default_branch
|
||||
wiki.class.default_ref
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def create_repo!
|
||||
|
|
|
@ -87,14 +87,14 @@ class WikiPage
|
|||
def version
|
||||
return nil unless persisted?
|
||||
|
||||
@version ||= Commit.new(Gitlab::Git::Commit.new(@page.version))
|
||||
@version ||= @page.version
|
||||
end
|
||||
|
||||
# Returns an array of Gitlab Commit instances.
|
||||
def versions
|
||||
return [] unless persisted?
|
||||
|
||||
@page.versions.map { |v| Commit.new(Gitlab::Git::Commit.new(v)) }
|
||||
@page.versions
|
||||
end
|
||||
|
||||
def commit
|
||||
|
|
|
@ -17,11 +17,11 @@
|
|||
%tr
|
||||
%td
|
||||
= link_to project_wiki_path(@project, @page, version_id: commit.id) do
|
||||
= commit.short_id
|
||||
= commit.id[0..10]
|
||||
%td
|
||||
= commit_author_link(commit, avatar: true, size: 24)
|
||||
= commit.author.name
|
||||
%td
|
||||
= commit.title
|
||||
= commit.message
|
||||
%td
|
||||
#{time_ago_with_tooltip(version.date)}
|
||||
%td
|
||||
|
|
|
@ -8,5 +8,5 @@
|
|||
= link_to wiki_page.title, project_wiki_path(@project, wiki_page)
|
||||
%small (#{wiki_page.format})
|
||||
.pull-right
|
||||
%small Last edited #{time_ago_with_tooltip(wiki_page.commit.created_at)}
|
||||
%small Last edited #{time_ago_with_tooltip(wiki_page.commit.authored_date)}
|
||||
= paginate @wiki_pages, theme: 'gitlab'
|
||||
|
|
|
@ -17,4 +17,4 @@
|
|||
%hr
|
||||
|
||||
.wiki-last-edit-by
|
||||
Last edited by #{commit_author_link(@page.commit, avatar: true, size: 16)} #{time_ago_with_tooltip(@page.commit.created_at)}
|
||||
Last edited by #{@page.commit.author.name} #{time_ago_with_tooltip(@page.commit.authored_date)}
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
%div.highlighted-data{class: user_color_scheme_class}
|
||||
.line-numbers
|
||||
- blob.data.lines.to_a.size.times do |index|
|
||||
- offset = defined?(first_line_number) ? first_line_number : 1
|
||||
- i = index + offset
|
||||
= link_to "#L#{i}", id: "L#{i}", rel: "#L#{i}" do
|
||||
%i.icon-link
|
||||
= i
|
||||
- if blob.data.present?
|
||||
- blob.data.lines.to_a.size.times do |index|
|
||||
- offset = defined?(first_line_number) ? first_line_number : 1
|
||||
- i = index + offset
|
||||
= link_to "#L#{i}", id: "L#{i}", rel: "#L#{i}" do
|
||||
%i.icon-link
|
||||
= i
|
||||
.highlight
|
||||
%pre
|
||||
%code{ class: highlightjs_class(blob.name) }
|
||||
|
|
|
@ -4,7 +4,11 @@ module Gitlab
|
|||
|
||||
def initialize(project_id, query, repository_ref = nil)
|
||||
@project = Project.find(project_id)
|
||||
@repository_ref = repository_ref
|
||||
@repository_ref = if repository_ref.present?
|
||||
repository_ref
|
||||
else
|
||||
nil
|
||||
end
|
||||
@query = Shellwords.shellescape(query) if query.present?
|
||||
end
|
||||
|
||||
|
@ -50,10 +54,10 @@ module Gitlab
|
|||
|
||||
def wiki_blobs
|
||||
if project.wiki_enabled?
|
||||
wiki_repo = Repository.new(ProjectWiki.new(project).path_with_namespace)
|
||||
project_wiki = ProjectWiki.new(project)
|
||||
|
||||
if wiki_repo.exists?
|
||||
wiki_repo.search_files(query)
|
||||
unless project_wiki.empty?
|
||||
project_wiki.search_files(query)
|
||||
else
|
||||
[]
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue